Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Don't require samplesToDo > forwardSamples for decoders | Chris Robinson | 2023-02-11 | 2 | -13/+13 |
| | |||||
* | Assume 'frac' is less than 1 | Chris Robinson | 2023-02-10 | 5 | -0/+15 |
| | |||||
* | Use a span to hold the cubic table reference | Chris Robinson | 2023-02-10 | 3 | -3/+4 |
| | |||||
* | Rename some variables for consistency | Chris Robinson | 2023-02-09 | 3 | -23/+24 |
| | |||||
* | Properly mark the cubic coefficients and deltas as restrict | Chris Robinson | 2023-02-09 | 1 | -10/+9 |
| | |||||
* | Allow finding index file when built as a submodule (#819) | Aoife Fey | 2023-02-09 | 1 | -2/+13 |
| | |||||
* | Check for the existence of the file that's depended on | Chris Robinson | 2023-02-08 | 1 | -1/+1 |
| | |||||
* | Use better panning positions for the frequency shifter effect | Chris Robinson | 2023-02-08 | 1 | -2/+7 |
| | |||||
* | Use better panning positions for the chorus effect | Chris Robinson | 2023-02-08 | 1 | -56/+61 |
| | | | | Also avoid putting larger buffers on the stack. | ||||
* | Make a table constexpr | Chris Robinson | 2023-02-07 | 1 | -6/+5 |
| | |||||
* | Rename the bsinc table variables | Chris Robinson | 2023-02-07 | 4 | -7/+9 |
| | |||||
* | Use an interpolated FIR filter for cubic resampling | Chris Robinson | 2023-02-06 | 9 | -22/+227 |
| | | | | | | 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 | 5 | -9/+9 |
| | |||||
* | Improve performance calculating reverb panning | Chris Robinson | 2023-02-05 | 1 | -10/+11 |
| | |||||
* | Use a cubic resampler for the reverb modulator offset | Chris Robinson | 2023-02-05 | 1 | -17/+61 |
| | |||||
* | Don't set an EAX version by default for sources | Chris Robinson | 2023-02-05 | 3 | -43/+10 |
| | | | | | | | | | Presuming sources start in a neutral state for EAX effects, that is they're not affected by EAX by default, there's no need to set an active EAX state for one until the app sets an EAX property on it. Since the deferred and immediate properties are stored independently per-version, they can always be set to defaults, and simply not have a particular version committed as active until the app sets an EAX property, which will inherently set the active version. | ||||
* | Release 1.23.0 | Chris Robinson | 2023-02-03 | 3 | -3/+55 |
| | |||||
* | Make sure a variable is set before use | Chris Robinson | 2023-01-31 | 1 | -3/+3 |
| | |||||
* | Try -Wno-c++20-extensions if -Wno-c++20-attribute-extensions fails | Chris Robinson | 2023-01-31 | 1 | -0/+5 |
| | |||||
* | Don't try to use std::pointer_traits::to_address | Chris Robinson | 2023-01-30 | 1 | -21/+2 |
| | |||||
* | Try to fix has_to_address | Chris Robinson | 2023-01-30 | 1 | -3/+7 |
| | |||||
* | Distinguish a couple log messages | Chris Robinson | 2023-01-30 | 1 | -3/+3 |
| | | | | And downgrade an ERR to a WARN | ||||
* | Don't pass an unnecessarily large alignment to allocator::rebind | Chris Robinson | 2023-01-30 | 1 | -2/+4 |
| | |||||
* | Use std::pointer_traits::to_address when available | Chris Robinson | 2023-01-29 | 1 | -1/+16 |
| | |||||
* | Change the IS_VALID_CONTAINER macro to a constexpr bool | Chris Robinson | 2023-01-29 | 1 | -11/+11 |
| | |||||
* | Avoid using to_address on an end iterator | Chris Robinson | 2023-01-29 | 1 | -4/+3 |
| | |||||
* | Capitalization and puctuation | Chris Robinson | 2023-01-29 | 1 | -2/+2 |
| | |||||
* | Slight clarification for the readme instructions | Chris Robinson | 2023-01-28 | 1 | -1/+1 |
| | |||||
* | Add a comment to check into an out-of-range value later | Chris Robinson | 2023-01-28 | 1 | -1/+5 |
| | |||||
* | Clamp the biquad filter gain value to 0.00001 | Chris Robinson | 2023-01-28 | 1 | -1/+1 |
| | | | | | To actually prevent a potential divide-by-zero when the gain and reference frequency are 0, instead of asserting. | ||||
* | Update the readme | Chris Robinson | 2023-01-28 | 1 | -7/+11 |
| | | | | | | | | | | | Travis CI has been down for years, so replace the build badge with GitHub Actions' badge. Update the build instructions to note CMake GUIs as an alternative to the command line, and note various IDE's potentially supporting CMake projects directly. Finally, update the list of expected backends for Linux and Windows. | ||||
* | Change the default resampler to cubic | Chris Robinson | 2023-01-27 | 3 | -3/+3 |
| | | | | | This has notably better quality than linear, while still being faster than bsinc. | ||||
* | Combine multiple similar functions into one | Chris Robinson | 2023-01-26 | 1 | -124/+16 |
| | |||||
* | 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 | 2 | -34/+42 |
| | | | | | To more efficiently prepare the panning coefficients. Also avoid making a stack copy of the matrix to reuse as the target. | ||||
* | Use explicit arrays for the remix table target mixes | Chris Robinson | 2023-01-24 | 1 | -16/+53 |
| | | | | Seems inline initializer lists become garbage when stored in a span. | ||||
* | Use the object serial ID from PipeWire when available | Chris Robinson | 2023-01-24 | 1 | -21/+47 |
| | | | | | | | | | | | Using the node ID as a target is deprecated in newer versions of PipeWire. The serial ID is a monotonic 64-bit integer ID, incremeneted for every object created, so is guaranteed to always refer to the same target (until it wraps around, which I suppose isn't expected/allowed to happen), compared to the 32-bit node ID which I guess allows reuse. We could instead use the target node's name instead of the serial ID, but an integer is nicer to manage than a string. | ||||
* | Increase the default mhr truncation size to 64 | Chris Robinson | 2023-01-23 | 1 | -1/+1 |
| | | | | To match the default data set. | ||||
* | Replace a couple more pointer+count with a span | Chris Robinson | 2023-01-23 | 4 | -148/+124 |
| | |||||
* | Use a vector of arrays for a multi-dimensional array | Chris Robinson | 2023-01-23 | 4 | -12/+16 |
| | |||||
* | Use a span instead of pointer+count | Chris Robinson | 2023-01-23 | 4 | -17/+19 |
| | |||||
* | Remove a redundant struct member | Chris Robinson | 2023-01-23 | 4 | -37/+34 |
| | |||||
* | Remove some unused members | Chris Robinson | 2023-01-23 | 2 | -4/+0 |
| | |||||
* | Don't force an update if there is no aux slot being replaced | Chris Robinson | 2023-01-20 | 1 | -4/+7 |
| | | | | | A null effect slot can't be deleted, so we don't need to make sure it's set to change before returning. | ||||
* | Increase the pitch shifter oversample factor to 8 | Chris Robinson | 2023-01-19 | 1 | -38/+37 |
| | | | | | | And use 32-bit float processing. Float precision doesn't seem to be detrimental to the overall quality, while 8x oversampling seems to help against the harmonics. | ||||
* | Minor code refactor for the frequency shifter effect | Chris Robinson | 2023-01-19 | 1 | -47/+50 |
| | |||||
* | Improve the output scaling of the pitch shifter | Chris Robinson | 2023-01-19 | 1 | -1/+1 |
| | | | | | | For tones than land exactly on a frequency bin, which are subject to the least amount of error when not adjusted, this produces a level that more closely matches the original input. | ||||
* | Don't return a large-ish array on the stack | Chris Robinson | 2023-01-19 | 1 | -15/+17 |
| | |||||
* | Slightly improve phase wrapping in the pitch shifter | Chris Robinson | 2023-01-19 | 1 | -10/+11 |
| | |||||
* | Limit pitch shifter pitch between 0.5 and 2. | Chris Robinson | 2023-01-18 | 1 | -1/+1 |
| | | | | | | The current algorithm isn't designed to go beyond that. The course tuning property is limited to that range as well, though the fine tuning property could potentially extend it out by half a semitone. |