CueTimer Public API

Create custom interfaces for CueTimer

Our public API makes it possible to interact with CueTImer in lots of different ways: for example, you can control CueTimer from Crestron panels, make it interact with other software, or make your own web-app controlling timers.
The API is the same as we are already using for our popular Companion-module.

Version

This API is compatible with the latest version 2.6 of CueTimer for both Mac and PC. Compatibility with older versions of CueTimer is possible but not guaranteed.

Protocol:

CueTimer has a TCP server that waits for a client connection on a default port (31601) and can be configured from the app settings. Once a connection is instantiated between the client and CueTimer it will continuously listen to the incoming messages from that client. The commands should be sent as an ASCII string with $ as a termination char at the end of it (e.g. FireNext$).

Commands:

  1. FireNext
  2. CueNext
  3. CueCurrent
  4. Pause
  5. Restart
  6. Blackout: Togglle blackout mode
  7. AddMinute: Add 1 minute.
  8. SubMinute: Subtract 1 minute.
  9. AddSpeed: Increase speed by 5%.
  10. SubSpeed: Decrease speed by 5%.
  11. Fullscreen: Togglle Fullscreen mode
  12. NDI: Togglle NDI
  13. Message: Togglle Message visibilty
  14. Clock: Toggle clock screen
  15. MoveNextUp: Move next indicator one row up
  16. MoveNextDown: Move next indicator one row down
  17. FireTimerWithID: Start a timer with its id, the id can be passed after #, example FireTimerWithID#1$, please note that # can’t be used in timer ID
  18. CueTimerWithID: Move next indicator to a timer with its id, the id can be passed after #, example CueTimerWithID#1$, please note that # can’t be used in timer ID
  19. STM: Togglle Single timer mode
  20. SetDuration: Set the duration of the active timer to the passed value, format hh:mm:ss, example SetDuration#00:10:00$
  21. AddXMinutes: Add minutes to the active timer, example AddXMinutes#5$ will add 5 minutes
  22. SubXMinutes: Subtract minutes from the active timer, example SubXMinutes#5$ will subtract 5 minutes
  23. InitList: Clear the whole list & Create a new timer which has the properties of the Default new timer

Feedback:

Once the client is connected to CueTimer it will continuously receive info every 200ms. This will be JSON string that has a $ as a termination char at the very end.

{
“h”: “0”,
“m”: “31”,
“s”: “8”,
“fg”: “#FFFFFFFF”,
“bg”: “#FF696969”,
“speed”: “100”,
“name”: “”,
“endTime”: “22:12:37”,
“Fullscreen”: false,
“NDI”: false,
“Message”: false,
“STM”: false,
“Clock”: false,
“Pause”: false,
“Blackout”: false,
“nextTimerName”: “”,
“nextTimerDuration”: “01:00:00”,
“scheduleOffset”: “-00:05:01”,
“scheduleOffsetStatus”: “Ahead”,
“timers”: {
“1”: {
“name”: “”,
“duration”: “00:10:00”,
“bg”: “#000000”
},
“2”: {
“name”: “”,
“duration”: “01:00:00”,
“bg”: “#FF0000”
}
}
}$

  • h: hours
  • m: minutes
  • s: seconds
  • fg: Foreground color in ARGB format (send #FF000000 if user clicked blackout)
  • bg: Background color in ARGB format (send #FF000000 if user clicked blackout)
  • speed: The percentage speed
  • name: Timer name
  • endTime: in [“hh:mm:ss”] format. (send “” if it has no value).
  • Fullscreen: State of Fullscreen mode (Boolean)
  • NDI: State of (Boolean)
  • Message: State of Message visibility (Boolean)
  • STM: State of Single timer mode (Boolean)
  • Clock: State of Clock screen (Boolean)
  • Pause: State of pause button (Boolean)
  • Blackout: State of Blackout button (Boolean)
  • nextTimerName
  • nextTimerDuration
  • scheduleOffset: shows the difference between the end-time in the current red timer, and the next start-time in format hh:mm:ss. It can be +ve or -ve
  • scheduleOffsetStatus: These commands could be useful if you want to have specific behaviour when the show is delayed or ahead it can have one of the 3 values DelayedAheadNA
  • timers: name, duration & background of the timers in the list, please not that you will only receive data of timers having their IDs set to a value.

More information

Github repository

Our public API has a GitHub repository. Here you also find the source code of a Windows-app that you can use to test the commands sent to and from CueTimer

Companion module

Our companion-module makes use of all the commands and feedback mentioned in this API. Since Companion is open source, all details on how this module is made can be found on Companions GitHub page

Back to CueTimer main page

More about CueTimer

CueTimer articles

We have collected a wide collection of articles about CueTimer.
Read how keep soundchecks on time in music-festivals, or why we decided to go for an offline desktop-app for live-event timers.

User Guide

The user-guide is our reference on how to use CueTimer. We have tried to cover all related topics on how to control and configure our countdown-timer app.

Youtube-channel

If you prefer learning by watching instead of reading, then the CueTimer online-tutorial series is for you. Or get tips about how to connect CueTimer to Qlab.