Integration

Meld Studio

Control Meld Studio with full support for scenes, layers, streaming, recording, audio, transitions, and source transforms.

Overview

FaustBot integrates with Meld Studio to provide comprehensive control over your streaming and recording setup. Meld Studio is a powerful streaming software with a modern interface and advanced features.

Scene Control

Switch scenes, create, remove, and manage scenes.

Layer Control

Show/hide layers, get layer properties.

Audio Control

Mute/unmute sources, adjust volume levels.

Stream/Record

Start/stop streaming and recording with pause support.

Transitions

Configure transitions and studio mode.

Transform

Position, scale, and rotate sources.

Setup

Configure Meld Studio Connection

FaustBot connects to Meld Studio via its API. Follow these steps to set up the connection.

1

Enable API in Meld Studio

In Meld Studio, go to Settings and enable the API server. Note the port number (default is usually 8080).

2

Configure Connection in FaustBot

In FaustBot, navigate to Meld Studio in the sidebar. Enter the host (usually localhost) and port number from Meld Studio.

3

Connect

Click Connect to establish the connection. The status indicator will turn green when connected successfully.

Auto-Connect

Enable Auto-Connect to automatically connect when FaustBot starts. Make sure Meld Studio is already running when FaustBot launches.

Triggers

Respond to events from Meld Studio:

Scene Changed Current scene changed
Streaming Started Stream went live
Streaming Stopped Stream ended
Recording Started Recording began
Recording Stopped Recording ended
Recording Paused Recording was paused
Recording Resumed Recording was resumed
Replay Buffer Saved Replay saved to file
Virtual Cam Started Virtual camera activated
Virtual Cam Stopped Virtual camera deactivated
Layer Visibility Changed Layer was shown or hidden

Effects

Scene Control

Set Scene

Switch to a specific scene.

Create Scene

Create a new scene.

Remove Scene

Delete an existing scene.

Trigger Transition

Trigger studio mode transition.

Layer Control

Show Layer

Make a layer visible.

Hide Layer

Make a layer invisible.

Toggle Layer

Toggle layer visibility.

Set Transform

Change position, scale, rotation.

Audio Control

Mute Source

Mute an audio source.

Unmute Source

Unmute an audio source.

Set Volume

Set source volume level.

Streaming and Recording

Start Streaming

Start the stream.

Stop Streaming

Stop the stream.

Start Recording

Start recording.

Stop Recording

Stop recording.

Pause Recording

Pause current recording.

Resume Recording

Resume paused recording.

Replay Buffer and Virtual Camera

Start Replay Buffer

Start the replay buffer.

Stop Replay Buffer

Stop the replay buffer.

Save Replay

Save current replay buffer.

Start Virtual Cam

Start virtual camera.

Stop Virtual Cam

Stop virtual camera.

Scripting API

Control Meld Studio from your scripts using the CPH API:

Connection

Meld Studio connection
# Connect to Meld Studio
CPH.MeldStudioConnect()

# Check connection status
if CPH.MeldStudioIsConnected():
    CPH.Log("Connected to Meld Studio")

# Disconnect when done
CPH.MeldStudioDisconnect()

Scene Control

Scene control
# Switch scene by name
CPH.MeldStudioShowSceneByName("Gaming")

# Switch scene by index
CPH.MeldStudioShowScene(0)

# Get current scene
scene = CPH.MeldStudioGetCurrentScene()
CPH.Log(f"Current scene: {scene['name']}")

# Get all scenes
scenes = CPH.MeldStudioGetScenes()
for s in scenes:
    CPH.Log(f"Scene: {s['name']} (index: {s['index']})")

# Create a new scene
CPH.MeldStudioCreateScene("BRB Scene")

# Remove a scene
CPH.MeldStudioRemoveScene("Old Scene")

Streaming and Recording

Streaming and recording
# Stream control
if not CPH.MeldStudioIsStreaming():
    CPH.MeldStudioStartStreaming()
    CPH.Log("Stream started!")

# Stop streaming
CPH.MeldStudioStopStreaming()

# Recording control
CPH.MeldStudioStartRecording()
CPH.MeldStudioPauseRecording()
CPH.MeldStudioResumeRecording()
CPH.MeldStudioStopRecording()

# Check recording status
if CPH.MeldStudioIsRecording():
    CPH.Log("Currently recording")

Audio Control

Audio control
# Mute a source
CPH.MeldStudioMute("Microphone")

# Unmute a source
CPH.MeldStudioUnmute("Microphone")

# Set mute state directly
CPH.MeldStudioSetMute("Desktop Audio", True)  # Mute
CPH.MeldStudioSetMute("Desktop Audio", False)  # Unmute

# Set volume (0.0 to 1.0)
CPH.MeldStudioSetVolume("Microphone", 0.75)
CPH.MeldStudioSetVolume("Desktop Audio", 0.5)

Transform and Layers

Transform and layer control
# Set source position (x, y coordinates)
CPH.MeldStudioSetSourcePosition("Webcam", 100, 200)

# Set source scale (scaleX, scaleY)
CPH.MeldStudioSetSourceScale("Webcam", 1.5, 1.5)

# Set source rotation (degrees)
CPH.MeldStudioSetSourceRotation("Webcam", 45)

# Lock/unlock source
CPH.MeldStudioSetSourceLocked("Webcam", True)  # Lock
CPH.MeldStudioSetSourceLocked("Webcam", False)  # Unlock

# Show/hide layers
CPH.MeldStudioShowLayerByName("Alert Overlay")
CPH.MeldStudioHideLayerByName("Alert Overlay")
CPH.MeldStudioToggleLayerByName("Alert Overlay")

Additional API Methods

The Meld Studio integration also supports transitions, studio mode, and more. See the full API reference for all available methods:

  • MeldStudioGetTransitions() - Get available transitions
  • MeldStudioSetTransition(name) - Set current transition
  • MeldStudioSetTransitionDuration(ms) - Set transition duration
  • MeldStudioIsStudioModeEnabled() - Check studio mode status
  • MeldStudioSetStudioModeEnabled(enabled) - Enable/disable studio mode
  • MeldStudioTriggerStudioModeTransition() - Trigger studio mode transition
  • MeldStudioIsReplayBufferActive() - Check replay buffer status
  • MeldStudioIsVirtualCamActive() - Check virtual camera status