| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
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]>
|
| |
|
|
|
|
|
| |
While the common use case, convolution can do more than just reverb, and it
nicely shortens the name.
|
|
|
|
| |
Only affects ambisonic (B-Format and UHJ) formats
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
| |
And combine some type checks.
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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: 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]>
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
* [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
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* [EAX] Add separate effect state for each version
* [EAX] Don't use EAX call as data member
|
| |
|
| |
|
|
|
|
| |
This reverts commit 964a11ef629fa3a89e827516a47949c858ce864c.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
I don't know if EAX 1 actually handles deferring updates, but it will simplify
future changes.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Effect slots can just use its EaxEffect directly.
|
|
|
|
| |
And disable it by default for non-Windows targets
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
| |
Don't add alc/ to the include paths.
|
|
|
|
| |
And clean up more includes
|