Skip to content

OpenAL Soft v1.24.0

Latest
Compare
Choose a tag to compare
@kcat kcat released this 16 Nov 13:23
· 35 commits to master since this release

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