Necessity & Invention: Catching Up With X32 Theater Control Software Creator & Theatrical Mixer James Holt

ML: After the Andrew Bruce class, how did you come to gain an understanding of how theatrical mixing happens, and what lead from that to the development of your X32 Theater Control software?

JH: Going into the class I had a vague idea about how VCA/DCA mixing worked, the concept of programmatically assigning faders for each scene made a lot of sense and I probably would have tried it earlier had I been able to mix on an analogue console with VCAs (instead I just did some simple lead/ensemble group switching).

Shannon Slaton’s book (“Mixing A Musical”) explained how to create a DCA plot quite well, but actually programming it into a console seemed more difficult than it should have been. The user manuals for consoles with theatre-specific features described their software interfaces in great detail, but they didn’t explain the overall workflow the software was supposed to facilitate.

I went into the class with an open mind and learned a lot about the Broadway/West End sound design workflow. Hearing the story behind how sound for musical theatre developed and how products were adapted to suit the workflow was quite fascinating – far more interesting than the specific console software being showcased (admittedly it was a console I could never afford!).

However, the whole time I found myself comparing the top-end workflow with my small community theatre’s workflow; while the final result of a musical mix was similar, the process to get there was quite different. The top-end shows had a lot more technical rehearsal time (weeks versus hours) and the programming techniques emphasized detailed full snapshots as opposed to quickly storing specific parameters. The class showed me that the top end musical mixing workflow had been well developed over decades with specific products designed to accommodate it, but there was nothing specialized available for smaller scale productions.

A screenshot of X32 Theater Control.

Following the class I started to mix musicals on my X32, writing up DCA plots in spreadsheets and painstakingly programming each scene into the desk manually (hoping I’d never have to edit them) – occasionally missing a mute or DCA assignment that came out during rehearsals. The X32 didn’t allow DCA labels to be recalled without the fader level, so during shows I had to trust that I’d correctly programmed characters into the DCA numbers marked in my script (with only three tech/dress rehearsals to learn the show).

Despite the programming difficulties, I enjoyed the switch to DCA mixing as it allowed me to focus on the sound of the show instead of hunting around the console for channels. In time I was able to get the theatre company to purchase its own X32 and some P16-M personal monitor mixers in order to offload the band submix to a separate console that allowed the musicians to control their own foldback mixes.

After manually programming DCAs for a few shows, I investigated third-party scene management tools for the X32, but they generally manipulated data at a very low level and made it difficult to update scenes – editing could only be done offline using a copy of the scene file which then had to be loaded onto the console (not feasible during a rehearsal!). I decided to look into the X32’s OSC API to see how hard it would be for an external program to bulk update channel DCA assignments and DCA labels; maybe I could hack a small program together to read my DCA plot spreadsheet and translate that into OSC commands towards the console.

Following several weekends of coding and testing (and caffeine and swearing), version 1 of X32 Theatre Control was born. I first used it on a pantomime with 22 wireless mics, but I didn’t entirely trust it so I also programmed scenes into the console as a backup.

At that stage the software just read DCA assignment cues from a file and fired them into the console – less functionality than I’d initially hoped for but it still made DCA programming much easier.

Along the way I added some small things that I felt helped me when mixing, e.g., inverting scribble strips to signify ensemble DCAs and coloring DCA scribble strips that had the same channels in the next cue. The software could do these easily on the fly based on each DCA’s assignments, something that would have to be carefully set when programming scenes manually on a console (and not possible to recall on the X32).