Chris Robinson
55539787fb
Avoid ALfloat in some places
2020-04-08 06:17:04 -07:00
Chris Robinson
1130597562
Use structs for the mixer and resampler tags
2020-04-03 03:52:23 -07:00
Chris Robinson
963d9b761b
Rename ALvoice and related structs to Voice
2020-03-28 18:15:05 -07:00
Chris Robinson
e8149ec509
Move some setup to a more logical place
2020-03-25 22:24:09 -07:00
Chris Robinson
a27096dd63
Dynamically allocate voice channel data
...
Rather than allocating for a full 8 channels for each voice, when the vast
majority will only need 1 or 2. The voice channel data is relatively big since
it needs to hold HRTF coefficients and history, and this will allow increasing
the maximum number of buffer channels without an obscene memory increase.
2020-03-25 21:06:24 -07:00
Chris Robinson
41b4c06697
Simplify clamping the voice mix size
2020-03-23 11:35:08 -07:00
Chris Robinson
2acdcba8d1
Silence a potential type truncation warning
2020-03-22 10:41:23 -07:00
Chris Robinson
3122c3b4a1
Handle running the buffer callback in the voice
2020-02-17 17:13:25 -08:00
Chris Robinson
c8dfd24818
Add a callback flag for voices
2020-02-17 04:50:00 -08:00
Chris Robinson
3ee0906c81
Use std::array and span for the HRTF delays
2020-02-08 15:00:58 -08:00
Chris Robinson
5324bdb908
Signal the event handler only once per update
2020-01-14 10:39:41 -08:00
Chris Robinson
e889282131
Get rid of an unnecessary struct
2020-01-13 19:45:13 -08:00
Chris Robinson
45e82379a4
Make sure an unmixable source is properly stopped
2020-01-08 06:40:58 -08:00
Chris Robinson
8338d9e197
Use a loop instead of a series of lambda calls
2020-01-05 18:25:50 -08:00
Chris Robinson
54b49594e6
Simplify post-mix HRTF gain storage
2020-01-05 17:12:48 -08:00
Chris Robinson
3b3d3d3a03
Use a span for the band-splitter input
2019-12-25 21:48:58 -08:00
Chris Robinson
f153def941
Pass a span for the biquad filter input
2019-12-25 18:39:22 -08:00
Chris Robinson
de2c64c06f
Pass a span to the NFC filters
2019-12-24 23:41:26 -08:00
Chris Robinson
04b8f2a042
Reorganize some function parameters
2019-12-24 23:36:08 -08:00
Chris Robinson
d2608e4bde
Avoid holding HRTF accumulation samples per-source
...
It notably simplifies things to mix HRTF sources into an accumulation buffer
together, which the Dry buffer's Ambisonic-to-HRTF decode is then added to,
before being mixed to the Real output.
2019-11-03 00:30:33 -07:00
Chris Robinson
f58167e72d
More sanely handle the voice state when mixing
2019-10-14 20:45:23 -07:00
Chris Robinson
acb6baad90
Use std::array instead of plain arrays in a couple places
2019-10-05 21:23:31 -07:00
Chris Robinson
267b79f337
Avoid duplicate structs
2019-10-05 16:11:38 -07:00
Chris Robinson
64e2c377d8
Move ALvoice from alu.h to a separate header
2019-10-02 16:53:23 -07:00
Chris Robinson
d639935e19
Move a couple types to the source they're used in
2019-10-02 15:37:33 -07:00
Chris Robinson
a35cac7ce0
Rename mixvoice.cpp to voice.cpp
2019-10-02 15:29:01 -07:00