aboutsummaryrefslogtreecommitdiffstats
path: root/alc/context.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Access the proper FX slot indexChris Robinson2022-02-141-3/+5
|
* 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-131-6/+5
|
* Commit source EAX properties when not deferringChris Robinson2022-02-131-7/+0
| | | | And make sure they get committed when resuming processing.
* Inline some more simple gettersChris Robinson2022-02-081-27/+0
|
* Handle AirAbsorptionGainHF as a native context propertyChris Robinson2022-02-081-7/+3
|
* Combine listener and context updatesChris Robinson2022-02-081-5/+1
|
* Apply updates for EAX context propertiesChris Robinson2022-02-081-22/+35
|
* Actually defer EAXCONTEXT_ALLPARAMETERS propertiesChris Robinson2022-02-081-19/+19
|
* Ensure sources update together from EAX commitsChris Robinson2022-02-081-5/+8
| | | | ... when a listener property change forces a commit.
* Hold mPropLock when deferring updatesChris Robinson2022-02-081-1/+0
|
* Inline ALCcontext::has_eaxChris Robinson2022-02-081-5/+0
|
* 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-081-17/+1
|
* EAX various fixes (#657)Boris I. Bendovsky2022-02-081-20/+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 a proxy ALfilter object for EAX source propertiesChris Robinson2022-02-071-28/+1
|
* [EAX] Add primary extension name for EAX v2.0 (#653)Boris I. Bendovsky2022-02-011-2/+6
|
* Move ALSOFT_EAX definition to config.hChris Robinson2022-01-301-7/+5
| | | | And disable it by default for non-Windows targets
* Add EAX extensions (EAX 2.0-5.0, X-RAM) (#632)Boris I. Bendovsky2022-01-301-0/+1228
| | | | | | | | | | | | | | | * 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
* Work around a MinGW thread_local bugChris Robinson2021-12-201-0/+7
| | | | | | | | | | MinGW-w64 generates bad code when accessing extern thread_local objects. Wrapper functions are used to ensure it only accesses them from the same place they're defined. This unfortunately adds a bit of overhead for what should be a relatively simple thing. These functions are inlined for non-MinGW targets, avoiding the overhead on non-affected targets.
* Move some more context functions to the proper sourceChris Robinson2021-12-171-76/+0
|
* Move the effects base and effectslot to coreChris Robinson2021-12-171-1/+1
|
* Move some ContextBase function definitions to the right placeChris Robinson2021-12-171-64/+0
|
* Remove an unnecessary parameterChris Robinson2021-12-171-14/+10
|
* Allocate voice properties in clustersChris Robinson2021-12-171-10/+19
|
* Handle the listener position separate from the rotation matrixChris Robinson2021-05-251-0/+1
| | | | | | It's too unstable with larger vectors. Even when the source and listener positions are the same, floating point precision can cause noticeable rounding errors.
* Rename alcontext.h and move some functions to context.cppChris Robinson2021-04-271-0/+387