Chris Robinson [Sun, 5 May 2024 00:22:12 +0000 (4 17:22 -0700)]
Remove some explicit inlines
Chris Robinson [Sun, 5 May 2024 00:17:36 +0000 (4 17:17 -0700)]
Fix some missing and unnecessary includes
Chris Robinson [Sat, 4 May 2024 23:54:48 +0000 (4 16:54 -0700)]
Make some struct methods const
Chris Robinson [Sat, 4 May 2024 23:53:27 +0000 (4 16:53 -0700)]
Fix narrowing conversion warning for Win32 semaphores
Chris Robinson [Sat, 4 May 2024 23:26:17 +0000 (4 16:26 -0700)]
Fix more clang-tidy warnings in the dsound and winmm backends
Chris Robinson [Sat, 4 May 2024 22:01:23 +0000 (4 15:01 -0700)]
Fix some clang-tidy warnings in the WASAPI backend
Chris Robinson [Sat, 4 May 2024 20:39:05 +0000 (4 13:39 -0700)]
Avoid reference-to-function template parameters
Chris Robinson [Sat, 4 May 2024 10:27:33 +0000 (4 03:27 -0700)]
Add missing include
Chris Robinson [Sat, 4 May 2024 10:18:52 +0000 (4 03:18 -0700)]
Make the function pointer order consistent with the declarations
Chris Robinson [Sat, 4 May 2024 08:02:31 +0000 (4 01:02 -0700)]
Clean up some clang-tidy header warnings
Chris Robinson [Sat, 4 May 2024 04:24:18 +0000 (3 21:24 -0700)]
Make sure DriverIface is not copyable
Chris Robinson [Fri, 3 May 2024 23:09:49 +0000 (3 16:09 -0700)]
Reduce the amount of macro hackery for loading functions
Chris Robinson [Fri, 3 May 2024 22:34:25 +0000 (3 15:34 -0700)]
Properly check for empty paths
Chris Robinson [Fri, 3 May 2024 20:41:37 +0000 (3 13:41 -0700)]
Don't include empty names for the router to accept/reject
Chris Robinson [Fri, 3 May 2024 05:58:01 +0000 (2 22:58 -0700)]
Use unsigned indices for the iface maps
Chris Robinson [Fri, 3 May 2024 03:43:52 +0000 (2 20:43 -0700)]
Clean up some clang-tidy warnings in the router
Chris Robinson [Fri, 3 May 2024 00:11:24 +0000 (2 17:11 -0700)]
Use std::unordered_map for the handle->index map
Chris Robinson [Thu, 2 May 2024 22:58:22 +0000 (2 15:58 -0700)]
Declare variables closer to where they're used
Chris Robinson [Thu, 2 May 2024 20:33:30 +0000 (2 13:33 -0700)]
Check ALROUTER_ACCEPT/REJECT for dlls to accept/reject
Chris Robinson [Thu, 2 May 2024 08:23:38 +0000 (2 01:23 -0700)]
Avoid fixed-length paths in the router
Chris Robinson [Thu, 2 May 2024 04:42:06 +0000 (1 21:42 -0700)]
Handle a public private enum value in the ALSA backend
Chris Robinson [Wed, 1 May 2024 06:02:17 +0000 (30 23:02 -0700)]
Convert a few more loops to algorithms
Chris Robinson [Wed, 1 May 2024 01:10:09 +0000 (30 18:10 -0700)]
Fix reverb main delay fading
Chris Robinson [Wed, 1 May 2024 00:37:56 +0000 (30 17:37 -0700)]
Replace a couple loops with algorithms
Chris Robinson [Sat, 27 Apr 2024 01:30:10 +0000 (26 18:30 -0700)]
Use std::transform in the mixers instead of loops
Chris Robinson [Fri, 26 Apr 2024 20:13:53 +0000 (26 13:13 -0700)]
Ensure the context is connected when probing PulseAudio devices
Chris Robinson [Mon, 22 Apr 2024 09:32:14 +0000 (22 02:32 -0700)]
Use a span to register JACK ports
Chris Robinson [Mon, 22 Apr 2024 09:15:27 +0000 (22 02:15 -0700)]
Avoid interlaced mixing for the non-RT JACK mixing
It just needs to be deinterlaced in the JACK process callback anyway.
Dominik [Sun, 21 Apr 2024 22:15:10 +0000 (22 00:15 +0200)]
Fixed compilation as a subdirectory with MinGW (#991)
Chris Robinson [Sat, 20 Apr 2024 11:59:38 +0000 (20 04:59 -0700)]
Replace a loop with a couple algorithms
Chris Robinson [Sat, 20 Apr 2024 05:06:12 +0000 (19 22:06 -0700)]
Remove an undesireable cast
Chris Robinson [Thu, 18 Apr 2024 04:32:36 +0000 (17 21:32 -0700)]
Reduce the number of mutable variables in the reverb all-passes
Chris Robinson [Tue, 16 Apr 2024 12:24:55 +0000 (16 05:24 -0700)]
Use spans more in the reverb effect
Chris Robinson [Tue, 16 Apr 2024 11:50:18 +0000 (16 04:50 -0700)]
Fix an implicit array-to-pointer decay
Chris Robinson [Mon, 15 Apr 2024 10:52:47 +0000 (15 03:52 -0700)]
Add missing include
Chris Robinson [Mon, 15 Apr 2024 01:38:57 +0000 (14 18:38 -0700)]
Rename SoundIO to SndIO
Chris Robinson [Mon, 15 Apr 2024 01:37:25 +0000 (14 18:37 -0700)]
Rename FindSoundIO.cmake to FindSndIO.cmake
Chris Robinson [Mon, 15 Apr 2024 01:05:55 +0000 (14 18:05 -0700)]
Disable SndIO by default on non-BSD systems
It can still be enabled by setting ALSOFT_BACKEND_SNDIO=TRUE with cmake, but
since it isn't loaded dynamically, don't create a requirement on libsndio when
it's not needed or wanted.
Chris Robinson [Sun, 14 Apr 2024 18:34:29 +0000 (14 11:34 -0700)]
Clarify a log message
Chris Robinson [Sun, 14 Apr 2024 03:12:32 +0000 (13 20:12 -0700)]
Clean up some asserts and add an alassert
Unlike a normal assert, alassert doesn't compile away in Release/NDEBUG builds,
making it useful for checks that must be true for continuing operation but may
not be due to unforeseeable/extenuating circumstances.
Chris Robinson [Sat, 13 Apr 2024 03:07:16 +0000 (12 20:07 -0700)]
Simplify PortAudio device enumeration
Chris Robinson [Tue, 9 Apr 2024 13:52:16 +0000 (9 06:52 -0700)]
Replace a set of ifs with a switch
Chris Robinson [Tue, 9 Apr 2024 12:57:00 +0000 (9 05:57 -0700)]
Simplify sorting new elements
Chris Robinson [Tue, 9 Apr 2024 10:56:21 +0000 (9 03:56 -0700)]
Remove unnecessary NOLINT comments
Chris Robinson [Tue, 9 Apr 2024 09:49:33 +0000 (9 02:49 -0700)]
Clean up some temporary span definitions
Chris Robinson [Tue, 9 Apr 2024 07:45:27 +0000 (9 00:45 -0700)]
Avoid calling std::max in alignas
To work around a bug in older versions of GCC 8 that some systems use.
Trung Lê [Mon, 8 Apr 2024 01:05:15 +0000 (8 11:05 +1000)]
Remove extra '; almalloc.h (#986)
Chris Robinson [Sun, 7 Apr 2024 09:22:50 +0000 (7 02:22 -0700)]
Update AppVeyor to VS 2022
Chris Robinson [Sun, 7 Apr 2024 08:22:10 +0000 (7 01:22 -0700)]
Add enumeration to the PortAudio backend
Chris Robinson [Sun, 7 Apr 2024 05:05:08 +0000 (6 22:05 -0700)]
Allow specify other channel counts for PortAudio playback
The default channel configuration is stereo. The user is responsible for
ensuring the requested channels are compatible with the device configuration
since PortAudio provides no way to check.
Chris Robinson [Sun, 7 Apr 2024 00:35:40 +0000 (6 17:35 -0700)]
(Re-)add a cubic spline resampler
Chris Robinson [Sun, 7 Apr 2024 00:15:39 +0000 (6 17:15 -0700)]
Rename the cubic resampler to gaussian
Chris Robinson [Sat, 6 Apr 2024 23:21:54 +0000 (6 16:21 -0700)]
Pass spans to the resamplers instead of pointers to arrays
Chris Robinson [Fri, 5 Apr 2024 01:12:09 +0000 (4 18:12 -0700)]
Fix implicit signedness conversion warnings on 32-bit
Chris Robinson [Thu, 4 Apr 2024 07:45:47 +0000 (4 00:45 -0700)]
Avoid more raw pointer manipulation in uhjfilter
Chris Robinson [Wed, 3 Apr 2024 01:33:34 +0000 (2 18:33 -0700)]
Be a bit safer and less explicit with spans
Chris Robinson [Tue, 2 Apr 2024 18:52:58 +0000 (2 11:52 -0700)]
Use spans in place of some pointer and iterator manipulation
Chris Robinson [Sun, 31 Mar 2024 22:42:42 +0000 (31 15:42 -0700)]
Round up the HRIR length for the SIMD HRTF filter
Chris Robinson [Sat, 30 Mar 2024 16:19:30 +0000 (30 09:19 -0700)]
Remove a couple inferred template parameters
Chris Robinson [Sat, 30 Mar 2024 13:35:38 +0000 (30 06:35 -0700)]
Inline a couple more globals
Chris Robinson [Sat, 30 Mar 2024 13:20:50 +0000 (30 06:20 -0700)]
Pass spans to the HRTF mixer functions instead of pointers
Chris Robinson [Sat, 30 Mar 2024 10:10:09 +0000 (30 03:10 -0700)]
Pass spans to the mixer functions instead of pointers
Chris Robinson [Sat, 30 Mar 2024 03:22:53 +0000 (29 20:22 -0700)]
Remove some unnecessary RESTRICT uses
Chris Robinson [Fri, 29 Mar 2024 12:13:34 +0000 (29 05:13 -0700)]
Assert for out-of-bounds subspans instead of throwing
Chris Robinson [Fri, 29 Mar 2024 09:01:39 +0000 (29 02:01 -0700)]
Minor clean up of some std::generate calls
Chris Robinson [Fri, 29 Mar 2024 08:56:09 +0000 (29 01:56 -0700)]
Add an aldirect example for the Direct extension
Chris Robinson [Thu, 28 Mar 2024 08:19:18 +0000 (28 01:19 -0700)]
Do 4 samples at a time in PhaseShifterT::process for NEON
Chris Robinson [Thu, 28 Mar 2024 04:54:25 +0000 (27 21:54 -0700)]
Process 4 samples at a time in PhaseShifterT::process
For SSE only for now. I'm not sure yet how to do it efficiently for NEON.
Chris Robinson [Thu, 28 Mar 2024 04:22:32 +0000 (27 21:22 -0700)]
Use the proper size for the spans in uhjencoder
Chris Robinson [Thu, 28 Mar 2024 03:36:26 +0000 (27 20:36 -0700)]
Support mono input files in uhjencoder
Chris Robinson [Tue, 26 Mar 2024 01:59:24 +0000 (25 18:59 -0700)]
Avoid repeating the return type
Chris Robinson [Tue, 26 Mar 2024 00:38:29 +0000 (25 17:38 -0700)]
Make an operator bool explicit
Chris Robinson [Tue, 26 Mar 2024 00:25:28 +0000 (25 17:25 -0700)]
Return a vector of strings for enumeration from the backends
Chris Robinson [Mon, 25 Mar 2024 22:52:58 +0000 (25 15:52 -0700)]
Suppress warnings about using hardware_interference_size
Chris Robinson [Mon, 25 Mar 2024 22:49:28 +0000 (25 15:49 -0700)]
Fix value truncation warning
Chris Robinson [Mon, 25 Mar 2024 20:02:38 +0000 (25 13:02 -0700)]
Change a couple string literals to string_view literals
Chris Robinson [Mon, 25 Mar 2024 06:15:23 +0000 (24 23:15 -0700)]
Don't try to sort an empty list
Chris Robinson [Sun, 24 Mar 2024 22:09:02 +0000 (24 15:09 -0700)]
Remove an unused initializer
Chris Robinson [Sun, 24 Mar 2024 09:04:54 +0000 (24 02:04 -0700)]
Simplify calculating the 90-degree phase shift FIR filter
Chris Robinson [Sun, 24 Mar 2024 08:13:03 +0000 (24 01:13 -0700)]
Avoid pointer arithmetic with HRTF storage
Chris Robinson [Sun, 24 Mar 2024 08:11:59 +0000 (24 01:11 -0700)]
Avoid pointer arithmetic with near-field filter mixing
Chris Robinson [Sun, 24 Mar 2024 07:46:13 +0000 (24 00:46 -0700)]
Fix uhjencoder's fallback channel IDs
Chris Robinson [Sat, 23 Mar 2024 08:32:09 +0000 (23 01:32 -0700)]
Use a more appropriate type for an array offset
Chris Robinson [Sat, 23 Mar 2024 08:08:59 +0000 (23 01:08 -0700)]
Remove unused getopt
Chris Robinson [Sat, 23 Mar 2024 08:06:48 +0000 (23 01:06 -0700)]
Avoid pointer arithmetic in sofa-info and makemhr
Chris Robinson [Thu, 21 Mar 2024 21:26:51 +0000 (21 14:26 -0700)]
Protect effect slot state changes with the effect slot lock
Chris Robinson [Thu, 21 Mar 2024 19:54:52 +0000 (21 12:54 -0700)]
Don't over-allocate the active effect slot array
Rather than hacking in the sorted array by assuming an equal length array after
the end of the active array, include it as the back half of the array.
Chris Robinson [Thu, 21 Mar 2024 06:05:01 +0000 (20 23:05 -0700)]
Avoid raw pointers in uhjdecoder/uhjencoder
Chris Robinson [Thu, 21 Mar 2024 04:29:55 +0000 (20 21:29 -0700)]
Recognize _M_ARM64 in PFFFT for MSVC NEON support
Chris Robinson [Wed, 20 Mar 2024 06:38:48 +0000 (19 23:38 -0700)]
Use spans a bit more in place of pointers
Chris Robinson [Mon, 18 Mar 2024 04:25:04 +0000 (17 21:25 -0700)]
Clean up some more raw pointer arithmetic
Chris Robinson [Sun, 17 Mar 2024 18:14:33 +0000 (17 11:14 -0700)]
Avoid pointers for calculating B-Format upsampler matrix
Chris Robinson [Sun, 17 Mar 2024 04:28:06 +0000 (16 21:28 -0700)]
Make a span's contents const
Chris Robinson [Sun, 17 Mar 2024 04:20:11 +0000 (16 21:20 -0700)]
Avoid some more direct pointer manipulation
Chris Robinson [Sat, 16 Mar 2024 14:55:56 +0000 (16 07:55 -0700)]
Mark some conditionally-used parameters as maybe_unused
Chris Robinson [Sat, 16 Mar 2024 14:51:23 +0000 (16 07:51 -0700)]
Add a pointer wrapper for al::span's iterators
This helps ensure expected behavior for eventually switching to std::span in
C++20, as iterator objects can't be offset with any old integer type.
Chris Robinson [Sat, 16 Mar 2024 14:15:10 +0000 (16 07:15 -0700)]
Workaround libc++ defining __cpp_lib_hardware_interference_size
Older versions of libc++ define the feature test macro
__cpp_lib_hardware_interference_size, but not the
std::hardware_destructive_interference_size and
std::hardware_constructive_interference_size variables it's for. Not sure which
version fixed it, so don't use it at all with libc++ for now.
Chris Robinson [Fri, 15 Mar 2024 19:49:06 +0000 (15 12:49 -0700)]
Don't pass an iterator where a pointer is expected
Chris Robinson [Fri, 15 Mar 2024 18:08:36 +0000 (15 11:08 -0700)]
Make another global variable inline
Chris Robinson [Fri, 15 Mar 2024 08:47:53 +0000 (15 01:47 -0700)]
Avoid some more direct pointer manipulation