839 Commits

Author SHA1 Message Date
Chris Robinson
bc8f206ee1 Use a FlexArray for the context's voices 2019-06-09 18:13:54 -07:00
Chris Robinson
2e154069c6 Use a bitfield for the device flags 2019-06-08 23:49:15 -07:00
Chris Robinson
1569b79c5d Fix for GCC 5.4 2019-06-08 02:17:08 -07:00
Chris Robinson
91b7e8142c Simplify DistanceComp somewhat 2019-06-08 01:39:28 -07:00
Chris Robinson
24df52c042 Remove the per-voice ChannelsPerOrder field 2019-06-05 23:00:28 -07:00
Chris Robinson
1ce310c6d1 Make some more channel counts unsigned 2019-06-05 19:26:54 -07:00
Chris Robinson
410a5ca621 Make RealMixParams channel count unsigned 2019-06-05 18:54:17 -07:00
Chris Robinson
4522a51ea2 Don't log the function or prefix
It's ultimately unnecessary since the message is an indicator about where it
was logged from. The message itself is generally more important than where it
was from, too.
2019-06-04 01:37:36 -07:00
Chris Robinson
c80ee5b701 Use std::array for most mixing buffer arrays 2019-05-28 16:22:36 -07:00
Chris Robinson
f57fedec7f Get rid of the COUNTOF macro 2019-05-26 21:28:51 -07:00
Chris Robinson
b502bbaf5c Change the default period size to 20ms 2019-04-26 18:56:54 -07:00
Chris Robinson
f23ff0394d Specify the buffer size as itself instead of the period count
Certain backends don't need a buffer size to be a strict multiple of the period
count, which allows a little more flexibility. The period/update size simply
acts as the minimum request, which helps control CPU load by determining how
often parameter and other pre-mixing updates are processed.
2019-04-26 15:58:25 -07:00
Chris Robinson
d04f9326c9 Change RealMixParams::ChannelName to better reflect its use 2019-04-02 16:06:45 -07:00
Chris Robinson
cc91490b61 Use a temporary buffer for HRTF filter accumulation
Similar to the history buffer, to avoid using the state buffer as a ring
buffer.
2019-03-29 11:33:04 -07:00
Chris Robinson
dfb81ff42d Avoid using the HRTF history buffer as a ring buffer
The HRTF mixers now get a full input buffer with the history prepended, so the
delay offsets just need to account for the start point and read forward for
each sample.
2019-03-28 09:34:31 -07:00
Chris Robinson
2c37d4fae1 Move an enum to a more appropriate header 2019-03-26 10:08:26 -07:00
Chris Robinson
92adfaebce Fix a comment typo 2019-03-22 18:37:47 -07:00
Chris Robinson
90465e9124 Use a sorted vector for devices instead of a linked list 2019-03-19 15:56:30 -07:00
Chris Robinson
9695952c8d Rename DevProbe enum names 2019-03-19 00:24:54 -07:00
Chris Robinson
d31514f8be Move some inline functions from alMain.h to alnumeric.h 2019-03-18 22:06:01 -07:00
Chris Robinson
3e816de4fb Use SSE intrinsics in a few more places 2019-03-18 20:58:48 -07:00
Chris Robinson
2d14de3fb0 Use more specific names for temp buffer storage 2019-03-02 23:41:26 -08:00
Chris Robinson
cadff0f6c1 Reduce BUFFERSIZE to match the default period size
Also adds a bit more space to the temp source data buffer, to avoid needing to
loop on matching sample rates.
2019-02-24 16:13:51 -08:00
Chris Robinson
317206e8f3 Remove the FOAOut mixing buffer and associated post-processes 2019-02-22 22:35:37 -08:00
Chris Robinson
69f6f56160 Avoid using internal AL[u]int64 types 2019-02-11 12:16:58 -08:00
Chris Robinson
21aaa18c50 Get rid of the FAM_SIZE macro 2019-02-11 11:14:34 -08:00
Chris Robinson
995c9649cb Move some number-related stuff to a separate header 2019-02-11 11:07:06 -08:00
Chris Robinson
867161d55f Constify some parameters 2019-01-12 21:08:34 -08:00
Chris Robinson
b49c45d3a4 Add prefixes for ALCdevice and ALCcontext 2019-01-09 00:31:57 -08:00
Chris Robinson
173c97c2db Remove an unused macro 2019-01-08 21:51:56 -08:00
Chris Robinson
d7eee03272 Replace a couple more C-style casts 2019-01-08 19:08:03 -08:00
Chris Robinson
4d047e2bc1 Use user-defined literals for 64-bit literals 2019-01-07 04:06:40 -08:00
Chris Robinson
648b76ed65 Move some macros to a common header 2019-01-07 01:12:09 -08:00
Chris Robinson
3f35fcc4b5 Simplify MixParams and AmbiUpsampler
Since the dry buffer is always an ambisonic target now
2019-01-05 21:59:04 -08:00
Chris Robinson
399dfca1e3 Rename ALCdevice_struct and ALCcontext_struct
A (possibly contentious?) change in the public headers. Those names were never
part of any specification, and I don't know why the struct names differed from
the actual type name. But with C++, which takes the original struct declaration
as the original name, it was affecting the type's internal symbols.

This shouldn't affect user code since ALCdevice_struct and ALCcontext_struct
were never part of the spec. If issues arise from this change, it should be
reported.
2019-01-01 18:13:33 -08:00
Chris Robinson
5e03941701 Use an atomic bool on things that only take true or false 2018-12-30 21:58:14 -08:00
Chris Robinson
9f5c9a2260 Rename BackendLock to StateLock 2018-12-30 21:38:42 -08:00
Chris Robinson
71a4d6db6f Return a unique_ptr for the backend 2018-12-29 02:16:16 -08:00
Chris Robinson
3d92e8c4df Convert the backends to use proper inheritence 2018-12-28 22:56:20 -08:00
Chris Robinson
c3f370fa41 Constify and reorder a couple device fields 2018-12-27 10:25:09 -08:00
Chris Robinson
208ea76922 Cleanup some includes 2018-12-25 11:09:41 -08:00
Chris Robinson
fbae41020d Remove extraneous typedef, struct, and enum keywords 2018-12-24 19:29:01 -08:00
Chris Robinson
ae86aef4db Provide effect target parameters through a common struct 2018-12-24 13:29:36 -08:00
Chris Robinson
68352d3188 Apply the limiter before distance compensation 2018-12-24 07:30:01 -08:00
Chris Robinson
87724db6e3 Rename a couple HRTF structs 2018-12-22 09:20:50 -08:00
Chris Robinson
7744e4ff72 Pass RealMixParams by reference instead of pointer 2018-12-20 13:26:39 -08:00
Chris Robinson
0214a11024 Use inline methods for the device format sizes 2018-12-19 05:57:36 -08:00
Chris Robinson
b49e8985a4 Don't hardcode the channel count from the device ambisonic order 2018-12-19 03:13:15 -08:00
Chris Robinson
e2896dc839 Combine handling of attribute processing 2018-12-18 09:27:00 -08:00
Chris Robinson
e0f635b20d Move some ambisonic-related macros to a separate header 2018-12-15 03:30:47 -08:00