User Tools

Site Tools


Chapter 8: Supercontrols, More

Stepper Example from MDXW

Steppers

Increment and Decrement buttons, or “steppers,” are easy to create in MD.

Increment Stepper

  1. Create a button
  2. Set its subtype to Momentary
  3. Make it a supercontrol
  4. Make it a supercontrol of the knob/slider etc. that you wish to increment

Decrement Stepper

  1. Create a button
  2. Set its subtype to Momentary
  3. Make it a supercontrol
  4. Make it a supercontrol of the knob/slider etc. that you wish to increment
  5. Invert this supercontrol: Set Control Properties Pane → Relationships → Supercontrol Options → Inverted to ON

Force Not Stepper
If you wish to use a momentary button that is not a stepper, set this toggle to ON:
Control Properties Pane → Relationships → Supercontrol Options → Not Steppers (Toggle)

Sequential Subcontrols

Normally, a supercontrol affects all of its subcontrols at once. With sequential subcontrols, the supercontrol moves the first subcontrol, and then each subsequent one.

The range of the supercontrol is divided by the number of subcontrols. Each part moves a subcontrol through its full range.


This is useful:

  • To spin up disparate parameters in sequence. For instance, BASS BOOST → TREBLE BOOST → MID-RANGE BOOST
  • To accommodate MIDI targets that use different MIDI messages for different parts of a parameter. For example: a MIDI target that use CC 87 for the -127→0 part of a range, and CC 88 for the 0→127 part of the range.

Getting ticks to line up for sequential subcontrol can be tricky. See this Q&A article if you need help.

Channel Changers

Make a multifunction control by using more than one MIDI channel. One knob/slider etc. controls the channel for its subcontrols.


Example

Knob Q controls Wah Filter on Channel 1, CC 42 and Delay Feedback on Channel 2, CC 42. ChChger is the supercontrol that makes Knob Q switch between functions. Knob Q will snap to its last value for Wah Filter and Delay Feedback when you switch the channel.

Set It Up

  • Create a knob, slider, or crossfader
  • Change the subtype of the control to Channel Changer + Presets
  • Note that the control is automatically a supercontrol
  • Add one or more subcontrols

+ Presets?
Channel Changer + Presets — Subcontrols will snap to their last value for the channel selected. This behavior is exactly the same as that of Presets for Groups of Controls and you may add a store and recall button as well.
Channel Changer — Subcontrols change channels.

Channel Changers can work with sysex subcontrols, too. They can even go up to 127!

Snap to value

Snap to value gives you the ability to snap a control to a particular value over time.

Button Supercontrols WITHOUT Snap to Value

A button supercontrol for a variable control (e.g., knob) works as follows:

  • Button is Toggle — When the button is pressed (to ON), the subcontrol hits its scaled MAX value. When the button is pressed again (to OFF), the subcontrol hits its scale MIN value.
  • Button is Momentary — When the button is pressed, the subcontrol hits its scaled MAX value. When the button is released, the subcontrol hits its scale MIN value.

To understand how a supercontrol's values affect a subcontrol, see MIDI Ranges with Supercontrols

Button Supercontrols with Snap to Value

With Snap to Value, you specify an amount of time for the value change to happen. The slider is located at Control Properties Pane → Relationships → Options as Super.

Snap to Value

Values for Snap Sub to Value Slider

Off, 0ms, 10ms, 25ms, 50ms, 75ms, 100ms, 500ms, 2s, 4s, 8s, 16s

ms — stands for milliseconds, of which there are one thousand in every second. So 100ms is one tenth of a second.

s — stands for seconds.

A button supercontrol for a variable control (e.g., knob) works as follows:

  • Button is Toggle — When the button is pressed (to ON), the subcontrol move to its scaled MAX value over the amount of time specified for snap to value. When the button is pressed again (to OFF), the subcontrol moved to its scaled MIN value over the amount of time specified.
  • Button is Momentary — When the button is pressed, the subcontrol hits its scaled MAX value over the time specified. When the button is released, the subcontrol hits its scale MIN value over the time specified.

Snap at Fixed Speed

With the Snap to Value slider set to 4 seconds:

  • With Snap at Fixed Speed OFF, the subcontrol would take 4 seconds to reach the value it's snapped to. If the starting value is very close, the movement will be very slow. If the starting value is very far, the movement will be quicker.
  • With Snap at Fixed Speed ON, the subcontrol would take 4 seconds to run through its MIDI range. Smaller distances take less time, since the movement is always at the same speed.

Button Groups

Button Groups are often referred to as “radio buttons” or “exclusive buttons.” You want a button to belong to a group of buttons. When one turns on, the others turn off.

MD takes the radio-button concept to the next level: Momentary AND toggle buttons can participate in button groups. A dynamic control (knob, slider, etc.) groups the buttons, but also lets you step through the buttons by changing the value of the knob. Also, the buttons change the value of the grouping dynamic control.

Set It Up

Make any variable control (knob, slider, etc.) the supercontrol of two more buttons. Automatic and easy.

Use It

Press any of the buttons and the other ones in the group shut off. If they are momentary, they stay off.

Technical Details

The button that is pressed is sent LAST. Any of the buttons that does not send an off will only send when selected. This includes:

  • Sysex with no “V”
  • Buttons that are marked as “Send on Only”

Buttons Are Send On Only (Toggle)

This option is accessible from the Control Properties Pane for the Supercontrol (knob, slider, etc.) → Relationships Tab → Options as Supercontrol.

When set to ON, the buttons in the button group only transmit their ON value.

When set to OFF, the buttons in the button group transmit both their ON value and their OFF value.

Buttons Are Send On Only is particularly useful for Program Changes, or any type of message where the buttons share one type of MIDI message and also the Channel-CC or equivalent.

Bounce Back for Button Groups

Bounce Back — 2nd Press Action for Button Groups — allows you to determine what happens when you press a button that is already ON in a button group. By default, when you press a button that is already ON and is part of button group, that button will turn OFF. This will leave the button group with no buttons selected. Sometimes, this is not the desired behavior. Bounce Back lets you choose.

Set It Up

With a button group set up, go to the Control Properties Pane for the supercontrol. Access Bounce Back at Relationships Tab → Options as Super → Button Group 2nd Press. Options are:

  1. Button Shuts Off — This is the default option. Second tap turns the selected button off.
  2. No Action (Exclusive) — second tap does nothing.
  3. Resend (Exclusive 2) —- second tap resends on value.
  4. Bounce Back to Previous Button — second tap selects previously selected button.
  5. Bounce Back to First Button — second tap selects first button in button group.
  6. Bounce Back to Last Button — second tap selects last button in button group.

Note: Only Button Shut Off allows you to shut off all buttons in the Button Group. All other options will result in one of the buttons always being on.

Crossfader Overlap

Crossfader overlaps captures a basic, equal-power linear crossfade. This type of crossfade is very useful two manipulate two parameters on any MIDI target. Consider the following situations:

  • Lighting: Crossfade between red and blue lights.
    • At zero: only red shows.
    • At max value: only blue shows.
    • In the middle of the range, both lights show, resulting in a purple.
  • Music: Crossfade between two different tracks.
    • At zero: only the A track plays.
    • At max value: only the B track plays.
    • In the middle of the range, both tracks play at full volume.

The idea, put more concretely with two knobs, Arp and Bass: Bass starts at max value. Arp starts at zero and reaches full power at the midpoint. Bass starts dropping at the midpoint, hitting zero at the top of the range for the supercontrol.

Set It Up

First we set this up without using crossfader overlap, so see how it works:

  • 1 Knob called “Crossfader”: it's a supercontrol with two subcontrols
    • knob called “Volume A”
    • knob called “Volume B”
  • Change Volume A to be inverted (Control Properties Pane → Relationships → Options as Sub → Inverted)

Now switch to Play Mode and try this out. As you can see, Volume A and Volume B cross in the middle at 50% of their MIDI range.

Now set up Crossfader Overlap For both Volume A and Volume B:

  • Find Control Properties Pane → Relationships → Options as Sub → Crossfader Overlap
  • Set the value to .5

Now switch to Play Mode and try it out. An overlap of .5 is the most common, but you can also experiment with other settings:

Crossfader Overlap Variations

Crossfader Overlap with 4 mics and an XY pad
This is an advanced use-case that might give you some new ideas about how to use crossfader overlap.

manual/08_relationships_2.txt · Last modified: 2023/02/01 19:25 by jkhiser