59 Commits

Author SHA1 Message Date
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