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 show1.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 show1.py --help

You should see something like the following:

usage: show1.py [-h] [--ip IP] [--console] [--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).
  --console   Enable 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 is also normally quiet with no visible output, only logging to a file. Typically you will also turn on console log output in order to see debugging messages.

To run a typical offline test:

python3 show1.py --ip 127.0.0.1 --console --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:show1: Lighting fixture lamp1
DEBUG:show1: Lighting fixture fan1
DEBUG:show1: 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 still include the console flags in order to monitor progress:

python3 show1.py --console --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:show1: Lighting fixture lamp1
DEBUG:show1: Lighting fixture fan1
DEBUG:show1: Lighting fixture rgba1

Running A MIDI System

Details coming soon.