Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Replace al::optional with std::optional | Chris Robinson | 2023-05-04 | 1 | -2/+2 |
| | |||||
* | Change a couple macros to constexpr variables | Chris Robinson | 2023-01-16 | 1 | -8/+8 |
| | |||||
* | clang-tidy cleanups (#800) | Rosen Penev | 2023-01-15 | 1 | -5/+5 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * clang-tidy: use bool literals Found with modernize-use-bool-literals Signed-off-by: Rosen Penev <[email protected]> * clang-tidy: replace std::bind with lambdas Found with modernize-avoid-bind Signed-off-by: Rosen Penev <[email protected]> * clang-tidy: use data() instead of pointer stuff Found with readability-container-data-pointe Signed-off-by: Rosen Penev <[email protected]> * clang-tidy: use empty() Found with readability-container-size-empty Signed-off-by: Rosen Penev <[email protected]> * clang-tidy: remove static in anon namespace Found with readability-static-definition-in-anonymous-namespace Signed-off-by: Rosen Penev <[email protected]> * clang-tidy: remove const return Found with readability-const-return-type Signed-off-by: Rosen Penev <[email protected]> Signed-off-by: Rosen Penev <[email protected]> | ||||
* | Use a span instead of a count+pointer | Chris Robinson | 2023-01-11 | 1 | -1/+1 |
| | |||||
* | Rename some struct members | Chris Robinson | 2023-01-10 | 1 | -2/+2 |
| | | | | And make a related function a member function | ||||
* | Avoid using a reversed all-pass for the front stablizer | Chris Robinson | 2023-01-06 | 1 | -2/+2 |
| | | | | | | While a neat trick, it's been shown to be too volatile and add noise as the signal gets louder. It's better to just accept the phase shift and ensure everything stays aligned. | ||||
* | Add preliminary support for 7.1.4 output modes | Chris Robinson | 2022-11-03 | 1 | -0/+31 |
| | | | | | | | | I don't know how different sound APIs handle 7.1.4 ("Atmos" or "Auro3D") output, but currently it simply specifies the additional channels with the height channel labels. This isn't likely how it works for a virtualized channel bed, for playing over other with-height configurations (7.1.2, 5.1.4, etc), but this should be an okay start. | ||||
* | Add missing header | Chris Robinson | 2022-10-22 | 1 | -0/+1 |
| | |||||
* | Rename some variables to be less ambiguous | Chris Robinson | 2022-10-21 | 1 | -2/+2 |
| | |||||
* | Add separate filter options for UHJ encoding and decoding | Chris Robinson | 2022-10-21 | 1 | -3/+13 |
| | |||||
* | Add an IIR filter option for UHJ encoding/decoding | Chris Robinson | 2022-10-21 | 1 | -1/+1 |
| | | | | | | This uses the reversed-allpass trick to maintain linear phase. with a 256- sample look-ahead/delay to minimize distortion. This should better preserve low frequencies while maintaining a proper phase response. | ||||
* | Correctly check if a multi-channel decoder is set | Chris Robinson | 2022-09-16 | 1 | -1/+1 |
| | |||||
* | Update the built-in quad and 7.1 decoders | Chris Robinson | 2022-09-16 | 1 | -26/+26 |
| | | | | | Make them first- and second-order respectively. They don't have enough speakers to really be suitable for higher orders than that. | ||||
* | Don't pack ambdec coefficients | Chris Robinson | 2022-09-12 | 1 | -64/+22 |
| | | | | | | | | | Tne coefficients are placed as for full 3D ACN handling. The ChanMask just indicates which have potentially useful values. This could be a bit more agressive and clear ChanMask bits for channels that don't contribute to output, so that a decoder the specifies height-related channel bits, but leaves their coefficients all 0, can be handled as 2D. I don't expect many ambdec files to be like that, though. | ||||
* | Ensure coeff_scale is set for ambdec files | Chris Robinson | 2022-09-11 | 1 | -0/+1 |
| | |||||
* | Track if doing 2D mixing only | Chris Robinson | 2022-09-04 | 1 | -1/+6 |
| | | | | And use it to select the proper HF scales | ||||
* | Use an icosahedron for 3D second-order | Chris Robinson | 2022-09-01 | 1 | -32/+33 |
| | |||||
* | Use a more precise 3D7.1 decoder | Chris Robinson | 2022-08-30 | 1 | -12/+12 |
| | |||||
* | Use amplitude-matching HF scaling for non-FOA HRTF output | Chris Robinson | 2022-08-15 | 1 | -4/+4 |
| | |||||
* | Update in incorrect comment | Chris Robinson | 2022-08-15 | 1 | -1/+1 |
| | |||||
* | Update some arrays in preparation for fourth order support | Chris Robinson | 2022-08-14 | 1 | -1/+3 |
| | |||||
* | Add an option for higher quality UHJ filters | Chris Robinson | 2022-08-08 | 1 | -1/+4 |
| | |||||
* | Parameterize the UHJ filter length | Chris Robinson | 2022-08-07 | 1 | -1/+1 |
| | |||||
* | Change an inline function to a class method | Chris Robinson | 2022-08-02 | 1 | -1/+1 |
| | |||||
* | Check the channel count for a valid DecoderView | Chris Robinson | 2022-08-02 | 1 | -1/+1 |
| | | | | | Ambisonic decoders can be zeroth order, but they need at least one output channel. | ||||
* | Don't store and manage wet buffers separately | Chris Robinson | 2022-07-15 | 1 | -39/+2 |
| | |||||
* | Add a speaker-dist config option | Chris Robinson | 2022-07-07 | 1 | -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 configuration | Chris Robinson | 2022-04-26 | 1 | -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 StereoEncoding | Chris Robinson | 2022-03-29 | 1 | -5/+5 |
| | |||||
* | Get rid of MathDefs | Chris Robinson | 2022-01-27 | 1 | -2/+2 |
| | |||||
* | Add a third-order ambisonic decoder for HRTF | Chris Robinson | 2022-01-05 | 1 | -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 decoder | Chris Robinson | 2022-01-04 | 1 | -42/+27 |
| | | | | This only needs 14 virtual channels instead of 20. | ||||
* | Avoid initializing the NFC filter for every voice channel | Chris Robinson | 2021-12-11 | 1 | -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 decoding | Chris Robinson | 2021-12-08 | 1 | -0/+13 |
| | |||||
* | Use a tri-state optional for the stereo output mode | Chris Robinson | 2021-10-24 | 1 | -4/+5 |
| | |||||
* | Pass a parameter to aluInitRenderer to specify UHJ output | Chris Robinson | 2021-10-23 | 1 | -21/+13 |
| | |||||
* | Use a flag to indicate headphone-like output | Chris Robinson | 2021-10-23 | 1 | -15/+1 |
| | |||||
* | Don't reset the ambisonic layout and scale with stereo output | Chris Robinson | 2021-10-23 | 1 | -5/+1 |
| | |||||
* | Don't pass the whole decoder to InitDistanceComp | Chris Robinson | 2021-10-23 | 1 | -4/+4 |
| | |||||
* | Fix the ambisonic scaling used by custom decoders | Chris Robinson | 2021-10-23 | 1 | -0/+1 |
| | |||||
* | Remove some lingering mentions of surround51rear | Chris Robinson | 2021-10-21 | 1 | -4/+2 |
| | |||||
* | Use an optional bool instead of two tri-state enums | Chris Robinson | 2021-07-31 | 1 | -56/+37 |
| | |||||
* | Avoid 5.1Rear as its own channel configuration | Chris Robinson | 2021-07-30 | 1 | -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 variable | Chris Robinson | 2021-07-30 | 1 | -5/+3 |
| | |||||
* | Add a UHJ-specific coefficient scaling array | Chris Robinson | 2021-07-13 | 1 | -1/+1 |
| | |||||
* | Update the 5.1+center decoder and use it by default | Chris Robinson | 2021-06-30 | 1 | -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 scaling | Chris Robinson | 2021-06-25 | 1 | -6/+24 |
| | |||||
* | MSVC doesn't like the decltype | Chris Robinson | 2021-06-23 | 1 | -3/+3 |
| | |||||
* | Add wrapper methods for getting device config values | Chris Robinson | 2021-06-23 | 1 | -16/+11 |
| | |||||
* | Convert AmbDecConf to DecoderConfig for loading | Chris Robinson | 2021-06-23 | 1 | -311/+312 |
| | | | | | This keeps AmbDecConf uses confined to multi-channel panning initialization, and avoids spreading conversions and maps all over. |