Meld Studio script functions¶
Functions for C# (Cb.Call) and Python (cb.call). See Script functions for how to use them.
meldstudio.connect¶
Starts connecting to Meld Studio. It does not wait: Cuebot keeps trying in the background until it works.
Gives back: true once connecting has started (not when it is connected).
var answer = await Cb.Call("meldstudio.connect");
answer = cb.call("meldstudio.connect")
meldstudio.disconnect¶
Disconnects Cuebot from Meld Studio.
Gives back: true when done.
var answer = await Cb.Call("meldstudio.disconnect");
answer = cb.call("meldstudio.disconnect")
meldstudio.getScenes¶
Lists your Meld Studio scenes in order.
Gives back: A list of scenes. Each has id, name, current (true when showing) and staged (true when lined up next).
var answer = await Cb.Call("meldstudio.getScenes");
answer = cb.call("meldstudio.getScenes")
meldstudio.getSession¶
Gives you everything Meld Studio reports about your setup: scenes, layers, effects and audio tracks. For advanced scripts.
Gives back: An object with one entry per item, named by its id. Each entry holds the item's details as Meld Studio sends them.
var answer = await Cb.Call("meldstudio.getSession");
answer = cb.call("meldstudio.getSession")
meldstudio.getStatus¶
Tells you whether Meld Studio is connected, recording or live, and which scene is showing.
Gives back: isConnected, isRecording, isStreaming (true/false), currentScene (its name, or null) and apiVersion.
var answer = await Cb.Call("meldstudio.getStatus");
answer = cb.call("meldstudio.getStatus")
meldstudio.hideLayer¶
Hides a layer in Meld Studio. Fails with an error when no layer matches.
| Value | What to put in |
|---|---|
layer |
The layer's name, like "Webcam", or its id. |
scene |
Optional. The scene the layer is in. Leave it out to search the current scene first, then all scenes. |
Gives back: false (the layer is hidden now).
var answer = await Cb.Call("meldstudio.hideLayer", new { layer = "Webcam" });
answer = cb.call("meldstudio.hideLayer", layer="Webcam")
meldstudio.invoke¶
Calls any of Meld Studio's own functions by name. For advanced users. Fails with an error when this Meld Studio version does not have it.
| Value | What to put in |
|---|---|
method |
The Meld function name, like "setStagedScene". Needed. |
args |
Optional. A list of values to pass to it, like [" |
Gives back: Meld Studio's answer, or null when it gives none.
var answer = await Cb.Call("meldstudio.invoke", new { method = "showStagedScene" });
answer = cb.call("meldstudio.invoke", method="showStagedScene")
meldstudio.isConnected¶
Checks whether Cuebot is connected to Meld Studio right now.
Gives back: true while connected, otherwise false.
var answer = await Cb.Call("meldstudio.isConnected");
answer = cb.call("meldstudio.isConnected")
meldstudio.recording¶
Starts or stops recording in Meld Studio. Fails with an error when Meld Studio is not connected.
| Value | What to put in |
|---|---|
state |
Optional. "Start", "Stop" or "Toggle" (switch). Default "Toggle". |
Gives back: true when recording now, false when not.
var answer = await Cb.Call("meldstudio.recording", new { state = "Start" });
answer = cb.call("meldstudio.recording", state="Start")
meldstudio.screenshot¶
Takes a screenshot in Meld Studio.
| Value | What to put in |
|---|---|
vertical |
Optional. true takes it of the vertical (phone) canvas. Default false. |
Gives back: true when done.
var answer = await Cb.Call("meldstudio.screenshot");
answer = cb.call("meldstudio.screenshot")
meldstudio.sendCommand¶
Runs one of Meld Studio's own commands, like saving a clip or showing the replay.
| Value | What to put in |
|---|---|
command |
The Meld command name, like "meld.recordClip" or "meld.replay.show". |
Gives back: true when done.
var answer = await Cb.Call("meldstudio.sendCommand", new { command = "meld.recordClip" });
answer = cb.call("meldstudio.sendCommand", command="meld.recordClip")
meldstudio.setEffectEnabled¶
Turns an effect on a Meld Studio layer on or off, like a blur or colour filter. Fails with an error when the layer or effect is not found.
| Value | What to put in |
|---|---|
layer |
The layer's name, like "Webcam", or its id. |
effect |
The effect's name, like "Blur", or its id. |
state |
Optional. "Enabled", "Disabled" or "Toggle" (switch). Default "Toggle". |
scene |
Optional. The scene the layer is in. Leave it out to search the current scene first. |
Gives back: true when the effect is on now, false when off.
var answer = await Cb.Call("meldstudio.setEffectEnabled", new { layer = "Webcam", effect = "Blur", state = "Enabled" });
answer = cb.call("meldstudio.setEffectEnabled", layer="Webcam", effect="Blur", state="Enabled")
meldstudio.setLayerVisibility¶
Shows, hides or flips a layer in Meld Studio. Fails with an error when no layer matches.
| Value | What to put in |
|---|---|
layer |
The layer's name, like "Webcam", or its id. |
state |
Optional. "Visible", "Hidden" or "Toggle" (switch). Default "Toggle". |
scene |
Optional. The scene the layer is in. Leave it out to search the current scene first, then all scenes. |
Gives back: true when the layer is visible now, false when hidden.
var answer = await Cb.Call("meldstudio.setLayerVisibility", new { layer = "Webcam", state = "Hidden" });
answer = cb.call("meldstudio.setLayerVisibility", layer="Webcam", state="Hidden")
meldstudio.setTrackGain¶
Changes the volume (gain) of an audio track in Meld Studio. Fails with an error when no track matches.
| Value | What to put in |
|---|---|
track |
The audio track's name, like "Music", or its id. |
gain |
The volume as a number from 0 (silent) to 1 (full), like 0.5. It must be a number, not text. |
Gives back: true when done.
var answer = await Cb.Call("meldstudio.setTrackGain", new { track = "Music", gain = 0.5 });
answer = cb.call("meldstudio.setTrackGain", track="Music", gain=0.5)
meldstudio.setTrackMuted¶
Mutes or unmutes an audio track in Meld Studio. Fails with an error when no track matches.
| Value | What to put in |
|---|---|
track |
The audio track's name, like "Microphone", or its id. |
state |
Optional. "Muted", "NotMuted" or "Toggle" (switch). Default "Toggle". |
Gives back: true when the track is muted now, false when not.
var answer = await Cb.Call("meldstudio.setTrackMuted", new { track = "Microphone", state = "Muted" });
answer = cb.call("meldstudio.setTrackMuted", track="Microphone", state="Muted")
meldstudio.showLayer¶
Makes a layer in Meld Studio visible. Fails with an error when no layer matches.
| Value | What to put in |
|---|---|
layer |
The layer's name, like "Webcam", or its id. |
scene |
Optional. The scene the layer is in. Leave it out to search the current scene first, then all scenes. |
Gives back: true (the layer is visible now).
var answer = await Cb.Call("meldstudio.showLayer", new { layer = "Webcam" });
answer = cb.call("meldstudio.showLayer", layer="Webcam")
meldstudio.showScene¶
Switches Meld Studio to another scene. Fails with an error when no scene matches or Meld Studio is not connected.
| Value | What to put in |
|---|---|
scene |
The scene's name as Meld Studio shows it, like "Gameplay", or its id. |
Gives back: The name of the scene that is now showing.
var answer = await Cb.Call("meldstudio.showScene", new { scene = "Gameplay" });
answer = cb.call("meldstudio.showScene", scene="Gameplay")
meldstudio.showSceneByName¶
Switches Meld Studio to another scene. Works just like meldstudio.showScene.
| Value | What to put in |
|---|---|
sceneName |
The scene's name as Meld Studio shows it, like "Gameplay". An id works too. |
Gives back: The name of the scene that is now showing.
var answer = await Cb.Call("meldstudio.showSceneByName", new { sceneName = "Gameplay" });
answer = cb.call("meldstudio.showSceneByName", sceneName="Gameplay")
meldstudio.streaming¶
Goes live or stops streaming in Meld Studio. Fails with an error when Meld Studio is not connected.
| Value | What to put in |
|---|---|
state |
Optional. "Start", "Stop" or "Toggle" (switch). Default "Toggle". |
Gives back: true when streaming now, false when not.
var answer = await Cb.Call("meldstudio.streaming", new { state = "Stop" });
answer = cb.call("meldstudio.streaming", state="Stop")