An MML Bundle for Textmate

As much as I love the Korg DS-10 its inability to edit/record more than one bar at a time is a bit of drag when composing. Especially with the comparative ease of musical typing in Garageband with YMCK’s Magical 8bit Plug. Unfortunately YMCK’s plugin doesn’t produce the most authentic sounds with no control over vibrato and pops between continuous notes (even with release increased slightly from 0 to 0.01). So my search continued.

I dabbled with Neil Baldwin’s Nijuu. It turns out I’m just not comfortable that close to assembly language. (See also, Neil’s native NES tracker NRTQ) I finally (as of this writing) settled on MML or Music Macro Language. Nullsleep’s MCK/MML Beginners Guide proved a very non-threatening introduction but neonempyr’s Ultimate PPMCK MML Reference definitely won the thoroughness round. (The latter went missing the day after posting this. Fortunately I downloaded a copy for offline use. Here is my mirror of the Ultimate PPMCK MML Reference)

MML looked like a manageable language but it seemed none of the tools designed to compile MML into the requisite .nes or .nsf files were available on OS X. All of the links to the OS X versions had either 404’d or fallen prey to squatters. After a day of searching I finally found a copy of ezMML, an editor/compiler built—or rather thrown together—for OS X. Oh sure, you can resize the editor window but it doesn’t resize the texteara. I can forgive an unpolished UI if the utility is there but when a crash during an incremental save wiped out an entire morning’s work (the post-crash saved file was completely empty) it was time to move on.

I use Textmate for the majority of my non-iPhone programming and text editing needs. I don’t recall it ever crashing (except having to force quit the occasional 30MB SQL file). So I spent the afternoon hacking together rudimentary MML syntax coloring as well as the Build and Run commands.

Now I have a reliable (and resizable) MML editor with a single key-command to compile an .nsf and automatically launch Audio Overload. I can listen to my composition as easily as I can preview my HTML in a browser.

This bundle perches precariously on the shoulders of giants and is offered as-is, as always. You might be happy to know it can also now compile multiple MML files into a single NSF.

The Muggle Coder
Mimeo and the Kleptopus King
Shaun Inman
February 13th, 2010 at 9:14 pm