aboutsummaryrefslogtreecommitdiffstats
path: root/alc/panning.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Handle 3D7.1 as a separate channel configurationChris Robinson2022-04-261-4/+54
| | | | | | | It's treated as 5.1 + 2 aux channels. This allows AL_DIRECT_CHANNELS_SOFT to behave better, not forwarding rear left/right channel inputs to lower front and upper rear, and allows reporting a more appropriate output mode to the app instead of 7.1.
* Make and use a Default enum for StereoEncodingChris Robinson2022-03-291-5/+5
|
* Get rid of MathDefsChris Robinson2022-01-271-2/+2
|
* Add a third-order ambisonic decoder for HRTFChris Robinson2022-01-051-2/+59
| | | | | Using the 20-channel dodecahedron, seems to be good enough to handle 16-channel third-order ambisonics.
* Update the HRTF second-order ambisonic decoderChris Robinson2022-01-041-42/+27
| | | | This only needs 14 virtual channels instead of 20.
* Avoid initializing the NFC filter for every voice channelChris Robinson2021-12-111-0/+4
| | | | | | It can be initialized once with the device's speaker distance since it won't change in between resets, then copied into the voice where it can be adjusted as needed.
* Adjust the crossover frequency for HRTF ambisonic decodingChris Robinson2021-12-081-0/+13
|
* Use a tri-state optional for the stereo output modeChris Robinson2021-10-241-4/+5
|
* Pass a parameter to aluInitRenderer to specify UHJ outputChris Robinson2021-10-231-21/+13
|
* Use a flag to indicate headphone-like outputChris Robinson2021-10-231-15/+1
|
* Don't reset the ambisonic layout and scale with stereo outputChris Robinson2021-10-231-5/+1
|
* Don't pass the whole decoder to InitDistanceCompChris Robinson2021-10-231-4/+4
|
* Fix the ambisonic scaling used by custom decodersChris Robinson2021-10-231-0/+1
|
* Remove some lingering mentions of surround51rearChris Robinson2021-10-211-4/+2
|
* Use an optional bool instead of two tri-state enumsChris Robinson2021-07-311-56/+37
|
* Avoid 5.1Rear as its own channel configurationChris Robinson2021-07-301-25/+3
| | | | | | It messes with 5.1 sources using direct channels, and the surround channels are supposed to map to the side labels. Individual backends can deal with the channel order/label differences, as they already do to a degree.
* Remove an unused variableChris Robinson2021-07-301-5/+3
|
* Add a UHJ-specific coefficient scaling arrayChris Robinson2021-07-131-1/+1
|
* Update the 5.1+center decoder and use it by defaultChris Robinson2021-06-301-24/+39
| | | | | | | The itu5.1-nocenter preset is the same as the previous default, so it can still be used for people that prefer it. But this new one purportedly has better panning and positioning responses in listening tests, which initial impressions concur with.
* Allow decoders to specify the coefficient scalingChris Robinson2021-06-251-6/+24
|
* MSVC doesn't like the decltypeChris Robinson2021-06-231-3/+3
|
* Add wrapper methods for getting device config valuesChris Robinson2021-06-231-16/+11
|
* Convert AmbDecConf to DecoderConfig for loadingChris Robinson2021-06-231-311/+312
| | | | | This keeps AmbDecConf uses confined to multi-channel panning initialization, and avoids spreading conversions and maps all over.
* Support built-in 3D ambisonic decodersChris Robinson2021-06-231-18/+26
|
* Fix setting the channel distance compensation buffersChris Robinson2021-05-201-3/+3
|
* Rename alcontext.h and move some functions to context.cppChris Robinson2021-04-271-1/+1
|
* Rename alcmain.h to device.hChris Robinson2021-04-271-1/+1
|
* Move bformatdec to coreChris Robinson2021-04-251-2/+2
|
* Move some functions to coreChris Robinson2021-04-251-110/+0
| | | | And clean up more includes
* Create a base the ALCdevice and ALCcontext structsChris Robinson2021-04-241-1/+1
| | | | | A base that contains the API-agnostic data, with ALCdevice and ALCcontext being for AL-specific data.
* Use the root mean square for the HRTF B-Format HF scaleChris Robinson2021-04-241-1/+3
| | | | | | | | For the second-order decoder. Since the delays are adjusted to avoid most high frequency phase cancelation, the energy-based scaling with the number of channels used creates a significant HF increase. Using the RMS-based scaling seems to create a more level response, though it's not perfect either. More testing and measurements may be needed.
* Move hrtf.cpp/h to coreChris Robinson2021-04-221-1/+1
|
* Avoid using config methods in hrtf.cppChris Robinson2021-04-221-15/+15
|
* Rename Uhj2Encoder to UhjEncoderChris Robinson2021-04-011-1/+1
|
* Clean up some formattingChris Robinson2021-02-161-81/+71
|
* Avoid global constexpr arraysChris Robinson2021-01-211-19/+18
|
* Use a unique_ptr to hold DistanceComp dataChris Robinson2020-12-271-28/+34
|
* Move the WetBuffer reference to EffectSlotChris Robinson2020-12-271-6/+5
|
* Combine variable terms separate from the scaling weightsChris Robinson2020-12-261-7/+7
|
* Add a crossover frequency field for the deviceChris Robinson2020-12-261-1/+4
| | | | | | Used when upsampling low-order ambisonic signals to higher order. Rather than a hardcoded 400hz, it ensures a consistent crossover point when an ambdec configuration is used. It can also allow for an alsoft config option.
* Use more constexpr variables instead of macrosChris Robinson2020-12-251-1/+1
|
* Return an optional for an errorChris Robinson2020-12-251-3/+6
|
* Avoid dynamic vectors in AmbDecConfChris Robinson2020-12-251-14/+15
| | | | Also add a bit more sanity checking
* Rename From2D to FromACN2DChris Robinson2020-12-251-2/+2
|
* Move the ambdec loader to coreChris Robinson2020-12-251-1/+1
|
* Move logging to coreChris Robinson2020-12-171-1/+1
|
* Move ambidefs.h to coreChris Robinson2020-12-121-12/+1
|
* Don't modify the IR size of loaded HRTFsChris Robinson2020-12-111-6/+14
|
* Change some macros into constexpr variablesChris Robinson2020-12-041-38/+38
|
* Move a couple more things to coreChris Robinson2020-12-041-2/+2
|