Chris Robinson
b12cd77d32
Use a wait predicate instead of a while loop
2020-08-12 10:00:43 -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
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
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
Chris Robinson
39a2f0626a
Use a predicate instead of a while loop
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
David Carlier
d3ffaeb8d7
GetProcBinary implementation for Haiku.
2020-07-21 17:22:38 +00: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
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
6ce9bf6c94
Move a couple related functions to the backend base
2020-06-12 12:53:47 -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
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
Daniel Gibson
5cffe7e50a
sndio: Support more than 2 channels
...
So far the sndio backend only supports Mono and Stereo, but sndio
supports up to 16 channels (64 in their current git code).
This adds support for all the openal-soft formats (DevFmt*).
I tested this on Linux with 5.1 surround speakers.
2020-06-07 17:22:51 +02:00
Chris Robinson
70d345bbf2
Avoid convolving an always-0 sample
2020-05-30 16:29:23 -07:00
Chris Robinson
f1612ce228
Use dual-biquad processing for the equalizer effect
2020-05-26 18:08:57 -07:00
Chris Robinson
7b642330c5
Simplify UHJ delay handling
2020-05-26 12:19:19 -07:00
Chris Robinson
8d77c59da4
Fade over more of the update with HRTF
2020-05-25 16:57:38 -07:00
Chris Robinson
4e82feffef
Only apply non-silent inputs for blended HRIR
2020-05-25 16:37:31 -07:00
Chris Robinson
5eb1ae5a14
Simplify the HRTF blending fade out gain scaling
2020-05-25 13:18:10 -07:00
Chris Robinson
1a287f434a
Round the pitch shifter frequency bin targets
2020-05-22 16:36:41 -07:00
Chris Robinson
978f32acf7
Round the scaled HRTF delays
2020-05-21 17:59:15 -07:00
Chris Robinson
109875942c
Slightly increase the HRTF direct delay
...
To help improve the phase-corrected HF scaler.
2020-05-21 15:25:03 -07:00
Chris Robinson
da3dfa2fb0
Simplify handling the stablizer side channel delay
2020-05-21 13:48:50 -07:00
Chris Robinson
e98017b475
Avoid a log10 constant call
2020-05-21 09:46:39 -07:00
Chris Robinson
5bbbe8341e
Use an enum class for SpatializeMode
2020-05-21 09:10:32 -07:00
Chris Robinson
e880c04f32
Clarify a comment about the band-splitter
2020-05-20 11:22:53 -07:00
Chris Robinson
200c164d78
Improve HRTF delay handling
...
Ensures source-level HRTF, the dry mix, and direct output all align properly,
and simplifies adding the delay in the direct mix output.
2020-05-20 11:13:06 -07:00
Chris Robinson
f38b813ba8
Fix some comments
2020-05-19 18:22:38 -07:00
Chris Robinson
19baf646d2
Rename applyHfScale to processHfScale
2020-05-19 13:58:55 -07:00
Chris Robinson
c5e90ed6c7
Use an enum for FamCount
2020-05-19 12:15:57 -07:00
Chris Robinson
825206bfa2
Apply the ambisonic HF scaling in real-time with HRTF
...
Rather than applying the HF scale to the IRs necessitating them to be truncated
along with increasing the IR size, it can be applied to the input signal for
the same results. Consequently, the IR size can be notably shortened while
avoiding the extra truncation. In its place, the delayed reversed all-pass
technique can still be used on the input for maintaining phase when applying
the bandsplit/hfscalar filter to the input signal.
2020-05-19 10:27:52 -07:00
Chris Robinson
a512eae7bb
Move BUFFERSIZE and FloatBufferLine to a separate header
2020-05-19 10:21:19 -07:00
Chris Robinson
400a108ead
Also search for asimd for Neon
2020-05-17 16:23:24 -07:00