prism docs · Music, control and shows · MIDI, OSC, keys and triggers

MIDI, OSC, keys and triggers

Run your show from a MIDI controller, a tablet with TouchOSC, QLab or Ableton, or the keyboard. Faders and knobs move settings; pads, keys, beats and drum hits fire triggers: GO, a scene, a flash, a blackout, a new colour. Everything here lives in Design ▸ Live control.

WhereLive control ▸ MIDI, OSC, Keys, Triggers
QuickestRight-click a setting ▸ MIDI / OSC learn, then turn a knob
NeedsMIDI: Chrome or Edge. OSC: the prism server (not the simulator)
ModeAdvanced (everything keeps working in Simple)
1 · Controls and triggers 2 · MIDI 3 · Learn from a setting 4 · A control's range and response 5 · OSC 6 · OSC addresses 7 · Show keys 8 · Triggers 9 · Hints and tips 10 · When something looks wrong 11 · Mouse and keyboard

1Controls and triggers

Running the show isn't editing it. Values from controllers, triggers and GO are never undo steps, so Ctrl + Z keeps undoing your edits, not the show. Controllers and triggers work in Simple mode too; only the tabs to set them up are Advanced.

2MIDI

  1. Plug the controller in, then open Live control ▸ MIDI.
  2. Click Turn on MIDI and allow MIDI when the browser asks, next to the address bar. MIDI works in Chrome and Edge.
  3. MIDI is on: choose the controller under Listen to, or keep All devices. Move something: Last message shows what arrives, for example CC 16 = 85 · ch 1, so you know it's connected.
  4. Pads and keys: under Buttons and pads, click Learn a button and press the pad. It becomes a trigger that starts as GO (next cue); change its Do as in Triggers.
  5. Knobs and faders: under Knobs and faders, click Learn a knob or fader and move it. Choose what it Moves: Projector brightness or a surface, then its Layer and Setting.
Turn on MIDI, Play the show from a MIDI controller
Before MIDI is on.
The MIDI tab: MIDI is on, a pad learned as GO, and a knob moving the Wall's Scale with its response
MIDI on with a KORG nanoKONTROL2: Last message on the left; a pad (MIDI note C2 · ch 1) that fires GO; a knob (MIDI CC 16 · ch 1) that moves the Wall's Scale, with its response opened.

3Learn from a setting

The quickest way to link a knob to a setting is from the setting itself.

  1. Right-click the setting in the look panel or the inspector ▸ MIDI / OSC learn.
  2. A message waits: “Move a MIDI knob, fader or pad, or send OSC, for speed…”. Turn the knob.
  3. It confirms: “Speed now follows MIDI CC 17 · ch 1.” Its range is the setting's whole range, and its kind (hue, on/off…) suits the setting.
The setting's right-click menu with MIDI / OSC learn highlighted
Right-click ▸ MIDI / OSC learn.
The Modulate Speed popover showing the MIDI CC 17 control with its response and the OSC addresses
The setting's wave button then shows the control under MIDI / OSC control: what the knob sends (left), the curve, and the Speed it sets (right), 0.00 to 3.00.

Learning the same knob again for the setting replaces its old link; a different knob adds a second control. Learn gives up by itself after 20 seconds.

4A control's range and response

Every control has the same Response block as automation (see Automation): the part of the knob that counts, a curve, and where the setting goes at the bottom and the top. Drag the ends past each other, or press Invert, to turn it round. Attack and Release make a jump glide. Open it from the control's Response line in the MIDI and OSC tabs, from the setting's wave button, or with right-click ▸ Controller range….

SettingHow a control sets it
A numberAcross its range, from the output's “from” to its “to”.
A colourHue, Brightness, Saturation, or Blend between two colours (From, To).
A switchOn while held, or Flip on each press; On at is the point where it switches.
A choiceIt sweeps through the options across the control's travel (there is nothing to pick).
A positionX and Y, X only or Y only.

A line under each control shows the value now, for example Speed now: 1.65. Locked surfaces are left alone.

5OSC

OSC is a network protocol many show apps speak: TouchOSC on a tablet, QLab, Ableton, Resolume. The prism server listens for it on UDP port 8000 and passes each message to the studio.

  1. Open Live control ▸ OSC. Send OSC to shows where to send: an address and port such as 127.0.0.1:8000 UDP (copy it with the button beside it). 127.0.0.1 means “this computer”, so apps on the same PC can reach it.
  2. Keep Accept OSC in this window on.
  3. Point your app at that address and send something: Last message shows it.
  4. Use prism's own addresses (next section), or learn your controller's: under Your controller, Learn a button (it starts as GO) or Learn a fader (then pick what it moves).
The OSC tab: Send OSC to 127.0.0.1:8000 UDP, addresses, and a learned TouchOSC fader moving the Wall's Scale
The OSC tab with the server listening on this computer: the addresses in this project and all of them, and a TouchOSC fader (OSC /1/fader1) learned to move the Wall's Scale.
OSC has no password. Anyone who can reach the port can drive the show, as with MadMapper or QLab. The server can listen on this computer only (as above) or on your network; only open it to the network you trust, and switch Accept OSC in this window off when you don't need it. The port is set on the server with OSC_PORT (8000 by default).
Not in the simulator. OSC needs the prism server, so a project opened with the simulator says “OSC needs the server: it is not available in simulator mode”. Tablets can't reach it through the internet tunnel either: OSC travels on the local network.

6OSC addresses

A button acts on a press: no value, a number above 0, true, or a word. The 0 a button sends when released is ignored.

AddressValueWhat it does
/prism/cue/go—GO: fire the next cue
/prism/cue/next—Go to the cue after the current one
/prism/cue/prev—Go back to the previous cue
/prism/cue/stop—Stop following (hold the look)
/prism/cue/play—Resume following
/prism/cue/<n>—Fire tile n of the GO order (the Scenes row)
/prism/preset/<n or name>—Crossfade to a scene or cue, by name or by number (counting every scene and cue in the order you made them)
/prism/param/<surface>/<layer>/<setting>valueSet a setting in its own units (a colour: r g b or "#rrggbb"; a choice: number or name; a switch: 0 or 1; a position: x y)
/prism/fader/<surface>/<layer>/<setting>0..1Set a setting across its range (a colour: its hue; a choice: across the options; a switch: on above ½)
/prism/master/brightness0..1Projector brightness
/prism/blackout—Blackout on / off: a press toggles it
/prism/blackout/set0 | 1Blackout off / on (for a toggle button)
/prism/flash—Flash every surface white
/prism/randomize—Re-roll random sources
/prism/tap—The Tap trigger
/prism/trigger/<name>—Any trigger: key1 … key9, beat, bar…
/prism/tempo/tap—Tap tempo
/prism/tempo/bpmbpmSet the tempo (20–300)
Right-click Contrast, OSC, Copy the address /prism/param/64/1/contrast and Copy the fader address
Right-click ▸ OSC: the setting's two addresses, ready to paste into TouchOSC.

7Show keys

Live control ▸ Keys lists the keyboard keys that run the show. They are saved with the project.

The Keys tab with GO Space, Next cue, Previous cue, Stop following S, Tap trigger T, Blackout B and Tap tempo
The Keys tab: each action, where it works, its key, Change and ✕.
ActionKeyWorks in
GO (next cue)SpaceDesign and Show
Next cue→Show (→ is Design's own key)
Previous cue←Show (← is Design's own key)
Stop followingSDesign and Show
Tap triggerTShow
BlackoutBShow
Tap tempononeShow
  1. Click Change beside the action, then press the new key (Esc cancels). Taking a key from another action moves it.
  2. ✕ leaves the action without a key; Defaults puts every key back.

Esc, Tab, Enter, 1–9, + and ? stay free, and so do combinations with Ctrl, Alt or ⌘. Show mode also has 1–9 (the triggers Key 1–9) and Esc (back to Design). In Show, the GO key always means GO, even with a button focused; Enter still presses buttons.

8Triggers

Live control ▸ Triggers lists every trigger as a card: When an input fires ▸ Do an action.

The Triggers tab: Tap to Flash white, Key 1 Next scene, Key 2 Flash white, Key 3 Randomize, Kick drum to a random colour on the Door
The four triggers every new project has, plus one added: Kick drum → A random colour on Door.
WhenFires
TapThe big Tap pad in Show, the T key in Show, or OSC /prism/tap.
Key 1 … Key 9The number keys and pads in Show mode.
Every beat, Every bar (4 beats)The tempo clock (it keeps time without music too).
Audio onset, Kick drum, Snare / clap, Hi-hatHits in the music (needs a sound input).
A MIDI note, CC or program, an OSC addressWhatever Learn catches.
DoWhat happens
GO (next cue), Next cue, Previous cue, Stop the cue listThe same as the transport buttons (see GO, previous and next).
Fire a cueA tile of the GO order.
Go to a scene or cueAny scene or cue, in or out of the GO order.
Next sceneThe next tile of the GO order, as Next cue does (scenes in the order you made them when there is no GO order).
Flash whiteEvery surface flashes white.
BlackoutToggle, On or Off.
RandomizeNew values for random sources (Random per surface, random LFOs). With none, it does nothing: its card says “Randomize (nothing random yet)”.
Set a settingA setting on one surface or all of them, to a value you choose.
Next option / flipA choice steps to its next option; a switch flips.
Random colourA vivid colour, the same for all or A colour of its own for each surface.
Tap tempoCounts as a tap on the tempo.
  1. Add trigger adds a card for the first free input, set to Flash white.
  2. Pick When (or Learn a MIDI or OSC button), then Do; for setting actions pick On (a surface or All surfaces), the Setting and its value.
  3. Try runs just this trigger now. The bin removes it.

New projects start with Tap → Flash white, Key 1 → Next scene, Key 2 → Flash white and Key 3 → Randomize. Defaults… puts that list back: it asks first, because it replaces every trigger, including learned MIDI and OSC buttons (Ctrl + Z undoes it).

From a setting, or a tile

Right-click Palette, Trigger, Next option on, the list of inputs
Right-click the Palette ▸ Trigger ▸ Next option on ▸ an input: now that key steps the palette.
Controls and the timeline. Moving a setting that a playing timeline drives, from MIDI, OSC or a trigger, takes it over: it follows your control until you give it back. See the timeline.

9Hints and tips

10When something looks wrong

You seeWhyFix
“No MIDI in this browser”Only Chrome and Edge have Web MIDI.Use Chrome or Edge on the computer that runs the show.
“MIDI access was blocked”The permission was refused.Allow MIDI in the site settings (the icon left of the address), then Turn on MIDI.
“No MIDI device found”Nothing is plugged in, or it's in use.Plug it in (it appears by itself); close other apps that hold it.
Last message changes but nothing happensThe control isn't learned, or Listen to is another device.Learn it; set Listen to to All devices.
A pad fires only every other pressThe controller's button is in toggle mode: it sends 127, then 0 on the next press.Set the button to momentary (127 on press, 0 on release).
“OSC needs the server”The simulator has no server.Open the project through the prism server.
“UDP port 8000 is already in use”Another program listens on 8000.Close it, or start the server with another OSC_PORT.
OSC arrives (Last message) but nothing movesAccept OSC in this window is off, or the address names the wrong surface or setting.Switch it on; copy the address from the setting's menu.
A tablet can't reach prismThe server listens on this computer only, or a firewall blocks UDP.Let the server listen on the network (a trusted one) and allow UDP 8000.
Keys 1–9 do nothingThey fire in Show mode only.Open Show, or use Try.
→ and ← don't change the cue in DesignIn Design the arrows nudge shapes.Use them in Show, or give Next and Previous other keys.
A timeline setting stopped playingA control took it over.↺ Back to the timeline in the Timeline tab.

11Mouse and keyboard

ActionHow
Open the drawerLive control in the strip under the canvas · drag its top edge to resize · double-click it for the default height
Switch tabs← → Home End on the tab row
Resize from the keyboardFocus the edge: ↑ ↓ 16 px · PgUp PgDn 64 px · Home End
Fold a sectionClick its title · right-click it for Collapse all / Expand all
LearnClick Learn (click again to cancel), then move or press the control
Change a show keyChange, then the key · Esc cancels
prism documentation · Music, control and shows · screenshots taken in prism's simulator with a stand-in MIDI controller and OSC server · 28 Sept 2026