Currently the settings on this dialog pane are only relevant for auto disconnect of ports.
e.g. a Push2 controller sends both music-data, and control-data on the same port.
Now when you change track-selection the control-connection (to ctrl-surfaces) should be left in place, while the music-data port (to MIDI-tracks) should be re-connected.
Imagine back to a time when the only MIDI controllers were
Keyboards with nothing but keys, mod and pitch wheel
MIDI fader/knob boxes, with no keys at all
“Music Data” and “Control Data” are meta-data tagging to tell Ardour that a device fits into one of the above categories. This means that Ardour will not auto-connect your MIDI tracks’ inputs to your MIDI fader/knob box, as is typically desired.
However, we now live in an era of mixed-use devices: controllers with keys, pads, knobs and buttons. It’s distinctly non-trivial to identify/decide whether such a device should be used as a “music” input, or a “control” input, or both (or possibly neither).
This is why Ardour’s Push 2 support creates a virtual MIDI port for the device that represents only the pads and this can be treated like a “music data” device, while leaving the buttons etc. as “control” (there are other options too).
Quite a few contemporary devices have taken a different approach. My M-Audio Keystation 88, for example … this is mostly just an 88 key + modwheel + pitchwheel device. In addition it has a few transport/cursor buttons too. However, these send MIDI via a second MIDI port, so that in Ardour (or any other DAW) you can annotate and connect the keys and the buttons entirely indepdendently
Ah, I see! So this is useful for devices that expose 2 separate MIDI devices once connected right?
Then the device that exposes transport (and/or mixer) controls can be kept driving Ardour, while the “music” device can be automatically reconnected to selected MIDI tacks for recording or audition?
Note however that it can also useful for devices that only have a single MIDI port.
This allows one to point to any given MIDI track to assign the MIDI port, while at the same time retaining the connection to a control surfaces of the device for global control.
Oh! So if I select both “Music” and “Control” - Ardour will maintain two connections, right?
One for transport and mixer controls, other for music input?
I’m a bit confused though - how does this mesh with the “Control Surfaces”? I have my M-Audio Oxygen 49 MKIV selected as Generic MIDI (oh, I wrote “General MIDI” before - my bad) and that lets me use the transport and mixer controls, but the “Control Data” checkbox doesn’t seem to have any effect of that functionality.
The meta-data right now is mostly used as a guide about what not to do. If a device is tagged as generating only control data, it will not be used in the “midi-input-follows-selection” process that you mentioned above. It means that the user gets a chance to say “I know this looks like a MIDI device and I know you might therefore think it makes sense to automatically connect it as an input to MIDI tracks, but I’m telling you that is not the case, because this device is just for control.”
I find it interesting using some other software that just connects everything (by default) it can find. Sometimes, this seems like the best idea and I wonder why Ardour doesn’t. Then at other times, it seems like a dumb idea and I’m glad that Ardour doesn’t do it.