Chris Robinson
acb6baad90
Use std::array instead of plain arrays in a couple places
2019-10-05 21:23:31 -07:00
Chris Robinson
eb89faf963
Use a span instead of a reference-to-array
2019-10-05 20:00:22 -07:00
Chris Robinson
267b79f337
Avoid duplicate structs
2019-10-05 16:11:38 -07:00
Chris Robinson
1bb93f4fc2
Avoid direct function template and alias types
...
It's somewhat ambiguous what they mean. Sometimes acting as a pointer, other
times having weird behavior. Pointer-to-function types are explicitly defined
as such, whereas uses of these tend to be as references (never null and not
changeable).
2019-10-03 04:22:39 -07:00
Chris Robinson
b350ae3766
Remove the Offset parameter from ApplyCoeffs
2019-10-02 22:38:19 -07:00
Chris Robinson
bce6889173
Remove an unnecessary struct specifier
2019-10-02 22:20:34 -07:00
Chris Robinson
324fb8d0b7
Fix a comment
2019-10-02 19:22:14 -07:00
Chris Robinson
58085f1c7b
Clean up some unnecessary includes
2019-10-02 19:13:07 -07:00
Chris Robinson
50198ee30c
Clean up some ALfloat -> float
2019-10-02 17:07:23 -07:00
Chris Robinson
64e2c377d8
Move ALvoice from alu.h to a separate header
2019-10-02 16:53:23 -07:00
Chris Robinson
d639935e19
Move a couple types to the source they're used in
2019-10-02 15:37:33 -07:00
Chris Robinson
a35cac7ce0
Rename mixvoice.cpp to voice.cpp
2019-10-02 15:29:01 -07:00
Chris Robinson
4620912f0f
Don't inline the utf8 converters
2019-10-01 23:33:00 -07:00
Chris Robinson
2980adb8c0
Make sure the temporary HRIRs are properly aligned
2019-10-01 22:50:28 -07:00
Chris Robinson
69eb685dbc
Check for librt earlier
2019-10-01 22:35:33 -07:00
Chris Robinson
accac7950c
Silence some warnings from GCC in the router
2019-10-01 22:22:46 -07:00
Chris Robinson
28d54efe72
Use al::getenv to get the router env vars
2019-10-01 22:15:40 -07:00
Chris Robinson
a0a55d300f
Remove an unnecessary function
2019-10-01 21:45:44 -07:00
Chris Robinson
e2c1602ede
Link the examples with librt if it exists
2019-10-01 19:56:39 -07:00
Chris Robinson
0063f4bfac
Add some allocator fields GCC 6.3 seems to want
2019-10-01 01:49:21 -07:00
Chris Robinson
8f6fafd19a
Update the changelog
2019-09-30 22:23:14 -07:00
Chris Robinson
5d7a1fa6da
Clear the HRTF state values on allocation
2019-09-30 19:29:01 -07:00
Chris Robinson
4d127a2f98
Avoid infs/nans in the crest detector
...
It needs to be investigated why the rendered mix sometimes has such large
sample values when starting, but the compressor/limiter shouldn't generate NaNs
because of it.
2019-09-30 17:29:04 -07:00
Chris Robinson
cf617760b6
Separate a couple assignments from conditionals
2019-09-30 03:03:27 -07:00
Chris Robinson
0139d8a04f
Remove noexcept from a function that explicitly throws
2019-09-30 02:57:19 -07:00
Chris Robinson
c833af9ecd
Repack the bsinc resamplers coefficients
...
This puts the base coefficients and the phase deltas next to each other. This
improves caching, as the base and phase deltas are always used together while
the scales are only used for the non-fast versions.
2019-09-29 23:39:04 -07:00
Chris Robinson
fb56b02041
Modify the bsinc resampler
...
Readjusted the bsinc12 cutoff back to -60dB. Also increased the filter's phase
count.
2019-09-29 22:43:46 -07:00
Chris Robinson
94ff2daafc
Use using to avoid extraneous template instantiations
2019-09-29 16:02:25 -07:00
Chris Robinson
fabb9add9b
Silence an MSVC warning
2019-09-28 23:31:49 -07:00
Chris Robinson
00250042c8
Check MAX_RESAMPLER_PADDING properly to ensure it's large enough
2019-09-28 19:14:27 -07:00
Chris Robinson
7783fa738c
Make the BSincTables constexpr in an anonymous namespace
2019-09-28 16:40:38 -07:00
Chris Robinson
4b746b8d37
Make MAX_RESAMPLER_PADDING specify the total padding
2019-09-28 14:35:42 -07:00
Chris Robinson
31ffb0887c
Don't let a function end without a return
2019-09-28 13:56:51 -07:00
Chris Robinson
2d2e5539c0
Use FastBSinc24 for WASAPI and CoreAudio capture
...
Given a fixed rate, there's no downside to the fast version.
2019-09-28 03:44:13 -07:00
Chris Robinson
cbc00bcffe
Combine two function calls into one
2019-09-28 03:42:17 -07:00
Chris Robinson
f7b574c8f2
Redo resampler strings to be safer
...
Now the name is guaranteed to match the type, and to be ordered as the enum
declares.
2019-09-28 03:15:48 -07:00
Chris Robinson
882b4acae8
Add "fast" variants for the bsinc resamplers
...
This simply omits the scale factor from the filter, similar to how up-sampling
does. The consequence of this is less smooth transitions when ramping the
pitch while down-sampling, but otherwise behaves fine.
2019-09-28 01:58:29 -07:00
Chris Robinson
00d5356b96
Remove the unnecessary FRACTIONONE from bsincgen
2019-09-28 00:01:21 -07:00
Chris Robinson
9b64e5e0db
Implement a "fast" bsinc path
...
This takes advantage of the fact than when increment <= 1 (when not down-
sampling), the scale factor is always 0. As a result, the scale and scale-phase
deltas never contribute to the filtered output. Removing those multiply+add
operations cuts half of the work done by the inner loop.
Sounds that do need to down-sample (when played with a high pitch, or is 48khz
on 44.1khz output, for example), still go through the normal bsinc process.
2019-09-26 19:24:29 -07:00
Chris Robinson
d50ca464cd
Use a span for holding the source handles
2019-09-25 03:01:58 -07:00
Chris Robinson
f009219523
Avoid extraneous parameters
2019-09-25 02:11:37 -07:00
Chris Robinson
5bb91b858f
Use blended HRIRs for the B-Format decode
2019-09-24 22:27:12 -07:00
Chris Robinson
16a715a2b5
Fix unsigned 8-bit buffers
2019-09-24 21:49:12 -07:00
Chris Robinson
6963712d46
Use an array to match the HRTF rendering method
2019-09-24 13:51:40 -07:00
Chris Robinson
96865d6b99
Only build ex-common as needed
2019-09-24 01:16:57 -07:00
Chris Robinson
bf31ce688a
Add a missing header for Android
2019-09-23 19:23:33 -07:00
Chris Robinson
e01b32f8e0
Use istream for makemhr input
2019-09-23 18:37:36 -07:00
Chris Robinson
34a0fad6cd
Use a unique_ptr to auto-free MYSOFA_HRTF
2019-09-23 17:38:43 -07:00
Chris Robinson
4a111f7671
Update changelog
2019-09-22 21:27:59 -07:00
Chris Robinson
61ffa23e44
Fix a couple more conversion warnings
2019-09-22 21:27:10 -07:00