aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Track EAX1 source changesChris Robinson2022-06-193-13/+7
| | | | | | Even though it's only a single value, this allows for not having to explicitly track version changes, since the version being changed to will always have a property change, implicitly marking an EAX update/commit for the source.
* Remove some unnecessary comparison operatorsChris Robinson2022-06-182-352/+72
|
* Avoid changing the EAX version on failureChris Robinson2022-06-181-3/+2
|
* Avoid more struct compared for reverb EAX updatesChris Robinson2022-06-181-7/+18
|
* Fix inverted checksChris Robinson2022-06-181-4/+4
|
* Don't mark the EAX version changed when getting propertiesChris Robinson2022-06-181-4/+5
|
* Avoid a full struct compare to check for changesChris Robinson2022-06-182-10/+19
|
* Rename a parameter to avoid a shadowing warningChris Robinson2022-06-181-24/+18
|
* Remove an unused lambda captureChris Robinson2022-06-181-1/+1
|
* Fix checking if the primary effect slot changedChris Robinson2022-06-182-7/+2
|
* [EAX] Add separate source state for each version (#720)Boris I. Bendovsky2022-06-188-2593/+1664
|
* Add EFX functions back to the routerChris Robinson2022-06-184-75/+237
| | | | | They're necessary for proper exports whem building the router. And if there's ever a spec update that standardizes them, they'll be needed anyway.
* Avoid including intrin.h with cpuid.hChris Robinson2022-06-171-4/+3
| | | | On certain versions of MinGW, that leads to a redefinition errors.
* Don't apply effect auto send adjustments for non-reverb effectsChris Robinson2022-06-161-1/+1
|
* Match exactly 5.1 Rear in WASAPIChris Robinson2022-06-161-2/+2
| | | | | So 7.1 and other configurations like it aren't detected as 5.1 Rear despite having side channels.
* Set policies to exclude /W3 and /GR on MSVCChris Robinson2022-06-151-9/+8
| | | | We set /W4, and /GR is the default.
* Handle a blank channel mask from WASAPIChris Robinson2022-06-141-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 macroChris Robinson2022-06-121-6/+7
|
* Update changelogChris Robinson2022-06-101-0/+2
|
* Disable EAX if the Chorus effect is disabledChris Robinson2022-06-101-2/+7
|
* Handle 5.1 Rear with DSound playbackChris Robinson2022-06-081-42/+44
|
* Check and handle 5.1 Rear with WASAPI captureChris Robinson2022-06-071-3/+23
|
* Trace the WASAPI device mix formatChris Robinson2022-06-071-0/+1
|
* Track 5.1 Rear with WASAPI playbackChris Robinson2022-06-071-3/+14
|
* Use a proper literal typeChris Robinson2022-06-071-1/+1
|
* Increase the priority of the ALSA backendChris Robinson2022-06-041-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.
* Update changelogChris Robinson2022-06-011-1/+2
|
* Search for Oboe config modules firstChris Robinson2022-06-011-2/+5
|
* Upload Win32 and x64 artifacts to Github actions (#708)3DJ2022-05-301-1/+19
| | | | | | | * Upload Win32 and x64 artifacts to Github actions Provides an alternative Windows binary download location that expires in 3 months (2 months longer than Appveyor) * Add Windows check to skip failed Github actions artifact upload for Linux and macOS
* Use a ringbuffer for Oboe captureChris Robinson2022-05-281-66/+23
|
* Fix requeueing logic for OpenSLCapture::captureSamplesChris Robinson2022-05-281-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.
* Update ChangelogChris Robinson2022-05-271-0/+13
|
* Ensure enough default sends for EAX with the config option setChris Robinson2022-05-271-10/+24
|
* Use a boolean check instead of a function pointerChris Robinson2022-05-241-7/+14
|
* Avoid dividing by a constantChris Robinson2022-05-241-4/+4
|
* [EAX] Add separate effect state for each version (#705)Boris I. Bendovsky2022-05-2431-6651/+4211
| | | | | * [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 captureChris Robinson2022-05-171-1/+6
|
* Update documentation about the 3D7.1 presetChris Robinson2022-05-171-3/+4
|
* Fix some formatting in the 3D7.1 presetChris Robinson2022-05-171-7/+8
|
* Avoid a virtual function call to set the decoder widthChris Robinson2022-05-172-16/+9
|
* Use a member variable to specify the decoder paddingChris Robinson2022-05-172-2/+11
|
* Check the container type given to DEF_NEWDEL and DEF_FAM_NEWDELChris Robinson2022-05-161-3/+7
| | | | | | | There's apparently no way to get the containing class/struct type from a static member function, and operator new/delete are implicitly static member functions so the macros to define them need to be told the type to allocate for. This ensures the type specified matches the containing type.
* Avoid magic numbersChris Robinson2022-05-162-6/+10
|
* Move EAX files to their own sub-directoryChris Robinson2022-05-1646-94/+93
|
* Use virtual functions for the decoderChris Robinson2022-05-145-29/+39
|
* Mark the template base as inlineChris Robinson2022-05-141-1/+1
| | | | | Apple LLVM doesn't like template specializatioms marked inline without the (deleted) base also being inline.
* Resample before frequency analysisChris Robinson2022-05-136-40/+94
| | | | | | | | | | We want to resample before minimum phase reconstruction since that changes the phase relationship of the sampled signal, introducing a slight bit of noise from truncated sampling. It's not clear that the frequency domain resampling method is accurate, so resampling prior to frequency analysis is an alternative to ensure the resulting frequencies are given the proper phase for sampling. This also cleans up some micro allocations in loops.
* Keep some variables local to where they're neededChris Robinson2022-05-131-26/+21
|
* Use pw_buffer::requested in newer PipeWire versionsChris Robinson2022-05-131-16/+26
|
* Remove a couple unnecessary castsChris Robinson2022-05-131-3/+3
|