aboutsummaryrefslogtreecommitdiffstats
path: root/core/voice.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Avoid casting an integer literalChris Robinson2023-09-221-2/+2
|
* Use inline variables instead of functions with static variablesChris Robinson2023-06-141-1/+1
|
* Be a bit more safe with type manglingChris Robinson2023-05-241-4/+2
|
* Use a variant for AsyncEventChris Robinson2023-05-081-10/+10
|
* Use deduction guides instead of helper functions for spansChris Robinson2023-05-051-2/+2
|
* Remove custom stuff for standardChris Robinson2023-05-041-1/+1
|
* Use std::byte instead of a custom al::byteChris Robinson2023-05-041-18/+17
|
* Replace al::optional with std::optionalChris Robinson2023-05-041-2/+2
|
* Use a static_cast for older versions of MSVCChris Robinson2023-04-271-2/+3
|
* Cast a value to the expected type for MSVCChris Robinson2023-04-261-2/+2
|
* Make sure delayed-start voices are properly stoppedChris Robinson2023-03-291-1/+10
|
* Use macros for the likely/unlikely attributesChris Robinson2023-03-011-10/+10
| | | | | The syntax parser for GCC 8 (and earlier?) fails when these attributes are in certain places.
* Clamp the MS ADPCM block predictor to the correct sizeChris Robinson2023-02-241-4/+4
|
* Track the callback buffer base separatelyChris Robinson2023-02-181-8/+5
| | | | | Instead of recalculating it all the time, even for sources that don't use callback buffers.
* Decode IMA4 blocks with fewer loopsChris Robinson2023-02-161-35/+30
| | | | | Rather than decoding samples in chunks of 8, calculate the read offset from an incrementing index.
* Combine and simplify some loopsChris Robinson2023-02-151-24/+14
|
* Skip ADPCM samples in a separate loop before writingChris Robinson2023-02-151-59/+83
|
* Rename some variables for clarityChris Robinson2023-02-151-19/+19
|
* Add comments describing the MSADPCM decodeChris Robinson2023-02-141-0/+13
|
* Fix write offset for loading FmtIMA4 samplesChris Robinson2023-02-141-2/+2
|
* Support MSADPCM samples in the mixerChris Robinson2023-02-141-0/+106
|
* Support IMA4 ADPCM as a mixing voice formatChris Robinson2023-02-141-30/+145
|
* Pass a boolean for the decoder to update its stateChris Robinson2023-02-131-1/+1
|
* Explicitly cast a constexpr value to passify MSVCChris Robinson2023-02-121-3/+3
|
* Use to_address to pass a pointer-like iterator as a real pointerChris Robinson2023-02-121-4/+5
|
* Separate decoding and mixing from resamplingChris Robinson2023-02-121-283/+301
|
* Always write samples to the destination when resamplingChris Robinson2023-02-111-4/+9
|
* Check for the voice being beyond the loop end point earlierChris Robinson2023-02-111-5/+11
|
* Change the default resampler to cubicChris Robinson2023-01-271-1/+1
| | | | | This has notably better quality than linear, while still being faster than bsinc.
* Add and use mixers that process one input and output channelChris Robinson2023-01-051-0/+14
|
* Add a simple wrapper to call the mixer functionChris Robinson2023-01-041-2/+2
|
* Handle negative offset starts for callback buffersChris Robinson2023-01-041-9/+11
|
* Fix a commentChris Robinson2023-01-011-2/+1
|
* Swap the order of some checks to simplify voice setupChris Robinson2023-01-011-35/+25
|
* Use a bitset for the enabled event flagsChris Robinson2022-12-161-3/+3
|
* Limit voice update fading length to 64 samplesChris Robinson2022-12-081-13/+7
|
* Avoid using a macro to wrap standard attributesChris Robinson2022-12-061-11/+11
|
* Avoid some uses of the LIKELY/UNLIKELY macrosChris Robinson2022-12-051-2/+2
|
* Use standard likely/unlikely attributes when availableChris Robinson2022-12-051-13/+13
|
* Add the ability to start a voice at a particular timeChris Robinson2022-11-031-7/+37
|
* Handle negative voice positionsChris Robinson2022-11-021-27/+49
| | | | | | This allows a voice/source to start with a delay, more accurately than simply waiting to call alSourcePlay. The delay is affected by pitch and velocity, making it useful to simulate distant sounds that take time to be heard.
* Rename some variables to more clearly indicate their meaningChris Robinson2022-10-281-6/+6
|
* Rename some variables to be less ambiguousChris Robinson2022-10-211-8/+8
|
* Add separate filter options for UHJ encoding and decodingChris Robinson2022-10-211-2/+2
|
* Add an IIR filter option for UHJ encoding/decodingChris Robinson2022-10-211-23/+30
| | | | | | This uses the reversed-allpass trick to maintain linear phase. with a 256- sample look-ahead/delay to minimize distortion. This should better preserve low frequencies while maintaining a proper phase response.
* Remove an unused variableChris Robinson2022-09-201-10/+9
|
* Clear the buffer loop element when out of the loop rangeChris Robinson2022-09-181-2/+3
|
* Track if doing 2D mixing onlyChris Robinson2022-09-041-2/+3
| | | | And use it to select the proper HF scales
* Allow different HF scales for 2D mixing/outputChris Robinson2022-09-041-1/+1
| | | | | Not actually used yet, the device needs to track whether it's using 2D or 3D mixing.
* Use the difference in HF scale for upsampling ambisonicsChris Robinson2022-09-031-1/+1
|