I've tweaked some code and have auto allocate working. No more will you see the message about no MIDI tracks being available. That's a good thing
I have left in a number of warning messages. So, when you now have a very long file with lots of different grooves (many more than you should have) MMA will find the least used track and allocate that to the newly needed one. I have left in warning messages, so you will see stuff like:
Warning: <Line 387> <File:long.mma> Channel 7 is being reassigned to CHORD-ACCORDION
and
Warning: <Line 164> <File:/home/bob/src/bv/mma/lib/stdlib/samba.mma> Track BASS-TRP is
shared with CHORD-SUS. Changing voice may create conflict
I think we're better off with the warnings! Let me know what you think about that.
I did compile the file from the OP with all the groove changes and it seems to be playing fine. So that's a win! Let me play a bit more with this and clean up the code. I'll put a patch up later.