Case Study
Tech cue sheet automation for live theatre
60-second cuesheet generation, eliminated pre-show tech chaos, enabled full tech dress rehearsals
Define
Problem Statement
A sketch comedy show produced in 10-hours (conceive → write → rehearse → perform → receive adulation) required complex technical cuesheets:
- Multiple background videos (often custom edited)
- Sound effects and music cues
- Lighting cues coordinated with QLab (cueing software)
- Physical props and scene changes
Baseline process:
- Tech operator manually compiled cuesheets during the day
- Assets finalized minutes before show, sometimes missing
- Manual data entry into QLab cueing system
- Zero time for dress rehearsal with complete tech
- Tech failures during performance due to last-minute cuesheet changes or simple lack of rehearsal
Critical incident:
- Complex video sketch (Five minutes to midnight) required processed video: Berlin walkthrough → reversed → sped up → cut with soundtrack → timed to scene beats
- All in all 1/5 of the ten hours was spent getting the assets show ready
- Tech operator insisted on building entire cuesheet manually per established process
- Show had video-heavy opening, rapper doing battle with sound effects, multiple video cues
- Tech not finalized until break between shows (8pm → 9:30pm program)
- Result: Actor running against static background, soundtrack timing off, audience confusion
Project Goal: Reduce cuesheet creation from hours (with frazzled operator) to <2 minutes, enabling full tech rehearsal and last-minute creative changes.
Scope
- In scope: Cuesheet generation from media assets, QLab automation, stop cues
- Out of scope: Media editing pipeline, lighting design, sound mixing
Measure
Baseline Data
| Metric | Baseline Value |
|---|---|
| Manual cuesheet creation time | 2–4 hours |
| Operator state after build | Frazzled |
| Time available for tech dress | 0 |
| Last-minute asset changes | Impossible |
| Cuesheet errors during show | Regular |
Improve
Solution Design
Insight: All cuesheet creation consisted of:
- Scanning organized folder structure
- Creating QLab groups per sketch with lights up and blackout cues
- Adding video/image files with stop cues
- Adding sound effect cues
- Adding default images (cafe, park, restaurant) for missing assets
Automation approach:
Built script that:
- Reads organized folder structure (sketch name → ordered assets)
- Communicates with QLab via JSX
- Creates groups per sketch with auto-stop cues
- Embeds default placeholder images for missing video
- Outputs ready-to-load QLab project
Initial implementation: AppleScript proved insufficient for complex data types
Intended refinement: OSC (Open Sound Control) protocol for more flexible QLab integration
Results
Deployment: Single 10-hour sprint production
| Metric | Before | After | Change |
|---|---|---|---|
| Cuesheet generation time | 2–4 hrs | <1 min | -99% |
| Operator readiness | Frazzled | Calm | Improved |
| Tech dress rehearsal | ~25% of sketches | All sketches | +300% |
| Last-minute asset changes | None | Easy | Enabled |
| Performance tech issues | Regular | Resolved | Eliminated |
Lessons Learned
-
Repetitive process automation was the constraint, not the quality of tech work. The operator’s skill wasn’t the issue; the manual data entry was killing all available time.
-
Wrong tool choice JSX didn’t kill the project, but proved less flexible than OSC would have been, e.g., users could add media via local webservice
-
Default placeholder assets enabled graceful degradation. When final video assets weren’t ready, the show could still proceed with placeholder visuals instead of failing entirely.
-
Integration into existing workflow is critical. The script output had to save directly as a QLab project that could be opened immediately - no additional conversion steps.