The following methods are available for playlists :
- get.list.playlists
- get.object.playlist
- set.property.playlist
- doaction.playlist
- add.playlist
- replace.playlist
- delete.playlist
get.list.playlists
Syntax
{"jsonrpc":"2.0","method":"get.list.playlists", "id": 1}
Indented display
{
"jsonrpc": "2.0",
"method": "get.list.playlists",
"id": 1
}
Optional “level” parameter
{"jsonrpc":"2.0","method":"get.list.playlists","params":{"level":"cue"}, "id": 1}
This will return the full list of playlists with varying degree of details.
Indented display
{
"jsonrpc": "2.0",
"method": "get.list.playlists",
"params": {
"level": "cue"
},
"id": 1
}
Parameters
This level
parameter is optional but can be used to retrieve more exhaustive information from the playlists
Parameter | Description |
---|---|
"level":"playlist" |
This will only list the playlists and not their cues. This level returns the same as if no level was specified |
"level":"cue" |
This level will nest an additional JSON Array Litteral inside each playlist containing a JSON Object Litteral for each cue in the playlist |
"level":"layer" |
This level will repeat the previous level and nest yet another additional JSON Array Litteral inside each cue containing a JSON Object Litteral for each layer in the cue |
Returns
Level : playlist
Note that omitting the level parameter will default to this level.
The JSON Object Litterals for the playlists will have the following properties :
Property | Description | Information |
---|---|---|
audioMaster | Current value of the audio master of the playlist. | Note this value is between 0 and 1 and not between 0 and 100 |
freerunMode | Indicates if the Playlist is in freerun mode | – |
grandMasterFader | Current value of the grand master fader of the playlist. | Note this value is between 0 and 1 and not between 0 and 100 |
index | Index of the current Cue in the Playlist. | Index and Cue numbers match |
name | Name of the playlist | – |
objectType | For this method, this field contains playlist |
– |
timecode | Current timecode of the playlist | More information soon. |
timecodeDriver | Current timecode mode set on the playlist | 0 None ║ 1 LTC ║ 2 Clock ║ 3 Internal ║ 4 MTC ║ 7 Artnet ║ 8 Usomo |
timecodeLocked | Indicates the status of the timecode lock | true if the TC lock is enabled, false otherwise. Currently there is a known problem with this property. |
timecodeMasterSlave | Index of the timecode Master/Slave setting | 0 Slave ║ 1 Master ║ 2 Read Master TC |
timecodeOffset | Offset time applied to the timecode | Value in ms |
uiColor | Color assigned to the playlist | – |
uuid | uuid of the playlist | – |
Representation
{
"id": 1,
"jsonrpc": "2.0",
"result": [
{
↑
-- PLAYLIST #1 information --
↓
},
{
↑
-- PLAYLIST #2 information --
↓
},
[etc.] ← Lists all playlists on the server
]
}
Level : cue
Returns the complete list of playlists and will nest an additional JSON Array Litteral inside each playlist containing a JSON Object Litteral for each cue in the playlist.
The JSON Object Litterals for the cues will have the following properties :
Property | Description | Information |
---|---|---|
enableLoop | Indicates if the Loop mode is enabled on this cue. | – |
loopItemUuid | Indicates the uuid of the cue on which to loop. | If this property is empty then the cue does not loop. |
name | Name of the cue | – |
objectType | For this method, this field contains cue |
– |
tag | Tag of the cue | This field in the Remote accepts only numbers and is designed to facilitate piloting the Modulo Player server using a lighting console. |
taskUuid | uuid of the task to trigger when this cue plays | – |
triggerMode | Index of the Trigger mode for the cue | 0 Go ║ 1 Follow 1 ║ 2 Wait ║ 3 TC ║ 4-12 Follow 2-10 |
triggerParam | Only active for Wait and TC trigger modes. Contains time parameter for theses modes |
Time in ms. |
uiColor | Color assigned to the cue | – |
uuid | uuid of the cue | – |
Representation
{
"id": 1,
"jsonrpc": "2.0",
"result": [
{
"audioMaster": 1,
"cues": [
{
↑
-- CUE #1 information --
↓
},
{
↑
-- CUE #2 information --
↓
},
[...] ← Lists all cues in the playlist
],
"freerunMode": false,
↑
-- Rest of PLAYLIST information --
↓
}
]
}
Level : layer
Returns the complete list of playlists and will nest an additional JSON Array Litteral inside each playlist containing a JSON Object Litteral for each cue in the playlist.
Inside these cues another JSON Array Litteral will be nested containing a JSON Object Litteral for each layer in the cue.
Note that depending on your playlists this output can be very long.
The JSON Object Litterals for the layers will have the following properties :
Property | Description | Information |
---|---|---|
active | Indicates if the layer is active or if it is crossed out (playing from previous cues) | – |
audioPatch | Gives a text representation of the audio patch (Inputs/Outputs) for the audio of the layer | More information soon. |
audioUuid | uuid of the audio media set on the layer | – |
blendingMode | Index of the Blend Mode set in the Properties tab for the layer |
0 Alpha ║ 1 Additive ║ 2 Multiply ║ 3 Multiply x2 ║ 4 Screen |
color | Color value set in the Properties tab for the layer |
– |
enableFadeOut | Indicates the status of Fade Out | true if Fade out is enabled. false if disabled |
enableInOutMovie | Indicates if trim mode is active | true if trim has been enabled, false otherwise |
endMovieMode | Index of the Media Mode set in the Media tab for the layer |
0 Last Frame ║ 1 Loop ║ 2 None |
fadeInTime | Fade In time | Time in ms |
fadeOutTime | Fade Out time | Time in ms |
inMovie | Time set for In Point in trim mode | Time in ms |
maskMode | Index of Mask Mode | 0 None ║ 1 Alpha ║ 2 Grey |
maskUuid | uuid of media set as Mask in the Advanced tab, Mask subtab of the layer |
– |
mediaUuid | uuid of image/video media of the layer | – |
name | Name of the layer | Property always empty. Will be removed shortly |
objectType | For this method, this field contains cue |
– |
opacity | Opacity set for the layer | Note this value is between 0 and 1 and not between 0 and 100 |
outMovie | Time set for Out Point in trim mode | Time in ms |
rotationZ | Rotation value set in the Properties tab for the layer |
– |
scaleX | Scale value along X axis | Note this value is between 0 and 1 and not between 0 and 100 |
scaleY | Scale value along Y axis | Note this value is between 0 and 1 and not between 0 and 100 |
showMask | Indicates if Mask mode is active in the Advanced tab, Mask subtab |
– |
speed | Indicates speed value set in Advanced tab, Frame edit subtab |
– |
startTime | Indicates the offset value for starting playback of the layer in the Media tab |
Time in ms |
topLeft | Index of the Mode set in the Properties tab |
0 Center ║ 1 Top Left ║ 2 Virtual |
uuid | uuid of the layer | – |
x | X coordinate of the layer | – |
y | Y coordinate of the layer | – |
Representation
{
"id": 1,
"jsonrpc": "2.0",
"result": [
{
"audioMaster": 1,
"cues": [
{
"enableLoop": true,
"layers": [
{
↑
-- LAYER #1 information --
↓
},
{
↑
-- LAYER #2 information --
↓
},
[...] ← Lists all ten layers in the cue
],
"loopItemUuid": "",
↑
-- Rest of CUE information --
↓
},
{
↑
-- Next CUE information, with all ten layers same as above --
↓
}
[...] ← Lists all cues in the playlist
],
"freerunMode": false,
↑
-- Rest of PLAYLIST information --
↓
}
]
}
get.object.playlist
Syntax
{"jsonrpc":"2.0","method":"get.object.playlist", "params": {"uuid": "{b9ff8f5b-5a15-4422-9e25-b8eeed9f8f9a}"}, "id": 1}
Indented display
{
"jsonrpc": "2.0",
"method": "get.object.playlist",
"params": {
"uuid": "{b9ff8f5b-5a15-4422-9e25-b8eeed9f8f9a}"
},
"id": 1
}
Parameters
Parameter | Description |
---|---|
uuid | uuid of the playlist |
name | Name of the playlist |
Returns
Returns the following properties of target playlist.
Property | Description | Information |
---|---|---|
audioMaster | Current value of the audio master of the playlist. | Note this value is between 0 and 1 and not between 0 and 100 |
freerunMode | Indicates if the Playlist is in freerun mode | – |
grandMasterFader | Current value of the grand master fader of the playlist. | Note this value is between 0 and 1 and not between 0 and 100 |
index | Index of the current Cue in the Playlist. | Index and Cue numbers match |
name | Name of the playlist | – |
objectType | For this method, this field contains playlist |
– |
timecode | Current timecode of the playlist | More information soon. |
timecodeDriver | Current timecode mode set on the playlist | 0 None ║ 1 LTC ║ 2 Clock ║ 3 Internal ║ 4 MTC ║ 7 Artnet ║ 8 Usomo |
timecodeLocked | Indicates the status of the timecode lock | true if the TC lock is enabled, false otherwise. Currently there is a known problem with this property. |
timecodeMasterSlave | Index of the timecode Master/Slave setting | 0 Slave ║ 1 Master ║ 2 Read Master TC |
timecodeOffset | Offset time applied to the timecode | Value in ms |
uiColor | Color assigned to the playlist | – |
uuid | uuid of the playlist | – |
set.property.playlist
Syntax
{"jsonrpc":"2.0","method":"set.property.playlist", "params":{"uuid":"{b9ff8f5b-5a15-4422-9e25-b8eeed9f8f9a}","property":"on","value":true}, "id": 1}
Indented display
{
"jsonrpc": "2.0",
"method": "set.property.playlist",
"params": {
"uuid": "{b9ff8f5b-5a15-4422-9e25-b8eeed9f8f9a}",
"property": "on",
"value": true
},
"id": 1
}
Parameters
Use this command to modify one target property on a playlist.
It is possible to target the following properties:
Property | Description |
---|---|
name | Name of the playlist |
uiColor | color of the playlist |
Returns
The "result"
property in the JSON response will contain a boolean : true
if the instruction was executed correctly or false
otherwise.
Currently the server always responds with a true
. This will be fixed shortly.
doaction.playlist
Syntax
{"jsonrpc":"2.0","method":"doaction.playlist", "params":{"uuid":"{b9ff8f5b-5a15-4422-9e25-b8eeed9f8f9a}","action":"goto","cue":3}, "id": 1}
Indented display
{
"jsonrpc": "2.0",
"method": "doaction.playlist",
"params": {
"uuid": "{b9ff8f5b-5a15-4422-9e25-b8eeed9f8f9a}",
"action": "goto",
"cue": 3
},
"id": 1
}
Parameters
Use this command to do an action on a target playlist.
You can use the following actions:
Action | Description | Value |
---|---|---|
prev | Launch the previous cue | - |
next | Launch the next cue | - |
goto | Launch the cue with index ## | "cue":## |
preload | Preload the cue with index ## (first cue is index 1) | "cue":## |
play | Set the playlist in play at the current cue/timecode (Currently not working) | - |
locate | Set the playlist in pause state at the current timecode (Currently not working) | - |
grandMasterFader | Set the value (in %) of the grand master fader with a fade time (in ms) | "value":##, "duration":## |
audioMaster | Set the value (in %) of the audio fader with a fade time (in ms) | "value":##, "duration":## |
Returns
If the "action"
parameter is valid, the JSON will return "result": true
.
If tthe "action"
parameter is invalid, or specified name or uuid is invalid, the JSON will return a message with "Invalid params"
.
add.playlist
Syntax
{"jsonrpc":"2.0","method":"add.playlist","params":{"afterplaylistname":"My Playlist", "data":{"name":"Added playlist"}},"id":1}
Indented display
{
"jsonrpc": "2.0",
"method": "add.playlist",
"params": {
"afterplaylistname": "My Playlist",
"data": {
"name": "Added playlist"
}
},
"id": 1
}
Parameters
Parameter | Description | Information |
---|---|---|
afterplaylistuuid | uuid of the playlist after which the new playlist will be created | Target the playlist either by name or by uuid. |
afterplaylistname | Name of the playlist after which the new playlist will be created | If several playlists have the same name, the first one will be targeted. |
data | JSON Object Litteral containing the data of the playlist to create |
The "data"
parameter contains a JSON Object Litteral with the properties you would like to give to your new Playlist.
Empty Object
Specifying the properties is optional and if an empty object is given, e.g. "data":{}
a playlist will be created with default properties.
UUID
Do not specify any "uuid"
properties in the JSON Object Litteral, the server will create them automatically.
Level of detail
Similarly to the get.list.playlists
method, the "data"
Object in the add.playlist
method can be constructed with cue
or layer
level of details to create a playlist with cues and layers if necessary.
Returns
The "result"
property in the JSON response will contain true
if the instruction was executed correctly.
If the payload is not properly formatted, the server will respond by sending back the payload.
Currently the playlist is added before the target playlist and not after. This will be fixed shortly
replace.playlist
Syntax
{"jsonrpc":"2.0","method":"replace.playlist","params":{"data":{"uuid":"{8304b593-b5a3-4ab5-a3ec-3dfcf4d32908}", "name":"Replaced playlist"}},"id":1}
Indented display
{
"jsonrpc": "2.0",
"method": "replace.playlist",
"params": {
"data": {
"uuid": "{8304b593-b5a3-4ab5-a3ec-3dfcf4d32908}",
"name": "Replaced playlist"
}
},
"id": 1
}
Parameters
Parameter | Description |
---|---|
data | JSON Object Litteral containing the data of the cue to create |
UUID
With this method, you must specify a uuid
in the data properties.
This will indicate to the method which playlist to replace.
The uuid
will be conserved and a new one will not be generated.
All the other properties of the playlist will be replaced by the properties specified in the data parameter.
Level of detail
Similarly to the get.list.playlists
method, the "data"
Object in the add.playlist
method can be constructed with cue
or layer
level of details to create a playlist with cues and layers if necessary.
Returns
The "result"
property in the JSON response will contain true
if the instruction was executed correctly.
If the payload is not properly formatted, the server will respond by sending back the payload.
delete.playlist
Syntax
{"jsonrpc":"2.0","method":"delete.playlist","params":{"name":"Playlist"}, "id": 1}
Indented display
{
"jsonrpc": "2.0",
"method": "delete.playlist",
"params": {
"name": "Playlist"
},
"id": 1
}
Parameters
Parameter | Description |
---|---|
uuid | uuid of the playlist |
name | Name of the playlist |
Returns
If the "action"
parameter is valid, the JSON will return "result": true
.
If tthe "action"
parameter is invalid, or specified name or uuid is invalid, the JSON will return a message with "missing playlist uuid or name"
.
Need more help with this?
Don’t hesitate to contact us here.