An interactive installation almost always needs some kind of operator panel — a way to trigger cues, nudge a parameter, or kill a misbehaving effect without crawling under a table to find a keyboard. TouchOSC turns a phone, tablet, or old iPad gathering dust in a drawer into exactly that: a fully custom touch control surface that talks to whatever software is actually running your piece.
This is a guide to the part that trips people up first — not the app’s layout editor, which is mostly drag-and-drop, but the address namespace underneath it.
OSC addresses are a namespace you design
Open Sound Control (OSC) messages look like URL paths: /fader1, /scene/2/trigger, /light/stage-left/intensity. Unlike MIDI, where CC numbers are a fixed, scarce resource you’re constantly renegotiating, OSC addresses are just strings — you invent them, and the receiving software (TouchDesigner, Max/MSP, QLab, Resolume, a custom script) matches on whatever string it’s listening for.
This means the actual design work in TouchOSC isn’t “lay out some faders.” It’s deciding on a naming scheme before you build the layout — something like /zone/<name>/<parameter> — so that as the installation grows from three controls to thirty, you’re not hunting through an undocumented pile of /1, /2, /fader3 addresses trying to remember what each one does six months later.
Building a first layout
- Start with one page, one purpose. TouchOSC layouts support multiple pages, but a first build should do one job — triggering cues, or riding one fader bank — so you can verify the connection before adding complexity.
- Name every control as you place it. The editor lets you set a custom OSC address per control at creation time; do this immediately rather than batch-renaming later, when a grid of identical unlabeled faders becomes a guessing game.
- Match value ranges to the receiver, not the control. A fader sends 0.0–1.0 by default. If the receiving software expects 0–255 or 0–127, decide whether to rescale in TouchOSC’s control properties or in the receiving patch — pick one place to do it, not both, or values will silently double-scale.
- Test with an OSC monitor before trusting the receiver. Tools like Protokol (from the TouchOSC team) or a simple OSC-dump script let you watch raw addresses and values arrive, which separates “my layout is wrong” from “my receiving patch is wrong” — two failure modes that look identical from the TouchOSC side.
Connecting to the room
TouchOSC talks over the network via OSC (UDP) or, in recent versions, MIDI over the same connection, so a single app can drive both an OSC-based show-control system and a MIDI-only synth without a second piece of software. For an installation where the operator isn’t you — a gallery attendant, a performer, a front-of-house tech — building a layout with clearly labeled, purpose-built controls rather than a generic mixer-style grid is what actually makes the system usable by someone who didn’t build it.