aboutsummaryrefslogtreecommitdiffstats
path: root/alc/context.h
Commit message (Collapse)AuthorAgeFilesLines
* Use a string_view for handling debug messagesChris Robinson2023-05-231-3/+3
|
* Avoid using al::vector unnecessarilyChris Robinson2023-05-121-3/+3
|
* Store extension strings individuallyChris Robinson2023-05-081-4/+3
| | | | And dynamically build the full AL_EXTENSIONS string
* Implement a context debug flagChris Robinson2023-05-031-1/+8
| | | | | Setting the debug flag at context creation enables more debug messages for the created context, and enables debug messages by default.
* Rename AL_SOFT_debug to AL_EXT_DEBUGChris Robinson2023-05-031-1/+1
|
* Reduce code duplication for context queriesChris Robinson2023-05-011-0/+1
|
* Define a struct where it's neededChris Robinson2023-05-011-1/+18
|
* Implement pushing/popping debug groupsChris Robinson2023-05-011-3/+4
|
* Put the debug filters into a groupChris Robinson2023-05-011-52/+8
|
* Use a 64-bit value for tracking ID filtersChris Robinson2023-05-011-1/+1
|
* Implement debug message filtering for IDsChris Robinson2023-05-011-0/+2
|
* Implement debug log storageChris Robinson2023-04-301-0/+19
|
* Separate the internal debug enums from the API valuesChris Robinson2023-04-301-27/+27
|
* Implement non-ID based debug message filteringChris Robinson2023-04-301-0/+9
|
* Add a missing includeChris Robinson2023-04-291-0/+1
|
* Start a debug API extensionChris Robinson2023-04-291-0/+41
|
* Add a compat option to restore AL_SOFT_buffer_sub_dataChris Robinson2023-03-171-2/+2
|
* Rename some member functions and variables for consistencyChris Robinson2023-03-161-32/+32
|
* Commit deferred EAX properties in alcProcessContextChris Robinson2023-03-161-4/+4
|
* Don't change the context's EAX version on every set/get callChris Robinson2023-03-111-4/+0
|
* Use a simple spinlock to protect the current global contextChris Robinson2022-12-301-0/+1
| | | | | This will be much for efficient than a recursive mutex, given the amount of contention will be very low.
* Avoid using a macro to set a context error and returnChris Robinson2022-12-241-6/+0
|
* [EAX_CONTEXT] Fix defaults for current propertiesBoris I. Bendovsky2022-07-171-2/+5
|
* [EAX_CONTEXT] Fix committing of a property valueBoris I. Bendovsky2022-07-171-1/+3
|
* [EAX_FX_SLOT] Mark sources as changed instead of commiting them to catch up ↵Boris I. Bendovsky2022-07-171-1/+0
| | | | with changes in FX slot
* Don't pass an EaxCall to initialize_fx_slotsChris Robinson2022-07-151-2/+2
|
* Don't store and manage wet buffers separatelyChris Robinson2022-07-151-3/+0
|
* Don't track dirty flags per EAX versionChris Robinson2022-07-131-16/+7
| | | | | Only the current version's flags are used, and they're all reset when changing versions, making it unnecessary to track non-current version flags.
* [EAX] Add separate context state for each version (#731)Boris I. Bendovsky2022-07-131-152/+250
|
* [EAX] Use separate FX slot state for each version (#730)Boris I. Bendovsky2022-07-121-4/+0
| | | | | | | * [EAX] Use separate FX slot state for each version [EAX] Don't defer FX slot properties * [EAX_FXSLOT] Use mPropsDirty to defer update [EAX_CONTEXT] Commit all updates on first initialization
* Remove an unused structChris Robinson2022-07-051-9/+1
| | | | And minor formatting cleanup
* [EAX] Add separate source state for each version (#720)Boris I. Bendovsky2022-06-181-15/+2
|
* [EAX] Add separate effect state for each version (#705)Boris I. Bendovsky2022-05-241-44/+24
| | | | | * [EAX] Add separate effect state for each version * [EAX] Don't use EAX call as data member
* Move EAX files to their own sub-directoryChris Robinson2022-05-161-4/+4
|
* Ensure deferred EAX effect properties are committedChris Robinson2022-03-041-0/+2
|
* Use a simpler loop to enumerate sourcesChris Robinson2022-02-211-62/+0
|
* Avoid a variable limit on EAX filtersChris Robinson2022-02-181-5/+0
| | | | | | 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.
* Avoid more unnecessary atomicsChris Robinson2022-02-131-5/+4
|
* Commit source EAX properties when not deferringChris Robinson2022-02-131-1/+0
| | | | And make sure they get committed when resuming processing.
* Inline some more simple gettersChris Robinson2022-02-081-9/+9
|
* Handle AirAbsorptionGainHF as a native context propertyChris Robinson2022-02-081-4/+1
|
* Apply updates for EAX context propertiesChris Robinson2022-02-081-1/+11
|
* Ensure sources update together from EAX commitsChris Robinson2022-02-081-1/+2
| | | | ... when a listener property change forces a commit.
* Hold mPropLock when deferring updatesChris Robinson2022-02-081-3/+7
|
* Inline ALCcontext::has_eaxChris Robinson2022-02-081-1/+1
|
* DisabledEffects won't change so EAX can just check it onceChris Robinson2022-02-081-4/+0
|
* EAX various fixes (#657)Boris I. Bendovsky2022-02-081-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * [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-8/+0
|
* Move ALSOFT_EAX definition to config.hChris Robinson2022-01-301-15/+13
| | | | 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/+386
| | | | | | | | | | | | | | | * 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