Skip to content

Output Visuals

Once the chain has produced an image, Lightbridge still has to get those pixels onto a screen — your projector, an LED wall, a second monitor, or another app on the same machine. This page covers the visual side of that: the preview and live canvases, the modes that decide when live updates, and the output window that drives the audience’s display.

For projection mapping (warping the image onto physical surfaces, edge blending multiple projectors), see Projection Mapping.

Preview and live are two different canvases

The main window always renders two independent images: a preview canvas preview canvas output The canvas you're editing. Only you see it. Updates instantly as you drag sliders and reorder the chain. Learn more → and a live canvas live canvas output The canvas the audience sees. In hold mode it keeps running its last committed look — modulations and audio reactivity carry on — while ignoring new edits until you push. Learn more → .

  • Preview is what you see while you’re building. Every slider tweak, every new source, every chain reorder shows up here instantly.
  • Live is what the audience sees on the projector or output display. Whether it picks up your edits or keeps running the previously committed look depends on the mode.

Both canvases share the same audio, beat clock, MIDI bindings, and modulations — but they render independently, so there’s no risk of your edits leaking onto the audience’s screen by accident.

Auto mode vs hold mode

There are two ways to run the output:

  • Auto mode — live mirrors preview instantly. Every change you make is visible to the audience the moment you make it. Use this for solo sessions, rehearsal, and loose live moments where you want immediate feedback.
  • Hold mode — live stops picking up your edits and keeps running the look it was already playing. Modulations, audio reactivity, and beat sync all carry on — the live canvas isn’t paused, it just isn’t receiving new parameter changes. Meanwhile preview updates freely, so you can build the next look, and push it to live when you’re ready.

Hold mode is the safety net that makes serious live performance possible. You can add a source, drop effects onto it, tweak its parameters, and experiment — all while the audience keeps seeing the previously committed look, still moving to the music. When you’re happy, one push replaces the live image. Performing Live covers the full workflow.

The output window

The output window is a separate window you open to drive the physical display. You can pop one out per screen — one projector, one window. Open it from the Output button on the top toolbar, or from the View → Output menu.

Under the hood, the output window is a dumb renderer dumb renderer output A renderer that doesn't run its own audio, beat clock, modulation, or MIDI. The main window does all the computation and hands the results to the output window frame by frame, so preview and output can never drift apart. : it doesn’t run audio, doesn’t run a beat clock, doesn’t run modulation, doesn’t listen to MIDI, doesn’t read the store. The main window computes every frame — resolves every parameter, runs every modulation, picks every palette swatch — and then hands the result to the output window to display. This is why the preview and the output can never drift apart: there is only one source of truth.

The output window also hosts the projection mapping stage, which warps the received image onto the physical surfaces of your rig.

Syphon and Spout (coming soon)

Beyond sending pixels to a screen, Lightbridge will be able to share its output with any Syphon (macOS) or Spout (Windows) receiver. These are texture-sharing systems that let one app hand its live output straight to another app on the same machine, without going through a virtual camera or screen capture.

When this ships, other VJ and video apps on the same machine — Resolume, TouchDesigner, MadMapper, OBS — will be able to pick up the Lightbridge output as a live input with no quality loss.

Advanced — Syphon/Spout implementation status

The scaffolding is in place: Lightbridge uses Electron’s useSharedTexture option on the output window to request an IOSurface (on macOS) or a D3D11 shared handle (on Windows). That handle can go directly to a native addon that wraps the Syphon or Spout C API and publishes it as a shared texture. The native addon implementation itself is pending — everything on the Lightbridge side is ready to wire up once it lands.

That’s the same zero-copy performance path Resolume uses for its own Syphon server.

Where to go from here

  • Projection Mapping — warp the output onto physical surfaces, edge-blend multiple projectors.
  • Performing Live — the full live workflow: preview/live, hold mode, pushing, action buttons.
  • Output & Projection guide — hands-on: opening the output window, picking a display, getting pixels to the projector.