Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Remove an unused lambda capture | Chris Robinson | 2022-06-18 | 1 | -1/+1 |
| | |||||
* | [EAX] Add separate source state for each version (#720) | Boris I. Bendovsky | 2022-06-18 | 2 | -27/+8 |
| | |||||
* | Don't apply effect auto send adjustments for non-reverb effects | Chris Robinson | 2022-06-16 | 1 | -1/+1 |
| | |||||
* | Match exactly 5.1 Rear in WASAPI | Chris Robinson | 2022-06-16 | 1 | -2/+2 |
| | | | | | So 7.1 and other configurations like it aren't detected as 5.1 Rear despite having side channels. | ||||
* | Handle a blank channel mask from WASAPI | Chris Robinson | 2022-06-14 | 1 | -10/+18 |
| | | | | | | | Without a channel mask, the channels are treated as "raw" or unknown. Auto- detection will only go up to stereo (assuming the first two channels are front- left and front-right), while explicit requests will work as long as there are enough channels (the user is responsible for ensuring a correct setup). | ||||
* | Use an inline function instead of a function-like macro | Chris Robinson | 2022-06-12 | 1 | -6/+7 |
| | |||||
* | Disable EAX if the Chorus effect is disabled | Chris Robinson | 2022-06-10 | 1 | -2/+7 |
| | |||||
* | Handle 5.1 Rear with DSound playback | Chris Robinson | 2022-06-08 | 1 | -42/+44 |
| | |||||
* | Check and handle 5.1 Rear with WASAPI capture | Chris Robinson | 2022-06-07 | 1 | -3/+23 |
| | |||||
* | Trace the WASAPI device mix format | Chris Robinson | 2022-06-07 | 1 | -0/+1 |
| | |||||
* | Track 5.1 Rear with WASAPI playback | Chris Robinson | 2022-06-07 | 1 | -3/+14 |
| | |||||
* | Increase the priority of the ALSA backend | Chris Robinson | 2022-06-04 | 1 | -3/+3 |
| | | | | | | | | | So that it's tried before sndio. Many Linux systems seem to have libsndio installed as a hard dependency from SDL2, but not the server component to actually make it work. And because there's no way to test if it's usable without opening a device, the backend would get selected over ALSA and subsequently fail to work. As a result, Linux users that don't use PipeWire or PulseAudio would have to explicitly configure for ALSA. | ||||
* | Use a ringbuffer for Oboe capture | Chris Robinson | 2022-05-28 | 1 | -66/+23 |
| | |||||
* | Fix requeueing logic for OpenSLCapture::captureSamples | Chris Robinson | 2022-05-28 | 1 | -17/+29 |
| | | | | | | | | | | | | | | The write vector represents the chunks queued for OpenSL, and the write pointer only increments when OpenSL fills in more samples. So requeueing from the start of the write vector is requeueing chunks that are already queued, which is obviously wrong. It instead needs to queue chunks that become available as they're read. Because the ring buffer holds more elements than can be written to at a givem time, the read vector does not represent the next writable chunks to queue. Advancing the read pointer increases the number of writable elements, so instead of queueing from the read vector or the start of the write vector, queue from the end of the write vector given the number of chunks read. | ||||
* | Ensure enough default sends for EAX with the config option set | Chris Robinson | 2022-05-27 | 1 | -10/+24 |
| | |||||
* | Use a boolean check instead of a function pointer | Chris Robinson | 2022-05-24 | 1 | -7/+14 |
| | |||||
* | Avoid dividing by a constant | Chris Robinson | 2022-05-24 | 1 | -4/+4 |
| | |||||
* | [EAX] Add separate effect state for each version (#705) | Boris I. Bendovsky | 2022-05-24 | 2 | -164/+118 |
| | | | | | * [EAX] Add separate effect state for each version * [EAX] Don't use EAX call as data member | ||||
* | Use the mix format if IsFormatSupported fails for WASAPI capture | Chris Robinson | 2022-05-17 | 1 | -1/+6 |
| | |||||
* | Avoid a virtual function call to set the decoder width | Chris Robinson | 2022-05-17 | 1 | -1/+1 |
| | |||||
* | Move EAX files to their own sub-directory | Chris Robinson | 2022-05-16 | 4 | -9/+9 |
| | |||||
* | Use virtual functions for the decoder | Chris Robinson | 2022-05-14 | 1 | -1/+1 |
| | |||||
* | Mark the template base as inline | Chris Robinson | 2022-05-14 | 1 | -1/+1 |
| | | | | | Apple LLVM doesn't like template specializatioms marked inline without the (deleted) base also being inline. | ||||
* | Keep some variables local to where they're needed | Chris Robinson | 2022-05-13 | 1 | -26/+21 |
| | |||||
* | Use pw_buffer::requested in newer PipeWire versions | Chris Robinson | 2022-05-13 | 1 | -16/+26 |
| | |||||
* | Remove a couple unnecessary casts | Chris Robinson | 2022-05-13 | 1 | -3/+3 |
| | |||||
* | Fix the CoreAudio output element value | Chris Robinson | 2022-05-10 | 1 | -1/+1 |
| | |||||
* | More agressively hide PipeWire and SDL header warnings | Chris Robinson | 2022-05-09 | 2 | -2/+17 |
| | |||||
* | Reject older versions of PipeWire than built against | Chris Robinson | 2022-05-07 | 1 | -0/+24 |
| | | | | | | | | | | | | | | | | | | | Newer versions of PipeWire may add things to public structures. For example, pw_buffer::requested added in 0.3.49. Building against 0.3.49 or newer, but then running with 0.3.48 could result in invalid accesses since the returned pw_buffer objects are shorter than the definition says to expect, creating undefined behavior. Even if explicit access to the additional fields is protected by a runtime check, the language allows the compiler to assume a pointer to a pw_buffer object contains a complete pw_buffer, allowing the optimizer to access the field earlier than the check (with the check only controlling if the value gets used). Another example is pw_time, which had a few fields added in 0.3.50 along with a function, pw_stream_get_time_n, that provides the size of the pw_time struct the application is using (so the library knows what version of the struct it has to fill in). If a later version adds a new field, running it with an older version will either fail (due to the library getting a size larger than it knows about) or silently leave the newer fields as garbage. | ||||
* | Avoid a deprecated PipeWire function | Chris Robinson | 2022-05-06 | 1 | -4/+17 |
| | | | | | Building against 0.3.50 or newer will require that version or newer at runtime. Building against a version before 0.3.50 will work with newer versions. | ||||
* | Use an array of pointers for the UHJ encoder input | Chris Robinson | 2022-05-06 | 1 | -1/+1 |
| | |||||
* | Fix CoreAudio audio unit element values for capture | Chris Robinson | 2022-05-02 | 1 | -19/+21 |
| | |||||
* | Reset the ringbuffer when stopping OpenSL playback | Chris Robinson | 2022-04-26 | 1 | -0/+2 |
| | |||||
* | Handle 3D7.1 as a separate channel configuration | Chris Robinson | 2022-04-26 | 15 | -75/+103 |
| | | | | | | | It's treated as 5.1 + 2 aux channels. This allows AL_DIRECT_CHANNELS_SOFT to behave better, not forwarding rear left/right channel inputs to lower front and upper rear, and allows reporting a more appropriate output mode to the app instead of 7.1. | ||||
* | Fully protect disconnection with the mixer counter | Chris Robinson | 2022-04-25 | 1 | -36/+36 |
| | |||||
* | Use a type alias to simplify using a type | Chris Robinson | 2022-04-25 | 1 | -7/+8 |
| | |||||
* | Clean up some case spaghetti | Chris Robinson | 2022-04-25 | 1 | -13/+10 |
| | |||||
* | Finalize ALC_SOFT_output_mode | Chris Robinson | 2022-04-17 | 2 | -16/+1 |
| | |||||
* | Always report ALC_ANY_SOFT for output without contexts | Chris Robinson | 2022-04-17 | 1 | -0/+3 |
| | | | | | Not required, but nicer to be consistent if it's not a meaningful value (e.g. the actual device mode). | ||||
* | Use a bool type for boolean parameters | Chris Robinson | 2022-04-16 | 4 | -4/+4 |
| | |||||
* | Include ALC_OUTPUT_MODE_SOFT with ALC_ALL_ATTRIBUTES | Chris Robinson | 2022-04-16 | 1 | -4/+10 |
| | |||||
* | Update the ALC_SOFT_output_mode surround enums | Chris Robinson | 2022-04-15 | 3 | -6/+9 |
| | | | | | | The values are identical to the matching loopback channel configuration enums, so for example ALC_5POINT1_SOFT is interchangable with ALC_SURROUND_5_1_SOFT, this is simply providing a cleaner styling for potential future modes. | ||||
* | Finalize AL_SOFT_UHJ | Chris Robinson | 2022-04-13 | 2 | -19/+1 |
| | |||||
* | Clear capture buffers before enqueueing them with OpenSL | Chris Robinson | 2022-04-08 | 1 | -3/+12 |
| | |||||
* | Keep track of uncaptured samples with the Oboe backend | Chris Robinson | 2022-04-06 | 1 | -8/+41 |
| | | | | | Stopping Oboe capture drops uncaptured samples, whereas OpenAL keeps them. Also make sure the reported available count doesn't go backwards without reading. | ||||
* | Rename lerp to avoid conflicts with C++20's std::lerp | Chris Robinson | 2022-04-06 | 4 | -14/+14 |
| | |||||
* | Limit the super stereo width factor to 0.7 | Chris Robinson | 2022-04-04 | 1 | -1/+1 |
| | |||||
* | Update a comment for abandoned extension functions | Chris Robinson | 2022-04-03 | 1 | -1/+1 |
| | |||||
* | Finalize AL_SOFT_callback_buffer | Chris Robinson | 2022-04-01 | 2 | -18/+1 |
| | |||||
* | Fix ALC_SOFT_reopen_device for the null device extension list | Chris Robinson | 2022-04-01 | 1 | -1/+1 |
| |