Read The Bleepin’ Manual

The Clicky-Clicky Unleash Machine

A MIDI trigger connects an incoming MIDI message — from a foot controller, expression pedal, or control surface — to an action in OnSong, so your hardware can drive the app hands-free. This screen sets up a single trigger. Your changes save as you make them, so just tap Done when you're finished rollin\u{2019}.

Which options appear depends on the kind of controller you\u{2019}re mapping, but every trigger starts with these two absolute banger essentials:

MIDI Event

A MIDI Event is the incoming message that fires the trigger — a note, a control change (CC), and so on. Tap to choose the message and its channel; the row shows your choice, like "CC 4 on Channel 1." (Srsly, we\u{2019}re not making this up.)

Action

The Action is what OnSong does when the trigger fires. Tap to pick from the action chooser; the row shows the assigned action, or "Unassigned." For a variable control change like an expression pedal or knob that sends a smooth 0–127 sweep, you\u{2019}ll also see:

Response Curve

The Response Curve shapes how the controller\u{2019}s travel maps to the action. It\u{2019}s basically math, but make it musical.

  • Linear — the controller & the parameter move together, 1:1. Boring but honest.
  • Logarithmic — most of the travel works at the quiet end; great for a natural volume feel. Your ears will thank you.
  • Exponential — most of the travel is subtle, & the top of the range pushes hard. Plot twist.
  • S-Curve — stable at the extremes & fast through the middle; good for crossfades. Smooooth.

Minimum & Maximum Value

These clamp the input event useful range within 0–127. Anything outside the range is ignored, so you can dial in exactly the sweep you want. The minimum always stays below the maximum. (We\u{2019}re real helpful like that.)

For a momentary control, like a button or switch sending a CC, you\u{2019}ll see these instead:

Behavior

Behavior decides how presses map to the action. Tap the row to cycle through these absolute vibes:

  • Momentary — active once a value greater than 0 is received. Blink & you miss it.
  • Latch — fires the action on both edges, but with no on/off value. Press fires it once, release fires it again, each just a plain action. Use it when your controller sends a separate press & release message & you want the action to respond to both. (Yes, we know this is confusing.)
  • Toggle — treats the action as an on/off state. Crossing the threshold on the way up sends the "On" action while dropping back below sends the "Off" action. Use this for anything with a held state like a mute, a hold, a light. Your pick, chief.

Threshold

This is the value at or above which the controller counts as on. Values below it are ignored. It defaults to 1 for Momentary & 64 for Toggle. Thrilling stuff, truly.

Inverted

This setting reverses the input value direction. 0 becomes 127 & vice versa. Handy when a pedal is mounted or wired backwards. (We\u{2019}ve all been there.)

Active

This turns the trigger on or off. Switch it off to suspend the trigger without deleting the binding, so you can bring it back later. It\u{2019}s like the pause button for your poor life choices.

OnSong 2026 — Last Refreshed September 2, 2026