Theater System Operation

During performance development students will run performance scripts on their own computers to communicate with the system. These scripts can then be transferred to the server for daily operation.

Running a Show Script

Each show is defined as a single Python script. The following transcripts use the demo-show.py template to demonstrate aspects of running the system. This script is typically run from the command line during development in order to provide flags and parameters. In the autonomous system, it is run by the director.py script.

The following command will print the currently available arguments:

python3 demo-show.py --help

You should see something like the following:

usage: demo-show.py [-h] [--ip IP] [--quiet] [--debug] [--verbose]

Simple scripted show.

options:
  -h, --help  show this help message and exit
  --ip IP     IP address of the OSC receiver (default: 172.24.26.199).
  --quiet     Disable echoing log output to console.
  --debug     Enable debug messages in logs.
  --verbose   Enable even more detailed logging output.

Please note that the script is configured to communicate with the actual system by default; if you are testing offline, you’ll need to use the --ip option to set a different destination address. The script also logs messages to a file and also displays them on the console. The console display can be disabled using --quiet; the logging output can be increased with --debug and --verbose.

To run a typical offline test:

python3 demo-show.py --ip 127.0.0.1 --debug

You will typically see logging output much like this:

INFO:network: Opened motion client socket to send to 127.0.0.1:21000
INFO:network: Opened motion client socket to send to 127.0.0.1:21001
INFO:network: Opened motion client socket to send to 127.0.0.1:21002
INFO:network: Opened motion client socket to send to 127.0.0.1:21003
INFO:network: Opened lighting client socket to send to 127.0.0.1:20000
INFO:network: Opened director client socket to send to 127.0.0.1:22000
DEBUG:demo-show: Lighting fixture lamp1
DEBUG:demo-show: Lighting fixture fan1
DEBUG:demo-show: Lighting fixture rgba1

This will continue as long as the script is running. If you check the logs/ folder, you will also find the log file which includes timestamps.

A typical interactive test with the actual hardware will omit the local IP and direct messages to the theater system:

python3 demo-show.py --debug

The output will be similar but the IP addresses will indicate that it is connecting to the actual system:

INFO:network: Opened motion client socket to send to 172.24.26.199:21000
INFO:network: Opened motion client socket to send to 172.24.26.199:21001
INFO:network: Opened motion client socket to send to 172.24.26.199:21002
INFO:network: Opened motion client socket to send to 172.24.26.199:21003
INFO:network: Opened lighting client socket to send to 172.24.26.199:20000
INFO:network: Opened director client socket to send to 172.24.26.199:22000
DEBUG:demo-show: Lighting fixture lamp1
DEBUG:demo-show: Lighting fixture fan1
DEBUG:demo-show: Lighting fixture rgba1

Running A MIDI System

Details coming soon.