Releases: kcat/openal-soft
Releases · kcat/openal-soft
OpenAL Soft v1.25.0-32f75fcc
[2026-01-08] utils-r10345@d8fecf8
Commits
- e085cce: Fix load MS/IMA ADPCM data crash (#1221) (halx99) #1221
- e2f4b6d: Fix unused variable warnings (Chris Robinson)
- 1b53a12: Simplify some bit packing (Chris Robinson)
- 07f2a11: Fix some math comments (Chris Robinson)
- 2bab001: Fix a comment (Chris Robinson)
- 3330139: Fix bundle ID not set (#1223) (halx99) #1223
- dbf1ba7: Move the convolution allpass to its own header (Chris Robinson)
- 45d9a6c: Add FIR filter options for the TSME's allpass filter (Chris Robinson)
- d8fecf8: Update the stereo encoding tooltip (Chris Robinson)
OpenAL Soft v1.25.0
What's Changed
- Updated library codebase to C++20.
- Fixed alcIsExtensionPresent to do a case-insensitive compare.
- Fixed potential noise when switching reverbs.
- Fixed reverb panning with certain output modes.
- Fixed retrieving the alGetProcAddressDirect extension function.
- Fixed negative source offsets with a callback buffer.
- Fixed a memory issue that could occur in rare situations with looping sources.
- Fixed compiling for and running on older macOS versions.
- Fixed using unicode in environment variable values on Windows.
- Fixed memory alignment issues with 32-bit MinGW builds.
- Fixed a crash in sofa-info with SOFA files that have null strings.
- Updated alsoft-config to Qt6.
- Added build options for STL hardening. Performant checks meant for production are enabled by default.
- Added support for fourth-order ambisonics.
- Added support for CAF files to the Wave Writer backend.
- Added optional support for C++20 modules.
These are intended to be copied into projects wishing to use them, since modules depend on being built with compatible compile flags as the sources they're imported into. - Added a .note.dlopen section to ELF shared library builds to record dynamic dependencies for build maintainers.
- Converted the headers to XML files, which are used to generate the headers (and modules) with a script.
Other scripts can be made to generate bindings for various other languages. - Changed AL_PANNING_ENABLED_SOFT to allow being toggled on playing sources.
- Changed the default period size to 512 sample frames.
- Changed the default Super Stereo width to 0.46.
New Contributors
- @dseomn made their first contribution in #1129
- @a17r made their first contribution in #1132
- @petk made their first contribution in #1184
- @Perksey made their first contribution in #1183
- @fabiangreffrath made their first contribution in #1189
- @MAJigsaw77 made their first contribution in #1201
- @rh101 made their first contribution in #1204
Full Changelog: 1.24.3...1.25.0
OpenAL Soft v1.24.3
A point release largely addressing build problems related to fmtlib integration, along with dynamic WASAPI device enumeration fixes and resampler improvements.
- Fixed using as a static library when linked into another project that uses fmtlib.
- Fixed building with static VC runtimes.
- Fixed building with Windows headers that default to older targets.
- Fixed building on 32-bit targets that use 32-bit file offsets.
- Fixed handling WASAPI enumerated device changes.
- Fixed a crash with UWP builds when __wargv is null.
- Fixed using AL_FORMAT_BFORMAT3D_I32.
- Improved the bsinc resamplers' cutoff frequencies.
- Slightly reduced the aliasing noise in the cubic spline resampler.
- Added new bsinc48 and fast_bsinc48 resampler options.
- Added support for 16KB page sizes on Android.
- Added support for using NFC filters with UHJ output.
Full Changelog: 1.24.2...1.24.3
OpenAL Soft v1.24.2
A point release to address some build compatibility problems, missing features, and bug fixes.
- Implemented the AL_SOFT_bformat_hoa extension.
- Implemented default device change events for the PulseAudio backend.
- Implemented an option for WASAPI exclusive mode playback.
- Fixed reverb being too quiet for sounds from different directions.
- Fixed compiling with certain versions of Clang.
- Fixed compiling for some older macOS versions.
- Fixed building alffplay on systems without pkg-config.
- Improved output format detection for CoreAudio.
- Changed the default resampler back to Cubic Spline.
- Added an SDL3 playback backend. Disabled by default to avoid a runtime dependency and for compatibility; a single process can't safely use SDL2 and SDL3 together on some OSs, so enable with care.
- Converted examples from SDL2 to SDL3.
- Integrated fmtlib into the main library and router for logging and string formatting.
Full Changelog: 1.24.1...1.24.2
OpenAL Soft v1.24.1
A point release to address a runtime error and some build problems.
- Fixed compilation on PowerPC.
- Fixed compilation on some targets that lack lock-free 64-bit atomics.
- Fixed a crash when parsing certain option values.
- Fixed applying noexcept in the public headers with MSVC.
- Fixed building for UWP with vcpkg.
- Improved compatibility when compiling as C++20 or later.
- Integrated fmtlib for some examples and utilities.
Full Changelog: 1.24.0...1.24.1
OpenAL Soft v1.24.0
A long overdue release. This release's highlights include:
- Updated library codebase to C++17.
- Implemented the ALC_SOFT_system_events extension.
- Implemented the AL_EXT_debug extension.
- Implemented the AL_EXT_direct_context extension.
- Implemented speaker configuration and headphones detection on CoreAudio.
- Fixed a potential crash with some extension functions on 32-bit Windows.
- Fixed a crash that can occur when stopping playback with the Oboe backend.
- Fixed calculating the reverb room rolloff.
- Fixed EAX occlusion, obstruction, and exclusion low-pass filter strength.
- Fixed EAX distance factor calculations.
- Fixed querying AL_EFFECTSLOT_EFFECT on auxiliary effect slots.
- Fixed compilation on some macOS systems that lack libdispatch.
- Fixed compilation as a subproject with MinGW.
- Changed the context error state to be thread-local. This is technically out of spec, but necessary to avoid race conditions with multi-threaded use.
- Split the cubic resampler into 4-point spline and gaussian variants. The latter prioritizing the suppression of aliasing distortion and harmonics, the former not reducing high frequencies as much.
- Improved timing precision of starting delayed sources.
- Improved ring modulator quality.
- Improved performance of convolution reverb.
- Improved WASAPI device enumeration performance.
- Added UWP support.
- Added 'noexcept' to functions and function types when compiled as C++. As a C API, OpenAL can't be expected to throw C++ exceptions, nor can it handle them if they leave a callback.
- Added an experimental config option for using WASAPI spatial audio output.
- Added enumeration support to the PortAudio backend.
- Added compatibility options to override the AL_VENDOR, AL_VERSION, and AL_RENDERER strings.
- Added an example to play LAF files.
- Disabled real-time mixing by default for PipeWire playback.
- Disabled the SndIO backend by default on non-BSD targets.
Full Changelog: 1.23.1...1.24.0
1.23.1 Release
Originally released April 11, 2023
1.22.2 Release
Originally released June 27, 2022.