What is "Control Data" in Preferences/MIDI/MIDI Inputs?

I’m trying to figure out what excactly everything here does.

I’m confused by the “Control Data”, as even with it off, If I twiddle my Virtual keyboard’s Macro knobs, MIDI CC messages are coming through.

What’s the “Control Data” is used for then? Is it strictly transport control or what?

This is only meta-data without direct effect.

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.

1 Like

Thanks! I am not sure I fully understand that though!

I thought the MIDI Inputs setting and Control Surfaces are not connected in any way.

And here a setting in MIDI Inputs affects a device using Ableton Push 2 control protocol?

Or maybe these are separate aspects of these devices?

Imagine back to a time when the only MIDI controllers were

  1. Keyboards with nothing but keys, mod and pitch wheel
  2. 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).

Hmm. Thanks for the explanation. I wish I had some hardware to test and demonstrate that - only General MIDI devices.

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

image

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?

Exactly!

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.

:thinking:

The Control Data, may not be assigned to Generic MIDI remote control, but to another surface (e.g. the Push2 and NI machine).

As mentioned previously this is just meta-data, not an actual specific mapping.

Hmm. I am afraid I still don’t understand this in the slightest after all :smiley: Never mind.

I expect once you have hardware where this makes sense to use it’ll become clear.
…meanwhile just ignore the feature.

1 Like

Yeah, will do. Maybe I should get some more MIDI hardware to test this stuff.

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.

1 Like