aboutsummaryrefslogtreecommitdiffstats
path: root/al/source.h
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* Start a new extension for a new direct_channels stateChris Robinson2019-12-281-1/+1
| | | | | So existing behavior remains consistent for anything that needs it, and new behavior is opt-in.
* Make NumAuxSends unsignedChris Robinson2019-09-131-1/+1
|
* Clean up implicit conversions in source.cppChris Robinson2019-09-121-8/+8
|
* Remove multiple buffers per queue itemChris Robinson2019-08-111-52/+6
| | | | And simplify related code
* Use an unsigned voice indexChris Robinson2019-08-021-7/+8
|
* Add iterators to ALbufferlistitemChris Robinson2019-07-311-5/+48
| | | | And change some types to ALuint
* Rename al/* sources to avoid camel-caseChris Robinson2019-07-291-0/+131