aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Don't change flags after InitVoiceChris Robinson2020-03-041-11/+9
|
* Use a new voice state to indicate a pending source offset changeChris Robinson2020-03-043-14/+17
|
* Avoid unnecessarily reclearing some variablesChris Robinson2020-03-031-51/+36
|
* Add a helper to wait for the device mixChris Robinson2020-03-035-36/+28
|
* Use an intrusive_ptr for the device's HrtfStoreChris Robinson2020-03-016-30/+23
|
* Simplify getting a voice for a new source offsetChris Robinson2020-02-281-17/+21
|
* Use real-time priority by defaultChris Robinson2020-02-262-11/+6
|
* Remove unnecessary locks now that the mixer doesn't require oneChris Robinson2020-02-2618-64/+17
|
* Use a VoiceChange object to change the offset of a playing sourceChris Robinson2020-02-262-61/+164
|
* Rename the voice's PendingStop to PendingChangeChris Robinson2020-02-263-9/+9
|
* Move voice initialization to a separate functionChris Robinson2020-02-261-97/+103
|
* Avoid storing the source offset when it's just read and resetChris Robinson2020-02-261-27/+27
|
* Make the source's send array static instead of dynamicChris Robinson2020-02-253-35/+22
|
* Update an comment about the default HRTF filtersChris Robinson2020-02-251-2/+1
|
* Reduce the maximum number of source sends to 6Chris Robinson2020-02-252-2/+2
|
* Handle playing voices after disconnectionChris Robinson2020-02-241-5/+11
|
* Improve searching for the next voice when playing multiple sourcesChris Robinson2020-02-241-4/+5
| | | | | Instead of searching from the beginning of the voice list for each source, just continue searching from the last source's voice.
* Ignore VoiceChange objects while disconnectedChris Robinson2020-02-242-1/+34
| | | | | And try to improve ALvoice/VoiceChange handling when attempting to recover a lost device.
* Simplify replaying a sourceChris Robinson2020-02-233-13/+32
|
* Remove AL_SOFT_map_buffer from alffplay and add AL_SOFT_callback_bufferChris Robinson2020-02-231-153/+365
| | | | | | | The former doesn't really help too much since buffers still need to be (re)filled and (de)queued individually. A callback buffer, on the other hand, allows for greater efficiency since it just needs to write into a ring buffer that the mixer will directly read from.
* Fix voice allocation increase amountChris Robinson2020-02-221-1/+1
|
* Remove a couple unnecessary type aliasesChris Robinson2020-02-223-5/+3
|
* Avoid a single function call in a loopChris Robinson2020-02-211-68/+66
|
* Use an array of ALvoice pointers for the active voicesChris Robinson2020-02-215-112/+130
| | | | | | 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.
* Set the voice's property update after the source IDChris Robinson2020-02-211-3/+3
| | | | Otherwise the mixer has a chance to throw it out before realizing it's needed.
* Handle playing and pausing with VoiceChangesChris Robinson2020-02-212-71/+84
|
* Prepare VoiceChange objects one at a timeChris Robinson2020-02-211-62/+35
|
* Don't unnecessarily count all voices when playing sourcesChris Robinson2020-02-211-9/+8
|
* Asynchronously stop and rewind voicesChris Robinson2020-02-202-39/+46
|
* Asynchronously stop voices if its source is being deletedChris Robinson2020-02-204-12/+154
|
* Add a voice flag to indicate a voice has a pending stopChris Robinson2020-02-202-6/+11
| | | | Pending/asynchronous stops to be implemented soon.
* Add a streaming example using a callback bufferChris Robinson2020-02-202-0/+442
|
* Add AL_SOFTX_callback_buffer to the extension listChris Robinson2020-02-191-0/+4
|
* Workaround a 32-bit GCC/MinGW TLS bugChris Robinson2020-02-181-16/+22
|
* Flag the voice as callback-based when given a callback bufferChris Robinson2020-02-171-1/+7
|
* Don't bother looping the calculated source offsetChris Robinson2020-02-171-14/+6
| | | | | The offset shouldn't be in a non-wrapped state when playing, and when not playing it's always 0 anyway.
* Don't allow setting a source offset for a callbackChris Robinson2020-02-171-0/+6
|
* Handle running the buffer callback in the voiceChris Robinson2020-02-175-25/+83
|
* Add a callback flag for voicesChris Robinson2020-02-172-6/+17
|
* Prevent queueing a callback bufferChris Robinson2020-02-171-3/+10
| | | | Also prevent setting it on multiple sources
* Set and retrieve a buffer's callbackChris Robinson2020-02-172-8/+147
|
* Stub out an interface for a callback-driven bufferChris Robinson2020-02-163-0/+63
|
* Always start streaming sources from the start of the queueChris Robinson2020-02-151-1/+1
| | | | | | For sources that don't start with an offset, at least. This is necessary so the completed buffer event will give the correct count if it starts with null or empty buffers that become processed.
* Update the makemhr utility and default HRTFChris Robinson2020-02-112-17/+13
|
* Update the MHR formatChris Robinson2020-02-112-28/+202
| | | | | | | | This update removes the 16/24-bit sample type enum, now always being 24-bit (other than a very small size saving, there's no practical benefit to storing 16-bit samples). This also reverses the field storage, so no on-load fixup is needed, and stores the IR delays with 2 bits of sub-sample precision, allowing for slightly better timing (after resampling, blending, etc).
* Scale delays when exceeding the max for generated mhr filesChris Robinson2020-02-101-15/+35
|
* Use a triplet struct array instead of separate arraysChris Robinson2020-02-091-22/+22
|
* Consistently use distant wavefronts for 0 distanceChris Robinson2020-02-081-6/+3
|
* Clear voice target gains earlierChris Robinson2020-02-081-11/+12
|
* Use std::array and span for the HRTF delaysChris Robinson2020-02-084-8/+6
|