aboutsummaryrefslogtreecommitdiffstats
path: root/Alc
Commit message (Collapse)AuthorAgeFilesLines
* Avoid double slashes when constructing pathsChris Robinson2016-04-071-3/+11
|
* Use al_malloc/al_free for allocationsChris Robinson2016-04-051-9/+7
|
* Also disable ALSA's resampler when not requesting a sample rateChris Robinson2016-04-051-1/+4
|
* Add a hack to workaround erroneous prebuf values from pulseChris Robinson2016-03-311-5/+28
|
* Use the 3D panned output for reverb with HQ decodingChris Robinson2016-03-311-3/+3
| | | | | | This is less than ideal, but matching each reverb line to a speaker with surround sound output is way too loud without the ambient volume scaling offered by the "direct" panning.
* Allow dual-band decoders for basic renderingChris Robinson2016-03-301-8/+2
| | | | | Since the basic renderer does not do frequency-dependent processing, the high- frequency matrix is used for panning.
* Properly make hq-mode default to offChris Robinson2016-03-301-1/+1
|
* Remove the old ringbuffer implementationChris Robinson2016-03-301-101/+0
|
* Convert remaining ringbuffers to the lockless variantChris Robinson2016-03-295-70/+74
|
* Move the aligned malloc functions to the common libChris Robinson2016-03-294-50/+3
|
* Skip unused output channels for the HQ decodeChris Robinson2016-03-281-0/+13
|
* Align the ChannelMix buffer and use it for up-samplingChris Robinson2016-03-271-9/+9
|
* Use the same option for decoder configsChris Robinson2016-03-261-1/+5
|
* Don't use custom decoder configurations with mono or stereoChris Robinson2016-03-261-0/+13
| | | | | | | | | | By default, stereo outputs using UHJ, which renders to a B-Format buffer that gets run through a UHJ encoder for output. It may also output using pair-wise panning, which pans between -30 and +30 degrees with the speakers at the two ends. In both cases, the stereo coefficients are ignored. Mono, having only one output channel, can realistically only attenuate its channel. Turning the volume up and down accomplishes the same result.
* Include the distance gain compensation in the decoder matrixChris Robinson2016-03-261-56/+56
|
* Add a config option for distance compensationChris Robinson2016-03-263-5/+15
|
* Add distance compensation to the HQ decoderChris Robinson2016-03-261-4/+107
| | | | | | This only compensates for timing and gain differences caused by differences in the physical speaker distances. It's not near-field compensation. This also relies on having proper distance values defined in the ambdec definition file.
* Allow up to third-order for horizontal-only renderingChris Robinson2016-03-261-16/+26
|
* Include any first-order scaling in the FOAOut coefficientsChris Robinson2016-03-256-45/+46
|
* Skip height-related ambisonic channels for 2D renderingChris Robinson2016-03-252-19/+94
|
* Mix Dedicated effects to the real output if possibleChris Robinson2016-03-251-6/+21
|
* Implement AL_EXT_STEREO_ANGLES supportChris Robinson2016-03-252-7/+14
|
* Use the "decoder" config section instead of "ambisonics"Chris Robinson2016-03-252-2/+2
|
* Add a cast and a couple float type fixesChris Robinson2016-03-242-3/+3
|
* Trace the HQ decoder orderChris Robinson2016-03-231-1/+4
|
* Simplify setting a custom channel map configurationChris Robinson2016-03-231-17/+7
|
* Up-sample first-order content when using a higher order HQ decoderChris Robinson2016-03-234-2/+101
|
* Allow second-order HQ decodingChris Robinson2016-03-231-9/+21
| | | | | | | | 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-228-5/+53
|
* Simplify setting the matrix coeffsChris Robinson2016-03-221-42/+14
|
* Add a workaround for a buggy modffChris Robinson2016-03-181-0/+15
|
* Store the effect's output buffer in the effect stateChris Robinson2016-03-172-6/+11
|
* Make sure enough reverb panning gains are definedChris Robinson2016-03-161-4/+4
|
* Rename the BFormat channels to AuxChris Robinson2016-03-162-24/+24
|
* Add config options to enable the hq ambisonic decoderChris Robinson2016-03-162-37/+58
|
* Properly handle negative matrix values and fix decoder initializationChris Robinson2016-03-152-2/+2
|
* Replace the custom layout options with an ambdec loaderChris Robinson2016-03-151-129/+87
| | | | | The ambisonic layout options were never very good for clarity or flexibility. Hopefully using ambdec files will prove to be better.
* Rename a couple functions for more informative loggingChris Robinson2016-03-151-9/+10
|
* Add a dual-band ambisonic decoderChris Robinson2016-03-156-15/+461
| | | | | | | | | | 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.
* Downgrade some ERRs to WARNs or TRACEsChris Robinson2016-03-151-8/+9
|
* Always mix to the real output for DirectChannelsChris Robinson2016-03-141-19/+7
|
* Add a loader for ambdec filesChris Robinson2016-03-142-0/+601
|
* Use second-order coefficients for 5.1Chris Robinson2016-03-131-16/+16
| | | | | Since the panning only drives 5 speakers, it shouldn't use more than 5 ambisonic channels (9 total in second order, minus 4 for unused height).
* Use the real output's left and right channels with HRTFChris Robinson2016-03-114-32/+44
|
* Separate writing to the output buffer from HRTF filteringChris Robinson2016-03-111-31/+58
|
* Update the current HRTF delays if the stepping is not finishedChris Robinson2016-03-111-0/+5
|
* Use the proper left and right channels for UHJ outputChris Robinson2016-03-103-7/+14
|
* Generalize GetChannelIdxByNameChris Robinson2016-03-104-14/+9
|
* Allocate enough reverb panning gainsChris Robinson2016-03-101-2/+6
|
* Keep track of the real output's channel namesChris Robinson2016-03-103-81/+65
|