Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | 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 | |
| | ||||||
* | Change RealMixParams::ChannelName to better reflect its use | Chris Robinson | 2019-04-02 | 4 | -81/+82 | |
| | ||||||
* | Spread out the ALC extensions like the AL extensions | Chris Robinson | 2019-04-01 | 1 | -6/+17 | |
| | ||||||
* | Avoid multiple using statements for the same things | Chris Robinson | 2019-04-01 | 1 | -9/+3 | |
| | ||||||
* | Copy the voice's ambisonic upsampler state when reallocating | Chris Robinson | 2019-04-01 | 1 | -0/+8 | |
| | ||||||
* | Use the existing function to get the ambisonic channel count | Chris Robinson | 2019-03-31 | 1 | -3/+1 | |
| | ||||||
* | Don't bother with a separate reset method for BFormatDec | Chris Robinson | 2019-03-31 | 3 | -28/+15 | |
| | ||||||
* | Fix use of reverse_copy | Chris Robinson | 2019-03-31 | 1 | -1/+1 | |
| | ||||||
* | Use phase correction for the front stablizer | Chris Robinson | 2019-03-31 | 3 | -10/+68 | |
| | ||||||
* | Remove a couple unused member variables | Chris Robinson | 2019-03-30 | 4 | -5/+0 | |
| | ||||||
* | Don't stop the backend if it's not running | Chris Robinson | 2019-03-30 | 1 | -1/+1 | |
| | ||||||
* | Use a temporary buffer for HRTF filter accumulation | Chris Robinson | 2019-03-29 | 8 | -210/+163 | |
| | | | | | Similar to the history buffer, to avoid using the state buffer as a ring buffer. | |||||
* | Use a function reference for a template parameter | Chris Robinson | 2019-03-28 | 1 | -25/+27 | |
| | ||||||
* | Avoid using the HRTF history buffer as a ring buffer | Chris Robinson | 2019-03-28 | 2 | -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 possible | Chris Robinson | 2019-03-26 | 1 | -5/+16 | |
| | ||||||
* | Remove another unnecessary distance check | Chris Robinson | 2019-03-26 | 1 | -12/+9 | |
| | ||||||
* | Remove a couple unnecessary duration_casts | Chris Robinson | 2019-03-26 | 2 | -11/+9 | |
| | ||||||
* | Move an enum to a more appropriate header | Chris Robinson | 2019-03-26 | 1 | -0/+5 | |
| | ||||||
* | Don't mention which rendering methods aren't used | Chris Robinson | 2019-03-25 | 1 | -4/+1 | |
| | ||||||
* | Scale floats directly to 32-bit integer values | Chris Robinson | 2019-03-25 | 2 | -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 makemhr | Chris Robinson | 2019-03-24 | 1 | -1/+1 | |
| | ||||||
* | Mark the device and context deletes as unlikely | Chris Robinson | 2019-03-24 | 1 | -2/+2 | |
| |