Nitpicking your comments as made on the yamahaforums (constructively, I hope):
"Implementing Windows MIDI support should be possible but I have no experience with the Windows MIDI API (or with programming on Windows in general)."
In fact, tho I have NOT yet read all the code, I suspect this is a minimal issue. OS identification is easy enough, at least at the gross-level of "*nix vs win." Use that to fork, to a win stub/sub/module, and let a grateful user deal with whichever of windoze' peculiarities you don't (yet) grok.
re "VSTi functionality" you respond,
"I'm not sure whether a program written in Perl can use the VST API, unfortunately I think it would need to be completely rewritten in C/C++...."
I'm not clear whether the last phrase pertains to the API or your program. If the former... well, possibly (but remember, Perl can do almost anything, short of putting the toothpaste back in the tube); if your concern is a need to rewrite the program to accomodate a published API, no way would you need to rewrite in COBOL, C/C++, Ada, or any other language.
Nice work; keep on learning and you'll not need to deprecate the "maturity" of your style, etc; and an extra ++ for crediting PM in your forum announcement.