aboutsummaryrefslogtreecommitdiffstats
path: root/alc/alu.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Make sure stereo angles are kept in-range.Chris Robinson2020-01-311-3/+14
|
* Only sort active effect slots as neededChris Robinson2020-01-181-6/+18
|
* Simplify appending delayed samplesChris Robinson2020-01-141-6/+6
|
* Signal the event handler only once per updateChris Robinson2020-01-141-34/+40
|
* Make sure unassociated voices give back their update structsChris Robinson2020-01-081-25/+29
|
* Combine identical arraysChris Robinson2020-01-041-4/+1
|
* Handle downmixing for mono outputChris Robinson2019-12-291-2/+1
|
* Ignore direct channels for mono and B-Format buffersChris Robinson2019-12-291-1/+2
|
* Start a new extension for a new direct_channels stateChris Robinson2019-12-281-7/+9
| | | | | So existing behavior remains consistent for anything that needs it, and new behavior is opt-in.
* Use a span for the band-splitter inputChris Robinson2019-12-251-10/+9
|
* Fix a shadowed parameter warningChris Robinson2019-12-231-9/+10
|
* Avoid reading a struct field twiceChris Robinson2019-12-231-2/+2
|
* Handle padding between device sample framesChris Robinson2019-12-211-17/+17
| | | | | | | | The padding must be constant and sample type aligned (e.g. some fixed multiple of two bytes between the start of two consecutive frames for 16-bit output). The intent is to always have the ability for stereo output with WASAPI even if the device has some other unsupported configuration, as long as front-left and front-right exist.
* Use unique setters for biquad filter parametersChris Robinson2019-12-211-20/+13
| | | | One for whether a slope parameter is used, and one for bandwidth.
* Improve gain/hf/lf packing when processing voice updatesChris Robinson2019-12-211-96/+84
|
* Remix missing channels with direct channels enabledChris Robinson2019-12-191-1/+15
| | | | Instead of dropping them.
* Don't apply direct channels with mono outputChris Robinson2019-12-181-1/+1
|
* Don't process direct channel sources with attenuationChris Robinson2019-12-171-4/+4
|
* Update a comment since B-Format input isn't always FuMaChris Robinson2019-12-171-2/+2
|
* Correctly scale spatialized B-Format sourcesChris Robinson2019-12-171-2/+2
|
* Use normal panning for B-Format outputChris Robinson2019-12-171-1/+1
| | | | It can never work since it only uses auxiliary channel labels.
* Don't apply stereo panning with direct channels enabledChris Robinson2019-12-171-3/+6
|
* Handle the buffer's ambisonic propertiesChris Robinson2019-12-021-12/+24
|
* Make B-Format rotation more robustChris Robinson2019-12-011-34/+203
| | | | | This should now handle higher orders, and can be easily extended to non-FuMa layouts and scalings.
* Avoid static constexpr for arrays iterated over at run-timeChris Robinson2019-10-251-1/+1
|
* Use better types for some specific sizesChris Robinson2019-10-131-15/+15
|
* Use std::array instead of plain arrays in a couple placesChris Robinson2019-10-051-7/+2
|
* Move ALvoice from alu.h to a separate headerChris Robinson2019-10-021-7/+37
|
* Check MAX_RESAMPLER_PADDING properly to ensure it's large enoughChris Robinson2019-09-281-0/+4
|
* Combine two function calls into oneChris Robinson2019-09-281-42/+102
|
* Add "fast" variants for the bsinc resamplersChris Robinson2019-09-281-4/+4
| | | | | | This simply omits the scale factor from the filter, similar to how up-sampling does. The consequence of this is less smooth transitions when ramping the pitch while down-sampling, but otherwise behaves fine.
* Implement a "fast" bsinc pathChris Robinson2019-09-261-2/+2
| | | | | | | | | | This takes advantage of the fact than when increment <= 1 (when not down- sampling), the scale factor is always 0. As a result, the scale and scale-phase deltas never contribute to the filtered output. Removing those multiply+add operations cuts half of the work done by the inner loop. Sounds that do need to down-sample (when played with a high pitch, or is 48khz on 44.1khz output, for example), still go through the normal bsinc process.
* Make the resampler type an enum classChris Robinson2019-09-221-4/+4
|
* Avoid an unnecessary multiplyChris Robinson2019-09-161-2/+2
|
* Remove the last uses of the system's str[n]casecmpChris Robinson2019-09-161-2/+5
|
* Avoid an unused variableChris Robinson2019-09-161-1/+1
|
* Clean up some more shadowing warningsChris Robinson2019-09-161-11/+10
|
* Fix some more implicit conversions noted by GCCChris Robinson2019-09-141-5/+5
|
* Make NumAuxSends unsignedChris Robinson2019-09-131-4/+4
|
* Clean up implicit conversions in alu.cppChris Robinson2019-09-131-44/+36
|
* Clean up sample converter implicit conversionsChris Robinson2019-09-121-2/+2
|
* Use unsigned channel indicesChris Robinson2019-09-121-19/+18
|
* Use a normal vector for the voices arrayChris Robinson2019-09-041-5/+2
|
* Increment the mix count during disconnectChris Robinson2019-09-041-1/+3
| | | | | So attempts to get the current playback offset behave correctly while disconnecting.
* Avoid accumulating a temporaryChris Robinson2019-09-011-2/+2
|
* Make MixVoice a member functionChris Robinson2019-08-311-5/+1
|
* Use a span for effect state inputChris Robinson2019-08-261-2/+1
|
* Pass unsigned sample count to aluMixDataChris Robinson2019-08-251-11/+11
|
* Use size_t for the post-process sample lengthChris Robinson2019-08-251-5/+4
|
* Use size_t for HrtfMixer functions' buffer sizeChris Robinson2019-08-201-0/+1
|