

My primary case for simple ASCII-based control messages came down to this: I went back and forth about this in a fascinating exchange with Figure 53's founder and lead developer, Christopher Ashworth you can read the whole thing here.
#Qlab osc heartbeat how to#
(Medialon's Eric Cantrell figured out how to automatically frame an OSC "Go" message with this syntax: Manager (OSC_String_to_Send = "/cue/" + QNumberString + "/start" + ("!00" * (5-Length(QNumberString))) + ",!00!00!00!0A!0D") ) For example, to tell QLab to Go on the next cue in the workspace using OSC, you would have to send "/go 0x00 0x00, 0x0A 0x0D" The /go is the main OSC "address", the null octets (0x00) are there to pad out the address name to the required multiple of four octets, the "," character is the start of arguments for this address (there aren't any for this address), and then the 0A and 0D are Carriage Return/Line Feed. None of this is a big deal for a computer to handle, but it makes the construction by humans of simple strings for control kind of complicated. For example, it needs its messages padded out to multiples of four octets, and you have to handle arguments for messages in a specific way, etc. OSC, though, is kind of complicated overkill for the kinds of simple ASCII-based control I prefer and have written about before.

Figure 53 implemented Open Sound Control (OSC), which is a great protocol for things like fetching and managing lists of cues for the QLab remote control IPad app. The release of Version 3 of the widely-used, Mac-based sound effects playback program QLab from Figure 53 brought with it something I've been waiting for for a long time: controllability over IP.
