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