7182 Commits

Author SHA1 Message Date
Chris Robinson
b12cd77d32 Use a wait predicate instead of a while loop 2020-08-12 10:00:43 -07:00
Chris Robinson
ed1135f7ae Fix configure-time ffmpeg version detection 2020-08-12 09:48:17 -07:00
Chris Robinson
57d6df29b4 Update .gitignore for QtCreator files 2020-08-11 10:11:20 -07:00
Chris Robinson
529049dc59 Remove an unused variable 2020-08-11 10:06:12 -07:00
Chris Robinson
475ed0f039 Use a FlexArray instead of a vector for distance compensation 2020-08-11 05:59:20 -07:00
Chris Robinson
c549797af0 Make osme things constexpr 2020-08-10 15:11:52 -07:00
Chris Robinson
e8b3e82f96 Change a couple functions into member functions 2020-08-07 06:22:39 -07:00
Chris Robinson
84354c792e Cleanup OSS enumeration and fix duplicate names 2020-08-07 00:11:29 -07:00
Chris Robinson
02f8419663 Fix DIAGNOSTIC_POP for GCC and Clang 2020-08-06 23:20:20 -07:00
Chris Robinson
58a2a5e2e3 Add a comment about 32-bit GCC stack aligning with SSE codegen 2020-08-05 17:43:51 -07:00
Chris Robinson
816510fee7 Update changelog 2020-08-05 07:18:13 -07:00
Luis Cáceres
064710cdf7
Force stack alignment on 32-bit gcc for proper SSE use (#462)
Fixes crashes due to misaligned stack variables in SSE instructions (#460).
2020-08-05 07:16:56 -07:00
Chris Robinson
7ddd49e16a Add the jack/connect-ports option to alsoft-config 2020-08-05 00:43:08 -07:00
Chris Robinson
f138369808 Add an option to auto-connect JACK ports 2020-08-05 00:27:12 -07:00
Chris Robinson
516de157d8 Use std::array instead of some C-style arrays 2020-08-05 00:10:10 -07:00
Chris Robinson
2e1645f32a Print the error from pthread_setschedparam 2020-08-04 12:46:27 -07:00
HALX99
7cac5304c8
Add ios build for travis (#452)
* Add ios build for travis

* fix cmake command and set osx_image: xcode11

* print cmake version

* print cmake version before config

* [iOS] By default use iphoneos for sysroot

* Use ios.toolchain.cmake to build ios

* By default, don't require gnu extension

* Update CMakeLists.txt

Co-authored-by: deal <deal@dealdeMac.local>
2020-08-01 02:52:36 -07:00
Chris Robinson
76c57990be Cleanup and fix a typo in the changelog 2020-07-23 19:20:55 -07:00
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