IntegrationsRemote Control (OSC)

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.

  1. In Prismatik, open Conductor or Timeliner and press Enable OSC. It listens on UDP 8000.
  2. In Companion, add a generic OSC connection pointed at the machine running Prismatik, port 8000.
  3. 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

AddressDoes
/prismatik/transport/playPlay
/prismatik/transport/pausePause
/prismatik/transport/playpausePlay / pause toggle
/prismatik/transport/stopStop
/prismatik/transport/nextNext track
/prismatik/transport/previousPrevious track

Set

AddressDoes
/prismatik/set/shuffleToggle shuffle
/prismatik/set/repeatCycle repeat: off / set / track
/prismatik/set/track/1Go to track 1
/prismatik/set/track/2Go to track 2
/prismatik/set/track/3Go to track 3
/prismatik/set/track/4Go to track 4
/prismatik/set/track/5Go to track 5
/prismatik/set/track/6Go to track 6
/prismatik/set/track/7Go to track 7
/prismatik/set/track/8Go to track 8
/prismatik/set/track/9Go to track 9
/prismatik/set/track/10Go to track 10
/prismatik/set/track/11Go to track 11
/prismatik/set/track/12Go to track 12
/prismatik/set/track/13Go to track 13
/prismatik/set/track/14Go to track 14
/prismatik/set/track/15Go to track 15
/prismatik/set/track/16Go to track 16

Marker

AddressDoes
/prismatik/marker/addAdd marker on the selected layer
/prismatik/marker/add/globalAdd marker on the global layer
/prismatik/marker/add/0Add marker on the global layer
/prismatik/marker/add/1Add marker on layer 1
/prismatik/marker/add/2Add marker on layer 2
/prismatik/marker/add/3Add marker on layer 3
/prismatik/marker/add/4Add marker on layer 4
/prismatik/marker/add/5Add marker on layer 5
/prismatik/marker/add/6Add marker on layer 6
/prismatik/marker/add/7Add marker on layer 7
/prismatik/marker/add/8Add marker on layer 8
/prismatik/marker/add/9Add marker on layer 9

Mixer

AddressDoes
/prismatik/mixer/volume/upMaster volume up
/prismatik/mixer/volume/downMaster volume down
/prismatik/mixer/clearsoloClear every solo
/prismatik/mixer/mute/musicToggle mute on the music bus
/prismatik/mixer/mute/clickToggle mute on the click bus
/prismatik/mixer/mute/cuesToggle mute on the cues bus
/prismatik/mixer/mute/auxToggle mute on the aux bus
/prismatik/mixer/mute/timecodeToggle mute on the timecode bus
/prismatik/mixer/solo/musicToggle solo on the music bus
/prismatik/mixer/solo/clickToggle solo on the click bus
/prismatik/mixer/solo/cuesToggle solo on the cues bus
/prismatik/mixer/solo/auxToggle solo on the aux bus
/prismatik/mixer/solo/timecodeToggle solo on the timecode bus
/prismatik/mixer/volume/0Master volume 0%
/prismatik/mixer/volume/5Master volume 5%
/prismatik/mixer/volume/10Master volume 10%
/prismatik/mixer/volume/15Master volume 15%
/prismatik/mixer/volume/20Master volume 20%
/prismatik/mixer/volume/25Master volume 25%
/prismatik/mixer/volume/30Master volume 30%
/prismatik/mixer/volume/35Master volume 35%
/prismatik/mixer/volume/40Master volume 40%
/prismatik/mixer/volume/45Master volume 45%
/prismatik/mixer/volume/50Master volume 50%
/prismatik/mixer/volume/55Master volume 55%
/prismatik/mixer/volume/60Master volume 60%
/prismatik/mixer/volume/65Master volume 65%
/prismatik/mixer/volume/70Master volume 70%
/prismatik/mixer/volume/75Master volume 75%
/prismatik/mixer/volume/80Master volume 80%
/prismatik/mixer/volume/85Master volume 85%
/prismatik/mixer/volume/90Master volume 90%
/prismatik/mixer/volume/95Master volume 95%
/prismatik/mixer/volume/100Master volume 100%

Which tool answers what

Not every command applies everywhere. Both tools ignore what does not.

ConductorTimeliner
Transport play / pause / stopyesyes
Next / previous trackyes—
Go to track nyes—
Shuffle, repeatyes—
Add marker—yes
Mixer mute / soloyesyes
Set volume to a percentageyesyes
Volume up / downyes—

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.

Source

src/renderer/src/utils/osc-commands.ts