Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add EAX extensions (EAX 2.0-5.0, X-RAM) (#632) | Boris I. Bendovsky | 2022-01-30 | 53 | -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.h | Chris Robinson | 2022-01-27 | 6 | -61/+58 |
| | |||||
* | Get rid of MathDefs | Chris Robinson | 2022-01-27 | 22 | -96/+81 |
| | |||||
* | Start and use a standard-like numbers header | Chris Robinson | 2022-01-27 | 6 | -18/+52 |
| | |||||
* | Use precalculated lookup tables to swap FFT elements | Chris Robinson | 2022-01-27 | 1 | -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 ThreadMainloop | Chris Robinson | 2022-01-26 | 1 | -42/+46 |
| | |||||
* | Default the PipeWire lock's operator= instead of using the base | Chris Robinson | 2022-01-26 | 1 | -1/+1 |
| | |||||
* | Handle 5.1 using rear channels with PulseAudio and PipeWire | Chris Robinson | 2022-01-25 | 2 | -105/+60 |
| | |||||
* | Move some definitions to where they're used | Chris Robinson | 2022-01-24 | 1 | -2/+2 |
| | |||||
* | Avoid a messy while loop to remove from a vector | Chris Robinson | 2022-01-22 | 1 | -11/+8 |
| | |||||
* | Restructure the PipeWire backend code a bit | Chris Robinson | 2022-01-22 | 1 | -219/+235 |
| | | | | | Make some functions into class member functions, and move related declarations closer together. | ||||
* | Avoid holding a pw_proxy, hold the type it represents | Chris Robinson | 2022-01-22 | 1 | -36/+70 |
| | |||||
* | Handle duplex devices with PipeWire | Chris Robinson | 2022-01-22 | 1 | -22/+43 |
| | |||||
* | Update changelog | Chris Robinson | 2022-01-18 | 1 | -3/+1 |
| | |||||
* | Handle _gettid on FreeBSD | Chris Robinson | 2022-01-18 | 5 | -82/+77 |
| | | | | And simplify handling D-Bus/RTKit interfaces | ||||
* | Set niceness as a fallback only on Linux | Chris Robinson | 2022-01-18 | 1 | -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_once | Chris Robinson | 2022-01-18 | 1 | -1/+1 |
| | |||||
* | Handle the rt-prio config options as the priority level | Chris Robinson | 2022-01-18 | 2 | -88/+117 |
| | |||||
* | Load the PipeWire real-time configuration | Chris Robinson | 2022-01-17 | 1 | -18/+57 |
| | | | | | This is apparently needed to ensure RT threads get RT priority, separately from requesting RT processing. | ||||
* | Properly compare the buffer channels for preservation | Chris Robinson | 2022-01-17 | 1 | -1/+1 |
| | |||||
* | Fixed compiler warning (#640) | Derek Henderson | 2022-01-17 | 1 | -1/+1 |
| | |||||
* | Add an ambi-format option for ACN ordering and FuMa scaling | Chris Robinson | 2022-01-12 | 3 | -2/+19 |
| | |||||
* | Use a different output matrix for late reverb | Chris Robinson | 2022-01-11 | 1 | -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 assignment | Chris Robinson | 2022-01-11 | 1 | -0/+1 |
| | |||||
* | Slightly improve handling of stopping voices | Chris Robinson | 2022-01-08 | 1 | -19/+27 |
| | |||||
* | Use the deprecated enum for older Qt versions | Chris Robinson | 2022-01-06 | 1 | -0/+4 |
| | |||||
* | Avoid a deprecated QString enum | Chris Robinson | 2022-01-05 | 1 | -1/+1 |
| | |||||
* | Add a third-order ambisonic decoder for HRTF | Chris Robinson | 2022-01-05 | 2 | -7/+63 |
| | | | | | Using the 20-channel dodecahedron, seems to be good enough to handle 16-channel third-order ambisonics. | ||||
* | Update the 3D7.1 configuration | Chris Robinson | 2022-01-04 | 1 | -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 decoder | Chris Robinson | 2022-01-04 | 1 | -42/+27 |
| | | | | This only needs 14 virtual channels instead of 20. | ||||
* | Remove a couple unnecessary overloads | Chris Robinson | 2022-01-04 | 1 | -9/+1 |
| | |||||
* | Avoid duplicate definitions of the same wrapper functions | Chris Robinson | 2022-01-04 | 1 | -74/+41 |
| | |||||
* | Remove extra ';' after member function definition (#634) | Jan Niklas Hasse | 2022-01-04 | 1 | -1/+1 |
| | | | Found using -Wextra-semi warning. | ||||
* | Don't mix higher orders of B-Format than the device is doing | Chris Robinson | 2022-01-02 | 1 | -2/+2 |
| | |||||
* | Use an span of pointers instead of arrays for mixing | Chris Robinson | 2022-01-01 | 1 | -93/+94 |
| | |||||
* | Pass a span of pointers to the UHJ/SuperStereo decoder | Chris Robinson | 2022-01-01 | 4 | -23/+29 |
| | |||||
* | Avoid a static-sized char array on the stack | Chris Robinson | 2021-12-31 | 1 | -16/+22 |
| | |||||
* | Add a couple more methods to al::optional | Chris Robinson | 2021-12-31 | 1 | -0/+16 |
| | |||||
* | Avoid some unnecessary copying | Chris Robinson | 2021-12-31 | 1 | -10/+9 |
| | |||||
* | Some more restructuring of the PipeWire backend | Chris Robinson | 2021-12-30 | 1 | -73/+58 |
| | |||||
* | Set the node rate for the pipewire capture stream too | Chris Robinson | 2021-12-29 | 1 | -0/+1 |
| | |||||
* | Move some constexpr variables to where they're used | Chris Robinson | 2021-12-28 | 1 | -50/+47 |
| | |||||
* | C++-ize the PipeWire backend some more | Chris Robinson | 2021-12-28 | 1 | -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 quiting | Chris Robinson | 2021-12-27 | 1 | -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 playback | Chris Robinson | 2021-12-27 | 1 | -0/+7 |
| | | | | | Some devices can change it when starting, so it's useful to know what the device configuration is when that happens. | ||||
* | Heavily update alffplay packet handling | Chris Robinson | 2021-12-26 | 1 | -157/+209 |
| | | | | | Avoid deprecated use of raw AVPacket objects, and use a separate thread to send packets than receives the decoded frames. | ||||
* | Add the PipeWire config option to alsoft-config | Chris Robinson | 2021-12-25 | 2 | -0/+33 |
| | |||||
* | Increase the priority of the PipeWire backend | Chris Robinson | 2021-12-25 | 1 | -6/+6 |
| | |||||
* | Check for audio devices when initializing PipeWire | Chris Robinson | 2021-12-25 | 2 | -3/+79 |
| | | | | | | | | | | | This isn't great since it can fail when PipeWire is handling audio but no devices are available at initialization, causing the Pulseaudio or ALSA backend to be selected instead. Future versions of PipeWire are expected to have a better way to detect if it's handling audio, but for now this is better than nothing. A config option is available for users to have the PipeWire backend be usable even with no devices at initialization, just in case. | ||||
* | Fix non-runtime linking with pipewire | Chris Robinson | 2021-12-25 | 1 | -1/+2 |
| |