6194 Commits

Author SHA1 Message Date
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
53e1415a67 Allow selecting the ambisonic order for basic HRTF rendering 2019-06-02 20:38:43 -07:00
Chris Robinson
8c4a9a5a32 Properly search for prebuilt native-tools 2019-06-01 11:21:43 -07:00
Chris Robinson
20ce461096 Make sure the T60 filter gains are properly clamped 2019-05-31 11:58:48 -07:00
Chris Robinson
6ee49cad52 Once more for MSVC 2019-05-30 18:55:24 -07:00
Chris Robinson
4bae4cbafb Another attempt to fix MSVC 2015 2019-05-30 18:39:51 -07:00
Chris Robinson
a123c87ba5 Avoid some MSVC workarounds that didn't seem to work 2019-05-30 14:38:06 -07:00
Chris Robinson
1c8dfb55d8 Improve span constructor requirements
Particularly, properly account for the const-ness of the data returned by it.
2019-05-30 11:46:48 -07:00
Chris Robinson
76e7c8b244 Try to work around some MSVC short-comings 2019-05-30 10:52:28 -07:00
Chris Robinson
1961828d0b Avoid potentially ambiguous span copy constructor 2019-05-30 10:06:12 -07:00
Chris Robinson
153f133435 Try to fix "ambiguous" initializations with older compilers 2019-05-29 23:41:09 -07:00
Chris Robinson
dbdf516dbf Use a span for the voice's buffer references 2019-05-29 23:06:24 -07:00
Chris Robinson
2909f263fd Use span<FloatBufferLine> for EffectState::process output 2019-05-29 22:31:36 -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
7e6b6d7ad9 Use FloatBufferLine and span<> in the reverb effect 2019-05-29 19:36:06 -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
d0f0a5fdca Separate two HRTF passes into two loops 2019-05-29 11:13:35 -07:00
Chris Robinson
ec3a6f8cde Use FloatBufferLine for the effect process method 2019-05-29 09:37:25 -07:00
Chris Robinson
b923eb1879 Use FloatBufferLine with the HRTF mixer functions 2019-05-28 22:44:50 -07:00
Chris Robinson
838e2bae80 Improve a couple algorithms 2019-05-28 17:18:22 -07:00
Chris Robinson
c80ee5b701 Use std::array for most mixing buffer arrays 2019-05-28 16:22:36 -07:00
Chris Robinson
7ce2b632f5 Simplify template type requirement checking 2019-05-28 08:49:53 -07:00
Chris Robinson
aa4b6afad6 Small cleanup for is_span and is_std_array 2019-05-27 22:01:59 -07:00
Chris Robinson
bac52e9537 Fix default constructor for static-sized spans 2019-05-27 17:48:19 -07:00
Chris Robinson
28fbb5178a Remove unnecessary assignment operators 2019-05-27 15:56:50 -07:00
Chris Robinson
aad49d666a Implement static-sized spans, and handle overload requirements
Note that span is specialized such that a static-sized span only has a single
data member, making it a suitable replacement for  Type (&arg)[Size]  style
variables/parameters.
2019-05-27 15:36:10 -07:00
Chris Robinson
f57fedec7f Get rid of the COUNTOF macro 2019-05-26 21:28:51 -07:00
Chris Robinson
f6f220025b Fix subspan 2019-05-26 21:00:17 -07:00
Chris Robinson
3007fbf5e5 Use a span for loading source samples 2019-05-26 20:05:12 -07:00
Chris Robinson
b0e12ccf71 Ensure a couple calls are constexpr 2019-05-26 15:57:17 -07:00
Chris Robinson
01f717ae59 Use SL_ANDROID_DATAFORMAT_PCM_EX for extended PCM info 2019-05-26 14:45:53 -07:00
Chris Robinson
20e3c78aef Use al::byte instead of char for generic data storage 2019-05-26 12:54:54 -07:00
Chris Robinson
63a130204c Add a few more methods to the span class 2019-05-26 12:05:43 -07:00
Chris Robinson
7cbf82afe4 Avoid a few more NUM_LINES assumptions 2019-05-26 11:34:17 -07:00
Chris Robinson
8ca97a7d9a Move a couple functions into its related class 2019-05-25 11:54:51 -07:00
Chris Robinson
5b5dee07b4 Remove a couple unused functions 2019-05-25 11:36:13 -07:00
Chris Robinson
ebf33b7c6b Avoid some uses of RESTRICT 2019-05-25 08:17:37 -07:00
Chris Robinson
219f818b16 Use al::byte for ADPCM decoders 2019-05-24 13:32:20 -07:00
Chris Robinson
b4fbc271d2 Add byte ops that take an integer-based rhs parameter 2019-05-24 13:30:40 -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
1f45cc051a Fix some truncation warnings with MSVC 2019-05-24 06:47:24 -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
1945b50834 Add a unique byte type for dealing with raw bytes 2019-05-24 06:11:21 -07:00
Chris Robinson
857473b6b0 Store the span extents as a pair of pointers 2019-05-24 04:55:38 -07:00
Chris Robinson
3a9caec72f Use a span for referencing the channel map to initialize 2019-05-23 13:30:16 -07:00
Chris Robinson
517b8158a7 Add a missing include 2019-05-23 08:30:02 -07:00
Chris Robinson
b46eca97a6 Use a span for resource data 2019-05-23 08:17:05 -07:00
Chris Robinson
a4af617532 Add a span class to act as a view to contiguous data 2019-05-23 08:15:02 -07:00