Skip to main content

The node editor

The clip canvas is a node graph. Every media element is a card (a "node"), and you wire cards together by dragging between their ports — the small coloured dots on each card. Connections decide how elements are layered, positioned, fed audio, and fed live data.

You don't have to wire anything: a lone element fired to a deck just plays. The node editor is what lets you go further — stacking layers, placing things on a canvas, routing sound, and driving text from scripts.

Getting around the canvas

  • Move a card — drag its header/body.
  • Pan — drag the empty background.
  • Zoom — scroll the mouse wheel.
  • Select — click a card; right‑click a card for its menu (Edit / Rename / Delete, etc.).
  • Right‑click the empty canvas to add special nodes or group a selection (see below).
  • Delete a connection — right‑click the wire → Delete connection.

Ports and connections

Each port has a kind, shown by colour. You can only connect two compatible ports, and SwitchX won't let you make an invalid link. Drag from one port and drop on another to connect.

PortColourFound onMeaning
Chain In / Chain Outblue / greenevery elementStack elements into a layer chain (compositing).
Transform Contextgoldevery elementSend this element into a canvas so it can be positioned.
Context HubgoldTransform Context nodeThe canvas that elements plug into.
Audio (out)orangemedia clips with soundThe clip's audio, to route onward.
Audio In (shader)orangeShader elementsFeed sound into a shader to make it react.
Master Audio InamberMaster Audio OutputCollects audio to play out a device.
Master Audio Input (out)tealMaster Audio InputA microphone/line‑in feeding the graph.
Script Out / Data IntealScript node / TextLive values from a script into a text template.

What each connection means

  • Chain Out → Chain Inlayering. Build a stack of elements that composite together into one deck output, lowest to highest.
  • Transform Context → Context Hubplacement. Plug an element's Transform Context port into a Transform Context node to position and scale it on a defined output canvas. Several elements can share one canvas to build a composed layout.
  • Audio → Shader Audio Inreactivity. Route a clip's sound (or a mic) into a shader so the visuals move with it.
  • Audio / Master Audio Input → Master Audio Inmonitoring/output. Send clip audio and live mic/line inputs to a Master Audio Output node to choose which device they play out of.
  • Script Out → Data Inlive data. Feed values computed by a Script node into a Text element's {placeholder} tokens.

Single vs. multiple connections. Most input ports accept one wire at a time — connecting a new one replaces the old. Hub‑style ports (a canvas's Context Hub, a clip's audio out, a Master Audio In) accept many connections, so one canvas can host many elements and one output can collect many sources.

Special nodes

Right‑click the empty canvas to add nodes that aren't media elements:

NodePurposePage
Transform Context NodeDefines an output canvas; elements plug in to be positioned.Transform Context node
Master Audio OutputChooses which device audio plays out of.Audio nodes
Master Audio InputBrings a microphone or line‑in into the graph.Audio nodes
Script NodeRuns a Lua script that feeds live values to text.Script node

You can also Group Selection to collapse several cards into a single group.