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
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
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
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
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
bf31ce688a
Add a missing header for Android
2019-09-23 19:23:33 -07:00
Chris Robinson
61ffa23e44
Fix a couple more conversion warnings
2019-09-22 21:27:10 -07:00
Chris Robinson
24db8a3f4b
Make the resampler type an enum class
2019-09-22 21:19:19 -07:00
Chris Robinson
95996effaf
Move the ifstream wrapper to common
2019-09-22 12:23:41 -07:00
Chris Robinson
5f6a35c960
Avoid storing an integer in a pointer
...
C++ does not guarantee that, given an int of sufficient size, converting
int->ptr->int will result in the original value. A pointer may have more than
one integer representation. Only ptr->int->ptr round trips are well-defined.
2019-09-21 23:35:24 -07:00
Chris Robinson
9325f1d507
Split some code into separate functions
2019-09-21 21:14:11 -07:00
Chris Robinson
146afcbd70
Explicitly mark a couple functions as inline
2019-09-21 16:12:48 -07:00
Chris Robinson
28e62456ac
Use an array and loop instead of individual tests
2019-09-21 12:08:45 -07:00
Chris Robinson
65eb0987e2
Remove and simplify some functions
2019-09-20 13:35:29 -07:00
Chris Robinson
057b253adb
Use an anonymous namespace instead of static
2019-09-19 21:01:10 -07:00
Chris Robinson
ffb5623ead
Fix a couple more annoying conversion warnings
2019-09-18 20:13:58 -07:00
Chris Robinson
a092624ed3
Fix some Windows warnings
2019-09-18 18:20:11 -07:00
Chris Robinson
9a0a5c79d8
Avoid hiding a class member function
2019-09-18 17:02:33 -07:00
Chris Robinson
66565ca7a3
Enable and fix some more warnings
2019-09-18 10:09:04 -07:00
Chris Robinson
aca9f4e095
Make the bsinc l and m coefficients unsigned
2019-09-17 18:38:46 -07:00
Chris Robinson
1da7512628
Avoid an unnecessary multiply
2019-09-16 21:49:06 -07:00
Chris Robinson
899a414591
Remove the last uses of the system's str[n]casecmp
2019-09-16 15:10:36 -07:00
Chris Robinson
10a841cd7e
Avoid an unused variable
2019-09-16 14:10:48 -07:00
Chris Robinson
2c5c5a5397
Add and use custom string types and functions
2019-09-16 13:45:14 -07:00
Chris Robinson
650764775f
Fix typo
2019-09-16 07:50:39 -07:00
Chris Robinson
fcf850c1dd
Clean up some more conversion warnings
2019-09-16 07:32:13 -07:00
Chris Robinson
bf2c865d39
Clean up some more shadowing warnings
2019-09-16 07:16:31 -07:00
Chris Robinson
e16e2269b6
Add a fallback if SLAndroidDataFormat_PCM_EX isn't available
2019-09-15 20:46:37 -07:00
Chris Robinson
35129d66b7
Clean up the spaghetti mess in alcCaptureSamples
2019-09-15 13:42:56 -07:00
Chris Robinson
a999df8ce5
Rename ALautowah* for consistency
2019-09-15 12:58:58 -07:00
Chris Robinson
47f0d301dc
Make the BackendFactory base destructor protected
2019-09-15 10:22:56 -07:00
Chris Robinson
c5a3c52822
Return and pass more appropriate types for backends
2019-09-15 09:50:28 -07:00
Chris Robinson
e4cc77ea23
Fix a few warnings from MSVC
2019-09-14 20:19:59 -07:00
Chris Robinson
4b8f78a8d6
Fix a few more GCC warnings
2019-09-14 19:42:54 -07:00
Chris Robinson
e82c43fb38
Fix a copy-paste error
2019-09-14 19:07:30 -07:00
Chris Robinson
807d3b64ca
Enable and fix more warnings
2019-09-14 18:35:23 -07:00
Chris Robinson
2cc0600476
Avoid recalculations in the formant filter process
2019-09-14 18:35:23 -07:00
Chris Robinson
d75de6ee4d
Don't hold the pulse lock while not necessary
2019-09-14 18:35:23 -07:00
Chris Robinson
2c348cecb6
Fix some more implicit conversions noted by GCC
2019-09-14 18:35:23 -07:00
Chris Robinson
532197a650
Clean up (most) implicit conversions in the backends
2019-09-14 12:44:35 -07:00
Chris Robinson
fa64b1fd6d
Fix implicit conversions in the effects
2019-09-14 12:16:51 -07:00
Chris Robinson
3675dfcfef
Use an unsigned index value
2019-09-14 08:50:07 -07:00
Chris Robinson
88364dcbc7
Fix more implicit conversions
2019-09-14 08:29:02 -07:00
Chris Robinson
2646f509ee
Store the ambisonic order as unsigned
2019-09-13 20:04:22 -07:00
Chris Robinson
a250b6a986
Return unsigned values from the FromDevFmt functions
2019-09-13 14:29:25 -07:00