Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Inline a couple dispatch calls | Chris Robinson | 2022-03-26 | 1 | -7/+0 |
| | |||||
* | Avoid a stateful unique_ptr deleter | Chris Robinson | 2022-03-05 | 1 | -12/+3 |
| | |||||
* | Simplify committing EAX properties | Chris Robinson | 2022-03-05 | 1 | -22/+6 |
| | | | | | | 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 committed | Chris Robinson | 2022-03-04 | 1 | -21/+37 |
| | |||||
* | Avoid more unnecessary atomics | Chris Robinson | 2022-02-13 | 1 | -12/+10 |
| | |||||
* | 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 | -47/+52 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * [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 | -42/+11 |
| | | | | Effect slots can just use its EaxEffect directly. | ||||
* | Don't pass an ALeffect to ALeffectslot::initEffect | Chris Robinson | 2022-02-07 | 1 | -10/+15 |
| | |||||
* | Update the effectslot props with a function instead of a macro | Chris Robinson | 2022-02-06 | 1 | -27/+13 |
| | |||||
* | Move ALSOFT_EAX definition to config.h | Chris Robinson | 2022-01-30 | 1 | -5/+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/+834 |
| | | | | | | | | | | | | | | | * 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 | ||||
* | Make a construct_at method amd use it | Chris Robinson | 2021-10-08 | 1 | -1/+1 |
| | |||||
* | Silence some static analysis warnings | Chris Robinson | 2021-10-03 | 1 | -0/+1 |
| | |||||
* | Rename alcontext.h and move some functions to context.cpp | Chris Robinson | 2021-04-27 | 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 | -4/+4 |
| | | | | Don't add alc/ to the include paths. | ||||
* | Create a base the ALCdevice and ALCcontext structs | Chris Robinson | 2021-04-24 | 1 | -4/+4 |
| | | | | | A base that contains the API-agnostic data, with ALCdevice and ALCcontext being for AL-specific data. | ||||
* | Force an effect slot update when implicitly starting | Chris Robinson | 2021-04-19 | 1 | -0/+4 |
| | |||||
* | Don't flag the auxslot dirty when setting the current value | Chris Robinson | 2021-04-19 | 1 | -0/+14 |
| | |||||
* | Make an inverted atomic flag type and use it | Chris Robinson | 2021-04-15 | 1 | -5/+5 |
| | | | | | | | | 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. | ||||
* | Fix inverted check for updating deferred effectslot properties | Chris Robinson | 2021-04-13 | 1 | -1/+1 |
| | |||||
* | Store buffer info in the queue entry | Chris Robinson | 2021-01-24 | 1 | -2/+9 |
| | |||||
* | Make PopCount and CountTrailingZeros more standard-like | Chris Robinson | 2021-01-22 | 1 | -4/+5 |
| | |||||
* | Remove constexpr from a function | Chris Robinson | 2021-01-17 | 1 | -6/+1 |
| | | | | | Various versions of GCC have a problem with it, and it doesn't really add much benefit anyway. | ||||
* | Move cpu_caps and fpu_ctrl to core | Chris Robinson | 2020-12-31 | 1 | -1/+1 |
| | |||||
* | Avoid ugly reinterpret_casts with offsetof | Chris Robinson | 2020-12-29 | 1 | -6/+12 |
| | |||||
* | Combine multiple functions into one | Chris Robinson | 2020-12-28 | 1 | -32/+22 |
| | |||||
* | Return an intrusive_ptr from EffectStateFactory::create | Chris Robinson | 2020-12-28 | 1 | -2/+1 |
| | |||||
* | Workaround a GCC 5 constexpr function bug | Chris Robinson | 2020-12-28 | 1 | -0/+5 |
| | |||||
* | Move the WetBuffer reference to EffectSlot | Chris Robinson | 2020-12-27 | 1 | -3/+1 |
| | |||||
* | Combine EffectState::deviceUpdate with setBuffer | Chris Robinson | 2020-12-26 | 1 | -4/+2 |
| | |||||
* | Avoid AL enums for the EffectSlot type | Chris Robinson | 2020-12-26 | 1 | -8/+62 |
| | |||||
* | Move alexcpt to core | Chris Robinson | 2020-12-24 | 1 | -1/+1 |
| | |||||
* | Move logging to core | Chris Robinson | 2020-12-17 | 1 | -1/+1 |
| | |||||
* | Make ALbuffer inherit from BufferStorage | Chris Robinson | 2020-11-21 | 1 | -3/+3 |
| | |||||
* | Use an array of auxslot pointers instead of IDs to lookup | Chris Robinson | 2020-11-07 | 1 | -41/+59 |
| | |||||
* | Use a separate structure for the active effect slot properties | Chris Robinson | 2020-11-07 | 1 | -36/+36 |
| | |||||
* | Store the wet buffers in the context | Chris Robinson | 2020-11-02 | 1 | -1/+3 |
| | | | | | | 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. | ||||
* | Use inline functions for popcnt and ctz instead of macros | Chris Robinson | 2020-10-13 | 1 | -3/+3 |
| | |||||
* | Use a span instead of a pointer and count parameters | Chris Robinson | 2020-10-12 | 1 | -18/+15 |
| | |||||
* | Cleanup and fix alAuxiliaryEffectSlotPlayv/StopvSOFT | Chris Robinson | 2020-09-05 | 1 | -20/+15 |
| | |||||
* | Ensure effect slot properties are updated when playing | Chris Robinson | 2020-09-05 | 1 | -2/+15 |
| | |||||
* | Rework effect slot buffer setting | Chris Robinson | 2020-09-05 | 1 | -15/+9 |
| | | | | | | | | 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. | ||||
* | Add methods to start and stop effect slot processing | Chris Robinson | 2020-09-05 | 1 | -2/+113 |
| | | | | | | | | A newly-created effect slot is in an AL_INITIAL state, in which processing is stopped but will automatically become AL_PLAYING after successfully setting an AL_EFFECTSLOT_EFFECT value (including AL_EFFECT_NULL or 0). Calling Play[v] or Stop[v] will set the effect slot to AL_PLAYING or AL_STOPPED respectively. While stopped, the effect won't produce audio and will not be processed. | ||||
* | Don't add effect slots to the active list until an effect is set | Chris Robinson | 2020-09-05 | 1 | -2/+5 |
| | |||||
* | Pass a BufferStorage to EffectState::createBuffer | Chris Robinson | 2020-08-28 | 1 | -6/+2 |
| | |||||
* | Use a separate structure for buffer storage | Chris Robinson | 2020-08-28 | 1 | -5/+7 |
| | |||||
* | Don't allow callback buffers for effect slots | Chris Robinson | 2020-08-27 | 1 | -1/+5 |
| | |||||
* | Store a reference to the effect buffer as an active property | Chris Robinson | 2020-08-24 | 1 | -3/+5 |
| |