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
Chris Robinson
9e10f632c7
Replace remaining uses of std::vector with al::vector
...
Which uses a custom allocator that uses our allocation functions.
2018-11-24 16:58:49 -08:00
Chris Robinson
c5142530d6
Simplify the RefCount type
2018-11-19 02:17:06 -08:00