aboutsummaryrefslogtreecommitdiffstats
path: root/OpenAL32
Commit message (Collapse)AuthorAgeFilesLines
* More directly map coefficients for ambisonic mixing buffersChris Robinson2016-04-152-7/+34
| | | | | | Instead of looping over all the coefficients for each channel with multiplies, when we know only one will have a non-0 factor for ambisonic mixing buffers, just index the one with a non-0 factor.
* Update some commentsChris Robinson2016-04-151-4/+5
|
* Avoid mixing all coefficients together when only some are usedChris Robinson2016-04-152-1/+5
|
* Shorten VECTOR_ITER_ macros to VECTOR_Chris Robinson2016-04-151-3/+3
|
* Update a commentChris Robinson2016-04-151-2/+2
|
* Avoid unnecessary loops for setting up effect slot b-format buffer mixingChris Robinson2016-04-143-1/+7
|
* Move the InitRenderer method to panning.cChris Robinson2016-04-141-3/+13
|
* Split aluInitPanning into separate functions for HRTF or UHJChris Robinson2016-04-142-3/+7
|
* Remove the old ringbuffer implementationChris Robinson2016-03-301-7/+0
|
* Move the aligned malloc functions to the common libChris Robinson2016-03-294-5/+6
|
* Include any first-order scaling in the FOAOut coefficientsChris Robinson2016-03-251-2/+0
|
* Implement AL_EXT_STEREO_ANGLES supportChris Robinson2016-03-252-0/+41
|
* Allow second-order HQ decodingChris Robinson2016-03-231-1/+6
| | | | | | | | Could really do with some optimizations to the mixing gain calculations. For ambisonic targets, the coefficients will only have 1 non-0 entry for each output, so the double loop in unnecessarily wasteful. Similarly, most uses won't need a full height encoding either, so a horizontal-only or mixed-order target could reduce the number of channels.
* Add a specific output for first-order sourcesChris Robinson2016-03-221-0/+9
|
* Store the effect's output buffer in the effect stateChris Robinson2016-03-172-0/+5
|
* Rename the BFormat channels to AuxChris Robinson2016-03-161-4/+4
|
* Add config options to enable the hq ambisonic decoderChris Robinson2016-03-161-2/+1
|
* Add a dual-band ambisonic decoderChris Robinson2016-03-152-1/+5
| | | | | | | | | | This uses a virtual B-Format buffer for mixing, and then uses a dual-band decoder for improved positional quality. This currently only works with first- order output since first-order input (from the AL_EXT_BFROMAT extension) would not sound correct when fed through a second- or third-order decoder. This also does not currently implement near-field compensation since near-field rendering effects are not implemented.
* Add a loader for ambdec filesChris Robinson2016-03-141-1/+2
|
* Use the real output's left and right channels with HRTFChris Robinson2016-03-111-2/+2
|
* Generalize GetChannelIdxByNameChris Robinson2016-03-101-6/+6
|
* Keep track of the real output's channel namesChris Robinson2016-03-101-0/+2
|
* Organize the dry buffer properties into a structChris Robinson2016-03-091-19/+25
|
* Track the virtual and real output buffers ecplicitlyChris Robinson2016-03-091-1/+12
|
* Add an option for pair-wise stereo panningChris Robinson2016-02-261-5/+7
|
* Use 2-channel UHJ for stereo outputChris Robinson2016-02-261-0/+3
|
* Remove an unused functionChris Robinson2016-02-231-2/+0
|
* Use an 8-channel cube for HRTF's virtual format.Chris Robinson2016-02-201-0/+9
| | | | | | There were phase issues caused by applying HRTF directly to the B-Format channels, since the HRIR delays were all averaged which removed the inter-aural time-delay, which in turn removed significant spatial information.
* Calculate HRTF stepping params right before mixingChris Robinson2016-02-143-10/+11
| | | | | This means we track the current params and the target params, rather than the target params and the stepping. This closer matches the non-HRTF mixers.
* Calculate channel gain stepping just before mixingChris Robinson2016-02-143-16/+16
|
* Rename ComputeBFormatGains to ComputeFirstOrderGainsChris Robinson2016-01-311-5/+5
|
* Make the source's buffer queue a singly-linked listChris Robinson2016-01-312-31/+27
|
* Mix to multichannel for effectsChris Robinson2016-01-283-6/+25
| | | | | | This mixes to a 4-channel first-order ambisonics buffer. With ACN ordering and N3D scaling, this makes it easy to remain compatible with effects that only care about mono input since channel 0 is an unattenuated mono signal.
* Pass a pointer to the input samples array for effect processingChris Robinson2016-01-271-2/+2
|
* Separate calculating ambisonic coefficients from the panning gainsChris Robinson2016-01-252-16/+36
|
* Move a couple extern inline declarations to the othersChris Robinson2016-01-231-3/+2
|
* Reorder filterstate propertiesChris Robinson2016-01-232-49/+51
|
* Inline a couple filterstate methodsChris Robinson2016-01-232-27/+27
|
* Use doubles for the constructed listener matrixChris Robinson2015-11-112-14/+39
| | | | | | This helps the stability of transforms to local space for sources that are at or near the listener. With a single-precision matrix, even FLT_EPSILON might not be enough to detect matching positions.
* Implement a band-limited sinc resamplerChris Robinson2015-11-052-4/+32
| | | | | | | | This is essentially a 12-point sinc resampler, unless it's resampling to a rate higher than the output, at which point it will vary between 12 and 24 points and do anti-aliasing to avoid/reduce frequencies going over nyquist. Code provided by Christopher Fitzgerald.
* Pass in the Q parameter for setting the filter parametersChris Robinson2015-11-013-27/+41
| | | | Also better handle the peaking filter gain.
* Remove an unused struct fieldChris Robinson2015-11-011-1/+0
|
* Fix a commentChris Robinson2015-11-011-1/+1
|
* Finalize ALC_SOFT_HRTFChris Robinson2015-10-281-22/+0
|
* Always update all reverb propertiesChris Robinson2015-10-281-0/+14
| | | | | | The EAX-only effect properties will be set to compatible defaults when standard reverb is set, and the EAX-only effects will be skipped during sample processing.
* Rename ALC_NUM_HRTF_SPECIFIER_SOFT to ALC_NUM_HRTF_SPECIFIERS_SOFTChris Robinson2015-10-261-1/+1
|
* Lock the source queue for writing when updating the playback offsetChris Robinson2015-10-241-8/+8
|
* Fix usage of modfChris Robinson2015-10-241-2/+2
|
* Update filter histories even when they're not usedChris Robinson2015-10-242-0/+20
| | | | | | If the filter properties are continually updated, and the HF or LF gain goes from <1, to 1, and later back to <1, the history shouldn't hold stale values from before it was at 1.
* Use one send gain per buffer channelChris Robinson2015-10-231-1/+1
|