I was recently motivated to revisit Minim when I got a note about it from Casey Reas, one of the initiators of Processing. Man oh man did I revisit it. The implementation details went through two waves of refactoring, but I think I’ve gotten it to a place that I’m happy with. I’m only incrementing the version number by .1 because I haven’t added any new features. I just changed the names of a couple public classes, made all the implementation details package private so that they don’t clog up the Javadoc, and fixed some bugs relating to mp3 playback.
Additionally, the API is now defined by several interfaces
, which opens up the possibility for people to write their own implementation of a file reader, for example. I’m not sure why anybody would actually go to the trouble of doing that, but the possibility exists, nonetheless. Defining the API in terms of interfaces
helped me a great deal with standardizing the methods of different public classes that can do similiar things (like applying effects to an audio stream).
I hope to do a release this coming weekend, but it depends on how quickly I can whip the examples into shape. But do keep an eye out!