An audio mixer that supports various file formats for Simple Directmedia Layer.
  • C 90.2%
  • C++ 4.8%
  • Perl 1.8%
  • CMake 1.7%
  • Python 1.2%
  • Other 0.2%
Find a file
Ryan C. Gordon 4aab76ed76
mixer: Lock tracks while mixing them.
They previously locked while pulling data from them, but there is a lot more
state involved with mixing after that--including a user callback--that were
running unlocked, and could explode if the app changes various track state
during that time.

Fixes #869.
2026-06-17 19:47:21 -04:00
.github policy: Added LLM policy. 2026-05-10 21:29:54 -04:00
build-scripts test-versioning.sh: check Xcode project MARKETING_VERSION 2026-05-15 09:22:27 -07:00
cmake Add CYGWIN support for DLL library check 2026-05-25 17:14:40 +03:00
docs README-migration: Added some SDL2_mixer functions that were missing. 2026-06-01 09:26:00 -04:00
examples examples: Added categories list, so "advanced" comes after "basics". 2026-05-19 16:50:47 -04:00
external update vendored mpg123 and vorbis. 2026-05-31 23:03:20 +03:00
include/SDL3_mixer Sync SDL3_mixer wiki -> header 2026-05-16 23:16:28 +00:00
mingw/pkg-support/cmake cmake: rename 'SDL3MIXER_' prefix to 'SDLMIXER_' 2024-08-15 22:17:22 +00:00
src mixer: Lock tracks while mixing them. 2026-06-17 19:47:21 -04:00
test testaudiodecoder: Manually close the audio stream during quit. 2026-06-02 14:32:37 -04:00
VisualC VisualC: vorbisfile headers are not present in VisualC's external directory 2026-05-25 21:21:04 +03:00
Xcode Create dSYM debug information for release builds in Xcode 2026-03-15 02:04:42 -07:00
.clang-format Updated .editorconfig and added .clang-format for SDL_mixer 2023-07-03 07:18:24 -07:00
.editorconfig README.txt also uses DOS linefeeds 2023-07-03 07:25:29 -07:00
.gitignore misc: Added changes to hidden files from SDL_remixer that I previously missed. 2025-07-23 20:13:29 -04:00
.gitmodules upgrade vendored libxmp to latest 4.7.0 release 2026-02-25 05:11:50 +03:00
.wikiheaders-options api: Fixed some version API renames I missed. 2025-07-24 12:57:13 -04:00
AGENTS.md policy: Added LLM policy. 2026-05-10 21:29:54 -04:00
Android.mk android: Added Opus support to Android.mk. 2026-03-03 15:46:10 -05:00
CHANGES.txt Updated to version 3.4.0 for release. 2026-03-09 10:18:57 -04:00
CLAUDE.md policy: Added LLM policy. 2026-05-10 21:29:54 -04:00
CMakeLists.txt cmake: Turn off PLATFORM_SUPPORTS_SHARED by default for MS-DOS. 2026-06-02 13:23:40 -04:00
INSTALL.md docs: Note that SDL 3.4.0 or later is required. 2026-05-18 16:00:52 -04:00
LICENSE.txt Updated copyright for 2026 2026-01-01 11:20:48 -08:00
README.md docs: Note that SDL 3.4.0 or later is required. 2026-05-18 16:00:52 -04:00

SDL_mixer 3.0

This is an audio management library. It provides decoding of many popular audio file formats, mixing, various DSP processing effects and positional audio.

Audio data can be preloaded, or streamed on-the-fly into the mixer.

SDL3_mixer supports multiple audio devices, and can even mix to a memory buffer instead of feeding audio hardware in real time.

SDL3_mixer is a complete redesign, rewritten almost from scratch to address deficiencies in SDL2_mixer. The API is completely different and, in our opinion, a significant improvement in power and ease of use. Please refer to docs/README-migration.md for details on how to migrate your program to the new API.

SDL3_mixer requires SDL 3.4.0 or later.

The latest version of this library is available from GitHub: https://github.com/libsdl-org/SDL_mixer/releases

Installation instructions and a quick introduction is available in INSTALL.md

This library is distributed under the terms of the zlib license, available in LICENSE.txt.

Enjoy!

Sam Lantinga (slouken@libsdl.org)