aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Derive EaxFxSlotIndex from an optionalChris Robinson2022-02-145-142/+35
|
* Use memcmp to compare GUIDsChris Robinson2022-02-131-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 checkChris Robinson2022-02-131-9/+6
|
* Commit EAX context properties when a context stops deferringChris Robinson2022-02-131-0/+3
|
* Force EAX calls to defer when the AL context is deferringChris Robinson2022-02-131-13/+12
|
* Avoid more unnecessary atomicsChris Robinson2022-02-139-41/+39
|
* Fix error messages for AL_STEREO_MODE_SOFTChris Robinson2022-02-131-2/+4
|
* Remove unnecessary IsPlayingOrPaused callsChris Robinson2022-02-131-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 typeChris Robinson2022-02-131-54/+61
|
* Don't make mPropsDirty atomicChris Robinson2022-02-133-18/+29
| | | | It's only ever used under the ALCcontext::mPropLock mutex.
* Commit source EAX properties when not deferringChris Robinson2022-02-134-72/+81
| | | | And make sure they get committed when resuming processing.
* Update changelog about EAXChris Robinson2022-02-131-0/+3
|
* Fix an exported symbolChris Robinson2022-02-121-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 contextChris Robinson2022-02-102-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 Robinson2022-02-101-31/+31
|
* Inline some more simple gettersChris Robinson2022-02-082-36/+9
|
* Handle AirAbsorptionGainHF as a native context propertyChris Robinson2022-02-086-25/+13
|
* Combine listener and context updatesChris Robinson2022-02-088-112/+36
|
* Apply updates for EAX context propertiesChris Robinson2022-02-084-50/+46
|
* Actually defer EAXCONTEXT_ALLPARAMETERS propertiesChris Robinson2022-02-081-19/+19
|
* Ensure sources update together from EAX commitsChris Robinson2022-02-085-18/+50
| | | | ... when a listener property change forces a commit.
* Commit deferred EAX settings earlier when playingChris Robinson2022-02-081-10/+3
| | | | Before the property update is supplied to the voice in InitVoice.
* Be less agressive with source updates on EAX changesChris Robinson2022-02-081-31/+10
|
* Fix sign of ALeffectslot::eax_get_eax_default_lock's return typeChris Robinson2022-02-082-2/+2
|
* Hold mPropLock when deferring updatesChris Robinson2022-02-084-4/+15
|
* Inline ALCcontext::has_eaxChris Robinson2022-02-082-6/+1
|
* More accurately detect the EAX speaker configChris Robinson2022-02-081-9/+21
|
* DisabledEffects won't change so EAX can just check it onceChris Robinson2022-02-083-21/+6
|
* EAX various fixes (#657)Boris I. Bendovsky2022-02-0810-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 propertiesChris Robinson2022-02-076-320/+79
|
* Avoid eax_al_source_i/f wrappersChris Robinson2022-02-072-63/+22
|
* Avoid using ALeffect to manage EaxEffect objectsChris Robinson2022-02-0720-432/+124
| | | | Effect slots can just use its EaxEffect directly.
* Don't pass an ALeffect to ALeffectslot::initEffectChris Robinson2022-02-073-12/+19
|
* Avoid the need for EaxAlContextWrapperChris Robinson2022-02-062-49/+19
|
* Update the effectslot props with a function instead of a macroChris Robinson2022-02-061-27/+13
|
* Inherit the atomic_flag constructors in atomic_invflagChris Robinson2022-02-061-3/+1
|
* Inline some simple gettersChris Robinson2022-02-052-50/+7
|
* Add options to encode 3- and 4-channel UHJ to uhjencoderChris Robinson2022-02-041-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 targetsChris Robinson2022-02-031-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 literalsChris Robinson2022-02-012-21/+20
|
* Avoid a magic numberChris Robinson2022-02-011-1/+1
|
* Rename Sqrt1_2 for consistencyChris Robinson2022-02-012-7/+7
|
* Output a message when EAX is enabled in CMakeChris Robinson2022-02-011-0/+5
|
* [EAX] Add primary extension name for EAX v2.0 (#653)Boris I. Bendovsky2022-02-014-5/+12
|
* Remove extra ';' after member function definition (#652)Jan Niklas Hasse2022-01-311-1/+1
| | | Found using -Wextra-semi warning.
* [EAX] Fix alIsExtensionPresent (#651)Boris I. Bendovsky2022-01-311-5/+5
|
* Output a message when EAX is enabled in CMakeChris Robinson2022-01-301-0/+5
|
* Move ALSOFT_EAX definition to config.hChris Robinson2022-01-3044-224/+149
| | | | And disable it by default for non-Windows targets
* Simplify FFT complex arg handling a bitChris Robinson2022-01-301-2/+4
|
* Add EAX extensions (EAX 2.0-5.0, X-RAM) (#632)Boris I. Bendovsky2022-01-3053-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