Theater System Scripts

The theater control system includes several executable scripts. These may be individually browsed in Python/theater.

Brief summary:

lighting-server.py: Translates lighting commands from OSC messages to the DMX output device. See Theater System OSC Protocol for details.

motion-server.py: Translates motion commands from OSC messages to the Arduino stepper motor drivers. See Theater System OSC Protocol for details.

MIDI-show.py: Demonstration of translating MIDI events into OSC messages. The events may be received in real time or loaded from a MIDI file. This is used for linking MIDI-based performance tools to the core system. For more details, please see Theater MIDI Processing.

director.py: Starts individual shows on schedule.

hallway-monitor.py: Prototype vision system for detecting a hallway audience and triggering a show. See Theater Vision System for details.

Sample Show Scripts

demo-show.py: Simple proxy show to demonstrate scripting the system. See Theater Demo Script for details.

light-fan-ensemble-demo.py: Simple demonstration using all the lights and fans.

light-fan-station-demo.py: Template for the first project show using just the the lights and fan at one station.

winch-demo.py: Simple capstan winch demonstration using one winch set with four stepper-motor capstan drives. See Motion Demo Script for details.

idle-show.py: Simple lighting show to invoke in response to audience presence.

Other Tools

The Performance Utility Tools may be individually browsed in Python/tools.

virtual-mpd218.py: Graphical simulation of a MIDI drum pad (requires PyQt6).

list-MIDI-ports.py: Console script to report available MIDI ports (requires rtmidi).

spline-plot.py: Graphicall plot a single-channel Bezier spline (required matplotlib).

print-MIDI-file.py: Display all events in a MIDI file (uses mido).

merge-MIDI-files.py: Sample script to merge a set of MIDI files (uses mido).