2188 Commits

Author SHA1 Message Date
Chris Robinson
ec6fdff0c6 Make the voice count unsigned 2019-06-09 19:27:15 -07:00
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
585b0cf3be Remove the DEF_ALIGN macro 2019-06-06 00:37:00 -07:00
Chris Robinson
24df52c042 Remove the per-voice ChannelsPerOrder field 2019-06-05 23:00:28 -07:00
Chris Robinson
f9da06fc6a Use a span for the effect state's output target 2019-06-05 19:58:58 -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
5f26205f8f Properly destroy other objects 2019-06-05 17:25:08 -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
f0bc9d8a9b Improve alignment handling for the alignment allocator 2019-06-03 22:58:56 -07:00
Chris Robinson
c76fb714cc Restructure voice data members
This should improve access patters by packing each buffer channel's data
together, which is more inline with its use.
2019-06-03 22:24:26 -07:00
Chris Robinson
dbdf516dbf Use a span for the voice's buffer references 2019-05-29 23:06:24 -07:00
Chris Robinson
893ffe9a84 Use span<FloatBufferLine> for MixSamples 2019-05-29 21:58:37 -07:00
Chris Robinson
8af7b4c6e0 Use FloatBufferLine and span<> for MixRowSamples 2019-05-29 20:45:33 -07:00
Chris Robinson
ba449d2b08 Pass a span to MixDirectHrtf instead of a pointer+size 2019-05-29 17:32:16 -07:00
Chris Robinson
b923eb1879 Use FloatBufferLine with the HRTF mixer functions 2019-05-28 22:44:50 -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
219f818b16 Use al::byte for ADPCM decoders 2019-05-24 13:32:20 -07:00
Chris Robinson
674ca3cf24 Move a couple table definitions to where they're used 2019-05-24 12:06:52 -07:00
Chris Robinson
e90a6beaa2 Remove an unnecessary struct member 2019-05-24 06:25:18 -07:00
Chris Robinson
9c63bbd6ce Use raw bytes for the buffer data 2019-05-24 06:12:20 -07:00
Chris Robinson
e3d6f3d988 Use a function to mark a source for updating 2019-05-23 05:06:26 -07:00
Chris Robinson
b48bab3394 Allow initializing splitter filters with constructors 2019-05-22 03:03:24 -07:00
Chris Robinson
515a201e30 Restructure some voice fields 2019-05-17 20:39:28 -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
abcca1acd1 Add exception protection to the last of the API functions 2019-04-10 17:47:13 -07:00
Chris Robinson
1d214dba1e Add exception protection to effect, filter, and buffer functions 2019-04-10 17:33:21 -07:00
Chris Robinson
b4a8615ea9 Add exception protection to the listener functions 2019-04-10 14:16:15 -07:00
Chris Robinson
5ad50e4f8e Add exception protection to context state functions 2019-04-10 13:44:46 -07:00
Chris Robinson
f39d4598b7 Add exception protection to some AL functions 2019-04-10 13:05:21 -07:00
Chris Robinson
55a3f38405 Don't use a fixed size buffer for printed messages 2019-04-09 22:13:21 -07:00
Chris Robinson
e66632b301 Avoid directly using CalcAmbiCoeffs 2019-04-02 20:23:19 -07:00
Chris Robinson
d04f9326c9 Change RealMixParams::ChannelName to better reflect its use 2019-04-02 16:06:45 -07:00
Chris Robinson
8781a32df5 Copy the voice's ambisonic upsampler state when reallocating 2019-04-01 17:27:31 -07:00
Chris Robinson
d8c76ba0c0 Remove a couple unused member variables 2019-03-30 23:41:47 -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
819ec8a653 Rename and move ALeffectProps 2019-03-22 22:48:12 -07:00
Chris Robinson
3a6e741e90 Use MixParams for the wet buffers 2019-03-22 19:25:55 -07:00
Chris Robinson
92adfaebce Fix a comment typo 2019-03-22 18:37:47 -07:00
Chris Robinson
ea8b02dead Pass ALeffectProps directly to the get/setParam* methods 2019-03-22 16:04:13 -07:00
Chris Robinson
e7e585f65c Use the effect state factory to set the default effect props 2019-03-22 15:00:37 -07:00
Chris Robinson
f951f4a66b Implement getDefaultProps for effect state factories 2019-03-22 12:58:24 -07:00
Chris Robinson
935f386982 Use a separate EffectStateFactory for standard reverb 2019-03-22 11:57:32 -07:00