Commit Graph

2202 Commits

Author SHA1 Message Date
Lopuska
4a33bbb14d vocal morpher implementation (#312)
* vocal morpher implementation

* compile fix for GCC
2019-07-09 22:14:31 -07:00
Chris Robinson
b95bf8d7c1 Update a comment about the speaker distance 2019-07-06 18:39:26 -07:00
Chris Robinson
c9f6f9652a Avoid looking up source IDs multiple times 2019-07-06 14:59:26 -07:00
Chris Robinson
3fe5ef272f Use a span for MixParams 2019-07-04 15:02:12 -07:00
Chris Robinson
949507c891 Use a span for RealMixParams 2019-07-03 23:26:33 -07:00
Chris Robinson
6bb0edf0a5 Create and use a make_optional method 2019-07-01 17:25:58 -07:00
Chris Robinson
53c13de5ce Simplify some optional usage 2019-07-01 16:28:51 -07:00
Chris Robinson
c21b7e2461 Use explicit storage types for some enums 2019-06-30 17:41:43 -07:00
Chris Robinson
f458642237 Use optionals where methods may not return a valid value 2019-06-30 16:57:10 -07:00
Chris Robinson
7303e22d89 Use a FlexArray for a device's contexts 2019-06-29 21:32:36 -07:00
Chris Robinson
6790a9b44f Use a bool for the TrapALError flag 2019-06-29 11:22:29 -07:00
Chris Robinson
706df72d18 Rename HrtfParams to HrtfFilter 2019-06-18 06:20:35 -07:00
Chris Robinson
0a532729ba Reorganize how some device fields are set and reset 2019-06-15 23:10:11 -07:00
Chris Robinson
c22d537d93 Remove some extern "C" blocks 2019-06-10 21:45:33 -07:00
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