Is there a prefs switch to stop Ardour (presumably) sending an ‘All Notes Off’ command to all other MIDI tracks when I solo (SIP) a MIDI track? Very noticeable in regions with sustained (long) notes: after releasing the solo, the other instruments are silent until the next NoteOn(s) on each track occurs, rather than just muting the audio generated by the other tracks.
Also, and this could be me but is there a bug where AFL only works on some tracks (again MIDI tracks in this case)?
Agreed but Logic & ProTools handle it fine. If you solo a MIDI track only the audio output of other MIDI tracks is muted, (not a note-off command to all other MIDI tracks). Then when you release the solo the audio of whatever the instruments were playing becomes audible again
Yes, but what if there’s a hardware MIDI device connected instead of a plugin? The DAW has no universal way to mute audio from such device. Thus sending note-offs and stopping the MIDI data flow is exactly what I’d expect in that case. Of course, if it’s a software MIDI instrument the behavior might be different. But still probably a lot of edge cases there. I’m curious how Logic handles it.
What you are looking for is nothing to do with Ardour sending note off commands.
As noted, MIDI notes are events and the note is triggered at the start of the event. If the MIDI track is muted then the notes aren’t triggered, and unmuting the MIDI track after the note event has occurred, won’t play any sound because, of course, the note hasn’t been played in the first place.
What you are after is a feature called “MIDI Chase” where sustained notes are triggered even past the start of the note. The DAW will look back to see if any notes were triggered before the playhead and will trigger them so the tails play out.
And, yes, some other DAWs do this, but Ardour doesn’t (yet):
I just did an experiment: in Logic, if I mute a MIDI (inst plugin) track during a long note, when I unmute the note is audible - as if all Logic is doing is muting the audio output of the plugin ie. it does nothing with MIDI data at all as far as I understand it. In Ardour the plugin itself is silenced suggesting it sends a NoteOff to the plugin and mutes MIDI data on the track until the track is first unmuted then the next NoteOn event occurs.
Yes this is exactly what I’d expect, and very useful, particularly when using MIDI busses with an instrument that is fed by a couple of tracks.
Mute does not influence the signal flow though a track; mute cuts off the signal on outputs (if the given mute point is enabled - e.g. by default mute does not mute pre-fader sends).
So engaging mute needs to create note-off messages (and raise the pedal) for any active notes (and must not send a panic).
I think one could make a case that one a track is muted, Ardour should not pass received notes past the disk-writer, bit since MIDI events are also muted on the outputs for muted tracks, that’s effectively a no-op.