Assigning Hardware Controls to Screen Controls

To use MainStage with a MIDI controller, you assign hardware controls on the controller (such as faders, knobs, buttons, drum pads, and pedals) to screen controls in the workspace. After you assign a hardware control to a screen control, the screen control receives the MIDI messages from the hardware control. You only need to make controller assignments once for a concert as long as you use it with the same hardware.

You assign hardware controls to screen controls using the Learn process, which is similar to the process for learning controller assignments for a control surface in Logic Pro. The Learn process is described in Learning a Controller Assignment.

When you assign a hardware control using the Learn button, MainStage determines the type of MIDI message the control sends when you move it, and the range of values the control is capable of sending. When you map the screen control to a channel strip parameter or an action, MainStage converts (or “maps”) the range of values sent by the hardware control to the optimal range of values usable by the parameter.

For example, many faders, knobs, and other MIDI controls send a range of numeric values between 0 and 127. You could map a hardware knob with this range of values to control the frequency parameter of an EQ effect, which has a range of usable values between 20 Hz and 20 kHz. When you map the screen control for the knob to the EQ frequency parameter, MainStage converts the values sent by the hardware knob to be distributed between the minimum (20 Hz) and maximum (20 kHz) values for the parameter.

Assigning Knobs

MIDI controllers can have different types of knobs or rotary controllers. Knobs can be either absolute controllers, which send a fixed value determined by the knob’s position or can be relative controllers, which increment or decrement the previous value regardless of their exact position. Knobs can either have a fixed range of movement, or be continuous (sometimes called endless rotary encoders).

When you assign a knob screen control using the Learn button, MainStage attempts to determine which type of knob or rotary control on your hardware is sending the MIDI message and sets the value in the Type pop-up menu in the Screen Control Inspector to the correct value. For absolute controllers, the correct value is Absolute; for relative controllers, the correct value can be either Relative (2’s complement) or Relative (Sign magnitude), depending on the type of relative controller. In most cases, there is no need to change the default values unless you intend to use the knob for a specific, non-standard purpose.

When you assign a knob screen control, be sure Absolute is chosen from the Type pop-up menu if the hardware controller is an absolute rotary controller, or one of the Relative values is chosen if the hardware controller is a continuous rotary encoder. Moving the knob through its full range of motion helps ensure that MainStage correctly determines the type of knob you are assigning.

Assigning Buttons

MIDI controllers can have different types of buttons. Some buttons send a single value each time you press them, while others alternate between two values when pressed. Other buttons can send separate values when they are pressed and released (this type of button is called a momentary or temporary button).

When you assign a button screen control using the Learn button, MainStage attempts to determine which type of button on your hardware is sending the MIDI message, and sets the value in the Type pop-up menu in the Screen Control Inspector to the correct value for that button type. To enable MainStage to determine the correct value, press the button exactly three times when you are learning it. Pressing the button three times helps ensure that MainStage determines if the button is a single value, an alternating value (binary), or a momentary button. In most cases, there is no need to change the default values unless you intend to use the button for a specific, non-standard purpose.

You can change the function of a momentary button to match the function of a single value or alternating value button in MainStage.

To change the function of a momentary button
  1. In Layout mode, be sure the button screen control is selected.

  2. In the Screen Control Inspector, choose either Single Value or Alternating Value from the Type pop-up menu.

    Choose Single Value if you want the button to function as a single value button, or choose Alternating Value if you want the button to function as an alternating value button. You cannot change the function of a single value or alternating value button to match the function of a momentary button.