aboutsummaryrefslogtreecommitdiffstats
path: root/core
Commit message (Collapse)AuthorAgeFilesLines
* Simplify copying the all-pass filter stateChris Robinson2023-02-132-15/+7
|
* Pass a boolean for the decoder to update its stateChris Robinson2023-02-133-51/+57
|
* Explicitly cast a constexpr value to passify MSVCChris Robinson2023-02-121-3/+3
|
* Use to_address to pass a pointer-like iterator as a real pointerChris Robinson2023-02-121-4/+5
|
* The decoders don't need space for resamplingChris Robinson2023-02-122-16/+13
|
* Separate decoding and mixing from resamplingChris Robinson2023-02-123-286/+305
|
* Explicitly cast a size_t to doubleChris Robinson2023-02-111-1/+1
|
* Always write samples to the destination when resamplingChris Robinson2023-02-118-72/+53
|
* Check for the voice being beyond the loop end point earlierChris Robinson2023-02-111-5/+11
|
* Don't require samplesToDo > forwardSamples for decodersChris Robinson2023-02-112-13/+13
|
* Assume 'frac' is less than 1Chris Robinson2023-02-105-0/+15
|
* Use a span to hold the cubic table referenceChris Robinson2023-02-102-2/+3
|
* Rename some variables for consistencyChris Robinson2023-02-093-23/+24
|
* Properly mark the cubic coefficients and deltas as restrictChris Robinson2023-02-091-10/+9
|
* Rename the bsinc table variablesChris Robinson2023-02-073-5/+7
|
* Use an interpolated FIR filter for cubic resamplingChris Robinson2023-02-067-22/+213
| | | | | | 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 parametersChris Robinson2023-02-061-5/+5
|
* Add a comment to check into an out-of-range value laterChris Robinson2023-01-281-1/+5
|
* Clamp the biquad filter gain value to 0.00001Chris Robinson2023-01-281-1/+1
| | | | | To actually prevent a potential divide-by-zero when the gain and reference frequency are 0, instead of asserting.
* Change the default resampler to cubicChris Robinson2023-01-271-1/+1
| | | | | This has notably better quality than linear, while still being faster than bsinc.
* Combine multiple similar functions into oneChris Robinson2023-01-261-124/+16
|
* Transpose the ambisonic voice mixing matrixChris Robinson2023-01-251-0/+1
| | | | | To more efficiently prepare the panning coefficients. Also avoid making a stack copy of the matrix to reuse as the target.
* Make a variable for a reused valueChris Robinson2023-01-171-0/+1
|
* Fix debug logging on Windows non-release buuildsChris Robinson2023-01-162-6/+2
| | | | And skip logging for appropriate log levels on Windows release builds.
* Change a couple macros to constexpr variablesChris Robinson2023-01-161-6/+6
|
* Check for nullptr before constructing a new objectChris Robinson2023-01-151-5/+5
|
* Use an 8-bit type to hand the HrtfStore IR sizeChris Robinson2023-01-151-7/+7
| | | | | Since the max IR size is 128, and HrtfStore only uses 8 bits for the IR size member. Silences a truncation warning given by GCC.
* clang-tidy cleanups (#800)Rosen Penev2023-01-156-22/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 include the array definition with bin2hChris Robinson2023-01-131-1/+3
|
* Ensure the mixer helpers are properly inlinedChris Robinson2023-01-133-8/+9
|
* Avoid inlining the base_exception destructorChris Robinson2023-01-132-1/+3
|
* Avoid unnecessary uses of make_optionalChris Robinson2023-01-133-3/+3
|
* Use a span instead of a count+pointerChris Robinson2023-01-112-12/+8
|
* Rename some struct membersChris Robinson2023-01-102-64/+67
| | | | And make a related function a member function
* Update a commentChris Robinson2023-01-081-1/+1
|
* Avoid using a reversed all-pass for the front stablizerChris Robinson2023-01-064-70/+41
| | | | | | 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.
* Combine some duplicate code to mix each channelChris Robinson2023-01-053-330/+186
|
* Add and use mixers that process one input and output channelChris Robinson2023-01-057-0/+214
|
* Add a simple wrapper to call the mixer functionChris Robinson2023-01-043-5/+11
|
* Simplify handling effect output for spatial effectsChris Robinson2023-01-042-21/+33
| | | | | | | | | | | | Effects are given a 3D ambisonic buffer of the same order as the device, for processing surround sound. Effects that pass input channels to matching output channels as it processes them don't need to mix each input channel to all output channels. At most, an input channel may mix to a different output channel, if the target buffer uses a different channel layout, and need a gain adjustment, if it uses a different scaling. With a 2D output buffer, a number of channels can be skipped altogether.
* Handle negative offset starts for callback buffersChris Robinson2023-01-041-9/+11
|
* Combine multiple al_printf definitionsChris Robinson2023-01-022-58/+49
| | | | And separate the log level prefix from the message.
* Multiply by the inverse instead of divideChris Robinson2023-01-011-4/+4
|
* Fix a commentChris Robinson2023-01-011-2/+1
|
* Swap the order of some checks to simplify voice setupChris Robinson2023-01-011-35/+25
|
* Simplify constructing the process path and executable nameChris Robinson2022-12-301-7/+5
|
* Avoid inlining LoadedHrtf's destructorChris Robinson2022-12-171-0/+7
|
* Use a bitset for the enabled event flagsChris Robinson2022-12-164-15/+23
|
* Avoid inlining certain exception functionsChris Robinson2022-12-162-4/+1
|
* Avoid extraneous temporaries when filling vectorsChris Robinson2022-12-151-1/+6
|