Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Convert the remaining EAX effects | Chris Robinson | 2023-03-11 | 1 | -2/+2 |
| | |||||
* | Convert the EAX Echo and Equalizer effects | Chris Robinson | 2023-03-11 | 1 | -2/+2 |
| | |||||
* | Convert the EAX Autowah and Compressor effects | Chris Robinson | 2023-03-11 | 1 | -4/+4 |
| | |||||
* | Convert the EAX Compressor effect | Chris Robinson | 2023-03-10 | 1 | -2/+2 |
| | | | | And combine some type checks. | ||||
* | Convert EAX chorus and flanger effects | Chris Robinson | 2023-03-10 | 1 | -4/+4 |
| | |||||
* | Rework EAX effect handling | Chris Robinson | 2023-03-10 | 1 | -5/+3 |
| | | | | | | | 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. | ||||
* | [EAX_SOURCE] Fix source's occlusion and exclusion contribution | Boris I. Bendovsky | 2022-07-17 | 1 | -0/+3 |
| | | | | Source's oclussion and exclusion properties should be taken into account only for listener's environment (see p. 16, p. 56, pp. 62-63 and p. 64 of "EAX® 4.0 Programmer’s Guide"). | ||||
* | [EAX_FX_SLOT] Fix defaults for current properties | Boris I. Bendovsky | 2022-07-17 | 1 | -4/+5 |
| | |||||
* | Don't pass an EaxCall to initialize_fx_slots | Chris Robinson | 2022-07-15 | 1 | -5/+3 |
| | |||||
* | Allocate EffectSlots in clusters | Chris Robinson | 2022-07-15 | 1 | -1/+1 |
| | |||||
* | Dynamically allocate EffectSlot objects | Chris Robinson | 2022-07-15 | 1 | -1/+1 |
| | |||||
* | Make a member function static | Chris Robinson | 2022-07-13 | 1 | -1/+1 |
| | |||||
* | Don't track dirty flags per EAX version | Chris Robinson | 2022-07-13 | 1 | -8/+6 |
| | | | | | Only the current version's flags are used, and they're all reset when changing versions, making it unnecessary to track non-current version flags. | ||||
* | [EAX] Use separate FX slot state for each version (#730) | Boris I. Bendovsky | 2022-07-12 | 1 | -120/+250 |
| | | | | | | | * [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 (#705) | Boris I. Bendovsky | 2022-05-24 | 1 | -68/+31 |
| | | | | | * [EAX] Add separate effect state for each version * [EAX] Don't use EAX call as data member | ||||
* | Move EAX files to their own sub-directory | Chris Robinson | 2022-05-16 | 1 | -3/+3 |
| | |||||
* | Inline a couple dispatch calls | Chris Robinson | 2022-03-26 | 1 | -2/+3 |
| | |||||
* | Avoid a stateful unique_ptr deleter | Chris Robinson | 2022-03-05 | 1 | -16/+7 |
| | |||||
* | Ensure deferred EAX effect properties are committed | Chris Robinson | 2022-03-04 | 1 | -1/+3 |
| | |||||
* | Avoid more unnecessary atomics | Chris Robinson | 2022-02-13 | 1 | -1/+1 |
| | |||||
* | Fix sign of ALeffectslot::eax_get_eax_default_lock's return type | Chris Robinson | 2022-02-08 | 1 | -1/+1 |
| | |||||
* | EAX various fixes (#657) | Boris I. Bendovsky | 2022-02-08 | 1 | -11/+11 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * [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 using ALeffect to manage EaxEffect objects | Chris Robinson | 2022-02-07 | 1 | -11/+5 |
| | | | | Effect slots can just use its EaxEffect directly. | ||||
* | Don't pass an ALeffect to ALeffectslot::initEffect | Chris Robinson | 2022-02-07 | 1 | -1/+1 |
| | |||||
* | Move ALSOFT_EAX definition to config.h | Chris Robinson | 2022-01-30 | 1 | -3/+3 |
| | | | | 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 | 1 | -0/+221 |
| | | | | | | | | | | | | | | | * 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 | ||||
* | Move the effects base and effectslot to core | Chris Robinson | 2021-12-17 | 1 | -1/+1 |
| | |||||
* | Rename alcmain.h to device.h | Chris Robinson | 2021-04-27 | 1 | -1/+1 |
| | |||||
* | Update include headers | Chris Robinson | 2021-04-27 | 1 | -3/+3 |
| | | | | Don't add alc/ to the include paths. | ||||
* | Make an inverted atomic flag type and use it | Chris Robinson | 2021-04-15 | 1 | -1/+1 |
| | | | | | | | | The inverted atomic flag replaces test_and_set+clear with test_and_clear+set, essentially inverting the flag status. This makes more logical sense for flagging dirty state, which is less confusing than flagging clean state. The one caveat is ATOMIC_FLAG_INIT (or default construction in C++20) initializes the state to true rather than false. | ||||
* | Combine multiple functions into one | Chris Robinson | 2020-12-28 | 1 | -2/+1 |
| | |||||
* | Move the WetBuffer reference to EffectSlot | Chris Robinson | 2020-12-27 | 1 | -3/+0 |
| | |||||
* | Avoid AL enums for the EffectSlot type | Chris Robinson | 2020-12-26 | 1 | -1/+1 |
| | |||||
* | Use a separate structure for the active effect slot properties | Chris Robinson | 2020-11-07 | 1 | -47/+2 |
| | |||||
* | Store the wet buffers in the context | Chris Robinson | 2020-11-02 | 1 | -1/+2 |
| | | | | | | This is rather ugly, but we need the wet buffers to remain allocated after its effect slot is deleted, because a voice can still use it for its final fade-out mix. | ||||
* | Rework effect slot buffer setting | Chris Robinson | 2020-09-05 | 1 | -3/+0 |
| | | | | | | | | Rather than creating an effect-specific buffer that gets passed along as a property, the buffer is set the effect state when the effect state is created, the device is updated, or the buffer is changed. The buffer can only be set while the effect slot isn't playing, so it won't be changed or updated while the mixer is processing the effect state. | ||||
* | Don't add effect slots to the active list until an effect is set | Chris Robinson | 2020-09-05 | 1 | -0/+8 |
| | |||||
* | Store a reference to the effect buffer as an active property | Chris Robinson | 2020-08-24 | 1 | -0/+2 |
| | |||||
* | Add a method for effects to create persistent buffer data | Chris Robinson | 2020-08-24 | 1 | -0/+1 |
| | |||||
* | Use an intrusive_ptr to hold the unapplied effect state | Chris Robinson | 2020-08-24 | 1 | -1/+1 |
| | |||||
* | Allow setting a buffer on an effect slot | Chris Robinson | 2020-08-24 | 1 | -0/+2 |
| | |||||
* | Use an intrusive_ptr for ALeffectslotProps::State | Chris Robinson | 2020-08-24 | 1 | -1/+2 |
| | |||||
* | Change a couple functions into member functions | Chris Robinson | 2020-05-10 | 1 | -5/+4 |
| | |||||
* | Clean up some more unnecessary uses of AL types | Chris Robinson | 2020-04-08 | 1 | -5/+5 |
| | |||||
* | Avoid AL[C]boolean for internal use | Chris Robinson | 2020-03-28 | 1 | -7/+7 |
| | |||||
* | Add a macro to disable class-specific new/delete | Chris Robinson | 2020-03-23 | 1 | -0/+1 |
| | |||||
* | Avoid unnecessary placement new definitions | Chris Robinson | 2019-09-01 | 1 | -1/+1 |
| | |||||
* | Use new/delete for context and effectslot properties | Chris Robinson | 2019-08-13 | 1 | -0/+2 |
| | |||||
* | Move update pointers to the containers they update | Chris Robinson | 2019-08-13 | 1 | -2/+2 |
| | |||||
* | Rename al/* sources to avoid camel-case | Chris Robinson | 2019-07-29 | 1 | -0/+103 |