aboutsummaryrefslogtreecommitdiffstats
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.
* Merge pull request #285 from ArthurSonzogni/masterkcat2019-04-292-44/+56
|\ | | | | Update CMakeLists.txt. Simplify examples build and export PUBLIC headers.
| * CMAKE: export PUBLIC headers of OpenAL.ArthurSonzogni2019-04-302-44/+56
|/ | | | | | | | | | | | | | | | Remove the cmake function: INCLUDE_DIRECTORIES(..) Replace it by: TARGET_INCLUDE_DIRECTORIES(...) It gives us the opportunity to define whether or not OpenAL dependencies should be exported or not (using PUBLIC or PRIVATE keywoard). [user visible changes] The OpenAL PUBLIC headers are exported. When a target depends on OpenAL, it will have access to its public headers. Some small refactor along the way.
* Increase the period size slider and don't use steps of 64Chris Robinson2019-04-282-12/+9
|
* Properly replace sinc4 with cubic in alsoft-configChris Robinson2019-04-281-3/+3
|
* 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-272-18/+6
| | | | | | | | | | 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
|
* Update the period size placeholder textChris Robinson2019-04-261-6/+6
|
* Change the default period size to 20msChris Robinson2019-04-262-7/+9
|
* 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
|