Skip to content

Reference Script Functions Meldstudio

Kristopher Barrantes edited this page Nov 5, 2026 · 2 revisions

Meld Studio script functions

Also on the Cuebot Docs site.

Functions for C# (Cb.Call) and Python (a cb method each, or cb.call). See Script functions for how to use them.

A Run Python code step in the action editor

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).

C#

var answer = await Cb.Call("meldstudio.connect");

Python

answer = cb.meldstudio_connect()

meldstudio.disconnect

Disconnects Cuebot from Meld Studio.

Gives back: true when done.

C#

var answer = await Cb.Call("meldstudio.disconnect");

Python

answer = cb.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).

C#

var answer = await Cb.Call("meldstudio.getScenes");

Python

answer = cb.meldstudio_get_scenes()

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.

C#

var answer = await Cb.Call("meldstudio.getSession");

Python

answer = cb.meldstudio_get_session()

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.

C#

var answer = await Cb.Call("meldstudio.getStatus");

Python

answer = cb.meldstudio_get_status()

meldstudio.hideLayer

Hides a layer in Meld Studio. Fails with an error when no layer matches.

Value In Python What to put in
layer layer The layer's name, like "Webcam", or its id.
scene 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).

C#

var answer = await Cb.Call("meldstudio.hideLayer", new { layer = "Webcam" });

Python

answer = cb.meldstudio_hide_layer(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 In Python What to put in
method method The Meld function name, like "setStagedScene". Needed.
args args Optional. A list of values to pass to it, like [""].

Gives back: Meld Studio's answer, or null when it gives none.

C#

var answer = await Cb.Call("meldstudio.invoke", new { method = "showStagedScene" });

Python

answer = cb.meldstudio_invoke(method="showStagedScene")

meldstudio.isConnected

Checks whether Cuebot is connected to Meld Studio right now.

Gives back: true while connected, otherwise false.

C#

var answer = await Cb.Call("meldstudio.isConnected");

Python

answer = cb.meldstudio_is_connected()

meldstudio.recording

Starts or stops recording in Meld Studio. Fails with an error when Meld Studio is not connected.

Value In Python What to put in
state state Optional. "Start", "Stop" or "Toggle" (switch). Default "Toggle".

Gives back: true when recording now, false when not.

C#

var answer = await Cb.Call("meldstudio.recording", new { state = "Start" });

Python

answer = cb.meldstudio_recording(state="Start")

meldstudio.screenshot

Takes a screenshot in Meld Studio.

Value In Python What to put in
vertical vertical Optional. true takes it of the vertical (phone) canvas. Default false.

Gives back: true when done.

C#

var answer = await Cb.Call("meldstudio.screenshot");

Python

answer = cb.meldstudio_screenshot()

meldstudio.sendCommand

Runs one of Meld Studio's own commands, like saving a clip or showing the replay.

Value In Python What to put in
command command The Meld command name, like "meld.recordClip" or "meld.replay.show".

Gives back: true when done.

C#

var answer = await Cb.Call("meldstudio.sendCommand", new { command = "meld.recordClip" });

Python

answer = cb.meldstudio_send_command(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 In Python What to put in
layer layer The layer's name, like "Webcam", or its id.
effect effect The effect's name, like "Blur", or its id.
state state Optional. "Enabled", "Disabled" or "Toggle" (switch). Default "Toggle".
scene 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.

C#

var answer = await Cb.Call("meldstudio.setEffectEnabled", new { layer = "Webcam", effect = "Blur", state = "Enabled" });

Python

answer = cb.meldstudio_set_effect_enabled(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 In Python What to put in
layer layer The layer's name, like "Webcam", or its id.
state state Optional. "Visible", "Hidden" or "Toggle" (switch). Default "Toggle".
scene 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.

C#

var answer = await Cb.Call("meldstudio.setLayerVisibility", new { layer = "Webcam", state = "Hidden" });

Python

answer = cb.meldstudio_set_layer_visibility(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 In Python What to put in
track track The audio track's name, like "Music", or its id.
gain 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.

C#

var answer = await Cb.Call("meldstudio.setTrackGain", new { track = "Music", gain = 0.5 });

Python

answer = cb.meldstudio_set_track_gain(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 In Python What to put in
track track The audio track's name, like "Microphone", or its id.
state state Optional. "Muted", "NotMuted" or "Toggle" (switch). Default "Toggle".

Gives back: true when the track is muted now, false when not.

C#

var answer = await Cb.Call("meldstudio.setTrackMuted", new { track = "Microphone", state = "Muted" });

Python

answer = cb.meldstudio_set_track_muted(track="Microphone", state="Muted")

meldstudio.showLayer

Makes a layer in Meld Studio visible. Fails with an error when no layer matches.

Value In Python What to put in
layer layer The layer's name, like "Webcam", or its id.
scene 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).

C#

var answer = await Cb.Call("meldstudio.showLayer", new { layer = "Webcam" });

Python

answer = cb.meldstudio_show_layer(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 In Python What to put in
scene 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.

C#

var answer = await Cb.Call("meldstudio.showScene", new { scene = "Gameplay" });

Python

answer = cb.meldstudio_show_scene(scene="Gameplay")

meldstudio.showSceneByName

Switches Meld Studio to another scene. Works just like meldstudio.showScene.

Value In Python What to put in
sceneName scene_name 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.

C#

var answer = await Cb.Call("meldstudio.showSceneByName", new { sceneName = "Gameplay" });

Python

answer = cb.meldstudio_show_scene_by_name(scene_name="Gameplay")

meldstudio.streaming

Goes live or stops streaming in Meld Studio. Fails with an error when Meld Studio is not connected.

Value In Python What to put in
state state Optional. "Start", "Stop" or "Toggle" (switch). Default "Toggle".

Gives back: true when streaming now, false when not.

C#

var answer = await Cb.Call("meldstudio.streaming", new { state = "Stop" });

Python

answer = cb.meldstudio_streaming(state="Stop")

Clone this wiki locally