aboutsummaryrefslogtreecommitdiffstats
path: root/al/source.h
Commit message (Collapse)AuthorAgeFilesLines
* Ensure struct members are initializedChris Robinson2023-12-201-11/+11
|
* Remove unnecessary macro parameter listsChris Robinson2023-12-151-2/+2
|
* Clean up some more clang-tidy warningsChris Robinson2023-12-081-10/+9
|
* Fix some clang-tidy warningsChris Robinson2023-12-081-4/+4
|
* Make a couple global values/variables inlineChris Robinson2023-11-111-3/+3
|
* Remove an unnecessary deque with a custom allocatorChris Robinson2023-10-111-2/+1
|
* Add AL_EXT_debug functions to set/get object namesChris Robinson2023-08-111-1/+4
|
* Add a compat option to restore AL_SOFT_buffer_sub_dataChris Robinson2023-03-171-0/+2
|
* Rename some member functions and variables for consistencyChris Robinson2023-03-161-19/+16
|
* Commit deferred EAX properties in alcProcessContextChris Robinson2023-03-161-1/+0
|
* Set a default version for EAX source propertiesChris Robinson2023-03-141-1/+0
|
* Don't set an EAX version by default for sourcesChris Robinson2023-02-051-8/+2
| | | | | | | | | Presuming sources start in a neutral state for EAX effects, that is they're not affected by EAX by default, there's no need to set an active EAX state for one until the app sets an EAX property on it. Since the deferred and immediate properties are stored independently per-version, they can always be set to defaults, and simply not have a particular version committed as active until the app sets an EAX property, which will inherently set the active version.
* Fix parameter signednessChris Robinson2022-07-171-1/+1
|
* [EAX_SOURCE] Fix getting active FX slot IDsBoris I. Bendovsky2022-07-171-0/+1
|
* [EAX_FX_SLOT] Mark sources as changed instead of commiting them to catch up ↵Boris I. Bendovsky2022-07-171-0/+1
| | | | with changes in FX slot
* Combine multiple individual flagsChris Robinson2022-06-191-5/+1
|
* Track EAX1 source changesChris Robinson2022-06-191-1/+1
| | | | | | Even though it's only a single value, this allows for not having to explicitly track version changes, since the version being changed to will always have a property change, implicitly marking an EAX update/commit for the source.
* Avoid a full struct compare to check for changesChris Robinson2022-06-181-0/+4
|
* Rename a parameter to avoid a shadowing warningChris Robinson2022-06-181-24/+18
|
* Fix checking if the primary effect slot changedChris Robinson2022-06-181-1/+1
|
* [EAX] Add separate source state for each version (#720)Boris I. Bendovsky2022-06-181-543/+790
|
* [EAX] Add separate effect state for each version (#705)Boris I. Bendovsky2022-05-241-51/+52
| | | | | * [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-3/+3
|
* Inline a couple dispatch callsChris Robinson2022-03-261-2/+2
|
* Fix EAXSOURCE_ROLLOFFFACTORChris Robinson2022-03-051-0/+5
| | | | It should be added to AL_ROLLOFF_FACTOR.
* Implement EAX v1.0 (#664)Boris I. Bendovsky2022-02-211-1/+9
|
* Avoid more unnecessary atomicsChris Robinson2022-02-131-1/+1
|
* Don't make mPropsDirty atomicChris Robinson2022-02-131-1/+1
| | | | It's only ever used under the ALCcontext::mPropLock mutex.
* Commit source EAX properties when not deferringChris Robinson2022-02-131-3/+3
| | | | And make sure they get committed when resuming processing.
* Ensure sources update together from EAX commitsChris Robinson2022-02-081-0/+1
| | | | ... when a listener property change forces a commit.
* EAX various fixes (#657)Boris I. Bendovsky2022-02-081-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * [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-39/+10
|
* Avoid eax_al_source_i/f wrappersChris Robinson2022-02-071-10/+0
|
* Move ALSOFT_EAX definition to config.hChris Robinson2022-01-301-7/+6
| | | | 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/+689
| | | | | | | | | | | | | | | * 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
* Remove math_defs.hChris Robinson2022-01-271-2/+1
|
* Add source properties for Super StereoChris Robinson2021-12-151-0/+8
| | | | | When playing a stereo format, enabling Super Stereo causes the source to behave as a B-Format source, with a variable width control.
* Rename alcontext.h and move some functions to context.cppChris Robinson2021-04-271-1/+1
|
* Update include headersChris Robinson2021-04-271-2/+2
| | | | Don't add alc/ to the include paths.
* Move BufferStorage and Voice to coreChris Robinson2021-04-271-1/+1
|
* Make an inverted atomic flag type and use itChris Robinson2021-04-151-1/+2
| | | | | | | | The inverted atomic flag replaces test_and_set+clear with test_and_clear+set, essentially inverting the flag status. This makes more logical sense for flagging dirty state, which is less confusing than flagging clean state. The one caveat is ATOMIC_FLAG_INIT (or default construction in C++20) initializes the state to true rather than false.
* Move al::deque to a common headerChris Robinson2021-01-251-7/+1
|
* Use an AL-specific buffer queue item struct for sourcesChris Robinson2021-01-251-2/+7
|
* Use a deque for the source buffer queueChris Robinson2021-01-251-1/+9
| | | | | | This mainly avoids having to allocate ~64-byte structures individually. The mixing voice still holds the queue as a linked list so as to be container- agnostic.
* Avoid including voice.h in alcontext.hChris Robinson2020-12-271-0/+1
|
* Use BufferStorage for the buffer queueChris Robinson2020-11-191-9/+2
|
* Use an enum class for SpatializeModeChris Robinson2020-05-211-1/+1
|
* Add a macro to disable class-specific new/deleteChris Robinson2020-03-231-0/+2
|
* Use inline initialization more for sourcesChris Robinson2020-03-231-44/+46
|
* Make the source's send array static instead of dynamicChris Robinson2020-02-251-2/+2
|