Chris Robinson
a42a586f0f
Avoid a duplicate array
2020-01-04 00:04:55 -08:00
Chris Robinson
8b3a1ed9e4
Use an array type for the HRIR delay pair
2019-12-30 21:04:10 -08:00
Chris Robinson
cfc8a82951
Load the HRIRs directly into HrirArrays
2019-12-30 20:49:19 -08:00
Chris Robinson
d9e3f0edf6
Avoid declaring a variable early
2019-12-30 19:17:33 -08:00
Chris Robinson
28d2294b07
Workaround for MSVC 2015
2019-12-29 21:49:29 -08:00
Chris Robinson
9fc2f8541b
Don't hardcode the system paths for searching frameworks
2019-12-29 21:03:28 -08:00
Chris Robinson
c1cf10f508
Handle downmixing for mono output
2019-12-29 20:35:47 -08:00
Chris Robinson
9ac8f25a05
Ignore direct channels for mono and B-Format buffers
2019-12-29 19:17:29 -08:00
Chris Robinson
137394c2cf
Make the new direct channel remix extension public
2019-12-28 16:40:10 -08:00
Chris Robinson
701d43b41e
Start a new extension for a new direct_channels state
...
So existing behavior remains consistent for anything that needs it, and new
behavior is opt-in.
2019-12-28 11:33:19 -08:00
Chris Robinson
3b3d3d3a03
Use a span for the band-splitter input
2019-12-25 21:48:58 -08:00
Chris Robinson
06b7c63cef
Fix reverse iterators for spans
2019-12-25 21:48:40 -08:00
Chris Robinson
f153def941
Pass a span for the biquad filter input
2019-12-25 18:39:22 -08:00
Chris Robinson
36c745a514
Fix parameter order
2019-12-25 18:32:53 -08:00
Chris Robinson
0897927419
Make a couple more functions private
2019-12-25 17:09:14 -08:00
Chris Robinson
de2c64c06f
Pass a span to the NFC filters
2019-12-24 23:41:26 -08:00
Chris Robinson
04b8f2a042
Reorganize some function parameters
2019-12-24 23:36:08 -08:00
Chris Robinson
28e68d03d3
Fix a shadowed parameter warning
2019-12-23 23:13:45 -08:00
Chris Robinson
bff6696814
Avoid reading a struct field twice
2019-12-23 23:00:59 -08:00
Chris Robinson
16220be86e
Make a duration type to handle WASAPI reference times
2019-12-22 22:05:47 -08:00
Chris Robinson
8807d373b0
Print the unhandled subformat
2019-12-22 16:38:52 -08:00
Chris Robinson
a671c02b0b
Try harder to find a matching WASAPI configuration
...
As long as the lowest channel bits match the enabled bits for a given
configuration, higher bits from any extra channels can be ignored since they
can be skipped.
2019-12-22 02:52:50 -08:00
Chris Robinson
2e6a55a87c
Handle padding between device sample frames
...
The padding must be constant and sample type aligned (e.g. some fixed multiple
of two bytes between the start of two consecutive frames for 16-bit output).
The intent is to always have the ability for stereo output with WASAPI even if
the device has some other unsupported configuration, as long as front-left and
front-right exist.
2019-12-21 20:43:46 -08:00
Chris Robinson
c2ca617ed6
Use size_t for the compressor channel count
...
And general cleanup of the compressor
2019-12-21 03:21:13 -08:00
Chris Robinson
54e7f48df9
Use unique setters for biquad filter parameters
...
One for whether a slope parameter is used, and one for bandwidth.
2019-12-21 02:02:57 -08:00
Chris Robinson
274fd36edd
Improve gain/hf/lf packing when processing voice updates
2019-12-21 00:48:58 -08:00
Chris Robinson
22bbb14a65
Use a standard bool type
2019-12-19 05:16:56 -08:00
Chris Robinson
4634002104
Remix missing channels with direct channels enabled
...
Instead of dropping them.
2019-12-19 04:38:34 -08:00
Chris Robinson
6480c2c854
Don't apply direct channels with mono output
2019-12-18 23:29:52 -08:00
Chris Robinson
5e35f73cad
Don't process direct channel sources with attenuation
2019-12-17 22:40:49 -08:00
Chris Robinson
a8de1570e9
Update a comment since B-Format input isn't always FuMa
2019-12-17 22:25:00 -08:00
Chris Robinson
466c6faeb5
Correctly scale spatialized B-Format sources
2019-12-17 22:20:38 -08:00
Chris Robinson
0a65ed2190
Use normal panning for B-Format output
...
It can never work since it only uses auxiliary channel labels.
2019-12-17 22:12:47 -08:00
Chris Robinson
2215a4072c
Don't apply stereo panning with direct channels enabled
2019-12-17 21:49:58 -08:00
Chris Robinson
ad9584acc3
Avoid sscanf for parsing config lines
2019-12-14 17:26:58 -08:00
Chris Robinson
ac7a5dcbfa
Use size_t for array indices
2019-12-11 02:44:05 -08:00
Chris Robinson
053de62398
Don't force the HRIR length to a rounded value
...
The coefficient and accumulation buffers are guaranteed large enough for the
full size, and the SIMD handlers will behave the same either way.
2019-12-11 02:24:44 -08:00
Chris Robinson
7d0c01050a
Fix MHR limits
2019-12-11 01:20:00 -08:00
Chris Robinson
4867f93a34
Move duplicate SOFA-related functions to a reusable library
2019-12-11 00:49:57 -08:00
Chris Robinson
ae916929c9
Simplify a status-checking loop
2019-12-10 20:11:11 -08:00
Chris Robinson
47f416efaf
Simplify a couple assignments
2019-12-09 23:11:16 -08:00
Chris Robinson
d6bc56d7c1
Use proper array types instead of C-style arrays
2019-12-09 20:55:54 -08:00
Chris Robinson
a1de05fed7
Avoid global macros for format-secific types
2019-12-09 20:45:11 -08:00
Chris Robinson
e43c2bba61
Don't re-sort the enumerated HRTF list
2019-12-08 22:09:21 -08:00
Chris Robinson
0afb5a2ab9
Update the default HRTF
2019-12-08 19:29:50 -08:00
Chris Robinson
f4b3c3b4da
Simplify a check
2019-12-08 19:23:16 -08:00
Chris Robinson
7ded42cb94
Load SOFA HRIRs in a background thread
2019-12-08 19:17:58 -08:00
Chris Robinson
5942974d47
Report the non-uniform elevations in sofa-info
2019-12-08 17:56:56 -08:00
Chris Robinson
8076fd8aa9
Report the number of IRs used from SOFA files
2019-12-08 17:01:34 -08:00
Chris Robinson
a280373dc1
Improve blended IR delay precision for the B-Format decoder
2019-12-08 16:46:11 -08:00