Skip to content

Classic MIDI macro rows ​

These macros send MIDI when you turn the knob — control changes, program change, channel pressure, NRPN/RPN, pitch bend, and (eventually) SysEx. On Perform, they all share the same row shape: message type on the left, routing in the middle, live level on the right.

Classic MIDI macro rows on Perform

RowModeExample in screenshot
0Control ChangeCC 74 (filter cutoff), channel 1, USB, LFO-modulated
114-bit CCControllers 0 and 32, channel 2, DIN Out 2, narrowed range
2NRPNNRPN 1 / 8, Global channel, USB
3RPNRPN 0 / 1, channel 10, USB + DIN Out 1

Reading a classic MIDI row ​

Classic MIDI macro rows
Rows

Follow each row left to right: what message → which controller or parameter → which MIDI channel → which outputs (and LFO badge if modulated). The live value sits on the far right, outside this highlight.

Message type ​

Short tag for the MIDI message the macro sends:

TagMacro mode
CCControl Change (7-bit)
CC1414-bit Control Change
PCProgram Change
MONO ATChannel Aftertouch (channel pressure)
POLY ATPoly Aftertouch (per-note pressure)
NRPNNon-Registered Parameter Number
RPNRegistered Parameter Number
SYXSysEx — see SysEx on Perform (guide coming soon)

Controller or parameter numbers ​

Which MIDI address the knob drives:

ModeThis field shows
CCThe control change number (e.g. 74 for cutoff, 7 for volume)
CC14, NRPN, RPN, SysExMSB/LSB pair (e.g. 0/32 — the two controller numbers for a 14-bit message)
PC, MONO AT(nothing — the message type alone is enough)
POLY ATThe note name that receives pressure (Middle C setting; MIDI 0–127 on the wire)

These are the same numbers you set in the macro grid (MSB / LSB fields).

MIDI channel ​

Glob = Global — uses the project’s global channel setting.
Ch1–Ch16 = fixed channel for this macro only.

Output ports ​

Three boxes show where the message is sent:

BoxPort
UUSB MIDI
1DIN Out 1
2DIN Out 2

A bright box is enabled for this macro; a dim box is off.

LFO modulation badge ​

When an S32 LFO is modulating this macro (not the same as “LFO parameter” macros), a ~ appears with the LFO number (e.g. ~ / 1). Bright = that LFO is running; dim = assigned but off. See Modulation.

Live value ​

Right-aligned number from the current knob position — 0–127 for 7-bit modes, 0–16383 for 14-bit modes. If you narrowed min/max in edit mode, the value respects that range and the indicator bar may show checkered bands at the limits. A CC (or other classic MIDI dest) whose min and max are consecutive integers — typically 0 and 1 for on/off — uses the same moving switch pad as LFO sync.

Program change and channel aftertouch ​

Same layout as CC, but there is no controller number in the middle — only the PC or MONO AT tag, channel, outputs, and value.

Channel aftertouch row on Perform

Poly aftertouch ​

POLY AT is like CC: the middle column is the note name that receives pressure (same octave convention as Settings → Note Names; default MIDI 60 = C3). The knob maps pressure 0–127. Channel, outputs, and value sit in the same places as CC.

Poly aftertouch row on Perform

With one macro on, POLY AT is the large name (same as MONO AT / CC). The note name sits with the channel on the lower line.

Single-macro poly aftertouch

With two macros on, each row keeps the mode name on the upper line and channel + note (plus outputs) on the lower line.

Two-macro poly aftertouch

Name a control ​

You can give any classic MIDI macro (CC, CC14, PC, MONO AT, POLY AT, NRPN, RPN, PB, SysEx) a custom name. When set, the name replaces the message type and controller/parameter columns, so the row reads like the thing it controls instead of a raw MIDI address. The channel, outputs, and live value stay exactly where they are.

Macro row with a custom control name

Long names are shortened with a trailing … so they never overrun the channel column.

To add, change, or remove a name, open the macro side menu: in edit mode, select a macro row and Hold Select (long press) long-press Select.

Macro side menu with name options

ItemWhen shownAction
Name MacroRow has no nameOpens the text editor to type a name
Rename MacroRow already namedReopens the editor with the current name
Remove NameRow already namedClears the name (asks to confirm) and restores the default layout

Names are saved with the project.

MIDI Learn ​

Instead of setting the message type and numbers by hand, you can teach a macro from your controller. Open the macro side menu (in edit mode, select a macro row and Hold Select (long press) long-press Select), choose MIDI Learn, then move a knob, press a key, or send the message you want to capture.

MIDI Learn appears for the modes a macro can send: CC, 14-bit CC, Program Change, Aftertouch, Poly Aftertouch, Pitch Bend, and SysEx. A Disabled macro row offers only MIDI Learn — capture turns the macro on with the learned message.

You sendThe macro becomes
A control changeCC on that controller number and channel
A 14-bit CC (MSB + paired LSB)CC14 on that controller pair and channel — detected automatically
A program changePC on that channel
Channel aftertouchMONO AT on that channel
Polyphonic aftertouchPOLY AT on that note and channel
Pitch bendPB on that channel
A SysEx messageSysEx bound to the whole captured message

The prompt stays up until a message arrives; press Press Select (short) Select or Press Back (short) Back to cancel. As soon as a message is captured, the macro’s mode and fields update to match and the change is saved with the project. You can then fine-tune it in the macro grid (for example, narrow the range, or pick which SysEx byte the knob drives).

INFO

Notes are not learnable here — macros do not send notes. This is also different from External Mapping, which points incoming MIDI at a device or LFO parameter instead of configuring the macro’s own output.

Configure these macros ​