Skip to content

Commit 05393fb

Browse files
committed
api: Replaced previous SDL_mixer API with the new SDL3_mixer!
(The project formally known as "SDL_remixer".) This is a completely new API, designed from scratch, which shares almost no code with SDL2_mixer. We believe it's a better library, with more features and an interface that is both more powerful and more pleasant to use. Little things are going to be broken by this commit; for example, the VisualC and Xcode projects were left in place, but have not yet been updated for the new library. We will correct these problems over the next few commits. Please refer to docs/README-migration.md for a migration guide to the new API. There is no compatibility layer. However, if you need the SDL2_mixer API in your SDL3-based app, you can use the `sdl2-api-on-sdl3` branch, which holds the ported-to-SDL3 version of SDL2_mixer right before this new API landed. While we will accept bug reports and pull requests for that branch, the new API is what we will be focusing on, and we encourage you to move to it. Revision history, etc, for this redesign up to this point are archived at: https://github.com/icculus/SDL_remixer Fixes #662.
1 parent 4e9a308 commit 05393fb

File tree

120 files changed

+15982
-22077
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

120 files changed

+15982
-22077
lines changed

CHANGES.txt

Lines changed: 0 additions & 4 deletions
This file was deleted.

CMakeLists.txt

Lines changed: 104 additions & 192 deletions
Large diffs are not rendered by default.

README-versions.md

Lines changed: 0 additions & 59 deletions
This file was deleted.

README.txt

Lines changed: 31 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,31 @@
1-
2-
SDL_mixer 3.0
3-
4-
The latest version of this library is available from GitHub:
5-
https://github.com/libsdl-org/SDL_mixer/releases
6-
7-
Due to popular demand, here is a simple multi-channel audio mixer.
8-
It supports 8 channels of 16 bit stereo audio, plus a single channel of music. It can load FLAC, MP3, Ogg, VOC, and WAV format audio. It can also load MIDI, MOD, and Opus audio, depending on build options (see the note below for details.)
9-
10-
See the header file SDL_mixer.h and the examples playwave.c and playmus.c for documentation on this mixer library. This documentation is also available online at https://wiki.libsdl.org/SDL3_mixer
11-
12-
The process of mixing MIDI files to wave output is very CPU intensive, so if playing regular WAVE files sound great, but playing MIDI files sound choppy, try using 8-bit audio, mono audio, or lower frequencies.
13-
14-
If you have built with FluidSynth support, you'll need to set the SDL_SOUNDFONTS environment variable to a Sound Font 2 (.sf2) file containing the musical instruments you want to use for MIDI playback.
15-
(On some Linux distributions you can install the fluid-soundfont-gm package)
16-
17-
To play MIDI files using Timidity, you'll need to get a complete set of GUS patches from:
18-
http://www.libsdl.org/projects/mixer/timidity/timidity.tar.gz
19-
and unpack them in /usr/local/lib under UNIX, and C:\ under Win32.
20-
21-
This library is under the zlib license, see the file "LICENSE.txt" for details.
22-
23-
Note:
24-
Support for software MIDI, MOD, and Opus are not included by default because of the size of the decode libraries, but you can get them by running external/download.sh
25-
- When building with CMake, you can enable the appropriate SDLMIXER_* options defined in CMakeLists.txt. SDLMIXER_VENDORED allows switching between system and vendored libraries.
26-
- When building with Visual Studio, you will need to build the libraries and then add the appropriate LOAD_* preprocessor define to the Visual Studio project.
27-
- When building with Xcode, you can edit the config at the top of the project to enable them, and you will need to include the appropriate framework in your application.
28-
- For Android, you can edit the config at the top of Android.mk to enable them.
1+
2+
# SDL_mixer 3.0
3+
4+
(Please note that this README has not yet been updated for the
5+
SDL3_mixer rewrite.)
6+
7+
The latest version of this library is available from GitHub:
8+
https://github.com/libsdl-org/SDL_mixer/releases
9+
10+
Due to popular demand, here is a simple multi-channel audio mixer.
11+
It supports 8 channels of 16 bit stereo audio, plus a single channel of music. It can load FLAC, MP3, Ogg, VOC, and WAV format audio. It can also load MIDI, MOD, and Opus audio, depending on build options (see the note below for details.)
12+
13+
See the header file SDL_mixer.h and the examples playwave.c and playmus.c for documentation on this mixer library. This documentation is also available online at https://wiki.libsdl.org/SDL3_mixer
14+
15+
The process of mixing MIDI files to wave output is very CPU intensive, so if playing regular WAVE files sound great, but playing MIDI files sound choppy, try using 8-bit audio, mono audio, or lower frequencies.
16+
17+
If you have built with FluidSynth support, you'll need to set the SDL_SOUNDFONTS environment variable to a Sound Font 2 (.sf2) file containing the musical instruments you want to use for MIDI playback.
18+
(On some Linux distributions you can install the fluid-soundfont-gm package)
19+
20+
To play MIDI files using Timidity, you'll need to get a complete set of GUS patches from:
21+
http://www.libsdl.org/projects/mixer/timidity/timidity.tar.gz
22+
and unpack them in /usr/local/lib under UNIX, and C:\ under Win32.
23+
24+
This library is under the zlib license, see the file "LICENSE.txt" for details.
25+
26+
Note:
27+
Support for software MIDI, MOD, and Opus are not included by default because of the size of the decode libraries, but you can get them by running external/download.sh
28+
- When building with CMake, you can enable the appropriate SDLMIXER_* options defined in CMakeLists.txt. SDLMIXER_VENDORED allows switching between system and vendored libraries.
29+
- When building with Visual Studio, you will need to build the libraries and then add the appropriate LOAD_* preprocessor define to the Visual Studio project.
30+
- When building with Xcode, you can edit the config at the top of the project to enable them, and you will need to include the appropriate framework in your application.
31+
- For Android, you can edit the config at the top of Android.mk to enable them.

cmake/FindSndFile.cmake

Lines changed: 0 additions & 44 deletions
This file was deleted.

cmake/PrivateSdlFunctions.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,7 @@ function(sdl_add_warning_options TARGET)
302302
if(MSVC)
303303
target_compile_options(${TARGET} PRIVATE /W2)
304304
else()
305-
target_compile_options(${TARGET} PRIVATE -Wall -Wextra)
305+
target_compile_options(${TARGET} PRIVATE -Wall)
306306
endif()
307307
if(ARGS_WARNING_AS_ERROR)
308308
if(MSVC)

0 commit comments

Comments
 (0)