Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Track the callback buffer base separately | Chris Robinson | 2023-02-18 | 1 | -8/+5 |
| | | | | | Instead of recalculating it all the time, even for sources that don't use callback buffers. | ||||
* | Decode IMA4 blocks with fewer loops | Chris Robinson | 2023-02-16 | 1 | -35/+30 |
| | | | | | Rather than decoding samples in chunks of 8, calculate the read offset from an incrementing index. | ||||
* | Combine and simplify some loops | Chris Robinson | 2023-02-15 | 1 | -24/+14 |
| | |||||
* | Skip ADPCM samples in a separate loop before writing | Chris Robinson | 2023-02-15 | 1 | -59/+83 |
| | |||||
* | Rename some variables for clarity | Chris Robinson | 2023-02-15 | 1 | -19/+19 |
| | |||||
* | Add comments describing the MSADPCM decode | Chris Robinson | 2023-02-14 | 1 | -0/+13 |
| | |||||
* | Fix write offset for loading FmtIMA4 samples | Chris Robinson | 2023-02-14 | 1 | -2/+2 |
| | |||||
* | Support MSADPCM samples in the mixer | Chris Robinson | 2023-02-14 | 1 | -0/+106 |
| | |||||
* | Support IMA4 ADPCM as a mixing voice format | Chris Robinson | 2023-02-14 | 1 | -30/+145 |
| | |||||
* | Pass a boolean for the decoder to update its state | Chris Robinson | 2023-02-13 | 1 | -1/+1 |
| | |||||
* | Explicitly cast a constexpr value to passify MSVC | Chris Robinson | 2023-02-12 | 1 | -3/+3 |
| | |||||
* | Use to_address to pass a pointer-like iterator as a real pointer | Chris Robinson | 2023-02-12 | 1 | -4/+5 |
| | |||||
* | Separate decoding and mixing from resampling | Chris Robinson | 2023-02-12 | 1 | -283/+301 |
| | |||||
* | Always write samples to the destination when resampling | Chris Robinson | 2023-02-11 | 1 | -4/+9 |
| | |||||
* | Check for the voice being beyond the loop end point earlier | Chris Robinson | 2023-02-11 | 1 | -5/+11 |
| | |||||
* | Change the default resampler to cubic | Chris Robinson | 2023-01-27 | 1 | -1/+1 |
| | | | | | This has notably better quality than linear, while still being faster than bsinc. | ||||
* | Add and use mixers that process one input and output channel | Chris Robinson | 2023-01-05 | 1 | -0/+14 |
| | |||||
* | Add a simple wrapper to call the mixer function | Chris Robinson | 2023-01-04 | 1 | -2/+2 |
| | |||||
* | Handle negative offset starts for callback buffers | Chris Robinson | 2023-01-04 | 1 | -9/+11 |
| | |||||
* | Fix a comment | Chris Robinson | 2023-01-01 | 1 | -2/+1 |
| | |||||
* | Swap the order of some checks to simplify voice setup | Chris Robinson | 2023-01-01 | 1 | -35/+25 |
| | |||||
* | Use a bitset for the enabled event flags | Chris Robinson | 2022-12-16 | 1 | -3/+3 |
| | |||||
* | Limit voice update fading length to 64 samples | Chris Robinson | 2022-12-08 | 1 | -13/+7 |
| | |||||
* | Avoid using a macro to wrap standard attributes | Chris Robinson | 2022-12-06 | 1 | -11/+11 |
| | |||||
* | Avoid some uses of the LIKELY/UNLIKELY macros | Chris Robinson | 2022-12-05 | 1 | -2/+2 |
| | |||||
* | Use standard likely/unlikely attributes when available | Chris Robinson | 2022-12-05 | 1 | -13/+13 |
| | |||||
* | Add the ability to start a voice at a particular time | Chris Robinson | 2022-11-03 | 1 | -7/+37 |
| | |||||
* | Handle negative voice positions | Chris Robinson | 2022-11-02 | 1 | -27/+49 |
| | | | | | | This allows a voice/source to start with a delay, more accurately than simply waiting to call alSourcePlay. The delay is affected by pitch and velocity, making it useful to simulate distant sounds that take time to be heard. | ||||
* | Rename some variables to more clearly indicate their meaning | Chris Robinson | 2022-10-28 | 1 | -6/+6 |
| | |||||
* | Rename some variables to be less ambiguous | Chris Robinson | 2022-10-21 | 1 | -8/+8 |
| | |||||
* | Add separate filter options for UHJ encoding and decoding | Chris Robinson | 2022-10-21 | 1 | -2/+2 |
| | |||||
* | Add an IIR filter option for UHJ encoding/decoding | Chris Robinson | 2022-10-21 | 1 | -23/+30 |
| | | | | | | 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. | ||||
* | Remove an unused variable | Chris Robinson | 2022-09-20 | 1 | -10/+9 |
| | |||||
* | Clear the buffer loop element when out of the loop range | Chris Robinson | 2022-09-18 | 1 | -2/+3 |
| | |||||
* | Track if doing 2D mixing only | Chris Robinson | 2022-09-04 | 1 | -2/+3 |
| | | | | And use it to select the proper HF scales | ||||
* | Allow different HF scales for 2D mixing/output | Chris Robinson | 2022-09-04 | 1 | -1/+1 |
| | | | | | Not actually used yet, the device needs to track whether it's using 2D or 3D mixing. | ||||
* | Use the difference in HF scale for upsampling ambisonics | Chris Robinson | 2022-09-03 | 1 | -1/+1 |
| | |||||
* | Revert "Don't apply the HF scaling for "upsampling" ambisonics" | Chris Robinson | 2022-09-02 | 1 | -12/+44 |
| | | | | This reverts commit bf3f63fb4c5faa45784d7433d68b7013e29ee2c1. | ||||
* | Don't apply the HF scaling for "upsampling" ambisonics | Chris Robinson | 2022-08-31 | 1 | -44/+12 |
| | | | | | | | | | | | | Not sure if this is best, but it fixes the issue of upsampling lower orders to higher orders multiple times (mixing lower order to higher order, cutting back to lower order by dropping the extra channels, then upsampling again, applying the HF scale multiple times and messing up the high frequencies/energy vector), as well as having too-strong high frequencies of upsampled content in general. As it is, with the new upsampling method, the lower order signal contributes to some higher order channels, which helps offset the high frequency scaling difference (except first- to second-order, which adds nothing). | ||||
* | Create and use 2D upsampling matrices | Chris Robinson | 2022-08-25 | 1 | -4/+6 |
| | |||||
* | Inline a function and remove an unnecessary parameter | Chris Robinson | 2022-08-16 | 1 | -1/+1 |
| | |||||
* | Add an option for higher quality UHJ filters | Chris Robinson | 2022-08-08 | 1 | -4/+20 |
| | |||||
* | Parameterize the UHJ filter length | Chris Robinson | 2022-08-07 | 1 | -10/+10 |
| | |||||
* | Use a proper literal type | Chris Robinson | 2022-06-07 | 1 | -1/+1 |
| | |||||
* | Use a member variable to specify the decoder padding | Chris Robinson | 2022-05-17 | 1 | -2/+10 |
| | |||||
* | Avoid magic numbers | Chris Robinson | 2022-05-16 | 1 | -6/+6 |
| | |||||
* | Use virtual functions for the decoder | Chris Robinson | 2022-05-14 | 1 | -10/+5 |
| | |||||
* | Rename lerp to avoid conflicts with C++20's std::lerp | Chris Robinson | 2022-04-06 | 1 | -2/+2 |
| | |||||
* | Remove the reversed all-pass trick in MixDirectHrtfBase | Chris Robinson | 2022-03-30 | 1 | -4/+1 |
| | | | | Given the minimum phase HRTF, it's not going to stay linear phase anyway. | ||||
* | Slightly improve handling of stopping voices | Chris Robinson | 2022-01-08 | 1 | -19/+27 |
| |