MIDI Show Control MSC In Depth Programming Information for Expression
- Last updated
- Save as PDF
Here are the valid MSC parameter ranges that we allow for both the Obsession and Expression lines. Neither console will respond to a 7F "all device" command format. Labels shown within angle brackets <> can be set. Values shown in hexadecimal must not be changed.
Obsession Format: Obsession will take Lighting GO, STOP, RESUME, LOAD, and FIRE. Please note that MSC List and Cue Path information are ignored and should have no effect on Obsession.
The general format is: (Start) (All-Call) (Device ID) (MSC) (Command Format) (Command ID) (Event Number) (Stop) Shown with the fixed hexadecimal values and variable values indicated by angle brackets <>, this would be seen as:
F0 7F <device ID> 02 01 <command ID> <event number> F7
Expression Format: The Express/Expression console lines will only take Lighting GO, STOP, RESUME, and FIRE. We use an MSC Cue List (which we call "Fader Pair") value of 31
for the A/B fader and 32
for the C/D pair instead of the Cue Path byte like some other consoles.
(Start) (All-Call) (Device ID) (MSC) (Command Format) (Command ID) (Event Number) (Delimiter) (Fader Pair) (Stop) Shown with the fixed hexadecimal values and variable values shown in angle brackets <>.
This would be seen as:
F0 7F <device ID> 02 01 <command ID> <event number> 00 <fader pair> F7
Variable Declarations:
<device ID>
- Valid range of 1 thru 126 (01 thru 7E in Hex). Make sure the device ID on both the receiving and sending devices are the same.
<command ID>
- We accept the following command IDs on both consoles:
01
GO 02
STOP 03
RESUME 05
LOAD 07
FIRE <event number>
- Event numbers correspond to cue numbers for GO, RESUME, and LOAD commands and correspond to macro numbers for FIRE commands. Event numbers are strings of hex values that represent each numerical character in a cue number. To create this string of values, you must break down the cue number into a list of single digits. (For instance, 324 would become 3, 2, and 4.) The end of an event number string is signified by a delimiter (hex
00
) or a stop bit (for MSC, hexF7
). Macro numbers can be in the range of 1 thru 127. Use the table below to cross-reference cue number or macro number digits to hex values. These hex values correspond to the ASCII mapping of the digits 0-9:Digit Hex Value 0 30
1 31
2 32
3 33
4 34
5 35
6 36
7 37
8 38
9 39
. 2E
32
. For a more complex cue number, 126, we separate each digit into an ASCII value. The 1 would be shown as31
, the 2 as32
, and the 6 as36
. So 126 would be31 32 36
in ASCII hex values. Adding a decimal point into a cue stretches it out a bit more. 134.5 would be written as31
for the 1,33
for the 3,34
for the 4,2E
for the decimal point, and35
for the 5. The ASCII hex string for 134.5 would therefore be31 33 24 2E 35
. <fader pair>
- For Expression and Express line consoles, we use the fader pair variable to select the fader pair our MSC cue will play in. Use a Hex value of
31
for the A/B fader or32
for the C/D pair. Some other console manufacturers (Notably Jands) use the MSC Cue Path parameter instead of the MSC Cue Type parameter (shown here as "fader pair") to load cues to specific faders. Consoles that use Cue Path information instead of Cue Type information for cue routing will not be able to communicate fader pair information with Expression line consoles.
MSC Hex String Examples:
- To send either the command GO for cue 51.3 to either an Expression line console or Obsession Line console:
F0 7F 01 02 01 01 35 31 2E 33 00 31 F7
- Simple GO command (Plays next cue)(Plays cue in A/B fader on Express/Expression):
F0 7F 01 02 01 01 00 31 F7
- Simple Stop command (For A/B fader on Express/Expression):
F0 7F 01 02 01 02 00 31 F7
- Run Macro 7:
F0 7F 01 02 01 07 37 F7