aboutsummaryrefslogtreecommitdiffstats
path: root/al
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix dirty flag checkChris Robinson2021-04-181-1/+1
|
* Restore missing AL_SOFT_source_length queriesChris Robinson2021-04-151-0/+93
|
* Make an inverted atomic flag type and use itChris Robinson2021-04-157-16/+18
| | | | | | | | 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.
* Fix inverted check for updating deferred effectslot propertiesChris Robinson2021-04-131-1/+1
|
* Add support for 4-channel UHJChris Robinson2021-03-313-13/+25
| | | | Also add the SOFT moniker to the new macros
* Handle 3-channel UHJ audio buffersChris Robinson2021-03-313-5/+15
|
* Decode UHJ buffers to B-Format for mixingChris Robinson2021-03-312-7/+10
| | | | | This should also have an adjustment for the shelf filter. Although it's not clear what the appropriate adjustments should be.
* Start an interface for providing UHJ audioChris Robinson2021-03-312-1/+9
| | | | Currently only 2-channel UHJ, which gets treated as stereo.
* Combine some duplicate codeChris Robinson2021-03-301-42/+1
|
* Load/convert samples from all channels at once for mixingChris Robinson2021-03-191-7/+8
| | | | | | | This uses a bit more memory (each voice needs to hold buffers for the deinterleaved samples of each channel, instead of just one buffer for the current channel being mixed on the device), but it will allow for handling formats that need or prefer their channels decoded together.
* Workaround mingw complaining about the %z formatterChris Robinson2021-03-122-0/+8
|
* Use the correct lock when allocating filtersChris Robinson2021-03-021-1/+1
|
* Add a alSourceQueueBufferLayersSOFT stubChris Robinson2021-02-041-0/+11
| | | | For compatiblity with apps that may have directly linked to it on accident.
* Make sure InitVoice is given a valid buffer queue itemChris Robinson2021-01-261-2/+2
|
* Move al::deque to a common headerChris Robinson2021-01-251-7/+1
|
* Use an AL-specific buffer queue item struct for sourcesChris Robinson2021-01-252-38/+39
|
* Use a deque for the source buffer queueChris Robinson2021-01-252-149/+121
| | | | | | 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.
* Store the callback in the buffer list itemChris Robinson2021-01-241-1/+3
|
* Store buffer info in the queue entryChris Robinson2021-01-243-5/+22
|
* Set the correct default buffer bits/formatChris Robinson2021-01-221-1/+1
|
* Make PopCount and CountTrailingZeros more standard-likeChris Robinson2021-01-225-16/+21
|
* Avoid global constexpr arraysChris Robinson2021-01-211-2/+2
|
* Remove constexpr from a functionChris Robinson2021-01-171-6/+1
| | | | | Various versions of GCC have a problem with it, and it doesn't really add much benefit anyway.
* Move cpu_caps and fpu_ctrl to coreChris Robinson2020-12-311-1/+1
|
* Avoid ugly reinterpret_casts with offsetofChris Robinson2020-12-291-6/+12
|
* Combine multiple functions into oneChris Robinson2020-12-282-34/+23
|
* Return an intrusive_ptr from EffectStateFactory::createChris Robinson2020-12-281-2/+1
|
* Workaround a GCC 5 constexpr function bugChris Robinson2020-12-281-0/+5
|
* Avoid including voice.h in alcontext.hChris Robinson2020-12-272-0/+2
|
* Use a uint for a bitfieldChris Robinson2020-12-271-4/+4
|
* Move the WetBuffer reference to EffectSlotChris Robinson2020-12-272-6/+1
|
* Combine EffectState::deviceUpdate with setBufferChris Robinson2020-12-261-4/+2
|
* Avoid AL enums for the EffectSlot typeChris Robinson2020-12-264-46/+87
|
* Add a crossover frequency field for the deviceChris Robinson2020-12-261-1/+1
| | | | | | Used when upsampling low-order ambisonic signals to higher order. Rather than a hardcoded 400hz, it ensures a consistent crossover point when an ambdec configuration is used. It can also allow for an alsoft config option.
* Avoid AL types and enums in the effect processorsChris Robinson2020-12-245-61/+244
|
* Move alexcpt to coreChris Robinson2020-12-2411-11/+11
|
* Move the AL error enum out of base_exceptionChris Robinson2020-12-173-2/+9
|
* Move logging to coreChris Robinson2020-12-175-5/+5
|
* Don't link DistanceModel enums to AL valuesChris Robinson2020-12-162-21/+76
|
* Move AsyncEvent to a separate headerChris Robinson2020-12-162-45/+1
|
* Use a separate enum for the VoiceChange stateChris Robinson2020-12-163-23/+43
|
* Move VoiceChange to a separate headerChris Robinson2020-12-161-0/+1
|
* Avoid a generic event structChris Robinson2020-12-152-8/+9
|
* Use a separate structure for the context/listener paramsChris Robinson2020-12-154-47/+9
|
* Move ambidefs.h to coreChris Robinson2020-12-121-1/+1
|
* Move the filters to coreChris Robinson2020-12-041-2/+2
|
* Change a couple macros into constexpr variablesChris Robinson2020-11-281-1/+1
|
* Move AL EffectProp handling to separate sourcesChris Robinson2020-11-2517-24/+2186
|
* Make sure batched source updates are with the proper voiceChris Robinson2020-11-241-6/+9
|
* Make ALbuffer inherit from BufferStorageChris Robinson2020-11-214-135/+112
|