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
kcat
4acfbfc37a
Merge pull request #435 from DanielGibson/sndio-more-channels
...
sndio: Support more than 2 channels
2020-06-07 10:59:54 -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
7a95a870be
Clarify some changelog entries
2020-05-27 15:46:25 -07:00
Chris Robinson
f1612ce228
Use dual-biquad processing for the equalizer effect
2020-05-26 18:08:57 -07:00
Chris Robinson
9b63e2460c
Update the Changelog
2020-05-26 14:13:02 -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
4d9d406966
Clarify an error message
2020-05-25 02:02:50 -07:00
kcat
070ed0d5ac
Merge pull request #429 from jbeich/ci
...
Add FreeBSD to CI
2020-05-24 11:31:06 -07:00
Jan Beich
c262d0146e
CI: add FreeBSD job
2020-05-24 13:12:18 +00: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
94105409f8
Print why a sofa file couldn't be opened
2020-05-21 13:51:48 -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
463591663c
Check that aligned_alloc is available with cmake
...
Some compilers support C++17 even on targets that lack required functions.
Projects that want to force C++17 will then run into a problem with
std::aligned_alloc not existing on those targets, so it needs to be explicitly
checked for. The alternative is to simply never use it even when it would be
available.
2020-05-19 08:13:13 -07:00
Chris Robinson
400a108ead
Also search for asimd for Neon
2020-05-17 16:23:24 -07:00
Chris Robinson
c75c96ce2d
Assume Neon support if cpu_caps.cpp is compiled with it
2020-05-17 14:14:29 -07:00
Chris Robinson
36aebbb6ae
Include the existing direct signal in the UHJ delay
...
So any direct_channels sources and normal panned sources remain aligned, and
the reported latency is accurate.
2020-05-16 11:35:55 -07:00
Chris Robinson
0f81fafc62
Fix some standard calls
2020-05-16 01:21:09 -07:00
Chris Robinson
d086e78a38
Fix the all-pass's shuffle order
2020-05-14 21:16:21 -07:00
Chris Robinson
91b8387c0a
Give names to parameter value constants
2020-05-13 00:57:03 -07:00
Chris Robinson
f5bf7dc76e
Do two samples at once with the SSE UHJ all-pass
2020-05-12 05:51:48 -07:00
Chris Robinson
ad95cb6312
Clear the whole buffer
2020-05-12 04:46:15 -07:00
Chris Robinson
2f8f829772
Properly count the last number of samples to mix
2020-05-12 04:45:25 -07:00
Chris Robinson
3ce8a9914c
Fix applying the UHJ phase-shift filter
2020-05-11 23:49:39 -07:00
Chris Robinson
2574b98f8a
Move the bsinc tables out of common
2020-05-11 02:24:08 -07:00
Chris Robinson
0406e3bef7
Change a couple functions into member functions
2020-05-10 20:16:43 -07:00