An inexpensive MIDI show-control system:
The following example was originally created using a Gateway2000 P133 computer
with an Ensoniq Wavetable Soundcard (also from Gateway) and a 4x CDROM drive,
an Obsession control console with optional I/O card (MIDI/SMPTE/LINK) installed.
Software used is Status Cue 3.27 available for download from http://www.highend.com/
(follow links to Products: Discontinued Products) running under Win98. A Joystick
to MIDI cable adapter is required. (available from www.edirol.com
$20). This example can be easily adapted to work with any Status Cue compatible
computer and MIDI show-control compatible lighting console.
Compatability note: several users have reported that the sync timecode to
CD does not work under WinXP. We currently only use Win98 for Status Cue.
What is MIDI show-control and what can I do with
it?
MIDI-show-control (MSC) is a standard serial computer protocol for
theatrical control systems used to exchange cue execution data. MSC is
an extension to the standard MIDI (Musical Instrument Digital Interface)
system exclusive command set. The most common MSC commands for lighting
control are GO, STOP, and FIRE (traditionally used
to execute macros on a lighting console). A simple MSC system might be
used to sequence a series of sound and light cues to playback a thunder
and lightning sequence perfectly every time. It can also be used to completely
automate the execution of lighting cues in sync with music playback, motion
control systems, or other show control devices. MSC commands are accurate
to within 1/30th of a second, making it possible to precisely adjust
the timing of cues.
Most theatrical lighting consoles available today allow some type of
MIDI or MSC input. The challenge to accessing the powerful functionality
available through MSC is in finding an inexpensive MSC sequencing device.
The Status Cue software running on a Windows compatible PC provides an
affordable solution.
Safety warning: MSC should never
be used to control equipment which might be dangerous. This includes automated
rigging or motion control systems, pyrotechnics, or dangerous electrical
equipment. A MSC system is capable of executing hundreds of GO commands
very rapidly. Make sure that any device which is capable of receiving MSC
commands is ready to do so. Fog control channels should be put on inhibitive
submasters to allow quick over-riding in case of cueing or programming
errors.
-
Assumptions:
-
You wish to automatically execute light cues or sequences on a MSC compatible
lighting console. (This example, as written, does not work with consoles
such as the Strand MX which have standard MIDI inputs for musical keyboard
data only. Status Cue, however, can be configured to output standard MIDI
notes.)
-
You wish to synchronize light cues with any one of the following clock
sources:
-
Other MSC devices by using the Status Cue as a master GO button to manually
cue multiple MSC devices at once
-
Music or sound effects recorded on a CD or CDR
-
Status Cue internal clock (hours:minutes:seconds:frames) started by operator
-
Status Cue system clock (time of day)
-
You have a x486 Win3.1 system or greater (check current Status Cue requirements)
with a MIDI card installed. (Most consumer sound cards have MIDI capability
available through the joystick port on the card.)
-
You have a cable to connect the MIDI port of your sound card to your lighting
control console or other MSC devices.
-
Conventions:
-
Obsession keys that you press are indicated in brackets (ex. [Cue],
[Load Cue], [Group]) Keys with the same name that are located on the
display part of the console are indicated with an * (ex. [Group*])
Modify commands as appropriate for your lighting console.
-
Status Cue commands are indicated by [Menu]>[CommandName] or mouse
command [BUTTON]. (ex. [File]>[Save], [OK])
-
MIDI show-control messages and commands are indicated as COMMAND.
(ex. DEVICE-1-GO-1)
-
Hardware/software set-up:
-
Download and install Status Cue software on computer. Verify that Status
Cue will start without errors.
-
Shut down power to all equipment.
-
Set up computer and lighting console in such a way that you can access
both easily from one position and see all monitors.
-
Connect joystick port connection on MIDI cable to sound card.
-
Connect MIDI-IN on cable to MIDI-OUT on console.
-
Connect MIDI-OUT on cable to MIDI-IN on console.
-
Power up both systems.
-
On your lighting console:
-
Enable MSC input and output.
-
Set MSC device number for your lighting console to 1.
-
Set MSC Target device ID also to 1. (The commands you will be recording
later will ultimately be directed back to your lighting console.)
-
In Status Cue:
-
Select [Configure]>[MIDI Setup]. Set the following:
-
Status Cue Device ID: 0
-
MIDI In Enabled: checked
-
Device Driver: select your MIDI card from the drop down list
-
Apply to CueLists: checked
-
Apply to Songs: unchecked
-
MIDI Out Enabled: checked
-
Device Driver: select your MIDI card from the drop down list
-
Redundancy:
-
For Cuelists: unchecked
-
For Songs: unchecked
-
Neither: checked
-
Click [OK]
-
Next select [Configure]>[MIDI Devices] Click [ADD DEVICE] and
make selections as follows:
-
Device Name: enter a name for your lighting console
-
Device Type: Show Control Protocol
-
ID/Channel: 1
-
Command Format: Lighting (General Category)
-
Click [OK]
-
Your console should now appear in the list of MIDI devices as follows:
-
All MSC Devices
-
This Status Cue
-
(Name of Your Console)
-
Close the dialog box
-
Test your MSC setup:
-
On your console create light Cues 1, 2, and 3 with a time of 1 second each.
-
In Status Cue:
-
select [OBJECT]>[CUE LIST], (nothing appears to happen) then select
[MEMORY]>[NEW]
-
Cue List - NoName1 should be created
-
Set:
-
Clock Source to Internal
-
Insertion Method: At End
-
Time: Absolute
-
Sort by Time: checked
-
Sort by Number: unchecked
-
Output MTC: unchecked
-
Convert MSC to Internal: checked
-
Record MIDI: checked
-
Record Preset/Song: unchecked
-
Auto Scroll Preset: checked
-
Auto Delete Preset: unchecked
-
Controlled via MIDI: checked
-
[Load Cue] [1] on your console and standby to execute the
three light cues by pressing the [GO] button three times waiting
about 2-3 seconds between each [GO].
-
Click the circular [Record] button on Status Cue (clock will start
to run) and execute your [GO] commands on your lighting console.
-
When your last console cue is complete click the square [STOP] button
on Status Cue.
-
You should see the cues being recorded on the Status Cue cue list as you
execute them. If not, check your cable connections and verify the MIDI
setup as described above.
-
Set the clock back to zero on Status Cue.
-
[Load Cue] [1] again on your lighting console.
-
Start the cue list on the Status Cue by pressing the [Play] button.
-
Your 3 light cues should play back at the exact timing in which they were
first recorded. If not, verify your MIDI setup as described above.
-
Synchronizing light cues to a CD sound source:
- NOTE: other users report this function does not work under WinXP (we currently
run Status Cue under Win98)
- Using the same process described above, it is easy to synchronize light
cues to any sound source that can be played back on an audio CD in the CDROM
drive of the Status Cue system.
-
Make sure you have an audio CD in you CDROM drive and that it is not playing
or being accessed by any other Windows program such as CD Player.
-
In the Status Cue cue list created above, select CD as the Clock Source.
-
Delete the three cues in your cue list by selecting them and hitting the
Delete key.
-
Click [Play] to verify that Status Cue has control of your CD drive.
The CD should play with the time code reading Track:Minutes:Seconds:Frames
-
Click [STOP], reset the CD to the beginning of the track and then
when you are ready to record your console Gos, click [RECORD].
-
You can then record your [GO] commands and play them back as in
the example above.
-
Some important notes about MIDI show-control messages:
-
MIDI show-control messages consist of three basic parts:
-
A device ID: What device is to receive the command. Your console is device
1 in the example above.
-
The command: Common MSC general lighting console commands include GO,
STOP,
LOAD, and FIRE.
-
Data: Usually this is the Cue Number for a GO command, the
console macro number for a FIRE command, or it may contain
cue list, cue path, or other information. It may also be omitted.
-
Most conventional theatrical lighting consoles, when enabled, will output
MSC messages for all native console commands that have MSC equivalents.
In the test example above as you hit the [GO] button on Cue 1 an
MSC message that says DEVICE-1-GO-1, is sent to Status Cue
and recorded into the cue list. When the cue list is played back the MSC
message is sent again and the lighting console (device 1) executes Cue
1.
-
There is an important difference between a console GO command that executes
the next cue on the console's current internal cue list and the MSC message:
DEVICE-1-GO-1.
An MSC GO command message is equivalent on most consoles
to a key sequence like: [LOAD Cue],
[1], [GO]. This
means that the console could be in any cue prior to receiving the MSC DEVICE-1-GO-1
message and Cue 1 would still execute. As a result, subroutines, cue loops,
cue linked macros, follow cues, or other complex cue structures can cause
problems when trying to record them on Status Cue with MSC. For example,
if you created a Cue 1 with an auto-follow Cue 2, when you press [GO]
on Cue 1 your console will output the MSC DEVICE-1-GO-1 message
for Cue 1 and then output the MSC DEVICE-1-GO-2 message for
Cue 2 as the cue automatically executes. If you record these MSC messages
on Status Cue and then play them back, your lighting console will end up
getting two GO commands for Cue 2 (one from Status Cue and one from itself).
The results can be unpredictable.
-
It is recommended that when planning your show you let Status Cue
execute all Go commands and eliminate any internal Gos (follows, links,
loops, etc.) from your console's cue list. If internal console Gos are
needed, the MSC messages recorded by Status Cue can be manually edited
or deleted after being recorded.
-
Creating and Editing Status Cue cue lists manually:
-
It is sometimes useful to create a command in Status Cue manually, either
because the console is unable to generate the command automatically, or
you wish to access some of the extended features of Status Cue.
-
To create a cue manually, first select a line in the cue list and click
[Edit]>[Insert].
This will create a blank cue list entry.
-
Each cue attribute can then be edited by double clicking on the element:
Label, Number, Time, Device, etc.
-
Some notes on Status Cue cue list attributes:
-
Hold: By selecting Hold the cue list will stop executing on the
selected clock source and wait for a manual GO to be pressed (blue button).
-
Label: Used for creating cue loops or links with the Device: Internal,
Command: Goto Label.
-
Cue Number is arbitrary. Cues do not need to execute sequentially.
-
Time, depending on the clock source, is in minutes, seconds, and frames.
Frames are in the range of 0-29. Numbers above 29 will be converted into
whole seconds. It is easy, when adjusting critical timing, to make this
mistake and throw your cue is off by over a second. When working with CD
timecode don't forget that the first number is the CD track and cannot
be zero.
-
Trans Time is only used with the MSC SET command. (Not supported by most
consoles).
-
Device should be the device you are sending MSC to (your lighting console),
or be set to Internal to access Status Cue internal commands.
-
Command and Data can be as simple as a GO command sent to the lighting
console, or as complex as an internal command to stop the CD player, open
a new cue list and start the CD and cue list at a different point on the
disc.
-
More complex MSC tasks:
-
By selecting the Fire command from the MSC command list and selecting a
number between 1-128 a macro can be called from Status Cue and executed
by your console. A macro might load a new console cue list from disc, load
or unload cues or faders, activate submaster bump buttons loaded with effects,
or any other command your console is capable of.
-
By setting your console's target device ID to 0 (the Status Cue) it is
possible to use your console to reciprocally activate Cues on Status Cue.
Be careful not to send the two controllers into an infinite Go loop cycle.
-
Explore the possibilities of using Status Cue Internal commands to open
new cue lists, stop, reset, and start the clock, or create custom mixes
live from the CD.
Return to TechNotes
5/8/98 RLK
Revised 5-28-98
Revised 9-25-98
Revised 10-25-04