61 Commits

Author SHA1 Message Date
Chris Robinson
87ccdf02a7 Avoid strcpy 2019-06-06 04:39:30 -07:00
Chris Robinson
1ce310c6d1 Make some more channel counts unsigned 2019-06-05 19:26:54 -07:00
Chris Robinson
b2735331c0 Use a 16-sample base delay for the B-Format decoder IRs 2019-06-04 20:27:32 -07:00
Chris Robinson
9d861406c0 Avoid a separate struct for the bandsplitter all-pass 2019-06-04 17:50:36 -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
ebf33b7c6b Avoid some uses of RESTRICT 2019-05-25 08:17:37 -07:00
Chris Robinson
1f45cc051a Fix some truncation warnings with MSVC 2019-05-24 06:47:24 -07:00
Chris Robinson
b46eca97a6 Use a span for resource data 2019-05-23 08:17:05 -07:00
Chris Robinson
6708504026 Properly reverse the HRTF field order when loading it
And combine a couple arrays into an array structure
2019-05-22 11:07:12 -07:00
Chris Robinson
b48bab3394 Allow initializing splitter filters with constructors 2019-05-22 03:03:24 -07:00
Chris Robinson
629cfa04a3 Fix some integer truncation warnings in MSVC 2019-04-12 19:19:24 -07:00
Chris Robinson
4b95d310ae Remove the SZFMT macro
C++11 mandates the %zu/d formatter
2019-04-11 16:01:11 -07:00
Chris Robinson
5e6e738681 Change references of makehrtf to makemhr 2019-03-24 17:35:32 -07:00
Chris Robinson
12999f9efe Simplify calculating azimuth and elevation indices for HRTF 2019-03-14 22:26:19 -07:00
Chris Robinson
9f5a7a7a50 Fix wrapping for the upper HRIR index 2019-03-14 13:17:07 -07:00
Chris Robinson
e4b76d2627 Reverse the HRTF field array
Most often a sound's distance will be beyond the farthest field measurement, so
It's more efficient to have the farthest field first and avoid looping through
the whole field array for them.
2019-02-27 23:13:40 -08:00
Chris Robinson
194fcb6bb7 Rename MAX_AMBI_COEFFS and MAX_AMBI2D_COEFFS 2019-02-19 15:39:33 -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
69d8c6546d Use std::arrays for HRIR coeffs and values 2019-02-07 08:38:49 -08:00
Chris Robinson
e104f580b3 Use a unique_ptr to store the loaded HrtfEntry 2019-02-04 21:22:43 -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
98be1d1bf5 Make IncRef and DecRef member functions 2019-01-24 10:05:37 -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
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
673983dc5d Make Create methods for structs with flexible array members ...
... that are used with unique_ptr.
2019-01-08 23:44:08 -08:00
Chris Robinson
0c3662d8b2 Fix some comments and reduce indentation 2019-01-08 17:21:22 -08:00
Filip Gawin
0d3a0635d9 Avoid using old style casts
To think about:
examples/alffplay.cpp:600
OpenAL32/Include/alMain.h:295
2019-01-08 19:42:44 +01:00
Chris Robinson
13056b45b0 Revert back to using a band-splitter to increase the HF response
Unfortunately the shelf filter causes issues due to the shelf gain magnitude
creating a varying phase offset. The splitter also creates phase offsets, but
it's consistent regardless of gain.
2019-01-06 05:15:11 -08:00
Chris Robinson
da3a916042 Replace macros with constexpr inline functions 2019-01-06 04:16:51 -08:00
Chris Robinson
98f3e6a162 Remove an unnecessary undef 2019-01-06 02:49:24 -08:00
Chris Robinson
e645d25b62 Use double-precision biquads for the HRTF shelf filters 2019-01-06 00:54:39 -08:00
Chris Robinson
03aeb7edf6 Use a shelf filter for the HRTF B-Format decoder HF scale 2019-01-06 00:23:15 -08:00
Chris Robinson
2f1566e0b4 Add and use a make_unique function 2019-01-01 14:33:01 -08:00
Chris Robinson
87724db6e3 Rename a couple HRTF structs 2018-12-22 09:20:50 -08:00
Chris Robinson
985d03d13d Try to help GetHrtfCoeffs vectorize 2018-12-21 21:07:42 -08:00
Chris Robinson
5e4378f30a Small cleanup for BuildBFormatHrtf 2018-12-21 18:17:59 -08:00
Chris Robinson
3553ce1f67 Don't convert the HRTF decoder virtual speaker positions to radians 2018-12-21 08:55:22 -08:00
Chris Robinson
0d73b13f59 Add more casts for MSVC 2018-12-12 21:58:41 -08:00
Chris Robinson
d7d9870839 Add default construction to HrtfEntry 2018-12-09 13:36:13 -08:00
Chris Robinson
621f0dfe73 Use a vector for LoadedHrtfs 2018-12-09 03:04:18 -08:00
Chris Robinson
e5db9b2378 Avoid static global initialization functions 2018-12-08 21:58:44 -08:00
Chris Robinson
e60d0886d0 Use class methods for BandSplitter and SplitterAllpass filters 2018-12-05 15:38:05 -08:00