Bidirectional parameter sync between TouchDesigner and web browser via WebSocket.
Tested with TouchDesigner 2025.31550
├── td/ # TouchDesigner scripts
│ ├── parexec1.py # Broadcasts parameter changes to WebSocket clients
│ └── webserver1_callbacks.py # Handles HTTP/WebSocket requests
├── server/ # Web client files
│ └── index.html # Slider UI
└── example.toe # Example TouchDesigner project
- Clone this repository and keep the folder structure as-is
- Open
example.toein TouchDesigner - Open http://localhost:9980 in your browser
- Create a
webserver1(Web Server DAT) with port (e.g. 9980) - Create a
param(Base COMP) with custom parameterValue(Float, 0-1) - Create a
parexec1(Parameter Execute DAT) watchingparam, enable "Values Changed" - Set callbacks path to
td/webserver1_callbacks.pyin Web Server DAT - Set script path to
td/parexec1.pyin Parameter Execute DAT - Open http://localhost:9980 in browser
TD -> Web:
{ "type": "valueChange", "name": "Value", "value": 0.5 }Web -> TD:
{ "type": "setValue", "name": "Value", "value": 0.5 }