Tools
OSC
Control CuePoints from a console or Companion using Open Sound Control
OSC (Open Sound Control) lets machines on a network send each other short messages. With it, your lighting desk, media server, tablet or Stream Deck can control CuePoints, and CuePoints can control them.
Set it up in Settings > OSC. This page is about what to do with it once it's on.
What You Can Do With It
Drive CuePoints from the desk. Press GO on the lighting console and a cue appears in CuePoints, at exactly the right moment. This is how most people record a cue list during a tech.
Drive the desk from CuePoints. Fire a cue here and the console jumps to it.
Run the transport from anywhere. Play, pause, skip and record, from a Stream Deck or a tablet.
Show the state of the show elsewhere. CuePoints reports its transport, playhead and record state continuously, so a status display always knows where the show is.
The Basics Of Getting Connected
Three things have to line up, at both ends:
The same network. Both machines need addresses in the same range,
192.168.0.xtalking to192.168.0.x. If your Mac is on Wi-Fi and the desk is on a wired show network, pick the right network interface on the OSC pane so the messages leave by the right door.The same port.
8000is the usual one.The same message wording. Choose a preset for your console and this is filled in for you.
The message log on the OSC pane is the tool that solves nearly everything. Clear it, press GO once on the console, and look at exactly what arrived.
The Message List
The OSC pane lists every message CuePoints understands. Click one to copy it, and paste it into whatever is sending. The complete list is also at the foot of this page, see Message Reference.
Command templates support placeholders, so a single template can carry the cue number, name or timecode. An individual CuePoint can also carry its own command, which overrides the default for its type, useful when one cue in the show has to do something unusual.
Stream Deck, Using Companion
Bitfocus Companion is free software that turns a Stream Deck into an OSC controller. It also has a built-in emulator, so you can try all this with no hardware at all.
Download it from bitfocus.io/companion.
Set Companion up:
Choose the network interface that matches the one CuePoints is using.
Press Launch GUI.
Add CuePoints as a connection:
On the Connections tab, add a Generic OSC device.
Set Target IP to your Mac's address; the one shown for the network interface CuePoints is using.
Set Target Port to the port on the OSC pane (
8000unless you changed it).Save.
Add the ready-made buttons:
Download the CuePoints Companion config from cuepoints.com/download.
Go to the Import / Export tab.
Import the config file.
You now have a page of working buttons, transport, cue navigation, and cue creation.
grandMA3
grandMA3 can drive CuePoints directly, using a set of ready-made macros.
Set up OSC on the desk:
Put the desk's network adapter in the same range as your Mac.
Go to
Menu > In & Out > OSC.Enable Output, with an active session.
Fill in OSC line 1:
Name:
CuePoints(or anything)Destination IP: your Mac's address
Mode:
UDPPort:
8000Send: Yes
Send Command: Yes
Install the macros:
Download them from cuepoints.com/download.
Put them in
grandMA3/gma3_library/datapools/macros.On the desk, go to
Menu > Import/Export.Import CuePointsOSCMacros.
Press a macro to fire it, or put it on an encoder for skipping. The macros are ordinary MA3 macros, so you can edit them if your show needs different amounts.
Keeping A Connection Honest
CuePoints watches incoming OSC. If a connection stops delivering, it stops reporting itself as connected, so what the pane shows is what is actually happening.
Incoming messages are also rate-limited, so a device sending far more than it should can't overwhelm the app.
Message Reference
Every message CuePoints understands, and everything it sends back.
You don't need this page to use OSC, pick a preset on the Settings > OSC pane and the wording is filled in for you. This is for building something custom: a Companion page of your own, a tablet layout, or a console template that isn't one of the presets.
All addresses use the /cuepoints/ prefix. Arguments use standard OSC types: i is a whole number, f is a decimal, s is text.
Transport
Address | Args | Description |
|---|---|---|
| — | Toggle play/pause |
| — | Play (only if stopped) |
| — | Pause (only if playing) |
| — | Pause, then jump to start ~100 ms later |
| — | Jump to start + play |
|
| Skip N seconds. Coerced to Integer; a fractional value truncates ( |
|
| Jump to position. Ignored unless |
|
| Jump to the first CuePoint in the list with this manual Cue ID and this CuePoint type (exact name match). Cue ID |
Cue Navigation
Address | Args | Description |
|---|---|---|
| — | Go to next CuePoint |
| — | Go to previous CuePoint |
|
| Jump to a cue by manual Cue ID, or by the CuePoint's Label text (exact match). Searches from the end backwards, so the last match wins. Cue ID |
Two ways to go to a cue, and they behave differently.
/cuepoints/transport/gotocuetakes a cue type as well as an ID and finds the first match./cuepoints/cue/gotoignores the type and searches backwards, so the last match wins. If you have the same Cue ID on more than one cue, that difference decides where you land.
Track
Address | Args | Description |
|---|---|---|
|
| Load track by index or name. A no-op if that track is already loaded |
| — | Load next track |
| — | Load previous track |
Volume
Address | Args | Description |
|---|---|---|
|
| Set absolute volume, clamped to 0-255 |
|
| Adjust volume relatively, clamped to 0-255 |
This is the track's audio only. Timecode going out is not affected.
Loop
Address | Args | Description |
|---|---|---|
|
| Toggle Loopback to Start Point on Pause. Pressing Pause seeks the playhead to a designated start point |
|
| Toggle A-B Loop for the loaded track. Playback wraps from B back to A. Sets absolute state |
Timecode
Address | Args | Description |
|---|---|---|
|
| Enable/disable LTC listener |
|
| Enable/disable auto-follow |
|
| Enable/disable Art-Net timecode generator. Enabling it force-disables the MTC generator |
|
| Enable/disable MTC generator. Enabling it force-disables the Art-Net generator |
Art-Net and MTC are one or the other. Turning either on turns the other off, because there is a single timecode generator behind them. See Settings > Timecode.
Connection Settings
Arg 1 identifies the slot: i = 1-based index (1-8), s = the connection's exact Name. Mode aliases ignore case, spaces, hyphens and underscores.
Address | Args | Description |
|---|---|---|
|
| Set RecordingMode. Valid: |
|
| Set NotRecordingMode. Valid: |
|
| Set Send CuePoints Status Messages. Non-zero = Send, |
These are the Cue Trigger Actions from the Settings > OSC pane, changed remotely. Handy for a desk that should create cues during a tech and do nothing on a show day, without anybody touching the laptop.
Recording
Address | Args | Description |
|---|---|---|
| — | Start recording |
| — | Pause recording (can resume) |
| — | Resume a paused recording |
| — | Stop recording and save the file |
| — | Discard/cancel recording without saving |
stop keeps the file. terminate throws it away. Label those two clearly on whatever you build.
CuePoint Creation
Address | Args | Description |
|---|---|---|
|
| Create CuePoint at the playhead. Type is matched by exact name, and must be editable and visible |
The cue type has to be visible and editable for this to land. A hidden or locked type is skipped, which is the usual reason a create that looks right does nothing.
Big Label Display
Address | Args | Description |
|---|---|---|
| — | Show the big label overlay |
| — | Hide the big label overlay |
System
Address | Args | Description |
|---|---|---|
| — | Reply with |
| — | Reply |
| — | Save the current project (ignored when no project file is open) |
ping is the first thing to try when a link isn't working. A pong back means the network, the port and the connection are all fine, and the problem is in the message you were sending.
Outbound Feedback
These are messages CuePoints sends you, so a Stream Deck or a tablet can show what the show is doing.
Sent only to connections whose Send CuePoints Status Messages setting is Send (default: Disabled). Each address is sent on change, plus a 1 Hz heartbeat.
Address | Args | Description |
|---|---|---|
|
|
|
|
| Playback state. |
|
| Loopback-to-start-on-pause state |
|
| A-B Loop mode |
|
| A-B Loop start point (A) |
|
| A-B Loop end point (B) |
|
| Timecode auto-follow state |
|
| Master volume level |
|
| Current RecordingMode for slot |
|
| Current NotRecordingMode for slot |
|
| Current status feedback state for slot |
Nothing arrives until you turn it on. Feedback is off by default on every connection, switch on Send status messages for that connection on the Settings > OSC pane.
Because everything repeats once a second, a button that lights up when the show is playing recovers on its own if it misses a message or you plug it in halfway through.
Command Template Placeholders
These go in the messages CuePoints sends out: the per-connection Goto Cue Command template, and the OSC command on an individual CuePoint or a CuePoint type. CuePoints swaps each one for the real value as the cue fires, so a single template serves your whole show.
Case-insensitive.
Placeholder | Value | Notes |
|---|---|---|
| CuePoint's Cue ID | Formatted as integer when whole ( |
| Last word of the CuePoint type name | E.g. type "Cuelist 2" → |
| Full CuePoint type name | |
| Full CuePoint type name | Alias of |
| The Label column text | |
| The Command column text | |
| The Note column text | |
| The Note column text | Alias of |
| CuePoint position in seconds | |
| CuePoint position as timecode | Uses the track's primary LTC stripe frame rate |
| Fade time (seconds) | |
| Out-fade time (seconds) |
A CuePoint of type "Cuelist 2" with Cue ID 5.1, Label "Blackout":
{CuelistID} is the useful one for lighting desks: name your CuePoint Types Cuelist 1, Cuelist 2 and so on, and one template fires the right cue list every time.
Join our Facebook Community
Any other questions? Get in touch