Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Start AL_SOFT_buffer_samples2 as a replacement for AL_SOFT_buffer_samples | Chris Robinson | 2016-04-25 | 2 | -11/+84 |
| | |||||
* | Improve radius behavior with scaling of ambisonic coefficients | Chris Robinson | 2016-04-24 | 1 | -5/+6 |
| | |||||
* | Increase max output channels to 16 | Chris Robinson | 2016-04-19 | 1 | -1/+8 |
| | | | | This also enables fully periphonic 3rd order HQ decoding. | ||||
* | Avoid storing channel names for the dry buffer | Chris Robinson | 2016-04-16 | 1 | -2/+0 |
| | |||||
* | More directly map coefficients for ambisonic mixing buffers | Chris Robinson | 2016-04-15 | 2 | -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 comments | Chris Robinson | 2016-04-15 | 1 | -4/+5 |
| | |||||
* | Avoid mixing all coefficients together when only some are used | Chris Robinson | 2016-04-15 | 2 | -1/+5 |
| | |||||
* | Update a comment | Chris Robinson | 2016-04-15 | 1 | -2/+2 |
| | |||||
* | Avoid unnecessary loops for setting up effect slot b-format buffer mixing | Chris Robinson | 2016-04-14 | 3 | -1/+7 |
| | |||||
* | Move the InitRenderer method to panning.c | Chris Robinson | 2016-04-14 | 1 | -3/+13 |
| | |||||
* | Split aluInitPanning into separate functions for HRTF or UHJ | Chris Robinson | 2016-04-14 | 2 | -3/+7 |
| | |||||
* | Remove the old ringbuffer implementation | Chris Robinson | 2016-03-30 | 1 | -7/+0 |
| | |||||
* | Move the aligned malloc functions to the common lib | Chris Robinson | 2016-03-29 | 1 | -5/+1 |
| | |||||
* | Include any first-order scaling in the FOAOut coefficients | Chris Robinson | 2016-03-25 | 1 | -2/+0 |
| | |||||
* | Implement AL_EXT_STEREO_ANGLES support | Chris Robinson | 2016-03-25 | 1 | -0/+5 |
| | |||||
* | Allow second-order HQ decoding | Chris Robinson | 2016-03-23 | 1 | -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 sources | Chris Robinson | 2016-03-22 | 1 | -0/+9 |
| | |||||
* | Store the effect's output buffer in the effect state | Chris Robinson | 2016-03-17 | 1 | -0/+3 |
| | |||||
* | Rename the BFormat channels to Aux | Chris Robinson | 2016-03-16 | 1 | -4/+4 |
| | |||||
* | Add config options to enable the hq ambisonic decoder | Chris Robinson | 2016-03-16 | 1 | -2/+1 |
| | |||||
* | Add a dual-band ambisonic decoder | Chris Robinson | 2016-03-15 | 2 | -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 files | Chris Robinson | 2016-03-14 | 1 | -1/+2 |
| | |||||
* | Use the real output's left and right channels with HRTF | Chris Robinson | 2016-03-11 | 1 | -2/+2 |
| | |||||
* | Generalize GetChannelIdxByName | Chris Robinson | 2016-03-10 | 1 | -6/+6 |
| | |||||
* | Keep track of the real output's channel names | Chris Robinson | 2016-03-10 | 1 | -0/+2 |
| | |||||
* | Organize the dry buffer properties into a struct | Chris Robinson | 2016-03-09 | 1 | -19/+25 |
| | |||||
* | Track the virtual and real output buffers ecplicitly | Chris Robinson | 2016-03-09 | 1 | -1/+12 |
| | |||||
* | Add an option for pair-wise stereo panning | Chris Robinson | 2016-02-26 | 1 | -5/+7 |
| | |||||
* | Use 2-channel UHJ for stereo output | Chris Robinson | 2016-02-26 | 1 | -0/+3 |
| | |||||
* | Remove an unused function | Chris Robinson | 2016-02-23 | 1 | -2/+0 |
| | |||||
* | Use an 8-channel cube for HRTF's virtual format. | Chris Robinson | 2016-02-20 | 1 | -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 mixing | Chris Robinson | 2016-02-14 | 2 | -9/+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 mixing | Chris Robinson | 2016-02-14 | 2 | -9/+14 |
| | |||||
* | Rename ComputeBFormatGains to ComputeFirstOrderGains | Chris Robinson | 2016-01-31 | 1 | -5/+5 |
| | |||||
* | Make the source's buffer queue a singly-linked list | Chris Robinson | 2016-01-31 | 1 | -1/+0 |
| | |||||
* | Mix to multichannel for effects | Chris Robinson | 2016-01-28 | 2 | -6/+23 |
| | | | | | | 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 processing | Chris Robinson | 2016-01-27 | 1 | -2/+2 |
| | |||||
* | Separate calculating ambisonic coefficients from the panning gains | Chris Robinson | 2016-01-25 | 2 | -16/+36 |
| | |||||
* | Reorder filterstate properties | Chris Robinson | 2016-01-23 | 1 | -7/+8 |
| | |||||
* | Inline a couple filterstate methods | Chris Robinson | 2016-01-23 | 1 | -2/+25 |
| | |||||
* | Use doubles for the constructed listener matrix | Chris Robinson | 2015-11-11 | 2 | -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 resampler | Chris Robinson | 2015-11-05 | 2 | -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 parameters | Chris Robinson | 2015-11-01 | 2 | -20/+36 |
| | | | | Also better handle the peaking filter gain. | ||||
* | Remove an unused struct field | Chris Robinson | 2015-11-01 | 1 | -1/+0 |
| | |||||
* | Fix a comment | Chris Robinson | 2015-11-01 | 1 | -1/+1 |
| | |||||
* | Finalize ALC_SOFT_HRTF | Chris Robinson | 2015-10-28 | 1 | -22/+0 |
| | |||||
* | Rename ALC_NUM_HRTF_SPECIFIER_SOFT to ALC_NUM_HRTF_SPECIFIERS_SOFT | Chris Robinson | 2015-10-26 | 1 | -1/+1 |
| | |||||
* | Update filter histories even when they're not used | Chris Robinson | 2015-10-24 | 1 | -0/+2 |
| | | | | | | 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 channel | Chris Robinson | 2015-10-23 | 1 | -1/+1 |
| | |||||
* | Convert the PortAudio backend to the new backend API | Chris Robinson | 2015-10-22 | 1 | -3/+0 |
| |