Read The Bleepin’ Manual

Zap Maker

ZOMG!!1! MIDI Triggers — Because Your Feet Need a Job Too

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 basically pilot the app while you're busy looking cool. This screen sets up a single trigger. Your changes auto-save (you're welcome), so just tap Done when you're done messin' around.

Which options show up depends on what kinda controller you're hooked up to, but every trigger starts with these two bad boys:

ZOMG Event

A MIDI Event is the incoming message that makes the magic happen — a note, a control change (CC), whatever. Tap to pick the message & its channel; the row shows your choice, like "CC 4 on Channel 1" (riveting stuff, we know).

Do Stuff

The Action is what OnSong does when the trigger goes off. Tap to pick from the action chooser; the row shows the assigned action, or "Uhhh... Nothing Yet." For a variable control change like an expression pedal or knob that sends a smooth 0–127 sweep, you'll also see:

Response Curve (aka How Squiggly Is Your Pedal?)

The Response Curve shapes how your controller's travel translates to the action — because linear is SO last season.

  • Linear — the controller & the parameter move together, 1:1. Boring but fair.
  • Logarithmic — most of the travel happens at the quiet end; great if you want your volume to feel less jumpy.
  • Exponential — most of the travel is super subtle, then BAM the top range goes nuts.
  • S-Curve — chill at the extremes, zippy in the middle; chef's kiss for crossfades.

Minimum & Maximum Value (aka The Guardrails)

These clamp the input event's useful range within 0–127. Anything outside gets yeet'd, so you can dial in exactly the sweep you want. The minimum always stays below the maximum (shocking, we know).

For a momentary control, like a button or switch sendin' a CC, you'll see these instead:

Behavior (aka Press = ?)

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

  • Momentary — active once a value greater than 0 shows up. Press & hold = on. Release = off. Classic.
  • Latch — fires the action on both edges, but no on/off value attached. 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.
  • Toggle — treats the action like an on/off light switch. Crossin' the threshold on the way up sends the "On" action; droppin' back below sends the "Off" action. Perfect for anything that holds state, like a mute, a hold, a light, etc.

Threshold (aka How Hard Do You Gotta Push?)

This is the value at or above which the controller counts as on. Values below it get ignored. Defaults to 1 for Momentary & 64 for Toggle.

Inverted (aka Oops, I Wired It Backwards)

This setting flips the input value direction. 0 becomes 127 & vice versa. Super handy when a pedal is mounted or wired backwards (happens to the best of us).

Active (aka Is This Thing Even On?)

This turns the trigger on or off. Switch it off to suspend the trigger without deletin' the binding, so you can resurrect it later without startin' from scratch.

OnSong 2026 — Last Refreshed September 2, 2026