Midi Show Control tutorial


In this tutorial we use QLab as an example of how to control Lanbox cues from other software, by using a Midi Show Control connection to Lassi. This tutorial is QLab and Mac OS X specific. The story for other Midi software or operating systems should be similar.

If you have not already done so, you can first read the Lassi Midi Show Control introduction.

We will run both QLab and Lassi on the same computer, and make a Midi connection between them.

Step 1: Prepare for Midi connection

For the communication of two Midi programs on the same computer, Mac OS X provides the IAC Driver (Inter Application Communications Driver). We need to enable this driver before we can make the connection between QLab and Lassi.

You can find the IAC Driver by typing Audio MIDI setup in Spotlight, or start Audio MIDI Setup from /Applications/Utilities. At the top select MIDI Devices.

You will now see an icon for the IAC Driver. If you have never used the IAC Driver before, the icon will appear grayed out.

Adudio MIDI Setup

Double-click the IAC Driver icon to bring up its properties dialog.

In the properties dialog, click the "Device is online" checkbox to make the driver active.

IAC Driver

In the Audio MIDI setup window, the icon will no longer appear grayed out.

If you will be using the IAC Driver ony for communication between QLab and Lassi, you can skip to step 2 now.

The bottom part of the dialog (you may have to click the arrow next to "More information" to get to see this), you find an overview with driver ports. Each such port can act as a kind of virtual cable to make a Midi connection between two different applications.

By default a port called "Bus 1" already exists. If this port is already in use by other applications on your computer, you can create an additional port by clicking the + button.

The default name for a second port is "IAC bus 2". If you want, you can change port names after double-clicking on the name.

In this tutorial we will work with the default port "Bus 1".

Step 2: Set preferences in Lassi

In Lassi, go to the preferences window, and select Midi Control. In the Midi Show Control section check the Enabled checkbox and click on the Get button to the right of the Input Device Name field.

Midi Show Control Preferences

From the list of in the Midi input devices dialog, select the entry that starts with "Bus 1", and click Apply.

Input Device Selection Dialog

If at this point you do not see any entries in the list, this may mean that the Java environment on your Mac does not yet support Midi. If this is the case, you will need a so-called Midi SPI (Service Provider Interface) to fill this gap.

The Mandolane Midi SPI (not free, shareware trial version available) has proven to work ok with Lassi.

After downloading this software, drag the files libMandoMidiJNILib.jar and libMandoMidiJNILib.jnilib in its distribution to the folder /Library/Java/Extensions.

Step 3: Set preferences in QLab

If you have not already done so, you can download a free trial version of QLab from the QLab download page. Note that this free version will allow you to try out the Midi Show Control as shown in this tutorial, but you will need a "Pro Midi license" to actually use this functionality: MSC cues in a workspace read from a saved file will not work in the trial version.

After starting QLab, select QLab > Application Preferences from the QLab menu. In the list on the left of the prefences window click MSC.

In the section "MIDI Device Assignment for MIDI Show Control (MSC) Cues", drag a connection from "Patch 1" to "IAC Driver Bus 1".

QLab preferences

Step 4: Create cues in Lassi

Next, create a cue list in Lassi. Watch the "How to create a simple cue list?" demo if you are not sure how to do this.

The resulting cue list looks like this in the Lassi Sheet window:

Lassi Sheet window

Make sure the cue list is saved to the Lanbox. By default the Lassi cuelist is saved to the Lanbox cuelist 900. This is configurable through Preferences > Sheet > Start Cue Number.

This is what the same cuelist looks like in LCEdit+:


Step 5: Create cues in QLab

We will now create a cue in QLab that performs a GO of a cue in the Lanbox.

In the QLab main window, double-click the button labeled MSC in the list on the left to create a new cue. The cue details can be specified in the "MIDI Show Control Message" tab in the lower part of the window.

QLab cue definition

Select "1 - IAC Driver Bus 1" for "Output Patch".

You can leave the selection of "Command Format" as is ("All Types") or select any other value. The value selected here will be ignored by Lassi.

Next we choose the GO command (just leave the default).

In the field "Device ID" you can specify the layer in which the cue should be executed on the Lanbox. We will leave the value 0. This will execute the cue in layer A. A value of 1 would also execute the cue in layer A, value 2 means layer B, value 3 means layer C, etc.

In Lassi we now make sure that the first cue in our cuelist is the current cue, by double-clicking the cue number in the table header, or by selecting Cues > Current from the menu.

In QLab click the GO button. In Lassi (and on the Lanbox) cue 1 is executed, and cue 2 becomes the current cue. In QLab select the cue again, and click the GO button again. In Lassi cue 2 is executed, and cue 3 becomes the current cue.

To execute a specific cue from QLab, select the cue again and type "1" in the "Q Number" field, and "1" in the "Q List" field. When clicking the GO button now, you will see that Lassi cue 1 is executed again, even if cue 3 was the current cue in the mean while.

QLab cue

From the LCEdit+ screenshot above, we can see that Lassi cue 4 corresponds to cuestep 12 in cuelist 900 on the Lanbox. Type "900.12" in the "Q Number" field, and blank out the "Q List" field. Click GO and watch how Lassi cue 4 (same as Lanbox cue 900.12) gets executed.

QLab cue


The text above described how to issue Show Control Commands to Lassi, resulting in controlling cue lists on the Lanbox. It is possible to perform "go next cue" commands, or perform a "go" of a specific cue step in a specific cue list. It is possible to use the Lassi cue numbering, or the Lanbox cue numbering.

The tutorial used QLab on Mac OS X as an example, but it should be possible to do the same with other software on other operating systems.

You can use our feedback page if you want to send us comments on this tutorial.