aboutsummaryrefslogtreecommitdiffstats
path: root/alc
Commit message (Collapse)AuthorAgeFilesLines
* Try to start being a bit more pointer-owner consciousChris Robinson2023-12-264-45/+45
|
* Clean up some gotos and non-optimal castsChris Robinson2023-12-265-94/+85
|
* Use standard methods for roundingChris Robinson2023-12-252-7/+8
|
* Rework effect property handlingChris Robinson2023-12-2414-120/+121
| | | | To nake EffectProps a variant instead of a union, and avoid manual vtables.
* Use separate structs for the dedicated dialog/lfe effectsChris Robinson2023-12-232-32/+53
|
* Use a separate struct and union member for flanger propertiesChris Robinson2023-12-231-29/+52
|
* Avoid assignments in if conditionsChris Robinson2023-12-235-39/+56
|
* Fix implicit widening after multiplicationChris Robinson2023-12-233-4/+4
|
* Remove an unnecessary std::maxChris Robinson2023-12-211-3/+2
|
* Use string_views for querying config parametersChris Robinson2023-12-2115-108/+121
|
* Use string_views to help parse config filesChris Robinson2023-12-211-85/+78
|
* Use a bool for a 0/1 valueChris Robinson2023-12-211-4/+4
|
* [EAX] Fix error handling (#953)Boris I. Bendovsky2023-12-211-1/+4
| | | | | | - Set error on EAX call failure if context is available. - Reset error on successful retreiving the last error code. Reference: EAX 4.0 - Programmer's Guide (pg.37)
* Disable rt-mix by default for PipeWireChris Robinson2023-12-211-1/+1
|
* Use a variant instead of a union for InterpStateChris Robinson2023-12-211-3/+3
|
* Avoid using a couple C limits macrosChris Robinson2023-12-201-2/+3
|
* Use proper iterators for sorting effect slots where possibleChris Robinson2023-12-201-7/+4
|
* Ensure struct members are initializedChris Robinson2023-12-2010-58/+58
|
* Set Oboe usage to GameChris Robinson2023-12-181-0/+1
| | | | | OpenAL isn't only for games, but this seems to be the setting for interactive low-latency audio.
* Fix and cleanup some more warningsChris Robinson2023-12-181-0/+5
|
* Fix some implicit conversionsChris Robinson2023-12-174-10/+12
|
* Remove DEF_NEWDELChris Robinson2023-12-1633-88/+0
| | | | | C++17 provides alignment-aware allocators for us, so we don't need to use our own to make sure classes/structs are properly aligned.
* Fix searching the channel type listChris Robinson2023-12-151-1/+1
|
* Don't fail alcDevicePauseSOFT for disconnected devicesChris Robinson2023-12-131-6/+0
| | | | | | | | | | | The device playback is stopped so the function doesn't technically fail. This primarily just allows the device state to be flagged as paused for a subsequent reset or reopen, which covers a potential issue where a device is disconnected, the app pauses it due to something like an incoming call or being put into the background, then successfully resets or reopens the device before playback should resume. Without this, the device will (try to) start immediately upon being reset or reopened, which would either fail (and disconnect again) or start playing again prematurely before it can be stopped.
* Properly check that the device was playing before restarting itChris Robinson2023-12-121-7/+4
|
* Track the device state for being properly configuredChris Robinson2023-12-123-39/+74
| | | | And don't allow resuming if the backend device isn't properly set up.
* Remove void from empty parameter listsChris Robinson2023-12-121-2/+2
| | | | Also convert some functions to trailing return types and remove (void) casts.
* Mostly finish cleanup for backendsChris Robinson2023-12-1113-91/+116
| | | | Except CoreAudio and Solaris backends
* Finish cleanup for effectsChris Robinson2023-12-1113-247/+262
|
* Much more clang-tidy cleanupChris Robinson2023-12-109-134/+140
|
* Refactor FlexArrayChris Robinson2023-12-102-0/+2
| | | | | This avoids using an array of 1 as a flexible array member, and instead uses a span to reference the memory after itself.
* More clang-tidy cleanupChris Robinson2023-12-104-117/+142
| | | | And suppress some warnings
* Be less messy with PFFFTChris Robinson2023-12-092-26/+14
| | | | | Remove a 1-element array for an over-allocated struct array. Also add a wrapper struct for C++.
* More clang-tidy fixesChris Robinson2023-12-092-80/+84
|
* Remove some long dead codeChris Robinson2023-12-081-68/+0
| | | | It's unlikely to ever get fixed/revived now with Oboe
* Use a fixed array for fixed-size clustersChris Robinson2023-12-081-7/+9
|
* Clean up some more clang-tidy warningsChris Robinson2023-12-0810-57/+58
|
* Fix some clang-tidy warningsChris Robinson2023-12-0815-48/+51
|
* Improve the room rolloff factor hanldingChris Robinson2023-12-071-79/+100
| | | | | | | | | | Testing with Generic Software shows that the reverb room rolloff factor applies to the currently selected distance model, not necessarily an inverse distance model as described in the EFX docs. Though it should be noted, Generic Software completely ignores AL_EFFECTSLOT_AUXILIARY_SEND_AUTO, never applies the cones to the wet gain, and doesn't clamp to AL_MIX_GAIN and AL_MAX_GAIN for the wet gains. It's unclear if the reverb or source room rolloff factors, or the initial decay, should be imfluenced by the min or max gain properties.
* Don't apply the reverb room rolloff with a 0 ref distanceChris Robinson2023-12-061-2/+3
|
* Don't throw from the pipewire backend stop methodChris Robinson2023-12-061-4/+2
|
* Use RAII to handle writing under the mixer seqlockChris Robinson2023-12-044-27/+13
|
* Remove some unnecessary atomic wrappersChris Robinson2023-12-033-3/+4
|
* Replace a global function with a member functionChris Robinson2023-12-038-16/+10
|
* Make the device clock members atomicChris Robinson2023-12-033-23/+36
| | | | | | Even though they're protected by a SeqLock of sorts, it's still UB to read and write non-atomic vars from different threads. It's fine to do relaxed reads and writes given the lock though, to help alleviate the cost.
* fix printf format for MinGW (#942)Rosen Penev2023-12-032-4/+4
| | | | | | With gcc, mingw uses gnu_printf. With clang, printf is used as it does not support gnu_printf. Use the internal header to match this properly. Signed-off-by: Rosen Penev <[email protected]>
* Adjust the secondary early reflectionsChris Robinson2023-12-021-6/+7
| | | | | | | | | | | | | | This reduces the delay to provide a direct (no delay) line from the early reflections to the late reverb delay buffer. This also reduces the early reflection output gain by half. The reasoning here is that EFX seems to expect only one set of initial reflections, while we use two. And being close enough in time, nearly doubles the amount of output energy. This does seem to improve the "harshness" of certain reverbs, smoothing the difference between reverbs, and makes it more like other implementations (still some work to do on late reverb, though).
* Avoid extra multipliesChris Robinson2023-12-011-3/+3
|
* Rename the extension for 32-bit buffer formatsChris Robinson2023-12-011-15/+15
|
* Update some in-progress format enumsChris Robinson2023-11-251-15/+15
|