Remote Control (OSC)
Drive Prismatik from a Stream Deck, a console macro, or anything that speaks OSC. Transport, markers and the mixer, on physical buttons.
What this is for
Two jobs, and they are different.
Running a show — Conductor. Play, next, mute the click, set a level, on a button you can hit without looking.
Marking cues — Timeliner. A foot switch or a Stream Deck key dropping a marker on a named layer, so your hand never leaves the desk while you listen.
Stream Deck
A Stream Deck talks to Prismatik through Bitfocus Companion, which speaks OSC. There is no separate Stream Deck setup — configure Companion and the keys follow.
- In Prismatik, open Conductor or Timeliner and press Enable OSC. It listens on UDP 8000.
- In Companion, add a generic OSC connection pointed at the machine running Prismatik, port 8000.
- Give a button an OSC: Send message action, and paste one of the addresses below into it. Leave the arguments empty.
Both tools list every address in the app with click-to-copy, and show the last address received along with what it resolved to — so a button that does nothing tells you whether the message arrived at all.
How the addresses work
Every command is address-only, with no arguments. A button press sends a
bare string. Anything that needs a value has its own address —
/prismatik/mixer/volume/50 rather than a volume address carrying 0.5.
That is deliberate: it means every command is copy-pasteable with nothing to configure, which is the difference between setting up thirty buttons in five minutes and in an hour.
Matching ignores case and tolerates a trailing slash.
Volume takes any percentage
The table lists every 5%, to stay readable. Any whole number from 0 to 100
works, listed or not — /prismatik/mixer/volume/37 is valid.
Values outside 0–100 are refused rather than clamped. A controller sending 150 is misconfigured, and quietly treating that as full volume would hide it.
Marker layers are 0–9
Layer 0 is the global layer, and 1–9 are the first nine layers of the track — the same as Timeliner’s numpad bindings, so the keyboard and a Stream Deck mean the same thing.
An address for a layer that does not exist on the current track drops the marker on the global layer rather than doing nothing.
The addresses
Transport
| Address | Does |
|---|---|
/prismatik/transport/play | Play |
/prismatik/transport/pause | Pause |
/prismatik/transport/playpause | Play / pause toggle |
/prismatik/transport/stop | Stop |
/prismatik/transport/next | Next track |
/prismatik/transport/previous | Previous track |
Set
| Address | Does |
|---|---|
/prismatik/set/shuffle | Toggle shuffle |
/prismatik/set/repeat | Cycle repeat: off / set / track |
/prismatik/set/track/1 | Go to track 1 |
/prismatik/set/track/2 | Go to track 2 |
/prismatik/set/track/3 | Go to track 3 |
/prismatik/set/track/4 | Go to track 4 |
/prismatik/set/track/5 | Go to track 5 |
/prismatik/set/track/6 | Go to track 6 |
/prismatik/set/track/7 | Go to track 7 |
/prismatik/set/track/8 | Go to track 8 |
/prismatik/set/track/9 | Go to track 9 |
/prismatik/set/track/10 | Go to track 10 |
/prismatik/set/track/11 | Go to track 11 |
/prismatik/set/track/12 | Go to track 12 |
/prismatik/set/track/13 | Go to track 13 |
/prismatik/set/track/14 | Go to track 14 |
/prismatik/set/track/15 | Go to track 15 |
/prismatik/set/track/16 | Go to track 16 |
Marker
| Address | Does |
|---|---|
/prismatik/marker/add | Add marker on the selected layer |
/prismatik/marker/add/global | Add marker on the global layer |
/prismatik/marker/add/0 | Add marker on the global layer |
/prismatik/marker/add/1 | Add marker on layer 1 |
/prismatik/marker/add/2 | Add marker on layer 2 |
/prismatik/marker/add/3 | Add marker on layer 3 |
/prismatik/marker/add/4 | Add marker on layer 4 |
/prismatik/marker/add/5 | Add marker on layer 5 |
/prismatik/marker/add/6 | Add marker on layer 6 |
/prismatik/marker/add/7 | Add marker on layer 7 |
/prismatik/marker/add/8 | Add marker on layer 8 |
/prismatik/marker/add/9 | Add marker on layer 9 |
Mixer
| Address | Does |
|---|---|
/prismatik/mixer/volume/up | Master volume up |
/prismatik/mixer/volume/down | Master volume down |
/prismatik/mixer/clearsolo | Clear every solo |
/prismatik/mixer/mute/music | Toggle mute on the music bus |
/prismatik/mixer/mute/click | Toggle mute on the click bus |
/prismatik/mixer/mute/cues | Toggle mute on the cues bus |
/prismatik/mixer/mute/aux | Toggle mute on the aux bus |
/prismatik/mixer/mute/timecode | Toggle mute on the timecode bus |
/prismatik/mixer/solo/music | Toggle solo on the music bus |
/prismatik/mixer/solo/click | Toggle solo on the click bus |
/prismatik/mixer/solo/cues | Toggle solo on the cues bus |
/prismatik/mixer/solo/aux | Toggle solo on the aux bus |
/prismatik/mixer/solo/timecode | Toggle solo on the timecode bus |
/prismatik/mixer/volume/0 | Master volume 0% |
/prismatik/mixer/volume/5 | Master volume 5% |
/prismatik/mixer/volume/10 | Master volume 10% |
/prismatik/mixer/volume/15 | Master volume 15% |
/prismatik/mixer/volume/20 | Master volume 20% |
/prismatik/mixer/volume/25 | Master volume 25% |
/prismatik/mixer/volume/30 | Master volume 30% |
/prismatik/mixer/volume/35 | Master volume 35% |
/prismatik/mixer/volume/40 | Master volume 40% |
/prismatik/mixer/volume/45 | Master volume 45% |
/prismatik/mixer/volume/50 | Master volume 50% |
/prismatik/mixer/volume/55 | Master volume 55% |
/prismatik/mixer/volume/60 | Master volume 60% |
/prismatik/mixer/volume/65 | Master volume 65% |
/prismatik/mixer/volume/70 | Master volume 70% |
/prismatik/mixer/volume/75 | Master volume 75% |
/prismatik/mixer/volume/80 | Master volume 80% |
/prismatik/mixer/volume/85 | Master volume 85% |
/prismatik/mixer/volume/90 | Master volume 90% |
/prismatik/mixer/volume/95 | Master volume 95% |
/prismatik/mixer/volume/100 | Master volume 100% |
Which tool answers what
Not every command applies everywhere. Both tools ignore what does not.
| Conductor | Timeliner | |
|---|---|---|
| Transport play / pause / stop | yes | yes |
| Next / previous track | yes | — |
| Go to track n | yes | — |
| Shuffle, repeat | yes | — |
| Add marker | — | yes |
| Mixer mute / solo | yes | yes |
| Set volume to a percentage | yes | yes |
| Volume up / down | yes | — |
Each tool also lists only its own commands: Timeliner shows no track addresses,
and Conductor shows no marker addresses. Conductor’s track list is as long as
the loaded setlist, so /set/track/9 on a five-track set does not resolve.
Troubleshooting
A button does nothing
Check the Last received line in the tool. If nothing appears, the message
is not arriving — check Companion’s target IP and that both machines are on the
same subnet. If the address appears marked (unknown), it reached Prismatik
but did not match — either a typo or a command that tool does not offer, since
each tool only resolves its own list.
The address arrives but nothing happens
The command resolved but that tool does not act on it — see the table above. Volume up and down are the usual case: they are listed everywhere but only Conductor moves on them.
Port 8000 is already in use
Cuepoints uses the same default, so the two cannot listen at once on one machine.
Related
Source
src/renderer/src/utils/osc-commands.ts