aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* Merge pull request #393 from Etwus/patch-1kcat2020-02-081-1/+0
|\ | | | | Fix unreachable code warning
| * Fix unreachable code warningAleš Gajdacz2020-02-081-1/+0
|/
* Make sure stereo angles are kept in-range.Chris Robinson2020-01-311-3/+14
|
* Try harder to find the closest HRIR for the B-Format decoderChris Robinson2020-01-261-16/+23
|
* Update the default HRTFChris Robinson2020-01-251-0/+0
|
* Use the peak IR magnitude to get the onsetChris Robinson2020-01-252-19/+7
| | | | | | | | | | | | While maybe not technically correct, we actually only care about the difference between onsets (any base constant is removed). This should work better since it determines when the IR is most audible, whereas previously it used a variable threshold of when it reached 15% of the max amplitude. An even better method may be to check where the IR amplitude exceeds a fixed threshold (i.e. the same threshold applied to all IRs), but that would need tweaking to find a level that doesn't catch random noise and doesn't potentially miss the more occluded IRs.
* Merge pull request #385 from sergeyext/fix_msvc_runtimekcat2020-01-251-1/+3
|\ | | | | Set static MSVC runtime for cpp files when FORCE_STATIC_VCRT is ON.
| * Set static MSVC runtim for cpp files when FORCE_STATIC_VCRT is ON.Sergey Karchevsky2020-01-261-1/+3
|/ | | | Fixes #384
* Release 1.20.1Chris Robinson2020-01-232-2/+2
|
* Fix the output channel count for the B-Format decoderChris Robinson2020-01-191-3/+3
|
* Only sort active effect slots as neededChris Robinson2020-01-183-7/+29
|
* Use struct methods to get a buffer's format infoChris Robinson2020-01-183-20/+21
|
* Avoid an extraneous index mapChris Robinson2020-01-153-18/+13
|
* Make a couple helper methods to create BFormatDecChris Robinson2020-01-152-7/+19
|
* Repack B-Format decoder fieldsChris Robinson2020-01-153-61/+63
| | | | This should better provide sequential access.
* Transpose BFormatDec's matricesChris Robinson2020-01-142-65/+31
| | | | | This allows the band-split and output mix to happen together, rather than splitting all input channels first and then mixing them to output.
* Clean up some formatingChris Robinson2020-01-142-17/+19
|
* Simplify appending delayed samplesChris Robinson2020-01-141-6/+6
|
* Signal the event handler only once per updateChris Robinson2020-01-142-36/+40
|
* Inline a couple ring buffer methodsChris Robinson2020-01-142-17/+14
|
* Get rid of an unnecessary structChris Robinson2020-01-133-8/+4
|
* Return immediately on error when loading HRTFsChris Robinson2020-01-131-48/+23
|