aboutsummaryrefslogtreecommitdiffstats
path: root/al
Commit message (Collapse)AuthorAgeFilesLines
...
* Set the proper reverb effect defaults for EAXChris Robinson2022-03-231-0/+25
|
* Ensure the EAX functions are suitably aligned on 32-bitChris Robinson2022-03-161-2/+2
|
* Make sure FX slots that aren't made active are disabledChris Robinson2022-03-131-9/+6
|
* Fix X-RAM trackingChris Robinson2022-03-063-184/+116
|
* Avoid a stateful unique_ptr deleterChris Robinson2022-03-052-28/+10
|
* Fix EAXSOURCE_ROLLOFFFACTORChris Robinson2022-03-052-2/+11
| | | | It should be added to AL_ROLLOFF_FACTOR.
* Set the MacroFXFactor defaultChris Robinson2022-03-051-0/+1
|
* Simplify committing EAX propertiesChris Robinson2022-03-0517-1054/+323
| | | | | | 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.
* Handle deferring for EAX 1 reverbChris Robinson2022-03-041-351/+212
| | | | | I don't know if EAX 1 actually handles deferring updates, but it will simplify future changes.
* Ensure deferred EAX effect properties are committedChris Robinson2022-03-0416-57/+84
|
* Remove AL_SOFTX_filter_gain_exChris Robinson2022-02-281-5/+3
| | | | | | It was only added to try to help DSOAL, and it's not clear if it's even necessary. But with native EAX API support, it certainly isn't necessary anymore.
* Make some local constexpr variables staticChris Robinson2022-02-233-4/+4
|
* Revert "Use std::exchange instead of two swaps"Chris Robinson2022-02-221-1/+2
| | | | This reverts commit aa19223c65d8693dbaa8d8c9fa0c129d77eed4de.
* Remove unused dirty flagsChris Robinson2022-02-211-13/+0
|
* Remove a couple extraneous externsChris Robinson2022-02-211-2/+2
|
* Implement EAX v1.0 (#664)Boris I. Bendovsky2022-02-218-59/+566
|
* Inline a couple more equality operatorsChris Robinson2022-02-204-48/+15
|
* Avoid a variable limit on EAX filtersChris Robinson2022-02-181-8/+4
| | | | | | I'll assume for now that the limits for the EAX properties will keep the filter gain from getting out of hand. The filter's gainhf is relative to the gain and is limited to 0dB max.
* Use std::exchange instead of two swapsChris Robinson2022-02-151-2/+1
|
* Add missing closing braceChris Robinson2022-02-141-1/+1
|
* Don't access a playing voice's mFlags outside of the mixer threadChris Robinson2022-02-141-8/+2
| | | | | It's updated asynchronously, and it's non-atomic, so it's unsafe to even read since the mixer thread may be modifying it.
* Access the proper FX slot indexChris Robinson2022-02-141-1/+1
|
* Avoid some messy type-punningChris Robinson2022-02-141-29/+11
|
* Remove some unnecessary includesChris Robinson2022-02-141-2/+0
|
* Move some declarations to where the definitions will seeChris Robinson2022-02-142-15/+13
|
* Simplify EaxEaxCall::EaxEaxCallChris Robinson2022-02-142-48/+33
|
* Avoid some const_castsChris Robinson2022-02-141-9/+6
|
* 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
|
* Avoid more unnecessary atomicsChris Robinson2022-02-136-29/+29
|
* 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-132-17/+28
| | | | It's only ever used under the ALCcontext::mPropLock mutex.
* Commit source EAX properties when not deferringChris Robinson2022-02-132-64/+81
| | | | And make sure they get committed when resuming processing.
* 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-101-118/+0
| | | | | | | 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
|
* Handle AirAbsorptionGainHF as a native context propertyChris Robinson2022-02-081-10/+1
|
* Combine listener and context updatesChris Robinson2022-02-083-55/+21
|
* Apply updates for EAX context propertiesChris Robinson2022-02-082-27/+0
|
* Ensure sources update together from EAX commitsChris Robinson2022-02-083-12/+40
| | | | ... 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-081-0/+2
|
* EAX various fixes (#657)Boris I. Bendovsky2022-02-088-67/+133
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * [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-074-284/+78
|
* Avoid eax_al_source_i/f wrappersChris Robinson2022-02-072-63/+22
|