aboutsummaryrefslogtreecommitdiffstats
path: root/al/source.h
Commit message (Collapse)AuthorAgeFilesLines
* 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