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