TouchDesigner

Making an Output

Build a TouchDesigner output for your install — fixture wiring, geometry, pixel-mapping, and how Lightpath consumes it.

Outputs are the core building block in Lightpath. An output is an individually addressable part of your installation — a video wall, an LED strip, a projector, a screen, anything you want to drive content to. Each output is a .tox file living in your project's outputs/ directory; Lightpath loads it into TouchDesigner at runtime and routes content to it from the UI.

Adding an output

You need to be logged in as an admin to access this page.

  1. Go to Configure → Outputs in the Lightpath UI.
  2. Click + New Output in the top left.
  3. Choose a name and an icon. To use a custom icon, upload a .png file into your project's outputs/ folder — it will appear in the Custom icons selector. We recommend a simple white-on-transparent outline of the output's shape.
  4. Choose whether to build from one of the bundled templates or from an existing .tox file.

Templates

Lightpath ships with four output templates. Each gives you a working .tox to start from — extend or replace anything inside.

  • Pixel Map — The basic setup for mapping pixel data to LEDs. Use this when you're driving addressable LED hardware (Art-Net, sACN, DMX, etc.).
  • Receive — Receive a texture from another piece of software via Spout or NDI. Receive-type outputs show a simplified look editor since content isn't being generated inside Lightpath. You can automatically send OSC or HTTP when content is selected to switch the source software in lockstep — see Devices for the bidirectional binding setup.
  • Send — Send the texture out via Spout or NDI for another piece of software to consume. Useful when integrating Lightpath with projection mapping software.
  • Screen — Output the texture to a specific monitor. Useful for projectors, attached displays, or LED screens driven over HDMI / DisplayPort.

These templates are starting points. You can do anything you want inside the output component, leveraging the open-ended power of TouchDesigner.

Custom parameters

Outputs follow the standard Lightpath custom-parameter contract — any parameter on a page named Look is exposed per-look (e.g. LED pixel-mapping method, input texture fit, per-look effects); any parameter on a page named Config is exposed at the install level (e.g. target network address for DMX, target monitor index for a Screen output, Spout sender name for a Send output).

Outputs can also expose a Status page — read-only parameters that stream live to the TouchDesigner device on the Devices page and feed the Alerts system — and an Internal page for plumbing the operator should never see. Add a Thumbnail Toggle on Internal if your output template should render differently when Lightpath captures its preview thumbnail.

See TouchDesigner Overview → Custom parameters for the full pattern.

The Enable toggle

Every output should expose an Enable toggle on its Internal page. Lightpath uses it to mark whether a given copy of your output is the live one.

Lightpath sometimes runs more than one copy of an output at the same time. When you edit a look without pushing it live, a separate copy renders the preview; short-lived copies are also spun up to capture thumbnails. Only the live copy should reach the real world — if a preview or thumbnail copy keeps sending, it fights your primary output: two copies driving the same DMX universe, a second window opening, or a duplicate NDI stream going out.

Enable is how those copies are told apart. It doesn't stop anything on its own, though — it's up to you to wire it up. Make anything in your output that reaches the real world (lighting data, a window, an NDI send) act only while Enable is on.

The simplest way is an expression on that operator's active parameter. For example, on a DMX Out's Active parameter:

parent().par.Enable

Now it only transmits while the output is enabled. Do the same for anything else in the output that drives hardware, the network, or a display.

Accessing project files

3D models, fixture XMLs, lookup tables, custom icons — store them in your project folder and reference them via the project path shortcut. See TouchDesigner Overview → Accessing project files.

On this page