Chris Robinson
39a2f0626a
Use a predicate instead of a while loop
2020-07-23 09:03:47 -07:00
Chris Robinson
ac1fc1b60a
Don't include headers in a namespace definition
2020-07-23 09:03:47 -07:00
Chris Robinson
91df03f7eb
Simplify mixer buffer size saturation handling
2020-07-23 09:03:47 -07:00
kcat
4817d82185
Merge pull request #453 from devnexen/haiku_support_completion
...
GetProcBinary implementation for Haiku.
2020-07-21 10:27:43 -07:00
David Carlier
d3ffaeb8d7
GetProcBinary implementation for Haiku.
2020-07-21 17:22:38 +00:00
Chris Robinson
f409cb4039
Revert "Don't call find_package(WindowsSDK) if the platform ver is already set"
...
This reverts commit c1383e3a48c6b882adb97df2255a0f2938cb2887.
2020-07-09 00:07:33 -07:00
Chris Robinson
c1383e3a48
Don't call find_package(WindowsSDK) if the platform ver is already set
2020-07-08 23:32:24 -07:00
Chris Robinson
da25557ed6
Remove dead code
2020-06-30 16:44:14 -07:00
Chris Robinson
b0e72266b6
Don't round up the dst size when the src size was saturated
2020-06-29 19:41:08 -07:00
Chris Robinson
775187788a
Fix SrcBufferSize calculation when downsampling
2020-06-29 12:34:12 -07:00
Chris Robinson
88ad84edf6
Reduce the MAX_PITCH to 10
...
255 is insanely overkill. The bsinc resamplers fade to silence after a few
octaves, and the others would be a mess.
2020-06-29 11:32:15 -07:00
Chris Robinson
f81558c948
Avoid including windows.h in threads.h
2020-06-28 12:55:55 -07:00
Chris Robinson
31791c9997
Workaround a MinGW quirk
...
Sometimes MinGW defines strncasecmp to _strnicmp in string.h, which can cause
problems with al::strncasecmp if it's not consistently replaced.
2020-06-26 05:39:26 -07:00
Chris Robinson
c4cf84c549
Update default HRTF
2020-06-21 19:41:07 -07:00
Chris Robinson
a0eb532100
Apply simulated HRIR occlusion in the frequency domain
2020-06-21 19:28:37 -07:00
Chris Robinson
967ea42359
Update the default HRTF
2020-06-21 05:01:35 -07:00
Chris Robinson
24393ab192
Synthesize missing elevations in the frequency domain
...
This should help avoid destructive phase interference. The occlusion low-pass
filter is still applied in the time domain due to no clear topology (cutoff
frequency, slope, bandwidth, etc).
2020-06-21 00:29:57 -07:00
Chris Robinson
a01dbeb09f
Use multiple threads for magnitude calculations
...
Also allow user-declarable thread count.
2020-06-19 16:43:09 -07:00
Chris Robinson
bc91e4d302
Update the default HRTF
2020-06-19 15:44:20 -07:00
Chris Robinson
8780976979
Avoid blending multiple IRs for the -90 elevation IR
2020-06-19 15:28:22 -07:00
Chris Robinson
4cd0e333c8
Calculate the HRIR onsets and magnitudes separately from loading
...
This should help improve memory use a bit since the SOFA file can be unloaded
before allocating some temp buffers for onset detection and FFT calculation.
2020-06-17 17:15:26 -07:00
Chris Robinson
3f26ce4a82
Add a makemhr option to use the farthest field only
...
All fields are used for equalization, but only the farthest field is resampled,
reconstructed, normalized, and written to the mhr.
2020-06-17 16:25:40 -07:00
Chris Robinson
beba71a6f9
Resample HRIRs after equalization
2020-06-17 13:03:26 -07:00
Chris Robinson
4cfd63a1c7
Avoid reinitializing the resampler with each HRIR
2020-06-17 01:50:11 -07:00
Chris Robinson
cd6bb65d49
Resample HRTFs in the frequency domain in makemhr
...
This should produce far better results given it works directly on the frequency
response magnitudes prior to phase reconstruction, as it doesn't deal with a
linear phase filter on a truncated time-domain response (with the result also
getting truncated in both direction).
The in-library on-load HRTF resampler still uses the linear filter due to its
relative performance and simplicity benefits. It's good enough as a backup,
though users with custom HRTFs would benefit from resampling when creating the
mhr (adjusting its window size as appropriate/desired).
2020-06-17 01:15:01 -07:00
Chris Robinson
8ea7d5183b
Print the synthesized elevations' azimuth counts
2020-06-16 17:33:26 -07:00
Chris Robinson
b0b720c609
Avoid an unnecessary local variable
2020-06-16 14:01:39 -07:00
Chris Robinson
bd0144065a
Set channel labels from WFX channel masks
2020-06-15 20:21:54 -07:00
Chris Robinson
c142b49981
Print the name of unhandled PulseAudio channels
2020-06-15 14:07:21 -07:00
Chris Robinson
6db6d1510a
Remove the Lower channel labels and rename the Upper labels
2020-06-15 13:49:45 -07:00
Chris Robinson
401a9bacd1
Don't bother with otherwise unused Aux channels
2020-06-15 02:27:29 -07:00
Chris Robinson
540315b07c
Handle the front stablizer with the B-Format decoder
2020-06-15 02:13:14 -07:00
Chris Robinson
c951190d3a
Fix a typo
2020-06-12 12:54:05 -07:00
Chris Robinson
6ce9bf6c94
Move a couple related functions to the backend base
2020-06-12 12:53:47 -07:00
Chris Robinson
26eccd159f
Link with the CoreFoundation framework on iOS
2020-06-11 08:55:52 -07:00
Chris Robinson
ad9fc31bfd
More capitalization fixes
2020-06-11 08:55:24 -07:00
Chris Robinson
df1bdc7bc4
Fix some capitalization
2020-06-11 07:56:45 -07:00
kcat
8fee1da426
Merge pull request #439 from halx99/patch-1
...
Enable to detect Windows SDK v2004
2020-06-11 07:55:53 -07:00
HALX99
3702dcb1d3
Enable to detect Windows SDK v2004
2020-06-11 22:39:47 +08:00
Chris Robinson
15437e3140
Don't export functions when static linking
2020-06-10 21:03:04 -07:00
Chris Robinson
c50250c978
Use a range-for loop instead of for_each
2020-06-09 21:28:09 -07:00
Chris Robinson
b2b3ad570b
Use better types for array lengths
2020-06-09 11:52:48 -07:00
Chris Robinson
46eb353b84
Update changelog
2020-06-07 18:59:49 -07:00
Chris Robinson
b7b52ec28b
Simplify the aligned over-allocation strategy
2020-06-07 15:40:04 -07:00
Chris Robinson
9322c86e2f
Avoid explicit checks for _BitScanForward[64]
2020-06-07 14:15:48 -07:00
Chris Robinson
ab3ccb513a
Check the returned sample endianess with sndio
2020-06-07 11:50:16 -07:00
Chris Robinson
2a324d34be
Fix a return value
2020-06-07 11:47:39 -07:00
Chris Robinson
b4a52321c4
Use a safer layout if sndio changes the channel count
2020-06-07 11:45:06 -07:00
Chris Robinson
c8f67cffc5
Use a more appropriate size value for copying
2020-06-07 11:00:19 -07:00
Chris Robinson
03eb6a01b9
Use a better type for array access
2020-06-07 11:00:19 -07:00