OPERATIVE SERVER EXAMPLE USAGE

CURRENT PLAYBACK STATUS

curl http://localhost:3019/v0/state

GET THE CURRENT SHOW JSON

curl http://localhost:3019/v0/show

LOAD ANOTHER SHOW

curl -X POST -H "Content-Type: application/json" http://localhost:3019/v0/show --data @FILENAME

PLAY/PAUSE/STOP TIMELINE BY ID

  • curl -X POST http://localhost:3019/v0/play/0
  • curl -X POST http://localhost:3019/v0/pause/0
  • curl -X POST http://localhost:3019/v0/stop/0

JUMP TO TIME

  • format "/v0/jump-to-time/{tl_id}?time={time}&state={state}"
  • {tl_id} is timeline id
  • {state} is play or pause
  • {time} is given in milliseconds

example curl -X POST "localhost:3019/v0/jump-to-time/0?time=6000&state=pause"

JUMP TO CUE

  • format "/v0/jump-to-cue/{tl_id}/{cue_id}?state={state}"
  • {tl_id} is timeline id
  • {cue_id} is cue id
  • {state} is play or pause

example curl -X POST "localhost:3019/v0/jump-to-cue/0/0?state=pause"

SEND INPUTS

curl -X POST -H "Content-Type: application/json" http://localhost:3019/v0/inputs --data '[{"""key""": """Tomtar""", """value""": 0.5}]'

GET ABOUT TIMELINES INFO

curl localhost:3019/v0/timelines

returns

[ { "name": "Main Timeline", "id": "0" } ]

GET ABOUT TIMELINES CUES FOR A TIMELINE

curl localhost:3019/v0/cues/0

returns

[ { "name": "my cue", "id": "0" } ]

LISTEN FOR PLAYBACK UPDATE EVENTS

v0

curl http://localhost:3019/v0/sse

or

curl http://localhost:3019/v0/ndjson

returns a stream of

data: {"type":"playbackState","clockTime":1718196220087,"timelines":[{"id":"0","running":false,"timelineTime":62950,"startDelay":0}],"freeRunningRenders":{}}

data: {"type":"cueVisibility","clockTime":1718196220087,"cues":{"0_0":"Start"}}

v1

curl http://localhost:3019/v1/sse

or

curl http://localhost:3019/v1/ndjson

returns current state and then a stream of updates

data: {"type":"playbackState","clockTime":1718196220087,"timelines":[{"id":"0","running":false,"timelineTime":62950,"startDelay":0}],"freeRunningRenders":{}}

data: {"type":"cueVisibility","clockTime":1718196220087,"cues":{"0_0":"Start"}}

data: {"type":"playbackState","clockTime":1718196412628,"timelines":[{"id":"0","running":false,"timelineTime":61600,"startDelay":0}],"freeRunningRenders":{}}

data: {"type":"cueVisibility","clock_time":1718196412628,"cues":{"0_0":"Start"}}

SHUTDOWN NODE

The following command can be used to shutdown a specific node:

curl -X POST 192.168.1.2:3017/v0/shutdown

Where '192.168.1.2' is the IP to the node that should be shutdown.

IMPORTANT: This command uses port 3017 instead of 3019.

MEDIA SNAPSHOT

Below are examples of how you can customize media snapshots with the help of the external protocol.

REPLACE THE ACTIVE SNAPSHOTS

curl -X POST http://localhost:3019/v0/active-media-snapshots -d '["3fc5d900-3078-4ab6-bb9e-c5bcca9a191d","ecd8b4c4-37fa-4257-9d81-24fa05cc61b8","7caa8b15-cec5-4553-b4b5-0b7e83be64d1"]' -H 'Content-Type: application/json'

CLEAR THE ACTIVE SNAPSHOTS

curl -X POST http://localhost:3019/v0/active-media-snapshots -d '[]' -H 'Content-Type: application/json'

TOGGLE A SINGLE SNAPSHOT

curl -X POST http://localhost:3019/v0/active-media-snapshots/6980db44-5ee2-4392-949f-efaea994bec0/toggle

ADD A SINGLE SNAPSHOT

curl -X POST http://localhost:3019/v0/active-media-snapshots/6980db44-5ee2-4392-949f-efaea994bec0/add

REMOVE A SINGLE SNAPSHOT

curl -X POST http://localhost:3019/v0/active-media-snapshots/6980db44-5ee2-4392-949f-efaea994bec0/remove

CONTROL WATCHOUT 6 API

ENABLE TCP (DEFAULT)

  • curl -X POST http://localhost:3019/v0/compat/tcp

DISABLE TCP UNTIL OPERATIVE RESTART

  • curl -X DELTE http://localhost:3019/v0/compat/tcp

GET TCP ENABLE

  • curl -X GET http://localhost:3019/v0/compat/tcp

ENABLE UDP (DEFAULT)

  • curl -X POST http://localhost:3019/v0/compat/udp

DISABLE UDP UNTIL OPERATIVE RESTART

  • curl -X DELTE http://localhost:3019/v0/compat/udp

GET UDP ENABLE

  • curl -X GET http://localhost:3019/v0/compat/udp