Edit
Meld
On this page
SAMMI can listen to Meld Studio WebChannel events through the Meld Trigger.
Meld triggers are useful when you want a button to react to Meld connection changes, scene/session changes, streaming state changes, recording state changes, or scene/layer creation and removal.
Add a Meld trigger #
- Right click a button in SAMMI and open Edit Triggers.
- Click the + button.
- Select Meld Trigger from the General Triggers section.
- Select the Meld event type.
- Save the trigger.
Meld Trigger uses trigger type value
50. You can pull this value with Trigger Pull Data using trigger_type. The global trigger_type array also exposes index 50 as meldtrigger.
Trigger types #
| Trigger Type | When it fires |
|---|---|
| Connected | SAMMI connected to Meld Studio. |
| Disconnected | SAMMI disconnected from Meld Studio. |
| Session Changed | Meld reported that the session object changed. This is the broad session update event. |
| Scene Changed | The current scene changed. SAMMI also keeps the previous scene name and ID. |
| Layer Created | A layer was added to the Meld session. |
| Layer Removed | A layer was removed from the Meld session. |
| Scene Created | A scene was added to the Meld session. |
| Scene Removed | A scene was removed from the Meld session. |
| Streaming Changed | Meld reported a streaming state change. |
| Stream Started | Streaming changed to active. |
| Stream Stopped | Streaming changed to inactive. |
| Recording Changed | Meld reported a recording state change. |
| Recording Started | Recording changed to active. |
| Recording Stopped | Recording changed to inactive. |
Retrieve Meld trigger values #
Use Meld: Event Pull inside the triggered button to read values from the Meld event payload.
The pull value names are case-sensitive. For example, use currentScene, not current_scene.
| Common Pull Value | Type | Explanation |
|---|---|---|
| all | Object | Returns the whole Meld event payload. |
| connected | Boolean | Current Meld connection state. |
| currentScene | String | Current scene name. |
| currentSceneId | String | Current scene ID. |
| effectCount | Number | Number of effects in the current session. |
| event | String | Meld event name, such as SceneChanged or RecordingStarted. |
| ip | String | Meld connection IP. |
| isRecording | Boolean | Current recording state. |
| isReplayBufferActive | Boolean | Current replay buffer state. |
| isStreaming | Boolean | Current streaming state. |
| layerCount | Number | Number of layers in the current session. |
| port | Number | Meld WebChannel port. |
| previousScene | String | Previous scene name. Empty until a scene change has been observed. |
| previousSceneId | String | Previous scene ID. Empty until a scene change has been observed. |
| sceneCount | Number | Number of scenes in the current session. |
| stagedScene | String | Staged scene name. |
| stagedSceneId | String | Staged scene ID. |
| trackCount | Number | Number of tracks in the current session. |
| trigger | String | Same event name used for trigger matching. |
| trigger_type | Number | SAMMI trigger type. Meld Trigger is 50. |
| type | String | Same event name used for trigger matching. |
| updatetype | String | Same event name used for trigger matching. |
| webchannelReady | Boolean | True if Meld’s WebChannel API is ready. |
Event-specific pull values #
| Event | Additional Pull Values |
|---|---|
| SessionChanged | args, session, signal |
| SceneChanged | sceneId, sceneName |
| SceneCreated | itemId, itemName, itemType, sceneId, sceneName |
| SceneRemoved | itemId, itemName, itemType, sceneId, sceneName |
| LayerCreated | itemId, itemName, itemType, layerId, layerName, parentId, parentName, sceneId, sceneName |
| LayerRemoved | itemId, itemName, itemType, layerId, layerName, parentId, parentName, sceneId, sceneName |
| StreamingChanged | args, signal |
| StreamStarted | args, signal |
| StreamStopped | args, signal |
| RecordingChanged | args, signal |
| RecordingStarted | args, signal |
| RecordingStopped | args, signal |
Payload examples #
Pull the current scene name from any Meld trigger:
| Command | Save Variable As | Pull Value |
|---|---|---|
| Meld: Event Pull | scene |
currentScene |
Pull the whole event payload:
| Command | Save Variable As | Pull Value |
|---|---|---|
| Meld: Event Pull | payload |
all |