aboutsummaryrefslogtreecommitdiffstats
path: root/Alc
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* Organize the dry buffer properties into a structChris Robinson2016-03-0913-137/+150
|
* Track the virtual and real output buffers ecplicitlyChris Robinson2016-03-093-46/+79
|
* Fix reverb with UHJ encodingChris Robinson2016-03-031-1/+1
|
* Remove the extra scaling on W for UHJ encodingChris Robinson2016-03-012-10/+28
| | | | | | There seems to be some inconsistent info about whether W should be scaled by sqrt(2) for encoding. Not applying the scaling results in a wider stereo image, which seems more appropriate.
* Separate the left and right output writes with UHJ encodingChris Robinson2016-02-271-9/+12
|
* Add an option for pair-wise stereo panningChris Robinson2016-02-262-21/+66
|
* Use 2-channel UHJ for stereo outputChris Robinson2016-02-264-52/+76
|
* Add a function to encode 2-channel UHJ from B-FormatChris Robinson2016-02-262-0/+140
|
* Add and use a copy-range string functionChris Robinson2016-02-243-12/+22
|
* Exclude the file extension from the HRTF nameChris Robinson2016-02-241-1/+9
|
* Replace the hrtf_tables option with hrtf-pathsChris Robinson2016-02-232-481/+115
|
* Remove an unused functionChris Robinson2016-02-231-149/+0
|
* Allow selecting a preferred HRTF in alsoft-configChris Robinson2016-02-231-1/+1
| | | | This currently only checks the default paths when they're being used.
* Fix when ESTRPIPE and EPIPE are the sameChris Robinson2016-02-221-0/+2
|
* Avoid enumerating the same HRTF file twiceChris Robinson2016-02-211-41/+40
|
* Add a config option to specify the preferred HRTFChris Robinson2016-02-211-0/+19
|
* Remove an unused declarationChris Robinson2016-02-201-2/+0
|
* Include the HRTF filename in the HRTF memory chunkChris Robinson2016-02-202-26/+25
|
* Use an 8-channel cube for HRTF's virtual format.Chris Robinson2016-02-204-122/+46
| | | | | | 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.
* Allocate each HRTF as a single chunkChris Robinson2016-02-161-21/+39
|
* Remove a dead assignmentChris Robinson2016-02-161-1/+0
|
* Only calculate steps for the used coefficientsChris Robinson2016-02-141-1/+1
|
* Calculate HRTF stepping params right before mixingChris Robinson2016-02-149-294/+88
| | | | | 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-240/+149
|
* Don't pass the channel count to GetBFormatHrtfCoeffsChris Robinson2016-02-093-8/+6
| | | | Since it's hard-coded anyway, there's no need to specify it.
* Replace some CreateEvent calls with CreateEventWChris Robinson2016-02-072-7/+7
|
* Add special HRTF handling for reverbChris Robinson2016-02-061-1/+77
| | | | | | | This is pretty hacky. Since HRTF normally renders to B-Format with two "extra" channels for the real stereo output, the panning interpolates between a panned reverb channel on B-Format, and two non-panned reverb channels on stereo output, given the panning vector length.
* Only apply the +3dB reverb gain boost to the ambient response.Chris Robinson2016-02-061-2/+1
|
* Avoid an extra sample of delay in the reverb modulatorChris Robinson2016-02-051-4/+6
|
* Remove an unnecessary variable and move duplicate code to a common spotChris Robinson2016-02-051-37/+23
|
* Don't explicitly check for LFEChris Robinson2016-02-051-16/+0
| | | | It's going to be set to 0 gain anyway
* Boost the direct-pan reverb to better match the expected volumeChris Robinson2016-02-051-0/+2
| | | | | Hopefully. Would be nice to have a reference implementation for this style of reverb to compare with.
* Update a couple outdated commentsChris Robinson2016-02-051-3/+1
|
* Apply the early and late reverb gains with the panning gainsChris Robinson2016-02-051-26/+28
|
* Better organize the reverb code into separate labeled sectionsChris Robinson2016-02-051-425/+442
|
* Separate early and late reverb output for standard reverb tooChris Robinson2016-02-051-33/+27
|
* Modify how the four output reverb points are calculatedChris Robinson2016-02-051-40/+62
| | | | | For HRTF and B-Format output, the points no longer move but instead scale based on the desired panning direction.