So, I've only posted here a few times, but I follow all of your work a lot. My goal is to pop out of the woodwork one day and say, "Hey! Look at what I made on the PCE!" and then have everyone respond in unison, "What a piece of shit!" But till then, I'm mostly just a reader.
And before I go on my rant about MML, I should preface it by saying that I don't have much experience with trackers, and that my PCE stuff is the only experience I have with making music on a gaming platform.
That said, for someone who can read music, MML seems like a pretty decent notation. In fact, I'm hard-pressed to think of a better way. It's pretty close to modern musical notation, and that's been around for maybe a thousand years, so you'd think it'd at least be fairly good.
As far as my process is concerned, I'll usually just write on a real instrument then transfer it directly to the MML file, but sometimes I'll use a Finale NotePad-like tool to notate the music and then export to MIDI. I mention this because Finale NotePad has a free download and might help some of the people that are having a hard time with MML but can read music.
And as far as the readability of the MML is concerned, I agree that it can be kinda tough. But when it all comes down to it, it's being used to represent instructions you're giving the processor (code). So, like all code, it's easier to read when formatted. I often do something like 1 or 2 measures per line and use whitespace between notes to visually inspect that the timing matches up.
I think one of the reasons you don't hear about more people using it is that most people aren't the pros who post here most often. Compared to all the successes of everyone here, it seems to be taking me far longer than I would've expected - both in the time to develop a game and the time to figure out how to work around all of the PCE's/HuC's idiosyncrasies. Even yesterday while reading the "The new fork of HuC" thread, I saw Dave Shadoff's message about parameter-passing being bad, then I saw Elmer's message on the switch-statement being bad, and I thought, "Well that sucks for me."
So, as a verified non-pro, I find that Squirrel is probably one of the friendlier tools out there for PCE development. You don't need to worry about pointers, memory management, two's complement, or (may god have mercy on us all) learning assembly. You just feed it the MML, tell it when to play, and you're done! For the novice, learning HuC is probably enough, so I'll probably never be interested in writing a custom sound engine when all of the hard work seems to have been taken care of already. My personal opinion is that most of the non-vocal folks aren't writing in machine language, and those same folks would rather spend a little time learning MML over the (IMHO) steep learning curve that'd be required to reinvent the wheel.
Also, I could be totally wrong about this, but it kinda seems like Squirrel is the only game in town for making both music and sound effects on the PCE (other than custom sound engines). If not Squirrel, what are most developers using? And even if one uses CD-Audio for homebrews as Elmer suggests, what are people doing for sound effects?
I'm not on this forum as much as some of you other guys, but the only other sound tool I can remember was BT Garner's SoundGen tool, which I found extremely cumbersome. Also, it seemed like it took a very long time for ANY sound tools on the PCE to come around, so I don't know that waiting around for a new tool is a feasible option, especially when that theoretical tool will yield the same end result.
That said, here are my complaints about MML/Squirrel:
[uldecimal][li]Not that it's impossible, but getting triplets isn't straightforward, nor are a weird/staggered beats (I'm thinking the nasally horn riff in the lava level of Bomberman '94).[/li][li]MagicEngine doesn't emulate it faithfully (which I guess is actually a complaint about MagicEngine).[/li][li]And to Bonknuts' point, "what you hear is what you get" would be really REALLY nice, especially so that you could hear the waveform/envelope combinations. Still, I don't know if that's really the point of Squirrel. Maybe that'd be for another GUI for the future, but I kinda see Squirrel as a jam-in-an-MML-file-and-it'll-give-you-music-on-the-PCE tool.[/li][/ul]Most other complaints seem to be around the fact that people want a GUI to write music, but there's a lot of them out there that will let you output your song to MIDI, so I don't know what the benefit of yet another GUI would be (except for the aforementioned emulation of envelope/waveform combos). If people want to use trackers to create songs, do none of them have the ability to output a MIDI file? Again, since I only have limited experience, I guess I don't really understand the benefit.
But, yeah, take all of what I say with a grain of salt. I don't have a vast knowledge of all the possibilities that are out there. I'm not trying to diss anyone or stroke anyone's ego (especially Arkhan's
). I just think that MML and Squirrel are pretty solid, and I wouldn't want people being discouraged from using them or told to only use CD-Audio (not that this should at all be construed as a dig on you, Elmer, I think you're rockin it with your work on the HuC fork) when MML and Squirrel are totally viable options. Squirrel has made developing on the PCE easier for me, and I think other people might agree if they give it a shot.
Anyways, that's the end of my rant. Talk to you guys in five years or so!