I did not expect an entirely new addmusic to be released this C3. It's definitively cool to see how much the MML syntax has been improved compared to AMK's (and to an extend, AM4 and AMM as well), particularly the inclusion of non-hex commands but also general improvements to the engine are very cool such as more loop layers, local commands as well as other local data. In fact, local commands might be very helpful to help porting songs from other games such as how they define vibrato and the like.
It's also cool to see patterns, a feature which none of the SMW addmusics ever supported IIRC (or if one did, it's pretty obscure) and some of the new features also sound quite cool.
Small question: Will AMFR support local global songs? Basically, it's how DKC2 and 3 handle its win and miss songs.
Originally posted by exodustx0I'm sad to see you're keeping hex commands, as Addmusic should never have had that raw syntax exposed in the first place (makes changing engines in updates without ruining backwards compatibility imopssible after a certain point, effectively requiring an entire new tool all over again... nobody wants this). Other than that though, I'm happy to see so many people putting in a great effort to improve on Addmusic's legacy!
To be fair, I see hex commands as ASM (or worse, compiled data) within in C-code. That means, they have their place in some cases but of course, you should avoid them as much as possible which makes them closer to a last resort than something normal.
Originally posted by xfixI would like to point out that there is no rule saying that $ED needs to actually compile to $ED. For instance, if an AddMusic arbitrarily wants to have $42 for ADSR, it could interpret $ED as actually meaning $42.
I'll actually disagree with that one. The purpose of hex commands is to write the data directly as they are into the final data. By introducing remapping, things become a lot more ambiguous. Of course, you can work around that but it's better to avoid that rather than use duct tape for a hacky fix.