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