Overview :
This
MXM provide the most common MIDI Show Control commands. These commands
are setup to control dedicated intelligent control equimenent in theatrical,
live performance, multi-media, audio-visual and similar environments.
Applications may range from a single interface through which a single
lighting controller can be instructed to GO, STOP or RESUME, to complex
communications with large, timed and synchronized systems utilizing
many controllers of all types of performance technology.
The set of commands is modeled on the command structure of currently
existing computer memory lighting, sound and show control systems. The
intent is that translation between the MIDI Show Control commands and
dedicated controller commands will be relatively straightforward, deing
based on the same operating principles.
Devices are organized in categories like Lighting, Moving Lights, Machinery,
Video, Projection, Process Control, Hydraulic, Pyro etc... Each device
have an ID which could be an individual ID, group ID or broadcast ID.
This MXM provide
also the capability to receive MSC commands to perform programmatical
actions.
A lot of MIDI Show Control command used a triplet of parameter as CueNumber,
CueList, CuePath where :
CueNumber is the Cue in the target device to be executed or manipulated.
CueList prescribes in which one of all currently Open Cue Lists the
CueNumber is to be manipulated.
CuePath prescribes from which Open Cue Path within all available cue
storage media the CueNumber is to be retreived.
In most a the case CueList and CuePath parameters are optionnal. It
means that default CeuList and CuePath will be used. But, if CueList
is specified, Cue Number must also be specified and if Cue Path is specified,
Cue List must also be specified.
These tree parameters are given with the same syntax : XXX.XX.XXX etc...
where X is and ASCII number (0-9) and are separated by decimal point
caracter.
Ex 235.6.12.
> Top
Installation (MXM) :
No specific installation
is required
> Top
Creation (Device) :
The setup of the
device is done through this dialog box :

MIDI out ports
This list contains the MIDI out ports present on the system. The selected
output port will be used by the device.
MIDI in ports
This list contains the MIDI in ports present on the system. The selected
input port will be used by the device.
If no input port is selected, Input MSC commands
mechanism is disabled, otherwize "Read Next Command" command
whould be used each time "InCommandCount" variable is increased.
MIDI Device ID :
MIDI Show Controled device as an unique ID on the MIDI port to communicate
with. This ID should be the same the the DeviceID on the controlled
device.
MIDI Show Control Category :
This is the category in which the device come from. It should be set
at the same as the device is designed.
When MSC input commands are received, the MIDI
MSC category of the input command is compared to the category of the
device. If they are different and category of device is not "All
Category" the MSC input command is rejected otherwise if category
of device is "All Category" the command is taking into account.
Notes
on positrack :
The following commands
are positracked :
- Go
- Go Off
- Timed Go
- Set
- Open Cue Path
- Close Cue Path
- Open Cue List
- Close Cue List
While positracking the MxM simulates the behaviour of
a MIDI Show Control device which supports multiple cue lists.
> Top
Commands (List Of) :
Go :
Description
: Start a transition or fade to a cue. Transition time is determined
by the cue in the controlled Device.
Parameters : .
Cue Number : [Type : String] : Cue number to execute (optionnal).
Cue List : [Type : String] : Cue list in which the Cue number
is (optionnal).
Cue Path : [Type : String] : Cue Path in which the Cue list
is (optionnal).
Usage:
If no Cue Number is specified, the next cue in numerical sequence
GOes. If a Cue Number is specified, that cue GOes. Transitions "run"
until complete. If a control wishes to define the transition time,
TimedGo command shoud be used.
Stop :
Description
: Halts currently runnign transition(s).
Parameters : .
Cue Number : [Type : String] : Cue number to execute (optionnal).
Cue List : [Type : String] : Cue list in which the Cue number
is (optionnal).
Cue Path : [Type : String] : Cue Path in which the Cue list
is (optionnal).
Usage:
If no Cue Number is specified, all running transitions STOP.If a Cue
Number is specified, only that single, specific transition STOPs,
leaving all others unchanged.
Resume :
Description
: Cause STOPped transition(s) to continue running.
Parameters : .
Cue Number : [Type : String] : Cue number to execute (optionnal).
Cue List : [Type : String] : Cue list in which the Cue number
is (optionnal).
Cue Path : [Type : String] : Cue Path in which the Cue list
is (optionnal).
Usage:
If no Cue Number is specified, all STOPped transitions RESUME. If
a Cue Number is specified, only that transition RESUMEs, leaving all
others unchanged.
TimedGo :
Description
: Start a timed transition or fade to a cue.
Parameters : .
Time : [Type : Time] : Transition time.
Cue Number : [Type : String] : Cue number to execute (optionnal).
Cue List : [Type : String] : Cue list in which the Cue number
is (optionnal).
Cue Path : [Type : String] : Cue Path in which the Cue list
is (optionnal).
Usage:
If no Cue Number is specified, the next cue in numerical sequence
GOes. If a Cue Number is specified, that cue GOes. Transitions "run"
until complete.
Load :
Description
: Place a Cue into a standby position. Cue Number must be specified.
Parameters : .
Cue Number : [Type : String] : Cue number to execute.
Cue List : [Type : String] : Cue list in which the Cue number
is (optionnal).
Cue Path : [Type : String] : Cue Path in which the Cue list
is (optionnal).
Usage:
LOAD is useful when the cue desired takes a finite time to access.
LOAD is sent in advance so that the cue will GO instantly. In controlled
device with multiple Cue Lists, if Cue Number is sent without Cue
List, all cues with a number identical to Cue Number and which are
Open Cue List LOAD to standby.
Set :
Description
: Define a value of a Generic Control.
Parameters : .
Control Number : [Type : Integer] : Control number to set.
This value is range 0-1023 where :
0-127 : Sub
Masters
128-129 : Masters of the first playback.
130-131 : Masters of the second playback.
...
190-191 : Masters of the 32nd playback.
192-223 : Speed controlers for the 32 playback.
224-255 : Chase sequence masters.
256-287 : Chase sequence speed masters.
510 : Grand Master for all channels.
511 : General speed controller for all fades.
512-1023 : Individual channel levels.
Control Value
: [Type : Integer] : Value of the control to set. This value is range
0-16383 (14 bits resolution).
Time : [Type : Time] : Time to achieve given value.
Usage:
A controlled devicemay treat virtually anny of its variables, attributes,
rates, levels, modes, functions, effects, subs, channels, switches,
etc... as Generic Controls which may be sent values via SET.
Fire:
Description
: Triggers a pre-programmed keyboard macro.
Parameters : .
Macro Number : [Type : Integer] : Macro number to trig. This
value is range 0-127.
Usage:
The macros themselves are either programmed at the controlled device,
or loaded via MIDI file dump facilities.
All Off :
Description
: Independently turns all functions and output off without changing
the control settings.
Parameters : no parameter.
Usage:
Operating status prior to All Off may be reestablished by Restore
command.
Restore :
Description
: Reestablishes operating status to exactly as it was prior to
All Off.
Parameters : no parameter.
Reset :
Description
: Terminates all running cues, setting all timed functions to
an initialized state equivalent to a newly powered-up condition and
loads the first cue of each applicable cue list into the appropriate
standby positions.
Parameters : no parameter.
Usage:
In other words, Reset stops the show without arbitrarily changing
any control values and loads the top of the show to standby It should
be decided by the manufacturer of the controlled device whether or
not Reset should automatically, open all Closed Cue Lists and Closed
Cue Path and this decision should be stated clearly in the device's
MIDI implementation documentation.
Go Off :
Description
: Start a transition or fade of a cue to the off state. Transition
time is determined by the cue in the controlled Device.
Parameters : .
Cue Number : [Type : String] : Cue number to execute (optionnal).
Cue List : [Type : String] : Cue list in which the Cue number
is (optionnal).
Cue Path : [Type : String] : Cue Path in which the Cue list
is (optionnal).
Usage:
If no Cue Number is specified, the current cue GOes Off. If a Cue
Number is specified, that cue GOes Off. In controlled devices with
multiple Cue Lists, if no Cue Number is specified, all currently active
cues in Open Clue Lists Go Off. If Cue Number is sent without Cue
List, all cues with a number identical to Cue Number and which are
in Open Cue Lists Go Off.
For compatibility with controlled devices which do not automatically
replace an existing cue with a new cue upon receipt of the Go command,
controllers should optionnally prompt the programmer to simultaneously
create a Go Off command.
Go/JamClock :
Description
: Start a transition or fade to a cue simultaneous with forcing
the clock time to the "Go Time" if the cue is an "Auto Follow" cue.
Transition time is determined by the cue in the controlled Device.
Parameters : .
Cue Number : [Type : String] : Cue number to execute (optionnal).
Cue List : [Type : String] : Cue list in which the Cue number
is (optionnal).
Cue Path : [Type : String] : Cue Path in which the Cue list
is (optionnal).
Usage:
If no Cue Number is specified, the next cue in numerical sequence
GOes and the clock of the appropriate Cue List JAMs to that cue's
time. If the next cue in numerical sequence is a "Manual"
cue (i.e. if it has not been stored with a particular "Go Time",
making it an "Auto Follow" cue), the Go/JamClock command
is ignored.
If a Cue Number is specified, that cue GOes and the clock of the appropriate
Cue List JAMs to the cue's time unless the cue is "Manual"
in which case no change occurs.
Rules for controlled devices whith multiple Cue Lists are the same
as for GO, above.
Standby + :
Description
: Places into standby position the next cue in numerical order
after the cue currently in standby.
Parameters : .
Cue List : [Type : String] : Cue list in which the Cue is to
be standby + (optionnal).
Usage:
If Cue List is not sent, the Open Cue List containing the next cue
in numerical order is used. If more than one Open Cue List have cues
with an identical number then those cues will move to their respective
standby positions. if Cue List is sent in standby Cue Number Form,
only the next cue in the Cue List specified moves to the standby position.
Standby - :
Description
: Places into standby position the previous cue in numerical order
prior to the cue currently in standby.
Parameters : .
Cue List : [Type : String] : Cue list in which the Cue is to
be standby - (optionnal).
Usage:
If Cue List is not sent, the Open Cue List containing the previuos
cue in numerical order is used. If more than one Open Cue List have
cues with an identical number then those cues will move to their respective
standby positions. if Cue List is sent in standby Cue Number Form,
only the previuos cue in the Cue List specified moves to the standby
position.
Sequence + :
Description
: Places into standby position the next parent cue in numerical
sequence after the cue currently in standby.
Parameters : .
Cue List : [Type : String] : Cue list in which the Cue is to
be sequence + (optionnal).
Usage:
"Parent" refers to the integer value of the cue's number prior to
the first decimal point (the most significant number). For example,
if cue 29.324.98.7 was in standby and the cues following were 29.235,
29.4, 29.7, 29.9.876, 36.7, 36.7.832, 36.8, 37. and 37.1, then cue
36.7 would be loaded to standby by Sequence+.
If Cue List is not sent, the Open Cue List containing the next cue
in parental sequence is used. If more than one Open Cue List have
cues with a completely identical number then those cues will move
to their respective standby positions. if Cue List is sent in Standard
Form, only the next parent cue in the Cue List specified moves to
the standby position.
Sequence - :
Description
: Places into standby position the lowest numbered parent cue
in the previous numerical sequence prior to the cue currently in standby.
Parameters : .
Cue List : [Type : String] : Cue list in which the Cue is to
be sequence - (optionnal).
Usage:
"Parent" refers to the integer value of the cue's number prior to
the first decimal point (the most significant number). For example,
if cue 37.4.18.5 was in standby and the cues preceding were 29.325,
29.4, 29.7, 29.9.876, 36.7, 36.7.832, 36.8, 37. and 37.1, then cue
36.7 would be loaded to standby by Sequence -.
If Cue List is not sent, the Open Cue List containing the previous
parental sequence is used. If more than one Open Cue List have cues
with a completely identical lowest numbered parent cues in previous
parental sequence then those cues will move to their respective standby
positions. if Cue List is sent in Standard Form, only the first parent
cue in the previous sequence of the Cue List specified moves to the
standby position.
Start Clock :
Description
: Start the "Auto Follow" clock timer. If the clock is already
running, no change occurs. The clock continues counting from the time
which it contained while it was stopped.
Parameters : .
Cue List : [Type : String] : Cue list in which start clock
(optionnal).
Usage:
If Cue List is not sent, the clocks in all Open Cue Lists Start simultaneously.
if Cue List is sent in Standard Form, only the clock in that Cue List
Starts.
Stop Clock :
Description
: Stop the "Auto Follow" clock timer. If the clock is already
stopped, no change occurs. While the clock is stopped, it retains
the time value which it contained at the instant it received the Stop
command.
Parameters : .
Cue List : [Type : String] : Cue list in which stop clock (optionnal).
Usage:
If Cue List is not sent, the clocks in all Open Cue Lists Stop simultaneously.
if Cue List is sent in Standard Form, only the clock in that Cue List
Stops.
Zero Clock :
Description
: Set the "Auto Follow" clock timer to a value of 00:00:00:00.00,
whether or not it is running. If the clock is already stopped and
Zeroed, no change occurs. Zero Clock does not affect the clock's running
status.
Parameters : .
Cue List : [Type : String] : Cue list in which zero clock (optionnal).
Usage:
If Cue List is not sent, the clocks in all Open Cue Lists Zero simultaneously.
if Cue List is sent in Standard Form, only the clock in that Cue List
Zeros.
Set Clock :
Description
: Set the "Auto Follow" clock timer to the given value, whether
or not it is running. Set Clock does not affect the clock's running
status.
Parameters : .
Time : [Type : Time] : Time to the clock.
Cue List : [Type : String] : Cue list in which set clock (optionnal).
Usage:
If Cue List is not sent, the clocks in all Open Cue Lists Set simultaneously.
if Cue List is sent in Standard Form, only the clock in that Cue List
Sets.
MTC Chase On :
Description
: Cause the "Auto Follow" clock timer to continuously
contain a value equal to the incomming MIDI Time Code.
Parameters : .
Cue List : [Type : String] : Cue list in which MTC Chase On
(optionnal).
Usage:
If no MTC is received when this command is received, the clock remains
in its current running or stopped status until MTC is received, at
which time the clock continuously exhibits the same time as MTC. If
MTC becomes discontinuous, the clock continues to display the last
valid MTC message value received.
If Cue List is not sent, the clocks in all Open Cue Lists Chase simultaneously.
if Cue List is sent in Standard Form, only the clock in that Cue List
Chases.
MTC Chase Off :
Description
: Cause the "Auto Follow" clock timer to cease Chasing
incomming MIDI Time Code.
Parameters : .
Cue List : [Type : String] : Cue list in which MTC Chase On
(optionnal).
Usage:
When MTC Chase Off is received, the clock returns to running or stopped
status according to its operating status at the instant MTC Chase
On was received. MTC Chase Off does not change the clock time value;
i.e. the clock is stopped, it remains the last valid MTC message value
received (or simply the most recent time in the clock register), if
the clock is running, it continues to count from the most recent time
in its register.
If Cue List is not sent, the clocks in all Open Cue Lists stop Chasing
simultaneously. if Cue List is sent in Standard Form, only the clock
in that Cue List stops Chasing.
Open Cue List :
Description
: Make a Cue List available to all other commands and includes
any cues it may contain in the current show.
Parameters : .
Cue List : [Type : String] : Cue list to open.
Usage:
When Open Cue List is received, the specified Cue List becomes active
and cues in it can be accessed by normal show requirements. Cue List
in Standard Form must be sent.
If the specified Cue List is already openned or if it does not exist,
no change occurs.
Close Cue List :
Description
: Make a Cue List unavailable to all other commands and excludes
any cues it may contain in the current show.
Parameters : .
Cue List : [Type : String] : Cue list to close.
Usage:
When Close Cue List is received, the specified Cue List becomes inactive
and cues in it cannot accessed by normal show requirements, but the
status of the cues in the list does not change. Cue List in Standard
Form must be sent.
If the specified Cue List is already closed or if it does not exist,
no change occurs.
Open Cue Path :
Description
: Make a Cue Path available to all other MIDI SHow Control commands
and to all normal show cue path access requirements as well.
Parameters : .
Cue Path : [Type : String] : Cue path to open.
Usage:
When Open Cue Path is received, the specified Cue Path becomes active
and cues in it can be accessed by the controlled device. Cue Path
in Standard Form must be sent.
If the specified Cue Path is already openned or if it does not exist,
no change occurs.
Close Cue Path :
Description
: Make a Cue Path unavailable to all other MIDI SHow Control commands
and to all normal show cue path access requirements as well.
Parameters : .
Cue Path : [Type : String] : Cue path to close.
Usage:
When Close Cue Path is received, the specified Cue Path becomes inactive
and cues in it cannot be accessed by the controlled device. Cue Path
in Standard Form must be sent.
If the specified Cue Path is already closed or if it does not exist,
no change occurs.
Start MTC :
Description
: Start sending MIDI Time Code.
Parameters : .
Start Time : [Type : Time] : Beginning Time of the MTC.
MTC Type : [Type : Enum] : MTC type.
Availables
values :
"24 Fps" : SMPTE/EBU 24 frames per second MTC.
"25 Fps" : EBU 25 frames per second MTC.
"30DP Fps" : SMPTE 30 Dop frames per second MTC.
"30 Fps" : SMPTE 30 frames per second MTC.
Stop MTC :
Description
: Stop sending MIDI Time Code.
Parameters : No parameter.
Read Next Command
:
Description
: Read next incomming command from the receiption stack.
Parameters : no parameter.
Usage:
When input MSC commands are enabled and a new command is received,
InCommandCount variable is increased meanning that this command is
available. "Read Next Command" command must be used to update
variables that give information about MSC input commands. Once the
command is executed, "InCommandCount" variable is decreased
by one.
If this command is used when "InCommandCount" variable value
is 0, this will clear all remainning value in variables that give
information about MSC input commands.
> Top
Variables (List Of) :
MTCOut :
Type : Time.
Description : Current sended MTC.
MTCIn :
Type : Time.
Description : Current received MTC.
InCommandCount
:
Type : Integer.
Description : Number of received MIDI Show Command on the input
port.
Usage : The value of this variable is increased each time a
new MSC command is received and decreased each time command "Read
Next Command" is executed. If no more MSC commands are available
the value become 0.
InMSCCommand
:
Type : Enum.
Description : Type MSC input command.
Available Values :
"None" : No
MSC command available.
"Go"
"Stop"
"Resume"
"Timed Go"
"Load"
"Set"
"Fire"
"All Off"
"Restore"
"Reset"
"Go Off"
"Go Jam Clock"
"Standby +"
"Standby -"
"Sequence +"
"Sequence -"
"Start Clock"
"Stop Clock"
"Zero Clock"
"Set Clock"
"MTC Chase On"
"MTC Chase Off"
"Open Cue List"
"Close Cue List"
"Open Cue Path"
"Close Cue Path"
Usage :
This variable is updated each time command "Read Next Command"
is executed. If no more MSC commands are available the value become
"None".
InCueNumber :
Type : String.
Description : Cue Number parameter value for the incoming MSC
command.
Usage : This variable value makes sens only when command "Read
Next Command" has been executed and "InMSCCommand"
variable value is different to "None".
InCueList :
Type : String.
Description : Cue List parameter value for the incoming MSC
command.
Usage : This variable value makes sens only when command "Read
Next Command" has been executed and "InMSCCommand"
variable value is different to "None".
InCuePath :
Type : String.
Description : Cue Path parameter value for the incoming MSC
command.
Usage : This variable value makes sens only when command "Read
Next Command" has been executed and "InMSCCommand"
variable value is different to "None".
InTime :
Type : Time.
Description : Time parameter value for the incoming MSC command.
Usage : This variable value makes sens only when command "Read
Next Command" has been executed and "InMSCCommand"
variable value is different to "None".
InNumber :
Type : Integer.
Description : Number parameter value for the incoming MSC command.
Usage : This variable value makes sens only when command "Read
Next Command" has been executed and "InMSCCommand"
variable value is different to "None".
InValue :
Type : Integer.
Description : Value parameter value for the incoming MSC command
Usage : This variable value makes sens only when command "Read
Next Command" has been executed and "InMSCCommand"
variable value is different to "None". .
> Top
Support
(Difference with previous versions) :
V 1.0.1:
- Added: Support for Showmaster.
V 1.0.2:
- Bug Fixed: a MIDI resource cannot be shared by several devices (although the setup dialog also allows it). This bug fix requires Manager 5.0.2 or higher
- Internal Changes
V 1.0.3:
- Added: Support for Showmaster Pro.
> Top
|