Chris Robinson
5f233a2c24
Use more constexpr variables instead of macros
2020-12-25 20:52:18 -08:00
Chris Robinson
d578bc6cb1
Move logging to core
2020-12-17 02:47:03 -08:00
Chris Robinson
efc9c146c3
Move AsyncEvent to a separate header
2020-12-16 13:58:51 -08:00
Chris Robinson
c96b50fb65
Use a separate enum for the VoiceChange state
2020-12-16 01:40:15 -08:00
Chris Robinson
9435641c0d
Remove unneeded includes
2020-12-15 01:31:09 -08:00
Chris Robinson
56af137ba0
Move fmt_traits to core
2020-12-13 21:12:03 -08:00
Chris Robinson
e179bf0a12
Move the mixer functions to core
2020-12-12 14:58:09 -08:00
Chris Robinson
1ad944555c
Move some HRTF definitions to a separate header
2020-12-12 14:15:17 -08:00
Chris Robinson
1bb7f575f0
Don't modify the IR size of loaded HRTFs
2020-12-11 15:08:50 -08:00
Chris Robinson
50e33ce8f4
Change some macros into constexpr variables
2020-12-04 13:53:56 -08:00
Chris Robinson
69d55d7e03
Move the filters to core
2020-12-04 11:15:50 -08:00
Chris Robinson
aa05feec4a
Avoid a global MAX_PITCH macro
2020-12-04 11:15:50 -08:00
Chris Robinson
8750810f5c
Change a couple macros into constexpr variables
2020-11-28 03:38:20 -08:00
Chris Robinson
b0919240ab
Move some sources to a separate directory
...
To begin separating the ALC interfaces from internal ones.
2020-11-27 19:18:17 -08:00
Chris Robinson
c3cb09aa0c
Avoid AL types in the mixer
2020-11-20 03:59:14 -08:00
Chris Robinson
f85e76285f
Disassociate internal voice enums from AL enums
2020-11-20 01:37:19 -08:00
Chris Robinson
03f9700071
Use BufferStorage for the buffer queue
2020-11-19 04:18:25 -08:00
Chris Robinson
537510afc8
Put the loop start/end in BufferStorage
2020-11-19 03:23:46 -08:00
Chris Robinson
7bb37deb51
Replace the mixer fraction macros with constexpr variables
2020-10-21 17:16:27 -07:00
Chris Robinson
b8f5e1f424
Change some more macros into constexpr variables
2020-10-21 10:39:00 -07:00
Chris Robinson
39f4ea61c5
Add missing linear resampler to the option setting list
2020-09-24 14:21:57 -07:00
Chris Robinson
1f486f820e
Use a separate structure for buffer storage
2020-08-28 00:09:46 -07:00
Chris Robinson
2a01940041
De-duplicate LoadSampleArray and FmtTypeTraits
2020-08-26 21:29:16 -07:00
Chris Robinson
91df03f7eb
Simplify mixer buffer size saturation handling
2020-07-23 09:03:47 -07:00
Chris Robinson
b0e72266b6
Don't round up the dst size when the src size was saturated
2020-06-29 19:41:08 -07:00
Chris Robinson
775187788a
Fix SrcBufferSize calculation when downsampling
2020-06-29 12:34:12 -07:00
Chris Robinson
8d77c59da4
Fade over more of the update with HRTF
2020-05-25 16:57:38 -07:00
Chris Robinson
200c164d78
Improve HRTF delay handling
...
Ensures source-level HRTF, the dry mix, and direct output all align properly,
and simplifies adding the delay in the direct mix output.
2020-05-20 11:13:06 -07:00
Chris Robinson
19baf646d2
Rename applyHfScale to processHfScale
2020-05-19 13:58:55 -07:00
Chris Robinson
be476c7935
Use global placement new for AsyncEvent
2020-04-24 07:04:32 -07:00
Chris Robinson
8739833770
Add a method to process two biquads at once
2020-04-23 22:13:52 -07:00
Chris Robinson
aff410fa6d
Avoid using some more AL types
2020-04-23 04:57:04 -07:00
Chris Robinson
dc41f276d8
Get rid of the specialized MixRow_ methods
2020-04-16 01:47:33 -07:00
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