aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Scale the update size with sample rate changesChris Robinson2019-04-263-20/+18
|
* Set the ALSA period size firstChris Robinson2019-04-261-4/+4
|
* Specify the buffer size as itself instead of the period countChris Robinson2019-04-2617-154/+132
| | | | | | | Certain backends don't need a buffer size to be a strict multiple of the period count, which allows a little more flexibility. The period/update size simply acts as the minimum request, which helps control CPU load by determining how often parameter and other pre-mixing updates are processed.
* Work around a 32-bit GCC compiler bugChris Robinson2019-04-262-5/+10
|
* Open the playback device earlierChris Robinson2019-04-201-18/+20
| | | | | | | | | | So we actually have a device name to get the initial settings for. Be aware that some backends set a format when opening instead of on reset, so such devices will only set the default format (it can't get a desired format without the device name, but the format will already be set once that's known). The affected backends are WinMM, SDL2, and PortAudio (none of which are generally used). This could be fixed by reopening the device during reset, but it would need to be done carefully.
* Don't round the PulseAudio write size to the period multipleChris Robinson2019-04-171-4/+0
|
* Fix PulseAudio backend initializationChris Robinson2019-04-161-1/+1
|
* Remove the backend factory deinit methodChris Robinson2019-04-1428-374/+239
| | | | | | It was never actually called anywhere, and there's no safe place where it can be called. It's probably better to let the individual backends worry about cleaning themselves up anyway.
* Use a custom message queue for the WASAPI backendChris Robinson2019-04-141-263/+160
|
* Fix some integer truncation warnings in MSVCChris Robinson2019-04-124-54/+53
|
* Load buffer data using the current and end pointerChris Robinson2019-04-121-65/+57
|
* Remove the SZFMT macroChris Robinson2019-04-115-31/+23
| | | | C++11 mandates the %zu/d formatter
* Simplify sorting and initializing the backendsChris Robinson2019-04-111-58/+42
|
* Add exception protection to the last of the API functionsChris Robinson2019-04-102-18/+113
|
* Add exception protection to effect, filter, and buffer functionsChris Robinson2019-04-103-8/+98
|
* Add exception protection to the listener functionsChris Robinson2019-04-101-8/+25
|
* Add exception protection to context state functionsChris Robinson2019-04-101-0/+49
|
* Add exception protection to some AL functionsChris Robinson2019-04-103-0/+15
|
* Fix usage of the voice's HRTF accumulation buffer when blendingChris Robinson2019-04-091-20/+7
|
* Don't use a fixed size buffer for printed messagesChris Robinson2019-04-092-24/+31
|
* Add macros to stop exceptions from leaving API functionsChris Robinson2019-04-093-6/+74
| | | | | | | | Effectively makes the functions act as noexcept, since there's no meaningful reason to propogate exceptions from "C" functions. Currently only applied to ALC functions, but can incrementally be applied to AL functions too. In the future, this could also handle ALC and AL errors with unique exception types (functions that utilize this behavior would need to ensure proper cleanup).
* Make sure the all-pass filter is cleared before useChris Robinson2019-04-041-3/+7
|
* Fix MSVC error about parenthesized explicit type conversionChris Robinson2019-04-031-2/+2
|
* Avoid directly using CalcAmbiCoeffsChris Robinson2019-04-022-51/+48
|
* Change RealMixParams::ChannelName to better reflect its useChris Robinson2019-04-025-91/+86
|
* Spread out the ALC extensions like the AL extensionsChris Robinson2019-04-011-6/+17
|
* Avoid multiple using statements for the same thingsChris Robinson2019-04-011-9/+3
|
* Copy the voice's ambisonic upsampler state when reallocatingChris Robinson2019-04-013-2/+10
|
* Use the existing function to get the ambisonic channel countChris Robinson2019-03-311-3/+1
|
* Don't bother with a separate reset method for BFormatDecChris Robinson2019-03-313-28/+15
|
* Fix use of reverse_copyChris Robinson2019-03-311-1/+1
|
* Use phase correction for the front stablizerChris Robinson2019-03-313-10/+68
|
* Remove a couple unused member variablesChris Robinson2019-03-305-7/+0
|
* Don't stop the backend if it's not runningChris Robinson2019-03-301-1/+1
|
* Use a temporary buffer for HRTF filter accumulationChris Robinson2019-03-2910-217/+170
| | | | | Similar to the history buffer, to avoid using the state buffer as a ring buffer.
* Use a function reference for a template parameterChris Robinson2019-03-281-25/+27
|
* Avoid using the HRTF history buffer as a ring bufferChris Robinson2019-03-283-35/+37
| | | | | | The HRTF mixers now get a full input buffer with the history prepended, so the delay offsets just need to account for the start point and read forward for each sample.
* Simplify applying the field magnitude factorChris Robinson2019-03-271-2/+2
|
* Set the EARLY_REQUESTS flag for PulseAudio when possibleChris Robinson2019-03-261-5/+16
|
* Avoid recreating temporary buffers all the timeChris Robinson2019-03-261-68/+85
|
* Fix a return type for accumulationChris Robinson2019-03-261-1/+1
|
* Require IR dimensions from a SOFA fileChris Robinson2019-03-261-2/+2
|
* Avoid some explicit loopsChris Robinson2019-03-261-39/+30
|
* Add a missing include for varargsChris Robinson2019-03-261-0/+1
|
* Remove another unnecessary distance checkChris Robinson2019-03-261-12/+9
|
* Remove a couple unnecessary duration_castsChris Robinson2019-03-262-11/+9
|
* Move an enum to a more appropriate headerChris Robinson2019-03-262-6/+5
|
* Don't mention which rendering methods aren't usedChris Robinson2019-03-251-4/+1
|
* Scale floats directly to 32-bit integer valuesChris Robinson2019-03-252-7/+7
| | | | | Rather than scaling to a 25-bit integer and shifting for the extra 7 bits. This should improve precision for values closer to 0.
* Support loading SOFA files directly with makemhrChris Robinson2019-03-254-4/+662
| | | | | | | This extracts the definition info it can from the SOFA, and uses the same logic as sofa-info to automatically detect an appropriate layout. There is a bit of code duplication from loaddef.cpp and sofa-info.cpp, though there are slight modifications.