Skip to content

[2024-08-03] makemhr-f67c3ea

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 03 Aug 14:51
· 989 commits to master since this release

Commits

  • edfd2d5: Replace an array with a switch (Chris Robinson)
  • 1b50e79: Store the filter table directly in the cubic filter object (Chris Robinson)
  • 5381eba: Make better use of cache lines for the ringbuffer indices (Chris Robinson)
  • b57fde3: Allow using the total capacity of the RingBuffer (Chris Robinson)
  • 3f09148: Properly use std::hardware_destructive_interference_size (Chris Robinson)
  • d4e5dbf: Fix a bug that playback via portaudio does not work at all (kcat#975) (tyan0) #975
  • 4594ea3: Rename some variables for clarity (Chris Robinson)
  • 119be32: Check that writeAdvance and readAdvance don't over/underflow (Chris Robinson)
  • 6b2df6a: Calculate the ending mix counter value earlier (Chris Robinson)
  • 5be62e2: Pass a span to ApplyDistanceComp (Chris Robinson)
  • 6eae94c: Check if a file exists instead of relying on an exception (Chris Robinson)
  • 1dd3dc4: Explicitly use load and store for atomics (Chris Robinson)
  • 764ffa2: Fix cubic_tables.h includes (Chris Robinson)
  • 67f1220: Collapse some nested ifs (Chris Robinson)
  • cf9957b: Check when resampling to do a simple copy (Chris Robinson)
  • bb4956f: Use a proper type for the resampler padding length (Chris Robinson)
  • 83c66ae: Add voice properties to do left-right panning (Chris Robinson)
  • 7668c35: Make mSampleData an array of floats instead of an array of arrays (Chris Robinson)
  • bb74cce: Reduce the depth of some branches (Chris Robinson)
  • e0f7ed6: Use the correct return type for subspan (Chris Robinson)
  • cb26649: Use spans for preparing samples from buffers (Chris Robinson)
  • 216ad8d: Fix some clang-tidy complaints (Chris Robinson)
  • 379d9cf: Use spans for PPhaseResampler::process (Chris Robinson)
  • d6520c4: Fix PFFFT compilation for PowerPC (kcat#955) (Darryl Pogue) #955
  • 3da6ad5: Move storage format definitions to a separate file (Chris Robinson)
  • 3e19942: Fix up some includes (Chris Robinson)
  • 2907118: Add the _SOFT suffix to the I32 UHJ formats (Chris Robinson)
  • 25aa7b3: Add an in-progress extension for panning sources (Chris Robinson)
  • 976ba8e: Give names to unnamed structs (Chris Robinson)
  • 313318e: Iterate over the async events directly (Chris Robinson)
  • 7821288: Use an iterator to iterate over the channel orders (Chris Robinson)
  • 1330785: Rename some 'pan's to 'gain's for clarity (Chris Robinson)
  • 13e4418: Fix buffer load size for negative buffer offsets (Chris Robinson)
  • 07cd865: Use spans more for voice processing (Chris Robinson)
  • 33781dd: Use spans instead of raw pointers for the filters' output (Chris Robinson)
  • e0be6e5: Remove const from a return type (Chris Robinson)
  • 4a6a081: Avoid some more raw pointers (Chris Robinson)
  • ded3f69: Use a span for the distance compensation buffer (Chris Robinson)
  • 1845789: Use span's iterators for FlexArray (Chris Robinson)
  • bed0fc8: Simplify generating IDs (Chris Robinson)
  • baa75fa: Fix ringbuffer overflow check (Chris Robinson)
  • e5108cf: Use a subspan instead of pointer manipulation (Chris Robinson)
  • 0b8d7d7: Recognize the system device name for PipeWire and PulseAudio (Chris Robinson)
  • 9018fe3: Avoid some pointer arithmetic (Chris Robinson)
  • 59cafb9: Avoid using preexisting enum values (Chris Robinson)
  • 8402823: Make sure a needed header is included (Chris Robinson)
  • 95d07ac: Mark a function maybe_unused that's only used in asserts (Chris Robinson)
  • 7c3f3da: Move some function definitions to a more appropriate source (Chris Robinson)
  • f197e34: Use exceptions to handle buffer errors (Chris Robinson)
  • cb0f00a: Use exceptions for effect slot errors (Chris Robinson)
  • ee8de61: Handle AL errors more consistently (Chris Robinson)
  • 43913b1: Use more consistent parameter names (Chris Robinson)
  • eab5c63: Avoid some pointer arithmetic (Chris Robinson)
  • d84601f: Avoid some more direct pointer manipulation (Chris Robinson)
  • 24a37b9: Make another global variable inline (Chris Robinson)
  • e906f40: Don't pass an iterator where a pointer is expected (Chris Robinson)
  • 28f7b53: Workaround libc++ defining __cpp_lib_hardware_interference_size (Chris Robinson)
  • c118daf: Add a pointer wrapper for al::span's iterators (Chris Robinson)
  • 44f691e: Mark some conditionally-used parameters as maybe_unused (Chris Robinson)
  • 7b67108: Avoid some more direct pointer manipulation (Chris Robinson)
  • e513019: Make a span's contents const (Chris Robinson)
  • a920150: Avoid pointers for calculating B-Format upsampler matrix (Chris Robinson)
  • bc7cb17: Clean up some more raw pointer arithmetic (Chris Robinson)
  • ff1183f: Use spans a bit more in place of pointers (Chris Robinson)
  • 4a74b22: Recognize _M_ARM64 in PFFFT for MSVC NEON support (Chris Robinson)
  • a8ead85: Avoid raw pointers in uhjdecoder/uhjencoder (Chris Robinson)
  • 692d7cb: Don't over-allocate the active effect slot array (Chris Robinson)
  • 535972d: Protect effect slot state changes with the effect slot lock (Chris Robinson)
  • 47c1158: Avoid pointer arithmetic in sofa-info and makemhr (Chris Robinson)
  • 3430d04: Remove unused getopt (Chris Robinson)
  • bcf4d6b: Use a more appropriate type for an array offset (Chris Robinson)
  • ed33eb1: Fix uhjencoder's fallback channel IDs (Chris Robinson)
  • f7c5237: Avoid pointer arithmetic with near-field filter mixing (Chris Robinson)
  • 3e117dc: Avoid pointer arithmetic with HRTF storage (Chris Robinson)
  • 68b135a: Simplify calculating the 90-degree phase shift FIR filter (Chris Robinson)
  • a0e9da2: Remove an unused initializer (Chris Robinson)
  • 94a6230: Don't try to sort an empty list (Chris Robinson)
  • 7af672e: Change a couple string literals to string_view literals (Chris Robinson)
  • 937b9e7: Fix value truncation warning (Chris Robinson)
  • 756b50b: Suppress warnings about using hardware_interference_size (Chris Robinson)
  • d60a9f9: Return a vector of strings for enumeration from the backends (Chris Robinson)
  • 10a8756: Make an operator bool explicit (Chris Robinson)
  • 7dcb770: Avoid repeating the return type (Chris Robinson)
  • 3d4f537: Support mono input files in uhjencoder (Chris Robinson)
  • d000c0b: Use the proper size for the spans in uhjencoder (Chris Robinson)
  • 5979f18: Process 4 samples at a time in PhaseShifterT::process (Chris Robinson)
  • 5b6e0df: Do 4 samples at a time in PhaseShifterT::process for NEON (Chris Robinson)
  • 0552559: Add an aldirect example for the Direct extension (Chris Robinson)
  • 5bc09d3: Minor clean up of some std::generate calls (Chris Robinson)
  • e95c370: Assert for out-of-bounds subspans instead of throwing (Chris Robinson)
  • e2d4f88: Remove some unnecessary RESTRICT uses (Chris Robinson)
  • 361ed79: Pass spans to the mixer functions instead of pointers (Chris Robinson)
  • 739670e: Pass spans to the HRTF mixer functions instead of pointers (Chris Robinson)
  • ee54760: Inline a couple more globals (Chris Robinson)
  • 51fd195: Remove a couple inferred template parameters (Chris Robinson)
  • 55af572: Round up the HRIR length for the SIMD HRTF filter (Chris Robinson)
  • f1606c4: Use spans in place of some pointer and iterator manipulation (Chris Robinson)
  • 7f0a625: Be a bit safer and less explicit with spans (Chris Robinson)
  • d74ffef: Avoid more raw pointer manipulation in uhjfilter (Chris Robinson)
  • f09d9ae: Fix implicit signedness conversion warnings on 32-bit (Chris Robinson)
  • 54ccfd1: Pass spans to the resamplers instead of pointers to arrays (Chris Robinson)
  • 3ad68aa: Rename the cubic resampler to gaussian (Chris Robinson)
  • fdd1643: (Re-)add a cubic spline resampler (Chris Robinson)
  • 2538d6e: Allow specify other channel counts for PortAudio playback (Chris Robinson)
  • 4f1cc80: Add enumeration to the PortAudio backend (Chris Robinson)
  • 9ecf3d0: Update AppVeyor to VS 2022 (Chris Robinson)
  • 6fc04e9: Remove extra '; almalloc.h (kcat#986) (Trung Lê) #986
  • 111397c: Avoid calling std::max in alignas (Chris Robinson)
  • 4dce817: Clean up some temporary span definitions (Chris Robinson)
  • 49da29d: Remove unnecessary NOLINT comments (Chris Robinson)
  • 89ef242: Simplify sorting new elements (Chris Robinson)
  • da17048: Replace a set of ifs with a switch (Chris Robinson)
  • 7f94f6f: Simplify PortAudio device enumeration (Chris Robinson)
  • 9fcc3af: Clean up some asserts and add an alassert (Chris Robinson)
  • 83719b6: Clarify a log message (Chris Robinson)
  • 7dcfe0f: Disable SndIO by default on non-BSD systems (Chris Robinson)
  • ad5519b: Rename FindSoundIO.cmake to FindSndIO.cmake (Chris Robinson)
  • 1f85c86: Rename SoundIO to SndIO (Chris Robinson)
  • 09cf896: Add missing include (Chris Robinson)
  • 617de33: Fix an implicit array-to-pointer decay (Chris Robinson)
  • eb76953: Use spans more in the reverb effect (Chris Robinson)
  • 16d7413: Reduce the number of mutable variables in the reverb all-passes (Chris Robinson)
  • 37f9dbc: Remove an undesireable cast (Chris Robinson)
  • 9647432: Replace a loop with a couple algorithms (Chris Robinson)
  • 48c1bdd: Fixed compilation as a subdirectory with MinGW (kcat#991) (Dominik) #991
  • 82682fa: Avoid interlaced mixing for the non-RT JACK mixing (Chris Robinson)
  • cec43b6: Use a span to register JACK ports (Chris Robinson)
  • db3420f: Ensure the context is connected when probing PulseAudio devices (Chris Robinson)
  • 47aff89: Use std::transform in the mixers instead of loops (Chris Robinson)
  • 660668b: Replace a couple loops with algorithms (Chris Robinson)
  • a44a3f8: Fix reverb main delay fading (Chris Robinson)
  • b4c081d: Convert a few more loops to algorithms (Chris Robinson)
  • c05fc02: Handle a public private enum value in the ALSA backend (Chris Robinson)
  • 7e6074c: Avoid fixed-length paths in the router (Chris Robinson)
  • 394e133: Check ALROUTER_ACCEPT/REJECT for dlls to accept/reject (Chris Robinson)
  • d2ab4fa: Declare variables closer to where they're used (Chris Robinson)
  • eaf824f: Use std::unordered_map for the handle->index map (Chris Robinson)
  • ef33e89: Clean up some clang-tidy warnings in the router (Chris Robinson)
  • c93f045: Use unsigned indices for the iface maps (Chris Robinson)
  • c547df0: Don't include empty names for the router to accept/reject (Chris Robinson)
  • 8240fa5: Properly check for empty paths (Chris Robinson)
  • bf4413a: Reduce the amount of macro hackery for loading functions (Chris Robinson)
  • c86085d: Make sure DriverIface is not copyable (Chris Robinson)
  • 64f8e83: Clean up some clang-tidy header warnings (Chris Robinson)
  • 258bec8: Make the function pointer order consistent with the declarations (Chris Robinson)
  • 8844f7d: Add missing include (Chris Robinson)
  • 8a522c2: Avoid reference-to-function template parameters (Chris Robinson)
  • 0317ce3: Fix some clang-tidy warnings in the WASAPI backend (Chris Robinson)
  • d330bac: Fix more clang-tidy warnings in the dsound and winmm backends (Chris Robinson)
  • aa5954f: Fix narrowing conversion warning for Win32 semaphores (Chris Robinson)
  • 26a06ed: Make some struct methods const (Chris Robinson)
  • 369c2bb: Fix some missing and unnecessary includes (Chris Robinson)
  • 0036434: Remove some explicit inlines (Chris Robinson)
  • 216d99f: Fix some signed/unsigned comparison warnings with MSVC (Chris Robinson)
  • 470b51f: Don't define _POSIX_C_SOURCE or _XOPEN_SOURCE (Chris Robinson)
  • beef249: Remove some RESTRICT uses (Chris Robinson)
  • d39f1e1: Don't check for __restrict in CMake (Chris Robinson)
  • 8032217: Avoid some unnecessary tmp vars (Chris Robinson)
  • 4b49141: Remove an unused cmakedefine (Chris Robinson)
  • 13025e4: Remove unused HAVE_MALLOC_H check (Chris Robinson)
  • b938cce: Remove unused HAVE_INITGUID_H check (Chris Robinson)
  • 1b03e21: Avoid declaring some "C-style arrays" (Chris Robinson)
  • 283b753: Remove a couple unnecessary includes (Chris Robinson)
  • f75cd35: Use a vector instead of a unique_ptr of an array (Chris Robinson)
  • 6ef4186: Fix includes for uhjfilter (Chris Robinson)
  • 6083d9f: Don't inline PhaseShifterT::process (Chris Robinson)
  • 1df283d: Fix vmorpher effect includes (Chris Robinson)
  • 4f32de7: Pass small trivially-copyable types by value (Chris Robinson)
  • 82ccc4f: Use QStringLiteral to avoid extraneous QString copies (Chris Robinson)
  • e8daa5b: Don't use Qt keywords (Chris Robinson)
  • 6b4bbcc: Handle AL effect properties with a variant (Chris Robinson)
  • d24fc10: Use algorithms in place of some loops (Chris Robinson)
  • 44a6fce: Shorten some long lines (Chris Robinson)
  • 857e300: Fill the whole cubic filter table used by reverb and chorus (Chris Robinson)
  • 4f038c0: Reduce the chorus effect output gain (Chris Robinson)
  • 523e73a: Return the calculated delays from Modulation::calcDelays (Chris Robinson)
  • cab5eed: Remove some unnecessary assumes (Chris Robinson)
  • 2143641: Remove some unnecessary enums (Chris Robinson)
  • 6397d1c: Better check EAXReverb support in the alreverb example (Chris Robinson)
  • 10a8f30: Use a variant to select between temp source handle storage (Chris Robinson)
  • 41e7f27: Make sure struct members are initialized (Chris Robinson)
  • 606622c: Remove an unneeded include (Chris Robinson)
  • 5511923: Avoid unnecessary templates (Chris Robinson)
  • 7e5ac15: Remove some more unnecessary includes (Chris Robinson)
  • b8b992c: Add bottom speaker labels (Chris Robinson)
  • 6fa3560: Add support for 7.1.4.4 (Chris Robinson)
  • 4ddfec9: Prevent copying polymorphic base classes (Chris Robinson)
  • 844c2d7: Remove a couple unused macros (Chris Robinson)
  • 7ccf46d: Make sure a struct is properly copied (Chris Robinson)
  • 4953c23: Remove some unneeded templates and macros (Chris Robinson)
  • af27f0e: Exception types need to be copyable (Chris Robinson)
  • bf5fe65: Include a more appropriate header for PipeWire (Chris Robinson)
  • b33366a: EaxException should be copyable too (Chris Robinson)
  • a0e238f: Don't require the effect slot to be stopped to set a buffer (Chris Robinson)
  • 2719ce2: Remove the effect slot play/stop functions (Chris Robinson)
  • 2604ffa: Return an appropriate type from a copy assignment operator (Chris Robinson)
  • 22c9b2d: Clean up some includes (Chris Robinson)
  • 6d5d9a8: Adjust the commented defaults in the alsoft config sample (Chris Robinson)
  • fddfbb6: Don't lock the device state when preparing a new effect state (Chris Robinson)
  • e72f76a: Replace a couple loops with algorithms (Chris Robinson)
  • e8191a1: Replace some more for loops with algorithms (Chris Robinson)
  • dcfc09a: Update some includes (Chris Robinson)
  • f21e916: Recognize EAX5 flags when setting them (Chris Robinson)
  • 5916ec1: Use std::to_address if available (kcat#1002) (Yuriy Chernyshov) #1002
  • aca1d42: Define ALSOFT_EAX using target_compile_definitions instead of config.h (Chris Robinson)
  • 61ff213: Use std::string for the disconnect event message (Chris Robinson)
  • 510a0c3: Double the async event queue size (Chris Robinson)
  • f91c044: Do a checked span truncation (Chris Robinson)
  • 3c9cb48: Return *this from an assignment operator (Chris Robinson)
  • 895e38a: Don't redeclare the same spans (Chris Robinson)
  • ac2983f: Declare some deprecated but exported functions (Chris Robinson)
  • 1f672eb: Flip the sign for the super stereo phase shift components (Chris Robinson)
  • ae19ff2: Fix reading uints from PropVariant (Chris Robinson)
  • ef13491: Workaround an alignment issue for 32-bit MinGW targets (Chris Robinson)
  • 0134982: Add EXCLUDE_FROM_ALL property when adding Oboe from source (kcat#1014) (Hugo Hromic) #1014
  • d1af692: Update (timeester3648)
  • c410017: Update (timeester3648)
  • 7d8bb35: Update submodule (timeester3648)
  • 919ccec: Update submodule (timeester3648)
  • 7855041: Update (timeester3648)
  • 683f408: Update (timeester3648)
  • 71d3c81: Redirect cubic to spline when loading alsoft.ini (kcat#1018) (Andrew Lamontagne) #1018
  • 9fbffd7: Construct a string in a try block (Chris Robinson)
  • 6e82f31: Properly get a span from an array (Chris Robinson)
  • 9ed03c4: Add I32 for B-Format buffer formats to AL_EXT_32bit_formats (Chris Robinson)
  • 0ee47a1: Update alsoft-config's "cubic" fallback (Chris Robinson)
  • a77a395: Remove identity casts (Chris Robinson)
  • 142cf53: Fix some iterator and span uses (Chris Robinson)
  • baba766: Update submodule (timeester3648)
  • 59b275a: Trace the ambisonic output format (Chris Robinson)
  • a707e9a: Use a hexagon for first-order 2D upsampling (Chris Robinson)
  • aafaf6c: Recreate the PortAudio stream when resetting (Chris Robinson)
  • 3b10c6f: Add a LAF file player example (Chris Robinson)
  • a93915c: Use std::accumulate instead of std::reduce (Chris Robinson)
  • a3dff1d: Fix max enable bit check (Chris Robinson)
  • 6dc6669: Add a byteswap method (Chris Robinson)
  • f83b054: Support big-endian targets in allafplay (Chris Robinson)
  • cca3d47: Check for AL_EXT_FLOAT32 support before using it (Chris Robinson)
  • 1318bea: Support 24-bit LAF files (Chris Robinson)
  • 0b528bc: Be more robust when looking for LAF files' HEAD marker (Chris Robinson)
  • efd2e8f: Reopen the SDL device when resetting it (Chris Robinson)
  • 6f9db5c: Set the device name when opening the default device with SDL2 (Chris Robinson)
  • 7b26a76: Update some github action versions (Chris Robinson)
  • a546042: Replace a couple for_each uses to workaround a MSVC 2019 bug (Chris Robinson)
  • a217938: Pass a span to Compressor::process (Chris Robinson)
  • b49ab7c: Allow sample-accurate start times (Chris Robinson)
  • 105f885: Correctly get the NFC sample buffer (Chris Robinson)
  • a56689d: Use a loop in ApplyCoeffs for NEON (Chris Robinson)
  • 9e799a1: Use the correct type to offset an iterator (Chris Robinson)
  • f67c3ea: Update (timeester3648)