Skip to content

TouchDesigner

The volta_bootstrap.py script connects Volta to TouchDesigner by fetching your layout from the REST API and auto-generating a complete network inside a container COMP — WebSocket DAT, per-control Constant CHOPs, Index option tables, and a callback script that routes incoming audience actions to the right operators.

  • TouchDesigner 2023 or later
  • A Volta REST API key
  • Your WebSocket host (<id>.execute-api.<region>.amazonaws.com/<stage>)
  1. Download volta_bootstrap.py or copy it from your Volta Artist IO installation.
  2. In TouchDesigner, create a Text DAT named volta_bootstrap and paste the script contents into it.
  3. Open the Textport (Alt+T) and call:
mod('volta_bootstrap').build(
layout_id = 'VAL-01ARZ3NDEKTSV4RRFFQ69G5FAV',
api_key = 'your-rest-api-key',
ws_host = 'abc123.execute-api.eu-west-2.amazonaws.com/production',
parent = op('/project1'),
)

A container COMP named volta_<id-suffix> is created inside parent and the WebSocket connects automatically.

volta_<suffix>/
websocket WebSocket DAT — live connection to Volta
ws_callbacks Text DAT — generated OSC dispatch script
lid_001 Constant CHOP — value for control at /001
lid_001_trigger Constant CHOP — pulses 1→0 on each Button press
lid_002 Constant CHOP — e.g. Slider 0–1
lid_003_x Constant CHOP — XYPad / Accelerometer / Gyroscope axes
lid_003_y Constant CHOP
options_004 Table DAT — index/label/image rows for Index controls
all_controls Select CHOP — merges every value CHOP into one place

Call build() again — it destroys and recreates the container with the updated layout.

The WebSocket URL embeds a short-lived JWT. If the connection drops for more than ~15 minutes, call build() again to fetch a fresh token.