aboutsummaryrefslogtreecommitdiffstats
path: root/al
Commit message (Collapse)AuthorAgeFilesLines
* Add an internal Super Stereo formatChris Robinson2021-12-112-14/+7
| | | | | | | It's not available as an AL buffer format (yet) since I'm not sure how to expose it. Internally it seems fine as a separate channel configuration, but because OpenAL combines the channel configuration and sample type, a flag may work better there.
* Make the backend pointer part of ALCdevice instead of DeviceBaseChris Robinson2021-11-191-2/+2
|
* Update some in-progress extension typesChris Robinson2021-11-101-2/+2
|
* Avoid manually prefixing EventType_ enumsChris Robinson2021-10-101-12/+12
| | | | And use a better fitting type that matches how it's used
* Make a construct_at method amd use itChris Robinson2021-10-086-6/+6
|
* Silence some static analysis warningsChris Robinson2021-10-035-9/+11
|
* Make simpler likely/unlikely functions and use them in some placesChris Robinson2021-10-033-6/+6
|
* Combine a couple similar switch blocksChris Robinson2021-07-171-77/+64
|
* Read the channel format from the correct objectChris Robinson2021-07-131-2/+2
|
* Fix returned value for AL_AMBISONIC_SCALING_SOFT buffer queriesChris Robinson2021-07-131-1/+1
|
* Add a UHJ-specific coefficient scaling arrayChris Robinson2021-07-132-1/+2
|
* Don't allocate full buffer lines in each voiceChris Robinson2021-06-211-4/+10
| | | | | | There's now effectively a 16-channel limit for buffers (as determined by the number of elements in DeviceBase::mSampleData). Any more than that are ignored when mixing.
* Avoid mixing extraneous channelsChris Robinson2021-06-211-2/+7
|
* Add back some more missing includesChris Robinson2021-04-276-0/+10
|
* Rename alcontext.h and move some functions to context.cppChris Robinson2021-04-2711-11/+12
|
* Rename alcmain.h to device.hChris Robinson2021-04-277-12/+12
|
* Update include headersChris Robinson2021-04-2727-49/+49
| | | | Don't add alc/ to the include paths.
* Move BufferStorage and Voice to coreChris Robinson2021-04-274-5/+5
|
* Move ContextBase and VoiceChange to coreChris Robinson2021-04-272-2/+2
|
* Partially implement an extension to hold sources on disconnectChris Robinson2021-04-262-20/+47
| | | | | | | | Rather than stopping voices/sources when the device becomes disconnected, the context can be set to leave them alone. As a consequence, their state will remain as playing and they'll keep their last known sample offset indefinately. For applications mindful of this behavior, it will allow resetting or reopening the device to reconnect and automatically resume where it left off.
* Move bformatdec to coreChris Robinson2021-04-251-1/+1
|
* Move async_event.h to coreChris Robinson2021-04-251-8/+5
|
* Move some functions to coreChris Robinson2021-04-251-0/+3
| | | | And clean up more includes
* Create a base the ALCdevice and ALCcontext structsChris Robinson2021-04-245-61/+61
| | | | | A base that contains the API-agnostic data, with ALCdevice and ALCcontext being for AL-specific data.
* Force an effect slot update when implicitly startingChris Robinson2021-04-191-0/+4
|
* Don't flag the auxslot dirty when setting the current valueChris Robinson2021-04-191-0/+14
|
* 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
|