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