Supercontrols and Possibilities

Supercontrols Feature, MIDI Designer for iPad, iPhone and iPod touch


Supercontrols and subcontrols are an essential part of making a custom rig in MIDI Designer for many MIDI Designer users. This document is a work in progress, but the first thing that’s lacking are some pictures.

Three Features That Are Similar to Supercontrols

  1. B Control (or A Control)
    Use with all control types. Allows you to define a “buddy” control for any control. Then you can use “Copy A to B” or “Copy B to A” to move the values over. Read More About ‘B Control’
  2. Button Off Sets This To Default
    Use with all control types. Choose a toggle button which, when set to “off,” resets the current control to default. Demo of Button Off
  3. Extra CC and Hold Button
    Use with knobs, sliders, crossfaders and XY pads. Choose a toggle or momentary button which gets turned “on” when the current control is being touched. Demo of Extra CC and Hold

Eventually, these features might be done via super- and subcontrols.

Rules for Supercontrols and Subcontrols

[This section is still in progress. The rules are correct, but not complete.]

  1. A supercontrol may not have a subcontrol that controls the supercontrol (directly or indirectly).
  2. Subcontrols only spin supercontrols if the supercontrols have only one subcontrol. Therefore, it’s often useful to chain supercontrols and subcontrols (to keep everything in sync).
  3. Supercontrols do not send their values out ever, unless “Supercontrols Send Own Values” is selected (Config → Options). This is currently only a global option.
  4. Supercontrols on pedalboards are made to work with hardware. They save their previous value for the “current page” (the normal page above the pedalboard). They also only move controls on the current page. There are several options that deal with supercontrols on pedalboards (Config → Pedalboards).

  5. There are some surprising defaults for supercontrols

Creating Supercontrol Relationships

  1. Double tap on the control that will be a supercontrol.
  2. In the Relationships tab, turn the Supercontrol toggle on (blue).
  3. Open the Subcontrols pane by tapping Subcontrols button.
  4. Drag the Drag to Subcontrol button to the control you want as a subcontrol.

Editing Supercontrol Relationships

You can remove and rearrange subcontrol relationships in the Subcontrols pane of the supercontrol. You can also remove relationships via the Supercontrols pane. (Note that you can swipe to delete without hitting edit.)

The order of the subcontrols matters in certain relationships, including Button Groups.

Surprising Defaults

  • Buttons that are controlled by knobs are automatically grouped in a button group (like “radio buttons”). See Button Groups Feature Explained
  • Momentary buttons that control a knob, slider, crossfader or the axis of an XY pad will automatically become a “stepper.” See Steppers.
  • When you make a control a supercontrol of an XY pad, it automatically picks up both axes. You have to delete one (note that you can just swipe in the Subcontrols list to delete).

Interesting Stuff You Can Do With Supercontrol Relationships

Explanations of Buttons on Relationships Pane

  • Invert Supercontrol
    This makes subcontrols react backwards to the direction that the supercontrol is being moved.

  • Subcontrols Send Current Value
    Toggle in supercontrol options and in subcontrol options. Subcontrols of the supercontrol will send their current value instead of having their value affected by the supercontrol. [ Explanation ]

  • Force Not Stepper
    Relevant where the supercontrol is a momentary button and the sub is a knob, slider, crossfader or XY pad axis. Normally, pressing the superconrol will increase the control by one “tick” (the subcontrols display ticks). If the subcontrol is inverted (in any of the three ways) it will go backwards. If Force Not Stepper is on (blue), the subcontrol will go to its max value when the super is pressed.

Known Issues With Supercontrols

Supercontrols that have more than one subcontrol do not get altered by subcontrols. This might be confusing at times.