Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Derive EaxFxSlotIndex from an optional | Chris Robinson | 2022-02-14 | 5 | -142/+35 |
| | |||||
* | Use memcmp to compare GUIDs | Chris Robinson | 2022-02-13 | 1 | -19/+5 |
| | | | | | | Clang at least optimizes the old version horribly, doing each individual check (with short-circuiting) as written. In comparison, this memcmp gets inlined using only a few SIMD instructions (on capable targets). | ||||
* | Avoid an unnecessary check | Chris Robinson | 2022-02-13 | 1 | -9/+6 |
| | |||||
* | Commit EAX context properties when a context stops deferring | Chris Robinson | 2022-02-13 | 1 | -0/+3 |
| | |||||
* | Force EAX calls to defer when the AL context is deferring | Chris Robinson | 2022-02-13 | 1 | -13/+12 |
| | |||||
* | Avoid more unnecessary atomics | Chris Robinson | 2022-02-13 | 9 | -41/+39 |
| | |||||
* | Fix error messages for AL_STEREO_MODE_SOFT | Chris Robinson | 2022-02-13 | 1 | -2/+4 |
| | |||||
* | Remove unnecessary IsPlayingOrPaused calls | Chris Robinson | 2022-02-13 | 1 | -42/+28 |
| | | | | | When followed by GetSourceVoice, a voice can only be returned if the source is playing or paused, making it redundant. | ||||
* | Remove an unused return type | Chris Robinson | 2022-02-13 | 1 | -54/+61 |
| | |||||
* | Don't make mPropsDirty atomic | Chris Robinson | 2022-02-13 | 3 | -18/+29 |
| | | | | It's only ever used under the ALCcontext::mPropLock mutex. | ||||
* | Commit source EAX properties when not deferring | Chris Robinson | 2022-02-13 | 4 | -72/+81 |
| | | | | And make sure they get committed when resuming processing. | ||||
* | Update changelog about EAX | Chris Robinson | 2022-02-13 | 1 | -0/+3 |
| | |||||
* | Fix an exported symbol | Chris Robinson | 2022-02-12 | 1 | -1/+1 |
| | | | | | | The symbol only exists for compatibility due to it having been erroneously exported in previous versions (even though it shouldn't have been used directly, some apps could have). | ||||
* | Don't hide EAX functions behind a context | Chris Robinson | 2022-02-10 | 2 | -122/+28 |
| | | | | | | | The standard says a function being returned doesn't necessarily mean it's usable, and calling them will return failure if called when not usable. The config option still prevents it from being returned, to better hide it when disabled globally. | ||||
* | Avoid some unnecessary extern "C" | Chris Robinson | 2022-02-10 | 1 | -31/+31 |
| | |||||
* | Inline some more simple getters | Chris Robinson | 2022-02-08 | 2 | -36/+9 |
| | |||||
* | Handle AirAbsorptionGainHF as a native context property | Chris Robinson | 2022-02-08 | 6 | -25/+13 |
| | |||||
* | Combine listener and context updates | Chris Robinson | 2022-02-08 | 8 | -112/+36 |
| | |||||
* | Apply updates for EAX context properties | Chris Robinson | 2022-02-08 | 4 | -50/+46 |
| | |||||
* | Actually defer EAXCONTEXT_ALLPARAMETERS properties | Chris Robinson | 2022-02-08 | 1 | -19/+19 |
| | |||||
* | Ensure sources update together from EAX commits | Chris Robinson | 2022-02-08 | 5 | -18/+50 |
| | | | | ... when a listener property change forces a commit. | ||||
* | Commit deferred EAX settings earlier when playing | Chris Robinson | 2022-02-08 | 1 | -10/+3 |
| | | | | Before the property update is supplied to the voice in InitVoice. | ||||
* | Be less agressive with source updates on EAX changes | Chris Robinson | 2022-02-08 | 1 | -31/+10 |
| | |||||
* | Fix sign of ALeffectslot::eax_get_eax_default_lock's return type | Chris Robinson | 2022-02-08 | 2 | -2/+2 |
| | |||||
* | Hold mPropLock when deferring updates | Chris Robinson | 2022-02-08 | 4 | -4/+15 |
| | |||||
* | Inline ALCcontext::has_eax | Chris Robinson | 2022-02-08 | 2 | -6/+1 |
| | |||||
* | More accurately detect the EAX speaker config | Chris Robinson | 2022-02-08 | 1 | -9/+21 |
| | |||||
* | DisabledEffects won't change so EAX can just check it once | Chris Robinson | 2022-02-08 | 3 | -21/+6 |
| | |||||
* | EAX various fixes (#657) | Boris I. Bendovsky | 2022-02-08 | 10 | -92/+195 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * [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 a proxy ALfilter object for EAX source properties | Chris Robinson | 2022-02-07 | 6 | -320/+79 |
| | |||||
* | Avoid eax_al_source_i/f wrappers | Chris Robinson | 2022-02-07 | 2 | -63/+22 |
| | |||||
* | Avoid using ALeffect to manage EaxEffect objects | Chris Robinson | 2022-02-07 | 20 | -432/+124 |
| | | | | Effect slots can just use its EaxEffect directly. | ||||
* | Don't pass an ALeffect to ALeffectslot::initEffect | Chris Robinson | 2022-02-07 | 3 | -12/+19 |
| | |||||
* | Avoid the need for EaxAlContextWrapper | Chris Robinson | 2022-02-06 | 2 | -49/+19 |
| | |||||
* | Update the effectslot props with a function instead of a macro | Chris Robinson | 2022-02-06 | 1 | -27/+13 |
| | |||||
* | Inherit the atomic_flag constructors in atomic_invflag | Chris Robinson | 2022-02-06 | 1 | -3/+1 |
| | |||||
* | Inline some simple getters | Chris Robinson | 2022-02-05 | 2 | -50/+7 |
| | |||||
* | Add options to encode 3- and 4-channel UHJ to uhjencoder | Chris Robinson | 2022-02-04 | 1 | -19/+71 |
| | | | | | | | The generated files won't play correctly if the player doesn't know they're 3- and 4-channel UHJ (the third and fourth channels must be ignored, or decoded, for playback). This is largely just for completion's sake, just in case someone has a use for it. | ||||
* | Don't search for __android_log_print on non-Android targets | Chris Robinson | 2022-02-03 | 1 | -5/+7 |
| | | | | | | For some reason this check is passing on iOS, causing the build to later fail because it can't find -llog. Need to investigate why it finds something that doesn't exist, but this should fix the build error in the mean time. | ||||
* | Avoid global pointers to string literals | Chris Robinson | 2022-02-01 | 2 | -21/+20 |
| | |||||
* | Avoid a magic number | Chris Robinson | 2022-02-01 | 1 | -1/+1 |
| | |||||
* | Rename Sqrt1_2 for consistency | Chris Robinson | 2022-02-01 | 2 | -7/+7 |
| | |||||
* | Output a message when EAX is enabled in CMake | Chris Robinson | 2022-02-01 | 1 | -0/+5 |
| | |||||
* | [EAX] Add primary extension name for EAX v2.0 (#653) | Boris I. Bendovsky | 2022-02-01 | 4 | -5/+12 |
| | |||||
* | Remove extra ';' after member function definition (#652) | Jan Niklas Hasse | 2022-01-31 | 1 | -1/+1 |
| | | | Found using -Wextra-semi warning. | ||||
* | [EAX] Fix alIsExtensionPresent (#651) | Boris I. Bendovsky | 2022-01-31 | 1 | -5/+5 |
| | |||||
* | Output a message when EAX is enabled in CMake | Chris Robinson | 2022-01-30 | 1 | -0/+5 |
| | |||||
* | Move ALSOFT_EAX definition to config.h | Chris Robinson | 2022-01-30 | 44 | -224/+149 |
| | | | | And disable it by default for non-Windows targets | ||||
* | Simplify FFT complex arg handling a bit | Chris Robinson | 2022-01-30 | 1 | -2/+4 |
| | |||||
* | Add EAX extensions (EAX 2.0-5.0, X-RAM) (#632) | Boris I. Bendovsky | 2022-01-30 | 53 | -0/+18533 |
| | | | | | | | | | | | | | | | * 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 |