Commit Graph

6 Commits

Author SHA1 Message Date
Chris Robinson
23c8a35505 Add and use mixers that process one input and output channel 2023-01-05 01:47:55 -08:00
Chris Robinson
58a18ab3c0 Add a simple wrapper to call the mixer function 2023-01-04 23:18:17 -08:00
Chris Robinson
078b50e0ed Simplify handling effect output for spatial effects
Effects are given a 3D ambisonic buffer of the same order as the device, for
processing surround sound. Effects that pass input channels to matching output
channels as it processes them don't need to mix each input channel to all
output channels.

At most, an input channel may mix to a different output channel, if the target
buffer uses a different channel layout, and need a gain adjustment, if it uses
a different scaling. With a 2D output buffer, a number of channels can be
skipped altogether.
2023-01-04 23:03:15 -08:00
Chris Robinson
ed9408e537 Inline and precompute some CalcDirectionCoeffs calls 2022-08-18 20:37:19 -07:00
Chris Robinson
82c5b741e5 Use proper array sizes for more gains 2022-08-15 12:56:36 -07:00
Chris Robinson
0fe38c053d Move some functions to core
And clean up more includes
2021-04-25 11:36:37 -07:00