BIG progress...
small question, can't the 2 loops be merged into one? if so is it faster/smaller footprint?
uint8_t voice = 255;
uint8_t order = 255;
for (char v=0; v<MAX_V/2; v++)
{
if (voiceNote[v] == 0)
{
voice = v;
break;
}
if (voiceOrder[v] < order)
{
order = voiceOrder[v];
voice = v;
}
}