Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Use macros for the likely/unlikely attributes | Chris Robinson | 2023-03-01 | 1 | -6/+6 |
| | | | | | The syntax parser for GCC 8 (and earlier?) fails when these attributes are in certain places. | ||||
* | Separate decoding and mixing from resampling | Chris Robinson | 2023-02-12 | 1 | -6/+0 |
| | |||||
* | Use a span to hold the cubic table reference | Chris Robinson | 2023-02-10 | 1 | -1/+1 |
| | |||||
* | Rename the bsinc table variables | Chris Robinson | 2023-02-07 | 1 | -2/+2 |
| | |||||
* | Use an interpolated FIR filter for cubic resampling | Chris Robinson | 2023-02-06 | 1 | -0/+11 |
| | | | | | | Similar to how the bsinc filters work, but optimized for 4-point filtering. At least the SSE version is notably faster than calculating the coefficients in real time. | ||||
* | Avoid using auto for lambda parameters | Chris Robinson | 2023-02-06 | 1 | -1/+1 |
| | |||||
* | Transpose the ambisonic rotation matrix and helper coefficients | Chris Robinson | 2023-01-26 | 1 | -39/+32 |
| | |||||
* | Transpose the ambisonic voice mixing matrix | Chris Robinson | 2023-01-25 | 1 | -34/+41 |
| | | | | | To more efficiently prepare the panning coefficients. Also avoid making a stack copy of the matrix to reuse as the target. | ||||
* | Change a couple macros to constexpr variables | Chris Robinson | 2023-01-16 | 1 | -4/+4 |
| | |||||
* | Precalculate reused scale factors | Chris Robinson | 2023-01-15 | 1 | -1/+1 |
| | |||||
* | clang-tidy cleanups (#800) | Rosen Penev | 2023-01-15 | 1 | -2/+2 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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]> | ||||
* | Don't use doubles for upsampling B-Format transforms | Chris Robinson | 2023-01-13 | 1 | -3/+3 |
| | |||||
* | Rename some struct members | Chris Robinson | 2023-01-10 | 1 | -3/+3 |
| | | | | And make a related function a member function | ||||
* | Use a bitset for the enabled event flags | Chris Robinson | 2022-12-16 | 1 | -4/+3 |
| | |||||
* | Implement an al::unreachable wrapper/helper | Chris Robinson | 2022-12-13 | 1 | -1/+1 |
| | |||||
* | Avoid using a macro to wrap standard attributes | Chris Robinson | 2022-12-06 | 1 | -6/+6 |
| | |||||
* | Avoid LIKELY/UNLIKELY macros | Chris Robinson | 2022-12-05 | 1 | -5/+5 |
| | |||||
* | Use standard likely/unlikely attributes when available | Chris Robinson | 2022-12-05 | 1 | -1/+1 |
| | |||||
* | Add the ability to start a voice at a particular time | Chris Robinson | 2022-11-03 | 1 | -1/+5 |
| | |||||
* | Track if doing 2D mixing only | Chris Robinson | 2022-09-04 | 1 | -3/+6 |
| | | | | And use it to select the proper HF scales | ||||
* | Add a 2D fourth-order upsampler | Chris Robinson | 2022-08-27 | 1 | -0/+3 |
| | | | | This will be necessary for 2D fourth-order sources with 3D fourth-order output. | ||||
* | Don't mark a non-constexpr-able function as constexpr | Chris Robinson | 2022-08-26 | 1 | -1/+1 |
| | | | | | It can't be constexpr because it needs write access to an std::array, and because of std::sqrt. | ||||
* | Simplify calculating the ambisonic rotator coefficients | Chris Robinson | 2022-08-26 | 1 | -34/+33 |
| | |||||
* | Fix W input mixing when non-0 coverage | Chris Robinson | 2022-08-26 | 1 | -15/+25 |
| | | | | | | When upsampling certain ambisonic formats, the W channel may contribute to other output channels even with full coverage. Make sure they're taken into account. | ||||
* | Create and use 2D upsampling matrices | Chris Robinson | 2022-08-25 | 1 | -7/+27 |
| | |||||
* | Apply the upsampler before rotation | Chris Robinson | 2022-08-25 | 1 | -84/+23 |
| | | | | | | | | Although this will necessitate applying a full device-order rotation for all ambisonic sources, it should be slightly better since it's effectively rotated after being mixed to higher order. This will also allow using more optimized upsamplers for 2D ambisonic sources vs 3D (while still allowing the sources to be rotated in 3D). | ||||
* | Skip LFE for aux send gains with Direct Channels | Chris Robinson | 2022-08-18 | 1 | -0/+4 |
| | |||||
* | Fix the channel spread for aux send gains with full HRTF | Chris Robinson | 2022-08-18 | 1 | -1/+1 |
| | |||||
* | Inline and precompute some CalcDirectionCoeffs calls | Chris Robinson | 2022-08-18 | 1 | -1/+1 |
| | |||||
* | Use a decode-encode method for ambisonic upsampling | Chris Robinson | 2022-08-15 | 1 | -6/+107 |
| | | | | | | | | This should allow for clearer and less diffuse responses. While a cube is in the blindspots for second-order, resulting in an identify transform for first- to-second-order, they do start contributing to third-order channels, which should make for sharper virtual points. The fixed HF scales should also play nicer with larger order upmixes. | ||||
* | Avoid putting a 1KB array on the stack | Chris Robinson | 2022-08-02 | 1 | -6/+6 |
| | |||||
* | Rework multi-channel source radius handling | Chris Robinson | 2022-08-02 | 1 | -50/+118 |
| | | | | | | | | Rather than applying the calculated spread to each virtual channel, the spread indicates how much the virtual channels surround the listener. At full spread, the channels retain their virtual speaker positions, while at no spread, all channels converge on the source position. This behavior is more consistent with B-Format sources. | ||||
* | Change an inline function to a class method | Chris Robinson | 2022-08-02 | 1 | -4/+4 |
| | |||||
* | Use an intrusive_ptr to hold on to the EffectState | Chris Robinson | 2022-07-29 | 1 | -3/+3 |
| | |||||
* | Use the reverb air absorption for the send paths | Chris Robinson | 2022-07-19 | 1 | -9/+7 |
| | |||||
* | Add a config compat option for NFC distance scaling | Chris Robinson | 2022-07-07 | 1 | -6/+10 |
| | | | | | | | | | | | | Currently there's no way for an application to specify the "real world" scale for in-game units. If the game doesn't use one unit to represent what should be perceived as one meter to the user, the NFC filter's effect will be too near or too far sounding. This allows adjusting the unit scale as applied to the NFC filters only, correcting the misalignment. This also removes the influence of EFX's MetersPerUnit from the NFC filters, since many games don't use it, and those that do won't know it also influences the perceived wave curvature along with the air absorption strength. | ||||
* | Don't apply effect auto send adjustments for non-reverb effects | Chris Robinson | 2022-06-16 | 1 | -1/+1 |
| | |||||
* | Avoid a virtual function call to set the decoder width | Chris Robinson | 2022-05-17 | 1 | -1/+1 |
| | |||||
* | Use virtual functions for the decoder | Chris Robinson | 2022-05-14 | 1 | -1/+1 |
| | |||||
* | Use an array of pointers for the UHJ encoder input | Chris Robinson | 2022-05-06 | 1 | -1/+1 |
| | |||||
* | Fully protect disconnection with the mixer counter | Chris Robinson | 2022-04-25 | 1 | -36/+36 |
| | |||||
* | Use a type alias to simplify using a type | Chris Robinson | 2022-04-25 | 1 | -7/+8 |
| | |||||
* | Clean up some case spaghetti | Chris Robinson | 2022-04-25 | 1 | -13/+10 |
| | |||||
* | Rename lerp to avoid conflicts with C++20's std::lerp | Chris Robinson | 2022-04-06 | 1 | -8/+8 |
| | |||||
* | Limit the super stereo width factor to 0.7 | Chris Robinson | 2022-04-04 | 1 | -1/+1 |
| | |||||
* | Avoid some redundant variable assignments | Chris Robinson | 2022-03-30 | 1 | -12/+6 |
| | |||||
* | Add options to reverse local X and Y coordinates | Chris Robinson | 2022-03-10 | 1 | -2/+6 |
| | | | | | To go along with reverse-z on the other axii. This is only for games that have position/orientation errors causing top-bottom (or left-right) inversion. | ||||
* | Add a config option for reverse-z | Chris Robinson | 2022-03-10 | 1 | -18/+8 |
| | | | | | | The same as the __ALSOFT_REVERSE_Z env var, but in the config file. Should only be used for per-game config files (either along side the executable, or setting the ALSOFT_CONF env var when launching the app). | ||||
* | Fix applying air absorption | Chris Robinson | 2022-03-02 | 1 | -20/+20 |
| | |||||
* | Move some temp variables closer to where they're used | Chris Robinson | 2022-03-02 | 1 | -69/+67 |
| |