Chris Robinson
2741a94e58
Use rotate to reorder the default list entry
2019-10-28 23:47:30 -07:00
Chris Robinson
d37a294d4c
Add a config option for custom ALSA capture devices
2019-10-27 19:20:26 -07:00
Chris Robinson
101afb1ee4
Convert HRTF field distances to meters when creating storage
2019-10-27 15:50:59 -07:00
Chris Robinson
cac4072781
Change a few more really small gain values to 0
2019-10-26 19:57:17 -07:00
Chris Robinson
0cba99ed1b
Avoid static constexpr for arrays iterated over at run-time
2019-10-25 01:43:23 -07:00
Chris Robinson
5ac1f19241
Don't dereference the end iterator
2019-10-24 21:58:35 -07:00
Chris Robinson
48347f62b5
Don't trace twice for a new HRTF data file
2019-10-24 15:28:28 -07:00
Chris Robinson
f0977e5cc9
Print the found file entries after sorting
2019-10-24 15:10:37 -07:00
Chris Robinson
7bed2fe7cc
Report the real ambisonic order set for HRTF rendering
2019-10-24 14:33:43 -07:00
Chris Robinson
f40e69f9e3
Use a 26-point Lebedev grid for the HRTF ambisonic decode
2019-10-23 23:36:02 -07:00
Chris Robinson
4733fc6f1e
Fix azimuth limit
2019-10-22 15:23:17 -07:00
Chris Robinson
fcde56e1fc
Increase the max elevation and azimuth count for HRTFs
2019-10-21 11:30:39 -07:00
Chris Robinson
f58167e72d
More sanely handle the voice state when mixing
2019-10-14 20:45:23 -07:00
Chris Robinson
33fd1f9efd
Use better types for some specific sizes
2019-10-13 09:37:07 -07:00
Chris Robinson
630d4d573d
Gracefully drain the OpenSL capture buffer on disconnect
2019-10-10 13:33:27 -07:00
Chris Robinson
d2053e6784
Use one PulseAudio mainloop per device
...
To help avoid devices blocking on each other when handling asynchronous
messages.
2019-10-09 23:25:56 -07:00
Chris Robinson
8bf3da0cd2
Remove a useless prebuf check with PulseAudio
2019-10-09 09:45:02 -07:00
Chris Robinson
57cdac3368
Create the initial PulseAudio stream corked
2019-10-09 09:42:35 -07:00
Chris Robinson
404f3e2d08
Don't track the PulseAudio context state in devices
2019-10-09 05:01:30 -07:00
Chris Robinson
b687e952ef
Make C callbacks noexcept
...
No telling what would happen if exceptions managed to get back into presumably
C-based callers.
2019-10-09 03:29:25 -07:00
Chris Robinson
a7c1245360
Use smart pointers for ALSA param handles
...
And simplify some related error handling
2019-10-09 02:16:08 -07:00
Chris Robinson
2842df5a02
Catch exceptions from backend start calls
2019-10-09 00:11:19 -07:00
Chris Robinson
963580c2d5
Never return null from CreateRingBuffer
...
Allocation failure would already throw a bad_alloc anyway, now a size overflow
throws an exception too.
2019-10-08 21:55:03 -07:00
Chris Robinson
7726a06d26
Clean up some exception messages and avoid duplicate log messages
2019-10-08 05:44:38 -07:00
Chris Robinson
360330b2ad
Define some simple wrapper methods inline
2019-10-08 03:41:49 -07:00
Chris Robinson
f4bc3d7ab2
Improve logging for Windows
2019-10-08 00:21:21 -07:00
Chris Robinson
52a003e9bb
Avoid raw lock/unlock calls
2019-10-07 23:22:06 -07:00
Chris Robinson
f0fa6c6baf
Fix BackendVase typo
2019-10-07 22:42:54 -07:00
Chris Robinson
9b411cfcbe
Reduce some indentation
2019-10-07 22:25:45 -07:00
Chris Robinson
02d80cd74d
Use exceptions for backend open failures
2019-10-07 21:37:56 -07:00
Chris Robinson
f8ff4e269b
Put the pragma defines in a separate header
2019-10-07 15:26:35 -07:00
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
2980adb8c0
Make sure the temporary HRIRs are properly aligned
2019-10-01 22:50:28 -07:00
Chris Robinson
a0a55d300f
Remove an unnecessary function
2019-10-01 21:45:44 -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
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