RabbitControl - Remote Control Anything

RabbitControl is a protocol for remote-control: Control parameters exposed from any application.
This implementation allows for exposing TouchDesigner custom parameters to other TouchDesigner instances, the web or applications that understand RCP. It allows for bidirectional control of parameters.
More information on the RCP can be found here: and a complete specification is available here:

Getting Started

  • download the RCP_TD.tox from github and drag into a project with the parameters you'd like to control remotely
  • set the "Connection Mode" parameter of the RCP_TD component to "This Operator is Server" and specify a network port
  • for the components with custom parameters you want to expose, add a tag called "RCP"
  • toggle the Active parameter to start the server

Control Parameters via a webinterface

  • on the RCP_TD component, click the "Open Remote Panel" pulse parameter.
  • in the opened browser window, fill in network address and port and hit "Connect"
  • if in "Client" mode, enter a port number in the "Remote Port" parameter. As the webinterface is driven from an internal Webserver DAT, this port sets the connection port of that server. The port has to be different from the Server Port.

Control Parameters from another touchdesigner instance

  • drag the RCP_TD component into another TouchDEsigner instance
  • set the "Connection Mode" parameter of the RCP_TD component to "This Operator is Client" and specify network address and port of the server.
  • toggle the Active parameter to start the client
  • the client should create a number of simple buttons in it's viewer which you can drag out onto your network
    • each created base component is a direct reference to the parameters of your server. As the naming is bound to ids assigned in RCP, the name of the inital component that is being controlled, can be found in the tags of the operator
  • In case the Server and Client network are the same project or contain operators with parameters of matching names, toggle the "Match Parameters" parameter on the Client Page of the RCP_TD component's parameters. When connecting, RCP_TD will try to bind the exposed remote parameters to the local parameters of the client.

Updating parameter definitions or adding paramerters

  • When changing parameter definitions or adding new parameters or components, pulse the "Update Parameters" parameter on the server's "Server" parameter page.
  • The new parameters should appear on any remote instance.


Currently Supported

RCP_TD currently supports all custom parameters on components.

Future improvements

  • better support for other datatypes like images and components
  • ability to expand support to buildin parameters
  • ability to add and remove parameters via exposed functions