Read The Bleepin’ Manual
The Bleepin' Magic Button Maker
ZOMG MIDI Triggers (aka How to Make Your Footswitches Do Stuff)
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. (Translation: stop tap-tap-tappin' on your iPad like a maniac. Let the pedal do it.) This screen sets up a single trigger. Your changes save as you make them, so just tap Done when you're finished & we can all move on with our lives.
Which options appear depends on the kind of controller you're mappin', but every trigger starts with these two absolute bangers:
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 & its channel; the row shows your choice, like "CC 4 on Channel 1." (Srsly, if you don't know what that means, Google exists.)
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." (Oops! You forgot to pick somethin'. Classic.) For a variable control change like an expression pedal or knob that sends a smooth 0–127 sweep, you'll also see:
Response Curve
The Response Curve shapes how the controller's travel maps to the action. Translation: we let you pretend your hardware isn't janky.
- Linear — the controller & the parameter move together, 1:1. Boring but fair.
- Logarithmic — most of the travel works at the quiet end; great for a natural volume feel. Your ears are weird, we get it.
- Exponential — most of the travel is subtle, & the top of the range pushes hard. For when subtlety fails & you need to SHOUT.
- S-Curve — stable at the extremes & fast through the middle; good for crossfades. Fancy. We're impressed.
Minimum & Maximum Value
These clamp the input event's 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. (Math! Woo.)
For a momentary control, like a button or switch sendin' a CC, you'll see these instead (because apparently buttons & knobs live in different universes):
Behavior
Behavior decides how presses map to the action. Tap the row to cycle through & watch the magic (or chaos):
- Momentary — active once a value greater than 0 is received. Press the button, stuff happens. Release it, stuff stops. Ez.
- 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. (Yeah, we know, it's confusing.)
- Toggle — treats the action as an on/off state. Crossin' the threshold on the way up sends the "On" action while droppin' back below sends the "Off" action. Use this for anything with a held state like a mute, a hold, a light. Your stage lights are now your problem.
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. (Pick a number between 0 & 127 & try not to overthink it.)
Inverted
This setting reverses the input value direction. 0 becomes 127 & vice versa. Handy when a pedal is mounted or wired backwards. (AKA: your tech guy messed up & we're not gonna rat him out.)
Active
This turns the trigger on or off. Switch it off to suspend the trigger without deletin' the binding, so you can bring it back later. It's like a snooze button, but for your MIDI brain.