Chris Robinson
462e320847
Make sure the B2A matrix has enough values for the input count
2019-02-21 03:31:24 -08:00
Chris Robinson
d95e144c48
Remove some now-unnecessary ReverbState fields
2019-02-21 03:07:36 -08:00
Chris Robinson
4b4041319d
Pass the number of input channels to EffectState::process
2019-02-21 02:57:39 -08:00
Chris Robinson
615446d6d5
Ensure the device's mAmbiOrder is always set appropriately
...
The Dry target is always ambisonic, so set its order correctly.
2019-02-21 01:23:11 -08:00
Chris Robinson
3966665ca3
Store effect slots in groups of 64
...
Now that their wet buffers are allocated dynamically, the ALeffectslot object
itself is rather small.
2019-02-20 22:00:26 -08:00
Chris Robinson
c43381d811
Allocate the effect slot wet buffer dynamically
2019-02-20 21:01:08 -08:00
Chris Robinson
77ba61ecb3
Partially handle non-periphonic reverb input
2019-02-19 22:55:43 -08:00
Chris Robinson
87902fa3b2
Use the right macro for the number of reverb panning gains
2019-02-19 20:51:10 -08:00
Chris Robinson
194fcb6bb7
Rename MAX_AMBI_COEFFS and MAX_AMBI2D_COEFFS
2019-02-19 15:39:33 -08:00
Chris Robinson
a75bc26173
Reduce some indenting
2019-02-19 02:30:01 -08:00
Chris Robinson
2c04095d22
Apply the upsampler's all-pass when mixing the band-split samples
2019-02-19 02:05:35 -08:00
Chris Robinson
d713f5f828
Clean up some AmbiUpsampler initialization
2019-02-19 01:59:30 -08:00
Chris Robinson
69ab36cc14
Avoid a temp buffer for the distance compensation delay
2019-02-17 00:43:10 -08:00
Chris Robinson
c95d6a5d8c
Apply phase correction to the ambisonic decoder HRIRs
...
This preserves the original phase of the HRIR frequencies for decoding the
ambisonic signal. This should help prevent extra coloration from the band-
splitter used to scale the HF response.
2019-02-16 22:57:38 -08:00
Chris Robinson
69f6f56160
Avoid using internal AL[u]int64 types
2019-02-11 12:16:58 -08:00
Chris Robinson
995c9649cb
Move some number-related stuff to a separate header
2019-02-11 11:07:06 -08:00
Chris Robinson
69d8c6546d
Use std::arrays for HRIR coeffs and values
2019-02-07 08:38:49 -08:00
Chris Robinson
b371862fb2
Simply setting a couple indices
2019-02-04 22:17:28 -08:00
Chris Robinson
05cdc2cb30
Use relaxed memory ordering for initializing atomic_flags
2019-02-04 21:28:37 -08:00
Chris Robinson
e104f580b3
Use a unique_ptr to store the loaded HrtfEntry
2019-02-04 21:22:43 -08:00
Minmin Gong
41b9d473a2
Fix compiling problems on VS2019 with vc142 toolset
...
Msvc142 in VS2019 preview 2 doesn't allow std::atomic_flag to be initialized by a bool. Call test_and_set in the constructors instead.
2019-02-04 20:03:18 -08:00
Chris Robinson
c25433986a
Add missing include
2019-01-29 14:14:52 -08:00
Chris Robinson
613145e900
Calculate the correct evidx for the HRTF B-Format decoder
2019-01-29 03:52:28 -08:00
Chris Robinson
44d72942fb
Load and use all available HRTF fields
2019-01-29 00:42:18 -08:00
Chris Robinson
4c740636c2
Pass the distance to GetHrtfCoeffs
2019-01-28 22:22:34 -08:00
Chris Robinson
2d93a9cdb1
Collect HRTF field info into a struct
2019-01-28 20:43:34 -08:00
Chris Robinson
df5d238e3d
Clean up calculating HRIR indices to blend
2019-01-28 19:39:45 -08:00
Chris Robinson
f98a24fb8a
Don't try to clean up the async ringbuffer if it isn't allocated
2019-01-26 19:29:26 -08:00
Chris Robinson
f5e17bafea
Fix applied scalars for B-Format source mixing
2019-01-26 17:33:57 -08:00
Chris Robinson
b5569d8455
Slight cleanup for NfcFilterCreate4
2019-01-24 10:22:38 -08:00
Chris Robinson
98be1d1bf5
Make IncRef and DecRef member functions
2019-01-24 10:05:37 -08:00
Chris Robinson
7757789590
Clean up the NFC filters a bit
2019-01-23 16:32:53 -08:00
Chris Robinson
ebb46cf4cf
Rename a header
...
To workaround an apparent MSVC error
2019-01-23 15:09:11 -08:00
Chris Robinson
1ec8686407
Add missing includes
2019-01-23 13:46:43 -08:00
Chris Robinson
ce3acf4d1b
Make hrtf_inc.cpp a proper header
2019-01-23 12:33:18 -08:00
Chris Robinson
8429770c3f
Use template declarations for the HRTF mixers
2019-01-23 12:23:05 -08:00
Chris Robinson
d3842a632d
Use template declarations for the normal mixing functions
2019-01-23 11:21:03 -08:00
Chris Robinson
23179d0bcd
Use a template declaration for the resampler functions
2019-01-23 11:11:41 -08:00
Chris Robinson
e332ac8528
Use the farthest of multi-field HRTFs
2019-01-22 21:36:40 -08:00
Chris Robinson
b4a2532ffc
Partially allow loading of multi-field HRTFs
...
Only the first field actually gets used, but all the data is processed when
loading.
2019-01-22 10:27:04 -08:00
Chris Robinson
d1a8607515
Handle a missing default WASAPI device ID
2019-01-18 17:23:46 -08:00
Chris Robinson
101be788e1
Replace a couple more C math calls
2019-01-14 22:30:18 -08:00
Chris Robinson
867161d55f
Constify some parameters
2019-01-12 21:08:34 -08:00
Chris Robinson
5b382a69b6
Avoid implicit conversions from signed to unsigned
2019-01-12 18:08:43 -08:00
Chris Robinson
d64eaba322
Use a flexible array for DirectHrtfState and ALvoice
2019-01-12 01:25:33 -08:00
Chris Robinson
ab16671466
Use a flexible array for HrtfHandle and SampleConverter
2019-01-11 22:09:57 -08:00
Chris Robinson
81e7222633
Use a flexible array for the active effect slots
2019-01-11 07:28:44 -08:00
Chris Robinson
e7d77f5caa
Use a vector for ALeffectslotArray
2019-01-09 18:29:22 -08:00
Filip Gawin
f7fe15e1ce
Use = default
to define trivial dtor/ctor
2019-01-09 19:57:35 +01:00
Filip Gawin
6ddb2c36fc
Remove redundant void argument list in function def
2019-01-09 19:43:54 +01:00