aboutsummaryrefslogtreecommitdiffstats
path: root/Alc
Commit message (Collapse)AuthorAgeFilesLines
...
* Allow NFC filters without HQ decodingChris Robinson2019-04-291-64/+18
| | | | | | It still requires a proper custom decoder configuration for speakers, so that proper distances can be specified. Ambisonic output still relies on the nfc-ref-delay option, and HRTF uses the dataset's distance.
* Only enable NFC with HRTF when hq-mode is enabledChris Robinson2019-04-281-2/+5
|
* Combine some reverb processing loopsChris Robinson2019-04-281-29/+31
| | | | | | Specifically, the A2B and output mixing, as well as applying the band-pass with B2A mixing (the latter of which hiding a bug that was overwriting the early buffer storage).
* Remove restrict from in+out parametersChris Robinson2019-04-282-5/+5
|
* Be more robust with PulseAudio captureChris Robinson2019-04-271-12/+15
| | | | | | | Particularly, handle "holes" in the record stream and premature end-of-buffer. Also don't bail out when capturing while disconnected (the extension says it should provide anything it previously reported available, going to silence for anything no longer readable).
* Add missing function pointersChris Robinson2019-04-271-154/+107
|
* Remove some ancient PulseAudio KDE/Phonon/Qt hacksChris Robinson2019-04-271-17/+5
| | | | | | | | | | Unfortuantely, the relevant KDE bug still seems to exist (streams are forced to KDE's default device after opening, even when they're created with a specific device at user request). I do not know why KDE thinks this is in any way good behavior (the user doesn't get their desired device, nor does the stream get the appropriate format for the device its ultimately put on), but making streams non-movable as a workaround has been a thorn in the side of non-KDE users for too long. C'mon KDE, it's been nearly (if not more than) 7 years now.
* Remove unused pa_threaded* functionsChris Robinson2019-04-271-83/+0
|
* Use a custom PulseAudio mainloopChris Robinson2019-04-271-235/+199
| | | | | This allows using RT priority again with the mixer. It also consolidates all mainloop instances into one.
* Don't round WASAPI updates to the update sizeChris Robinson2019-04-271-1/+0
|
* 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-2616-153/+130
| | | | | | | 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
|
* 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-091-7/+16
|
* Add macros to stop exceptions from leaving API functionsChris Robinson2019-04-091-6/+62
| | | | | | | | 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-021-37/+48
|
* Change RealMixParams::ChannelName to better reflect its useChris Robinson2019-04-024-81/+82
|
* 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-011-0/+8
|
* 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-304-5/+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-298-210/+163
| | | | | 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-282-34/+32
| | | | | | 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.
* Set the EARLY_REQUESTS flag for PulseAudio when possibleChris Robinson2019-03-261-5/+16
|
* 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-261-0/+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.
* Change references of makehrtf to makemhrChris Robinson2019-03-241-1/+1
|
* Mark the device and context deletes as unlikelyChris Robinson2019-03-241-2/+2
|