Skip to content

Releases: kcat/openal-soft

OpenAL Soft v1.25.0-32f75fcc

17 Jan 05:19
32f75fc

Choose a tag to compare

Pre-release

Commits

  • 32f75fc: Changed the group of param in command alcGetIntegerv from ContextFloat to ContextInteger (#1230) (ちーず(・8・)けーき) #1230

[2026-01-08] utils-r10345@d8fecf8

08 Jan 23:40

Choose a tag to compare

Pre-release

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

22 Dec 10:28

Choose a tag to compare

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

Full Changelog: 1.24.3...1.25.0

OpenAL Soft v1.24.3

30 Mar 02:01

Choose a tag to compare

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

11 Jan 08:02

Choose a tag to compare

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

28 Nov 04:26

Choose a tag to compare

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

16 Nov 13:23

Choose a tag to compare

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

30 Dec 04:43

Choose a tag to compare

Originally released April 11, 2023

1.22.2 Release

30 Dec 04:41

Choose a tag to compare

Originally released June 27, 2022.