aboutsummaryrefslogtreecommitdiffstats
path: root/al/effects/null.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Rework effect property handlingChris Robinson2023-12-241-25/+24
| | | | To nake EffectProps a variant instead of a union, and avoid manual vtables.
* Pass the effect props directly to the eax committer functionsChris Robinson2023-12-231-4/+4
| | | | Rather than the variant that was already checked for what it's holding.
* Avoid some template hackery for EAX effect type functionsChris Robinson2023-12-221-8/+4
|
* Use a variant to hold EAX effect propertiesChris Robinson2023-05-241-3/+2
|
* Rename some struct members for clarityChris Robinson2023-03-111-2/+2
|
* Rework EAX effect handlingChris Robinson2023-03-101-40/+26
| | | | | | | 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
|
* Store the per-version EAX effect state in the base classChris Robinson2023-03-091-5/+5
| | | | | | | | | | | | | | | | 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).
* [EAX] Add separate effect state for each version (#705)Boris I. Bendovsky2022-05-241-23/+13
| | | | | * [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-161-1/+1
|
* Simplify committing EAX propertiesChris Robinson2022-03-051-11/+3
| | | | | | 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.
* Ensure deferred EAX effect properties are committedChris Robinson2022-03-041-0/+8
|
* Avoid using ALeffect to manage EaxEffect objectsChris Robinson2022-02-071-0/+7
| | | | Effect slots can just use its EaxEffect directly.
* Move ALSOFT_EAX definition to config.hChris Robinson2022-01-301-8/+3
| | | | And disable it by default for non-Windows targets
* Add EAX extensions (EAX 2.0-5.0, X-RAM) (#632)Boris I. Bendovsky2022-01-301-0/+57
| | | | | | | | | | | | | | | * 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
* Update include headersChris Robinson2021-04-271-1/+1
| | | | Don't add alc/ to the include paths.
* Move AL EffectProp handling to separate sourcesChris Robinson2020-11-251-0/+93