Skip to content

2.0.x series (finally) released!

Compare
Choose a tag to compare
@icculus icculus released this 25 Mar 20:27
· 82 commits to main since this release
506b9f0

It's been 5087 days since the last SDL_sound release, so I thought it might be time for a new one. :)

A lot has changed in the last 13.93 years, including my understanding of how to build useful open source middleware. As such, you're going to find that the internals of SDL_sound 2 are dramatically different than the guts of SDL_sound 1.

The most notable changes:

  • SDL_sound 2.0 is now licensed under the zlib license. The 1.x releases are (and continue to be) LGPL2. This matches the license change between SDL 1.2 and SDL 2.0.
  • SDL_sound 2.0 now uses SDL 2. SDL 1.2 is no longer supported.
  • SDL_sound 2.0 has no external dependencies. All the code you need to build it is included. You do not have to hunt down and figure out how to build third party libraries to enable support for various audio decoders.
  • Several decoders have been replaced with so-called "single header libraries" to simplify matters. You no longer need to install libogg and libvorbis to support .ogg files--SDL_sound just includes stb_vorbis as part of the source tree.
  • We have moved to CMake, because of course we have. :)
  • But also, it's now pretty simple to just drop SDL_sound's sources into your project and compile it directly.
  • QuickTime support is gone (because it's obsolete in modern OSes; macOS and iOS can still use our CoreAudio decoder for roughly the same effect).
  • Speex support is gone (no easy public domain code available to decode it).
  • MikMod support is gone (but modplug is built in and handles approximately the same files).

Please note that SDL_sound 2's public API has not changed at all from SDL_sound 1, so you can just upgrade in place and, in theory, just keep on as before.

I wrote about the motivations for the 2.0 changes here.

Note that this is release 2.0.1; there was no 2.0.0 release, but since that's the version that revision control has listed for the last year, we wanted to make sure that there was a differentiator in case someone had shipped the prerelease code.

Thanks for everyone's patience; hopefully the next release won't take another decade!