748 Commits

Author SHA1 Message Date
Chris Robinson
229bf45e24 Avoid calling readAdvance in a loop 2021-01-17 03:17:46 -08:00
Chris Robinson
855a8c0cd9 Don't assume the ring buffer's read vector is the next writable space
This is untrue since the ring buffer leaves one element unwritten, so there's
one extra element to be written once a readable element is read.
2021-01-15 18:18:07 -08:00
Chris Robinson
8c4adfd752 Use a span instead of passing a vector by reference 2021-01-11 17:39:57 -08:00
Chris Robinson
1f01311ee3 Make sure proper names are used for querying PulseAudio info 2021-01-10 13:34:05 -08:00
Ilya Fedin
a30d3ad803 Pass nullptr to pulse for default device 2021-01-10 16:23:08 +04:00
Chris Robinson
89906453ea Quickly fade out samples of a stopping voice
Rather than linearly fading out the mix over the mixing update, logarithmically
fade out the post-resampled samples by approx -60dB per millisecond.
2021-01-08 18:54:46 -08:00
Chris Robinson
948ae3bc7e Avoid duplicating an inline template function 2021-01-06 17:52:50 -08:00
Chris Robinson
a9ac165c39 Properly trace the new HRTF delay for the B-Format decoder 2021-01-06 17:19:10 -08:00
Chris Robinson
292de73c75 Use a template to read integers with endian awareness 2021-01-06 17:10:03 -08:00
Chris Robinson
04cd0bc576 Return non-const from the resampler function 2021-01-02 17:37:09 -08:00
Chris Robinson
20ef8bf390 Move cpu_caps and fpu_ctrl to core 2020-12-31 16:47:12 -08:00
Chris Robinson
002c506296 Remove an unnecessary include 2020-12-31 13:15:38 -08:00
Chris Robinson
f2b7a063ef Add NEON-enhanced FIR loops for convolution and UHJ 2020-12-31 13:01:17 -08:00
Chris Robinson
9d354f721c Assume run-time NEON support if detected by cmake 2020-12-31 11:42:02 -08:00
Chris Robinson
96942d7968 Combine multiple functions into one 2020-12-28 08:37:49 -08:00
Chris Robinson
aae115c35a Return an intrusive_ptr from EffectStateFactory::create 2020-12-28 08:04:23 -08:00
Chris Robinson
7fe9d8d20c Remove extraneous semicolor 2020-12-28 02:50:15 -08:00
Chris Robinson
62fa6a2277 Avoid including voice.h in alcontext.h 2020-12-27 16:14:11 -08:00
Chris Robinson
ffa7d1b1a7 Reduce a few lines 2020-12-27 14:37:43 -08:00
Chris Robinson
43d053cb32 Reorder some device fields 2020-12-27 12:23:35 -08:00
Chris Robinson
04358890d9 Use a unique_ptr to hold DistanceComp data 2020-12-27 11:30:45 -08:00
Chris Robinson
adb5467720 Use smaller types for enums 2020-12-27 10:28:59 -08:00
Chris Robinson
cf7f201c92 Reorder some context properties 2020-12-27 03:11:01 -08:00
Chris Robinson
cd2ebb9c3a Use a uint for a bitfield 2020-12-27 01:05:16 -08:00
Chris Robinson
e20143fcc4 Move the WetBuffer reference to EffectSlot 2020-12-27 00:14:58 -08:00
Chris Robinson
507cbfa027 Combine EffectState::deviceUpdate with setBuffer 2020-12-26 12:33:00 -08:00
Chris Robinson
54719de132 Avoid AL enums for the EffectSlot type 2020-12-26 09:21:30 -08:00
Chris Robinson
8850a3f730 Combine variable terms separate from the scaling weights 2020-12-26 06:27:49 -08:00
Chris Robinson
8a86ec8ac5 Add a crossover frequency field for the device
Used when upsampling low-order ambisonic signals to higher order. Rather than a
hardcoded 400hz, it ensures a consistent crossover point when an ambdec
configuration is used. It can also allow for an alsoft config option.
2020-12-26 05:23:08 -08:00
Chris Robinson
5f233a2c24 Use more constexpr variables instead of macros 2020-12-25 20:52:18 -08:00
Chris Robinson
f6e29ce5bb Return an optional for an error 2020-12-25 09:26:24 -08:00
Chris Robinson
78f73a4277 Avoid dynamic vectors in AmbDecConf
Also add a bit more sanity checking
2020-12-25 08:31:02 -08:00
Chris Robinson
eaf209d2f1 Update a comment and type used in the convolution effect 2020-12-25 07:00:57 -08:00
Chris Robinson
204f7d8811 Rename From2D to FromACN2D 2020-12-25 06:40:13 -08:00
Chris Robinson
20820fd01b Move the ambdec loader to core 2020-12-25 06:30:47 -08:00
Chris Robinson
4bc686d89b Remove unnecessary includes 2020-12-24 22:49:55 -08:00
Chris Robinson
0d3b041aa2 Avoid AL types and enums in the effect processors 2020-12-24 22:49:55 -08:00
Chris Robinson
eedc42890f Move alexcpt to core 2020-12-24 22:49:55 -08:00
Chris Robinson
63ea62bea1 Avoid some more AL types 2020-12-24 22:49:55 -08:00
Chris Robinson
6ae0115bf7 Avoid AL/ALC types in the backends 2020-12-17 23:21:45 -08:00
Chris Robinson
5edd5a11fc Don't use ALC error enums for the backend error code 2020-12-17 21:07:53 -08:00
Chris Robinson
7d2e21334c Move the AL error enum out of base_exception 2020-12-17 16:46:21 -08:00
Chris Robinson
4d1ac95ae2 Don't return an enum from captureSamples
It's always no_error
2020-12-17 03:06:52 -08:00
Chris Robinson
d578bc6cb1 Move logging to core 2020-12-17 02:47:03 -08:00
Chris Robinson
f0fe57dc5a Don't link DistanceModel enums to AL values 2020-12-16 14:58:55 -08:00
Chris Robinson
efc9c146c3 Move AsyncEvent to a separate header 2020-12-16 13:58:51 -08:00
Chris Robinson
9710a859fa Add missing include 2020-12-16 03:02:49 -08:00
Chris Robinson
02be0149f1 Send stop events when stopping paused voices 2020-12-16 02:12:18 -08:00
Chris Robinson
c96b50fb65 Use a separate enum for the VoiceChange state 2020-12-16 01:40:15 -08:00
Chris Robinson
5ad28f8cba Move VoiceChange to a separate header 2020-12-16 00:50:50 -08:00