aboutsummaryrefslogtreecommitdiffstats
path: root/alc/panning.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Use amplitude-matching HF scaling for non-FOA HRTF outputChris Robinson2022-08-151-4/+4
|
* Update in incorrect commentChris Robinson2022-08-151-1/+1
|
* Update some arrays in preparation for fourth order supportChris Robinson2022-08-141-1/+3
|
* Add an option for higher quality UHJ filtersChris Robinson2022-08-081-1/+4
|
* Parameterize the UHJ filter lengthChris Robinson2022-08-071-1/+1
|
* Change an inline function to a class methodChris Robinson2022-08-021-1/+1
|
* Check the channel count for a valid DecoderViewChris Robinson2022-08-021-1/+1
| | | | | Ambisonic decoders can be zeroth order, but they need at least one output channel.
* Don't store and manage wet buffers separatelyChris Robinson2022-07-151-39/+2
|
* Add a speaker-dist config optionChris Robinson2022-07-071-7/+15
| | | | | | | This can be used to specify an average speaker distance without having the modify the decoder config files. This also sets a default value of 1, letting near-field effects work (if imprecisely) without an explicitly-configured distance.
* 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
|