aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove extra ';' after member function definition (#652)Jan Niklas Hasse2022-01-311-1/+1
| | | Found using -Wextra-semi warning.
* [EAX] Fix alIsExtensionPresent (#651)Boris I. Bendovsky2022-01-311-5/+5
|
* Output a message when EAX is enabled in CMakeChris Robinson2022-01-301-0/+5
|
* Move ALSOFT_EAX definition to config.hChris Robinson2022-01-3044-224/+149
| | | | And disable it by default for non-Windows targets
* Simplify FFT complex arg handling a bitChris Robinson2022-01-301-2/+4
|
* Add EAX extensions (EAX 2.0-5.0, X-RAM) (#632)Boris I. Bendovsky2022-01-3053-0/+18533
| | | | | | | | | | | | | | | * Add EAX extensions (EAX 2.0-5.0, X-RAM) * Comment out C++17 leftovers * Remove everything related to patching * Update alsoftrc.sample * Rewrite integration * Fix GCC compilation under Linux * Always reset EAX effect properties when loading it into FX slot
* Remove math_defs.hChris Robinson2022-01-276-61/+58
|
* Get rid of MathDefsChris Robinson2022-01-2722-96/+81
|
* Start and use a standard-like numbers headerChris Robinson2022-01-276-18/+52
|
* Use precalculated lookup tables to swap FFT elementsChris Robinson2022-01-271-7/+91
| | | | | Rather than going through the whole array, calculating the bit-reversed index of each element, and not doing anything for more than half of them.
* Add some common wrapper methods to ThreadMainloopChris Robinson2022-01-261-42/+46
|
* Default the PipeWire lock's operator= instead of using the baseChris Robinson2022-01-261-1/+1
|
* Handle 5.1 using rear channels with PulseAudio and PipeWireChris Robinson2022-01-252-105/+60
|
* Move some definitions to where they're usedChris Robinson2022-01-241-2/+2
|
* Avoid a messy while loop to remove from a vectorChris Robinson2022-01-221-11/+8
|
* Restructure the PipeWire backend code a bitChris Robinson2022-01-221-219/+235
| | | | | Make some functions into class member functions, and move related declarations closer together.
* Avoid holding a pw_proxy, hold the type it representsChris Robinson2022-01-221-36/+70
|
* Handle duplex devices with PipeWireChris Robinson2022-01-221-22/+43
|
* Update changelogChris Robinson2022-01-181-3/+1
|
* Handle _gettid on FreeBSDChris Robinson2022-01-185-82/+77
| | | | And simplify handling D-Bus/RTKit interfaces
* Set niceness as a fallback only on LinuxChris Robinson2022-01-181-0/+9
| | | | | | | If pthread_setschedparam and rtkit_make_realtime both fail, lowering niceness can also work to boost priority. However, this only works on Linux and other OSs that implement a per-thread niceness (POSIX standard has it per-process, which isn't desirable behavior here).
* Avoid passing a function pointer to std::call_onceChris Robinson2022-01-181-1/+1
|
* Handle the rt-prio config options as the priority levelChris Robinson2022-01-182-88/+117
|
* Load the PipeWire real-time configurationChris Robinson2022-01-171-18/+57
| | | | | This is apparently needed to ensure RT threads get RT priority, separately from requesting RT processing.
* Properly compare the buffer channels for preservationChris Robinson2022-01-171-1/+1
|
* Fixed compiler warning (#640)Derek Henderson2022-01-171-1/+1
|
* Add an ambi-format option for ACN ordering and FuMa scalingChris Robinson2022-01-123-2/+19
|
* Use a different output matrix for late reverbChris Robinson2022-01-111-14/+22
| | | | | | | | | | This is a slightly reoriented tetrahedron, with responses on the front-left and front-right, along with upper-back and lower-back. This is a alternative matrix suggested for converting the A-Format late reverb lines back to B-Format. Also alter the matrix scaling to be less destructive. x0.5 is just reducing the floating-point exponent by 1, whereas the previous values would be more likely to introduce rounding errors just from scaling.
* Explicitly default the band splitter's copy assignmentChris Robinson2022-01-111-0/+1
|
* Slightly improve handling of stopping voicesChris Robinson2022-01-081-19/+27
|
* Use the deprecated enum for older Qt versionsChris Robinson2022-01-061-0/+4
|
* Avoid a deprecated QString enumChris Robinson2022-01-051-1/+1
|
* Add a third-order ambisonic decoder for HRTFChris Robinson2022-01-052-7/+63
| | | | | Using the 20-channel dodecahedron, seems to be good enough to handle 16-channel third-order ambisonics.
* Update the 3D7.1 configurationChris Robinson2022-01-041-24/+42
| | | | | | This one is a regular layout first-order dual-band decoder, which excludes the front-center (to maintain regularity). The previous was a second-order single- band decoder, which included front-center.
* Update the HRTF second-order ambisonic decoderChris Robinson2022-01-041-42/+27
| | | | This only needs 14 virtual channels instead of 20.
* Remove a couple unnecessary overloadsChris Robinson2022-01-041-9/+1
|
* Avoid duplicate definitions of the same wrapper functionsChris Robinson2022-01-041-74/+41
|
* Remove extra ';' after member function definition (#634)Jan Niklas Hasse2022-01-041-1/+1
| | | Found using -Wextra-semi warning.
* Don't mix higher orders of B-Format than the device is doingChris Robinson2022-01-021-2/+2
|
* Use an span of pointers instead of arrays for mixingChris Robinson2022-01-011-93/+94
|
* Pass a span of pointers to the UHJ/SuperStereo decoderChris Robinson2022-01-014-23/+29
|
* Avoid a static-sized char array on the stackChris Robinson2021-12-311-16/+22
|
* Add a couple more methods to al::optionalChris Robinson2021-12-311-0/+16
|
* Avoid some unnecessary copyingChris Robinson2021-12-311-10/+9
|
* Some more restructuring of the PipeWire backendChris Robinson2021-12-301-73/+58
|
* Set the node rate for the pipewire capture stream tooChris Robinson2021-12-291-0/+1
|
* Move some constexpr variables to where they're usedChris Robinson2021-12-281-50/+47
|
* C++-ize the PipeWire backend some moreChris Robinson2021-12-281-61/+94
| | | | | | | | | Use unique_ptrs for a few more types to avoid explicit free calls. Move ThreadMainloop::wait to the unique_lock wrapper that's holding the lock. Since the mainloop acts as both a lock and condition_variable, passing the lock to the wait method makes no sense. Also have it optionally take a predicate functor to dictate when to stop waiting.
* Make sure alffplay properly stops when quitingChris Robinson2021-12-271-10/+13
| | | | | | The parser thread could be waiting on the threads to join after queueing all packets, so it wouldn't see mQuit to flush the queue. So make a stop method that forces a flush when setting mQuit.
* Trace the device format after starting playbackChris Robinson2021-12-271-0/+7
| | | | | Some devices can change it when starting, so it's useful to know what the device configuration is when that happens.