All teeth-gnashing and ragging on SDL_Mixer's API aside... once you get past the API and to the point where you're actually using it, it's not half bad. The things that are supposed to work, do work, and usually in the way that the docs say they should.

After a few days of fussing, I've got a Music API that I'm happy with. It's pretty easy to use, with obvious function names like Music#play and Music#fade_out. Everything has default values where it makes sense to (I hate typing out arguments when I shouldn't have to). And of course, it's thoroughly and accurately documented. I even retrofitted Mixer.open_audio to have default values, which makes it much easier to use.

Rubygame 2.1.0 should be out today or tomorrow.


Have something interesting to say about this post? Email your thoughtful comments to comments@rubygame.org.