aboutsummaryrefslogtreecommitdiffstats
path: root/alc/voice.h
Commit message (Collapse)AuthorAgeFilesLines
* Move BufferStorage and Voice to coreChris Robinson2021-04-271-271/+0
|
* Move ContextBase and VoiceChange to coreChris Robinson2021-04-271-1/+7
|
* Update some includesChris Robinson2021-04-241-0/+5
|
* Create a base the ALCdevice and ALCcontext structsChris Robinson2021-04-241-3/+4
| | | | | A base that contains the API-agnostic data, with ALCdevice and ALCcontext being for AL-specific data.
* Decode UHJ buffers to B-Format for mixingChris Robinson2021-03-311-2/+13
| | | | | This should also have an adjustment for the shelf filter. Although it's not clear what the appropriate adjustments should be.
* Combine some duplicate codeChris Robinson2021-03-301-0/+2
|
* Load/convert samples from all channels at once for mixingChris Robinson2021-03-191-2/+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.
* Use an AL-specific buffer queue item struct for sourcesChris Robinson2021-01-251-3/+18
|
* Store the callback in the buffer list itemChris Robinson2021-01-241-0/+1
|
* Use smaller types for enumsChris Robinson2020-12-271-1/+1
|
* Use more constexpr variables instead of macrosChris Robinson2020-12-251-1/+1
|
* Fix some includesChris Robinson2020-12-151-2/+5
|
* Move the mixer functions to coreChris Robinson2020-12-121-1/+1
|
* Move some HRTF definitions to a separate headerChris Robinson2020-12-121-8/+0
|
* Move the filters to coreChris Robinson2020-12-041-3/+3
|
* Move the resampler declarations to a more appropriate headerChris Robinson2020-12-041-38/+2
|
* Change a couple macros into constexpr variablesChris Robinson2020-11-281-1/+1
|
* Move some declarations to more appropriate headersChris Robinson2020-11-271-0/+1
|
* Move some sources to a separate directoryChris Robinson2020-11-271-1/+1
| | | | To begin separating the ALC interfaces from internal ones.
* Disassociate internal voice enums from AL enumsChris Robinson2020-11-201-32/+30
|
* Use BufferStorage for the buffer queueChris Robinson2020-11-191-2/+3
|
* Use a separate structure for the active effect slot propertiesChris Robinson2020-11-071-1/+2
|
* Change some more macros into constexpr variablesChris Robinson2020-10-211-9/+7
|
* Use a separate structure for buffer storageChris Robinson2020-08-281-1/+2
|
* Use an enum class for SpatializeModeChris Robinson2020-05-211-4/+4
|
* Generate the bsinc tables using constexpr methodsChris Robinson2020-04-021-9/+2
| | | | | | | | All the methods used should be compliant with C++14 constexpr rules. However, the number of scales and phases cause GenerateBSincCoeffs to reach the allowed step limit, preventing full compile-time generation. It's not a terribly big deal, it'll generate them very quickly when loading, but it does prevent using shared read-only memory pages.
* Rename ALvoice and related structs to VoiceChris Robinson2020-03-281-12/+12
|
* Dynamically allocate voice channel dataChris Robinson2020-03-251-2/+1
| | | | | | | Rather than allocating for a full 8 channels for each voice, when the vast majority will only need 1 or 2. The voice channel data is relatively big since it needs to hold HRTF coefficients and history, and this will allow increasing the maximum number of buffer channels without an obscene memory increase.
* Properly allocate voicesChris Robinson2020-03-221-0/+3
|
* Use a new voice state to indicate a pending source offset changeChris Robinson2020-03-041-3/+4
|
* Rename the voice's PendingStop to PendingChangeChris Robinson2020-02-261-1/+1
|
* Use an array of ALvoice pointers for the active voicesChris Robinson2020-02-211-46/+0
| | | | | | This allows growing the array atomically with the mixer since the ALvoice objects themselves don't move, and a new larger array of them can be swapped in without blocking the mixer.
* Add a voice flag to indicate a voice has a pending stopChris Robinson2020-02-201-4/+7
| | | | Pending/asynchronous stops to be implemented soon.
* Handle running the buffer callback in the voiceChris Robinson2020-02-171-8/+11
|
* Add a callback flag for voicesChris Robinson2020-02-171-3/+6
|
* Use std::array and span for the HRTF delaysChris Robinson2020-02-081-1/+1
|
* Get rid of an unnecessary structChris Robinson2020-01-131-1/+1
|
* Start a new extension for a new direct_channels stateChris Robinson2019-12-281-1/+7
| | | | | So existing behavior remains consistent for anything that needs it, and new behavior is opt-in.
* Handle the buffer's ambisonic propertiesChris Robinson2019-12-021-2/+7
|
* Store the ambisonic order for the voiceChris Robinson2019-12-011-0/+2
| | | | | Currently only first-order B-Format is possible for a buffer/source, but this will begin to allow for higher orders with an appropriate extension.
* Use unsigned for array indicesChris Robinson2019-11-291-1/+1
|
* More sanely handle the voice state when mixingChris Robinson2019-10-141-1/+1
|
* Use std::array instead of plain arrays in a couple placesChris Robinson2019-10-051-4/+6
|
* Avoid duplicate structsChris Robinson2019-10-051-8/+3
|
* Remove an unnecessary struct specifierChris Robinson2019-10-021-1/+1
|
* Fix a commentChris Robinson2019-10-021-1/+1
|
* Clean up some unnecessary includesChris Robinson2019-10-021-0/+3
|
* Clean up some ALfloat -> floatChris Robinson2019-10-021-3/+3
|
* Move ALvoice from alu.h to a separate headerChris Robinson2019-10-021-0/+293