Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Allow initializing splitter filters with constructors | Chris Robinson | 2019-05-22 | 2 | -4/+10 | |
| | ||||||
* | Don't change the format tag in MakeExtensible | Chris Robinson | 2019-05-21 | 1 | -8/+10 | |
| | ||||||
* | Simplify the echo feedback loop | Chris Robinson | 2019-05-20 | 1 | -30/+26 | |
| | ||||||
* | Don't use coverage spread for the echo spread | Chris Robinson | 2019-05-20 | 1 | -17/+9 | |
| | ||||||
* | Avoid unnecessary use of CalcAngleCoeffs | Chris Robinson | 2019-05-20 | 6 | -8/+8 | |
| | ||||||
* | Don't attenuate the repeated sample | Chris Robinson | 2019-05-19 | 1 | -13/+6 | |
| | | | | The mixing gain stepping will handle it | |||||
* | Restructure some voice fields | Chris Robinson | 2019-05-17 | 2 | -17/+14 | |
| | ||||||
* | Fix a couple type truncation warnings with MSVC | Chris Robinson | 2019-05-12 | 2 | -2/+2 | |
| | ||||||
* | Use available buffer samples when pausing a source | Chris Robinson | 2019-05-05 | 1 | -5/+7 | |
| | ||||||
* | Set the device channel order from PulseAudio's channel map | Chris Robinson | 2019-05-04 | 1 | -1/+70 | |
| | ||||||
* | Fix when PulseAudio channel configuration changes | Chris Robinson | 2019-05-04 | 1 | -52/+49 | |
| | ||||||
* | Avoid unnecessary parsing for channel maps | Chris Robinson | 2019-05-04 | 1 | -54/+61 | |
| | ||||||
* | Use exceptions when opening and reseting the PulseAudio backend | Chris Robinson | 2019-05-04 | 1 | -117/+82 | |
| | ||||||
* | Catch exceptions from backend reset | Chris Robinson | 2019-05-04 | 1 | -1/+7 | |
| | ||||||
* | Add an exception class to cover backend creation and opening | Chris Robinson | 2019-05-04 | 1 | -35/+41 | |
| | ||||||
* | Report the threshold limit for the output limiter | Chris Robinson | 2019-05-04 | 1 | -3/+6 | |
| | ||||||
* | Use BUFFERSIZE for the reverb loop limit | Chris Robinson | 2019-05-03 | 1 | -11/+6 | |
| | | | | | | | At 44/48khz, the main delay line comes out to 20k to 22k samples, which gets rounded up to 32k as the next power of two. This leaves plenty of room for the full 1k BUFFERSIZE without having to increase the delay line beyond what it already is. | |||||
* | Add some assumes and consts | Chris Robinson | 2019-05-03 | 1 | -16/+15 | |
| | ||||||
* | Avoid a few more array length assumptions | Chris Robinson | 2019-05-01 | 1 | -36/+35 | |
| | ||||||
* | Avoid masking offsets in the inner reverb loops | Chris Robinson | 2019-04-30 | 1 | -84/+158 | |
| | ||||||
* | Disable NFC by default | Chris Robinson | 2019-04-29 | 1 | -1/+1 | |
| | ||||||
* | Allow NFC filters without HQ decoding | Chris Robinson | 2019-04-29 | 1 | -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 enabled | Chris Robinson | 2019-04-28 | 1 | -2/+5 | |
| | ||||||
* | Combine some reverb processing loops | Chris Robinson | 2019-04-28 | 1 | -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 parameters | Chris Robinson | 2019-04-28 | 2 | -5/+5 | |
| | ||||||
* | Be more robust with PulseAudio capture | Chris Robinson | 2019-04-27 | 1 | -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 pointers | Chris Robinson | 2019-04-27 | 1 | -154/+107 | |
| | ||||||
* | Remove some ancient PulseAudio KDE/Phonon/Qt hacks | Chris Robinson | 2019-04-27 | 1 | -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* functions | Chris Robinson | 2019-04-27 | 1 | -83/+0 | |
| | ||||||
* | Use a custom PulseAudio mainloop | Chris Robinson | 2019-04-27 | 1 | -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 size | Chris Robinson | 2019-04-27 | 1 | -1/+0 | |
| | ||||||
* | Scale the update size with sample rate changes | Chris Robinson | 2019-04-26 | 3 | -20/+18 | |
| | ||||||
* | Set the ALSA period size first | Chris Robinson | 2019-04-26 | 1 | -4/+4 | |
| | ||||||
* | Specify the buffer size as itself instead of the period count | Chris Robinson | 2019-04-26 | 16 | -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 bug | Chris Robinson | 2019-04-26 | 2 | -5/+10 | |
| | ||||||
* | Open the playback device earlier | Chris Robinson | 2019-04-20 | 1 | -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 multiple | Chris Robinson | 2019-04-17 | 1 | -4/+0 | |
| | ||||||
* | Fix PulseAudio backend initialization | Chris Robinson | 2019-04-16 | 1 | -1/+1 | |
| | ||||||
* | Remove the backend factory deinit method | Chris Robinson | 2019-04-14 | 28 | -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 backend | Chris Robinson | 2019-04-14 | 1 | -263/+160 | |
| | ||||||
* | Fix some integer truncation warnings in MSVC | Chris Robinson | 2019-04-12 | 4 | -54/+53 | |
| | ||||||
* | Load buffer data using the current and end pointer | Chris Robinson | 2019-04-12 | 1 | -65/+57 | |
| | ||||||
* | Remove the SZFMT macro | Chris Robinson | 2019-04-11 | 5 | -31/+23 | |
| | | | | C++11 mandates the %zu/d formatter | |||||
* | Simplify sorting and initializing the backends | Chris Robinson | 2019-04-11 | 1 | -58/+42 | |
| | ||||||
* | Fix usage of the voice's HRTF accumulation buffer when blending | Chris Robinson | 2019-04-09 | 1 | -20/+7 | |
| | ||||||
* | Don't use a fixed size buffer for printed messages | Chris Robinson | 2019-04-09 | 1 | -7/+16 | |
| | ||||||
* | Add macros to stop exceptions from leaving API functions | Chris Robinson | 2019-04-09 | 1 | -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 use | Chris Robinson | 2019-04-04 | 1 | -3/+7 | |
| | ||||||
* | Fix MSVC error about parenthesized explicit type conversion | Chris Robinson | 2019-04-03 | 1 | -2/+2 | |
| | ||||||
* | Avoid directly using CalcAmbiCoeffs | Chris Robinson | 2019-04-02 | 1 | -37/+48 | |
| |