Commit Graph

753 Commits

Author SHA1 Message Date
Chris Robinson fb6585cf18 Fix handling paused devices with the wave writer backend 2021-01-21 06:51:29 -08:00
Chris Robinson 19adb622ef Simplify a division
The division opcode typically also generates the remainder, making the result
of x%y free with x/y.
2021-01-21 06:27:11 -08:00
Chris Robinson db4de2b56a Avoid declaring some variables multiple times 2021-01-21 06:25:50 -08:00
Chris Robinson 20f5e7c1fa Avoid global constexpr arrays 2021-01-21 04:03:30 -08:00
Chris Robinson 32e0d92c51 Avoid extra copies/work when reading HRTF data 2021-01-20 01:26:55 -08:00
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