aboutsummaryrefslogtreecommitdiffstats
path: root/al/effects
Commit message (Collapse)AuthorAgeFilesLines
* Fix some clang-tidy warningsChris Robinson2023-12-081-1/+1
|
* fix printf format for MinGW (#942)Rosen Penev2023-12-031-2/+2
| | | | | | 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]>
* Add missing includeChris Robinson2023-10-121-0/+2
|
* Rename the convolution reverb effect to just convolutionChris Robinson2023-10-121-2/+2
| | | | | While the common use case, convolution can do more than just reverb, and it nicely shortens the name.
* Add an orientation property for convolution reverbChris Robinson2023-10-121-4/+26
| | | | Only affects ambisonic (B-Format and UHJ) formats
* Add convolution effect properties to rotate ambisonic responsesChris Robinson2023-10-121-0/+2
|
* Fix if-comparison (#890)Johan Mattsson2023-07-301-1/+1
|
* Use a variant to hold EAX effect propertiesChris Robinson2023-05-2412-335/+329
|
* Use some more standard functionsChris Robinson2023-05-051-12/+12
|
* Replace al::optional with std::optionalChris Robinson2023-05-044-14/+14
|
* Reorder some struct fields for consistencyChris Robinson2023-04-081-10/+10
|
* Avoid copying to a temporaryChris Robinson2023-03-1111-120/+116
|
* Remove some more unnecessary clampsChris Robinson2023-03-111-46/+20
|
* Rename some struct members for clarityChris Robinson2023-03-1112-145/+147
|
* Convert the remaining EAX effectsChris Robinson2023-03-113-532/+386
|
* Simplify committing EAX effect propertiesChris Robinson2023-03-115-242/+78
| | | | | | | | | | There's no need to explicitly clamp to EFX limits when they're the same as or more lenient than EAX, which were already validated when set, or when it's within tolerance of the effect implementation. Also it's generally better to check once all properties for changes and apply them all if one is different, rather than checking and setting each member individually.
* Convert the EAX Frequency Shifter effectChris Robinson2023-03-111-152/+100
|
* Convert the EAX Echo and Equalizer effectsChris Robinson2023-03-112-519/+373
|
* Convert the EAX Autowah and Compressor effectsChris Robinson2023-03-112-352/+260
|
* Convert the EAX Compressor effectChris Robinson2023-03-101-85/+55
| | | | And combine some type checks.
* Convert EAX chorus and flanger effectsChris Robinson2023-03-101-190/+180
|
* Rework EAX effect handlingChris Robinson2023-03-104-1280/+757
| | | | | | | Allocate a base EaxEffect object once for all effect types, instead of reallocating different derived types on effect changes. The reverb and null effects have been converted to the new interface, the others are currently broken/unsupported, but will be restored shortly.
* Have the null effect inherit from EaxEffect4Chris Robinson2023-03-091-14/+35
|
* Add a type indicator to EaxEffectPropsChris Robinson2023-03-0911-42/+63
|
* Store the per-version EAX effect state in the base classChris Robinson2023-03-0913-450/+430
| | | | | | | | | | | | | | | | This is the start of the refactoring for holding separable per-version EAX effects. Currently the effect state is stored in the effect object, which is instantiated per-type. This makes it impossible for different effects to be assigned on different EAX versions for a given effect slot (e.g. if the app sets a Chorus effect on EAX4 Slot0, it would fail to get or set the EAX1/2/3 reverb properties since it's a Chorus effect object). Seperate per-version effects will allow for switching the OpenAL effect by switching versions. This will provide an extra benefit in being able to delay OpenAL effect initialization until some EAX version has been set, avoiding an extraneous reverb and/or chorus processor for apps that only query some EAX properties but don't set anything (or which only use Slot0, leaving Slot1 with a defaulted Chorus effect running).
* clang-tidy cleanups (#800)Rosen Penev2023-01-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * clang-tidy: use bool literals Found with modernize-use-bool-literals Signed-off-by: Rosen Penev <[email protected]> * clang-tidy: replace std::bind with lambdas Found with modernize-avoid-bind Signed-off-by: Rosen Penev <[email protected]> * clang-tidy: use data() instead of pointer stuff Found with readability-container-data-pointe Signed-off-by: Rosen Penev <[email protected]> * clang-tidy: use empty() Found with readability-container-size-empty Signed-off-by: Rosen Penev <[email protected]> * clang-tidy: remove static in anon namespace Found with readability-static-definition-in-anonymous-namespace Signed-off-by: Rosen Penev <[email protected]> * clang-tidy: remove const return Found with readability-const-return-type Signed-off-by: Rosen Penev <[email protected]> Signed-off-by: Rosen Penev <[email protected]>
* Avoid unnecessary uses of make_optionalChris Robinson2023-01-134-12/+12
|
* Avoid inlining certain exception functionsChris Robinson2022-12-161-0/+1
|
* Fixed bug and possible overflow type (#771)Herman Semenov2022-09-231-1/+1
|
* [EAX] Use separate FX slot state for each version (#730)Boris I. Bendovsky2022-07-1213-78/+73
| | | | | | | * [EAX] Use separate FX slot state for each version [EAX] Don't defer FX slot properties * [EAX_FXSLOT] Use mPropsDirty to defer update [EAX_CONTEXT] Commit all updates on first initialization
* Don't change the EAX version when getting a reverb propertyChris Robinson2022-06-191-11/+7
|
* Combine multiple individual flagsChris Robinson2022-06-191-52/+34
|
* Avoid more struct compared for reverb EAX updatesChris Robinson2022-06-181-7/+18
|
* [EAX] Add separate effect state for each version (#705)Boris I. Bendovsky2022-05-2414-5624/+2660
| | | | | * [EAX] Add separate effect state for each version * [EAX] Don't use EAX call as data member
* Move EAX files to their own sub-directoryChris Robinson2022-05-1613-25/+28
|
* Silence reverb with EAX by defaultChris Robinson2022-04-161-0/+6
|
* Revert "Set the proper reverb effect defaults for EAX"Chris Robinson2022-03-241-25/+0
| | | | This reverts commit 964a11ef629fa3a89e827516a47949c858ce864c.
* Set the proper reverb effect defaults for EAXChris Robinson2022-03-231-0/+25
|
* Simplify committing EAX propertiesChris Robinson2022-03-0512-1004/+309
| | | | | | Based on DirectSound's EAX behavior, committing any EAX property commits *all* deferred property changes, not just the object being changed. So applying EAX changes can be handled in one place.
* Handle deferring for EAX 1 reverbChris Robinson2022-03-041-351/+212
| | | | | I don't know if EAX 1 actually handles deferring updates, but it will simplify future changes.
* Ensure deferred EAX effect properties are committedChris Robinson2022-03-0412-35/+35
|
* Remove unused dirty flagsChris Robinson2022-02-211-13/+0
|
* Implement EAX v1.0 (#664)Boris I. Bendovsky2022-02-211-36/+284
|
* Move some declarations to where the definitions will seeChris Robinson2022-02-141-15/+0
|
* Avoid using ALeffect to manage EaxEffect objectsChris Robinson2022-02-0714-193/+95
| | | | Effect slots can just use its EaxEffect directly.
* Move ALSOFT_EAX definition to config.hChris Robinson2022-01-3014-101/+43
| | | | And disable it by default for non-Windows targets
* Add EAX extensions (EAX 2.0-5.0, X-RAM) (#632)Boris I. Bendovsky2022-01-3014-0/+7802
| | | | | | | | | | | | | | | * 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
* Add back some more missing includesChris Robinson2021-04-274-0/+8
|
* Update include headersChris Robinson2021-04-2714-16/+16
| | | | Don't add alc/ to the include paths.
* Move some functions to coreChris Robinson2021-04-251-0/+3
| | | | And clean up more includes