Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Reset mIs51Rear only when updating the channel config | Chris Robinson | 2022-02-15 | 1 | -4/+4 |
| | |||||
* | Log when a pipewire device is removed | Chris Robinson | 2022-02-15 | 1 | -1/+6 |
| | |||||
* | Mark another operator bool as explicit | Chris Robinson | 2022-02-15 | 1 | -1/+1 |
| | |||||
* | Access the proper FX slot index | Chris Robinson | 2022-02-14 | 1 | -3/+5 |
| | |||||
* | Commit EAX context properties when a context stops deferring | Chris Robinson | 2022-02-13 | 1 | -0/+3 |
| | |||||
* | Force EAX calls to defer when the AL context is deferring | Chris Robinson | 2022-02-13 | 1 | -13/+12 |
| | |||||
* | Avoid more unnecessary atomics | Chris Robinson | 2022-02-13 | 3 | -12/+10 |
| | |||||
* | Don't make mPropsDirty atomic | Chris Robinson | 2022-02-13 | 1 | -1/+1 |
| | | | | It's only ever used under the ALCcontext::mPropLock mutex. | ||||
* | Commit source EAX properties when not deferring | Chris Robinson | 2022-02-13 | 2 | -8/+0 |
| | | | | And make sure they get committed when resuming processing. | ||||
* | Don't hide EAX functions behind a context | Chris Robinson | 2022-02-10 | 1 | -4/+28 |
| | | | | | | | The standard says a function being returned doesn't necessarily mean it's usable, and calling them will return failure if called when not usable. The config option still prevents it from being returned, to better hide it when disabled globally. | ||||
* | Inline some more simple getters | Chris Robinson | 2022-02-08 | 2 | -36/+9 |
| | |||||
* | Handle AirAbsorptionGainHF as a native context property | Chris Robinson | 2022-02-08 | 4 | -14/+7 |
| | |||||
* | Combine listener and context updates | Chris Robinson | 2022-02-08 | 3 | -26/+8 |
| | |||||
* | Apply updates for EAX context properties | Chris Robinson | 2022-02-08 | 2 | -23/+46 |
| | |||||
* | Actually defer EAXCONTEXT_ALLPARAMETERS properties | Chris Robinson | 2022-02-08 | 1 | -19/+19 |
| | |||||
* | Ensure sources update together from EAX commits | Chris Robinson | 2022-02-08 | 2 | -6/+10 |
| | | | | ... when a listener property change forces a commit. | ||||
* | Hold mPropLock when deferring updates | Chris Robinson | 2022-02-08 | 3 | -4/+13 |
| | |||||
* | Inline ALCcontext::has_eax | Chris Robinson | 2022-02-08 | 2 | -6/+1 |
| | |||||
* | More accurately detect the EAX speaker config | Chris Robinson | 2022-02-08 | 1 | -9/+21 |
| | |||||
* | DisabledEffects won't change so EAX can just check it once | Chris Robinson | 2022-02-08 | 3 | -21/+6 |
| | |||||
* | EAX various fixes (#657) | Boris I. Bendovsky | 2022-02-08 | 2 | -25/+62 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * [EAX] Fix effect GUID validation Only NULL and REVERB was valid. * [EAX] Fix default FX slot flags EAX4 and EAX5 both sets to ENVIRONMENT. * [EAX] Set default values for legacy FX slots in the initialization * [EAX] Fix FX slot locking policy Fail on attempt to load an effect or change a lock for EAX4 "set" call. Unlock legacy FX slots on any EAX5 call. * [EAX] Allow DEFER flag for "get" calls. * [EAX] Make speaker configuration read-only * [EAX] Initialize speaker configuration * [EAX] Commit EAX source on a 3D source parameter call Reference: EAX 4.0 Programmer's Guide * [EAX] Commit EAX source on a 3D listener parameter call Reference: EAX 4.0 Programmer's Guide * [EAX] Commit source when it begins to play Reference: EAX 4.0 Programmer's Guide | ||||
* | Avoid a proxy ALfilter object for EAX source properties | Chris Robinson | 2022-02-07 | 2 | -36/+1 |
| | |||||
* | Don't pass an ALeffect to ALeffectslot::initEffect | Chris Robinson | 2022-02-07 | 1 | -1/+3 |
| | |||||
* | Avoid a magic number | Chris Robinson | 2022-02-01 | 1 | -1/+1 |
| | |||||
* | Rename Sqrt1_2 for consistency | Chris Robinson | 2022-02-01 | 1 | -5/+5 |
| | |||||
* | [EAX] Add primary extension name for EAX v2.0 (#653) | Boris I. Bendovsky | 2022-02-01 | 1 | -2/+6 |
| | |||||
* | Move ALSOFT_EAX definition to config.h | Chris Robinson | 2022-01-30 | 4 | -28/+24 |
| | | | | And disable it by default for non-Windows targets | ||||
* | Add EAX extensions (EAX 2.0-5.0, X-RAM) (#632) | Boris I. Bendovsky | 2022-01-30 | 4 | -0/+1666 |
| | | | | | | | | | | | | | | | * 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 | 2 | -4/+9 |
| | |||||
* | Get rid of MathDefs | Chris Robinson | 2022-01-27 | 10 | -39/+38 |
| | |||||
* | Start and use a standard-like numbers header | Chris Robinson | 2022-01-27 | 2 | -11/+12 |
| | |||||
* | 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 |
| | |||||
* | 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. | ||||
* | Add an ambi-format option for ACN ordering and FuMa scaling | Chris Robinson | 2022-01-12 | 1 | -0/+15 |
| | |||||
* | 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. | ||||
* | Add a third-order ambisonic decoder for HRTF | Chris Robinson | 2022-01-05 | 1 | -2/+59 |
| | | | | | Using the 20-channel dodecahedron, seems to be good enough to handle 16-channel third-order ambisonics. | ||||
* | Update the HRTF second-order ambisonic decoder | Chris Robinson | 2022-01-04 | 1 | -42/+27 |
| | | | | This only needs 14 virtual channels instead of 20. | ||||
* | Avoid a static-sized char array on the stack | Chris Robinson | 2021-12-31 | 1 | -16/+22 |
| | |||||
* | 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. |