Stop Notes at Transport is probably overkill

• Oct 19, 2021 - 20:55

I notice that I'm having trouble getting good MIDI communication between Musescore -> JACK -> Ardour.
And it's largely when activating the transport (stop and play). I'm fairly sure that it's the numerous NOTE OFFs that are sent on every MIDI port and channel and controller.

After looking at the source code I think I'm getting a reasonable idea to how it doesn't work well for external MIDI, and it may be even worse with JACK since it's trying to keep in sync as well. And probably explains why I get such poor behavior in loops, as I'm guessing that's a transport stop|transport rewind|transport start.

I'm on the discord channels. What would be the best way to ask some questions?
If I fix this, I probably wouldn't even submit a PR, I'd probably just explain my findings and fix it for my own use.

What I've gathered so far, the behavior seems largely dictated by this:

In seq.cpp:
// Muting all notes
stopNotes(-1, true);
initInstruments(true);

Also, it seems that the count in could maybe be done better, since it looks like it's disabled to JACK (not sure yet on this one).

Do you still have an unanswered question? Please log in first to post your question.