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.
Enable API in Meld Studio
In Meld Studio, go to Settings and enable the API server. Note the port number (default is usually 8080).
Configure Connection in FaustBot
In FaustBot, navigate to Meld Studio in the sidebar. Enter the
host (usually localhost) and port number from Meld Studio.
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 changedStreaming Started Stream went liveStreaming Stopped Stream endedRecording Started Recording beganRecording Stopped Recording endedRecording Paused Recording was pausedRecording Resumed Recording was resumedReplay Buffer Saved Replay saved to fileVirtual Cam Started Virtual camera activatedVirtual Cam Stopped Virtual camera deactivatedLayer Visibility Changed Layer was shown or hiddenEffects
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
# 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
# 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
# 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
# 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
# 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 transitionsMeldStudioSetTransition(name)- Set current transitionMeldStudioSetTransitionDuration(ms)- Set transition durationMeldStudioIsStudioModeEnabled()- Check studio mode statusMeldStudioSetStudioModeEnabled(enabled)- Enable/disable studio modeMeldStudioTriggerStudioModeTransition()- Trigger studio mode transitionMeldStudioIsReplayBufferActive()- Check replay buffer statusMeldStudioIsVirtualCamActive()- Check virtual camera status