aboutsummaryrefslogtreecommitdiffstats
path: root/core/voice.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Slightly improve handling of stopping voicesChris Robinson2022-01-081-19/+27
|
* Don't mix higher orders of B-Format than the device is doingChris Robinson2022-01-021-2/+2
|
* Use an span of pointers instead of arrays for mixingChris Robinson2022-01-011-93/+94
|
* Pass a span of pointers to the UHJ/SuperStereo decoderChris Robinson2022-01-011-1/+6
|
* Use a bitset instead of a plain uint for flagsChris Robinson2021-12-231-16/+16
|
* Don't swallow up buffer callback samples when pausingChris Robinson2021-12-181-11/+17
|
* Don't update voice sample histories when stopping/pausingChris Robinson2021-12-181-24/+25
| | | | | Since a voice pausing is on a fade-out, and will replay the same samples again when restarting and fading in.
* Rename Voice::mNumChannels for clarityChris Robinson2021-12-151-4/+4
|
* Add source properties for Super StereoChris Robinson2021-12-151-0/+21
| | | | | When playing a stereo format, enabling Super Stereo causes the source to behave as a B-Format source, with a variable width control.
* Make an inline function to check for 2D ambisonic formatsChris Robinson2021-12-121-3/+1
|
* Avoid initializing the NFC filter for every voice channelChris Robinson2021-12-111-8/+3
| | | | | | It can be initialized once with the device's speaker distance since it won't change in between resets, then copied into the voice where it can be adjusted as needed.
* Add an internal Super Stereo formatChris Robinson2021-12-111-10/+18
| | | | | | | 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.
* Improve the 2-channel UHJ responseChris Robinson2021-12-091-3/+41
| | | | | | This attempts to correct for the differences needed for 2-channel UHJ's shelf filters given the output shelf filters. It's far from ideal, but better than nothing.
* Avoid manually prefixing EventType_ enumsChris Robinson2021-10-101-4/+4
| | | | And use a better fitting type that matches how it's used
* Make a construct_at method amd use itChris Robinson2021-10-081-2/+4
|
* Use the 2D channel orders for 2- and 3-channel UHJChris Robinson2021-07-131-1/+2
|
* Don't allocate full buffer lines in each voiceChris Robinson2021-06-211-22/+36
| | | | | | 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-18/+18
|
* Avoid altering SrcBufferSize in each channelChris Robinson2021-06-141-1/+1
|
* Combine some checksChris Robinson2021-06-141-22/+23
|
* Move BufferStorage and Voice to coreChris Robinson2021-04-271-0/+849