6788 Commits

Author SHA1 Message Date
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