AudioBox COMMAND SET

Firmware Versions A442, V694, T275

updated 29 May 2007

Contents:


Introduction

The AudioBox Disk Playback Matrix Mixer is controlled by commands received over a MIDI, SCSI or ethernet link. This document specifies the command set of the AudioBox. Most commands, whether sent via MIDI, SCSI or ethernet, are formatted to either MIDI Show Control, or MIDI manufacturer's system exclusive message standards. Refer to the MIDI Show Control Recommended Practice RP-002, the MIDI Specification and the SCSI Specification ANSI X3T9.2 version 1 for specific information about these standards.

This document provides command specifications for all AudioBox models. There are currently three models of the AudioBox:

Where there are differences, this document refers to the specific AudioBox model. Otherwise, information in this document refers to all models.

Commands designated 'SCSI-only' are valid on models 1616HD and AB1616 only.

Commands designated 'Ethernet-only' are valid on the AB64 only.

All numerical values in this document are decimal unless followed by 'H', which designates values in hexadecimal.

General Command Formats
sysex: MIDI System Exclusive commands

A complete sysex command is formatted as follows:

   F0H 00H 00H 40H 02H destID srcID [cmd/data field] F7H

     '00H 00H 40H' is the manufacturer's sub ID
     '02H' is AudioBox device type
     destID is the individual, group, or universal destination device ID
     srcID is the individual source device ID
          (7FH if no individual ID assigned)

     The command byte is 7 bytes from the 1st byte (F0H: start of sysex)


MSC: MIDI Show Control commands

A complete MSC command is formatted as follows:

   F0H 7FH devID 02H [cmd format byte] [cmd/data field] F7H

     devID is an individual, group, or universal device ID
     The  [cmd format byte] is either:
        13H (EPROM playback) for all audio playback commands, or
        10H (Sound) for all other commands.

     The command byte is 5 bytes from the 1st byte (F0H: start of sysex)

Data field may contain MIDI Time Code (MTC), always 5 bytes, any valid format accepted.

All commands may be sent to the AudioBox via either MIDI or SCSI (except a small number of commands designated MIDI-only or SCSI-only). If a command sent to the MIDI IN port generates a response from the AudioBox, the response will be sent on the MIDI OUT port. Commands sent via SCSI use SEND COMMAND. If a command received via SCSI generates a response from the AudioBox, the response will be queued, and will be returned to the controller via a subsequent RECEIVE RESPONSE command. See the SCSI Implementation section below for more details.

The command formats are presented as follows: the command in capital letters and a short description of what the command does on the first line. On the second line is the command type (sysex, or MSC). On the third line are specifications of the [cmd/data field] bytes, in the order transmitted. Subsequent lines describe the symbols used in the [cmd/data field]. The symbol 'msb' means most significant byte, and 'lsb' means least significant byte. The last line gives the total length of the command in decimal bytes, including the beginning SYSEX byte, F0H, and the trailing EOX byte, F7H.

For example:

SET DEVICE ID         Set device IDs for the unit
  type: sysex 
  [cmd/data field]: [00H  ID  01H/00H]
  ID: device ID, 00H..6FH individual IDs, 70H..7EH Section IDs
  01H assigns, 00H deassigns
  message length: 11

MIDI TIME CODE

Many commands use MIDI TIME CODE (MTC) to represent durations in time.The full form of the MTC with subframes, always 5 bytes, is used in the AudioBox:

   hr mn sc fr ff

   hr = hours and frame type: 0tthhhhh
      tt = time type
      00 = 24 frame
      01 = 25 frame
      10 = 30 drop frame
      11 = 30 frame
      hhhhh = hours (0..23)
   mn = minutes and ramp type : 0cmmmmmm
      c = ramp type, 1 = exponential, 0 = linear
      mmmmmm = minutes (0..59)
   sc = seconds : 00ssssss
      ssssss = seconds(0..59)
   fr = frames : 000fffff
      fffff = frames (0..29)
   ff = subframes : 0bbbbbbb
      bbbbbbb = subframes (0..99)


Command Throughput / Buffering

The AudioBox can process most commands far faster than they can be transmitted via MIDI. Therefore most commands can be sent at the maximum rate via MIDI without concern about running out of buffering in the AudioBox. The main exception is the DEFRAGMENT DRIVE command, which can take many minutes to complete, as described in the command description. The SAVE SETTINGS command requires approximately 100 millseconds to complete, because it writes data to disk.

In contrast to MIDI, commands can be sent via SCSI and ethernet far faster than they can be processed by the AudioBox. SCSI transactions and incoming ethernet packets are handled at interrupt priority, preempting normal command processing. Whenever multiple commands are sent via SCSI or ethernet, attention must be given to the AudioBox's buffering limits.

All AudioBox messages are 128 bytes or less in length. There is a pool of 128-byte buffers available for incoming messages. The number of buffers available varies with the firmware release, but is at least 320 (1500 for the model AB1616 and AB64). If more than this number of commands are sent in a burst via SCSI or ethernet, message buffers will run out, and commands will be dropped. The number of buffers currently available can be determined through the use of a GET STATS command.

Channel Numbering

Note that all channel numbers used in the command set are zero-based while one-based numbering is used in most control programs and for the labelling of the connectors on the back panel of the unit. For example, the lowest channel number is 00H which refers to the channel labelled "1" on the back of the unit.

For the AudioBox 1616HD, the disk playback channels are numbered 08H through 0FH; these are internally connected directly to matrix input channels 08H through 0FH.

For the AudioBox AB1616, the disk playback channels are numbered 00H through 0FH; channels 00H through 07H can be connected to matrix input channels 00H through 07H (see SET INPUT CHANNEL MODE) and disk playback channels 08H through 0FH are always internally connected directly to matrix input channels 08H through 0FH.

For the AudioBox AB64, the disk playback channels are numbered 00H through 3FH; these are always internally connected directly to the source mix for input channels 00H through 3FH. See SET SOURCE MIX.


Section 1: Device Commands


SET DEVICE ID         Set device IDs for the unit
  type: sysex 
  [cmd/data field]: [00H  ID  01H/00H]
  ID: device ID, 00H..6FH individual IDs, 70H..7DH Group IDs
  01H assigns, 00H deassigns
  message length: 11

SET DEVICE ID assigns or deassigns one or more device IDs to the AudioBox. In a new AudioBox and following a "clear all user data" command (see CLEAR DATA), no device IDs are set. The AudioBox always responds to valid commands containing the universal device ID (7FH).

When set to an individual ID (00H..6FH), the AudioBox responds to commands containing its individual ID as well as the universal ID. The AudioBox may be set to only one individual ID. Setting an individual ID deassigns any previous ID.

IDs in the range 70H..7DH are group IDs (the group ID 7E is reserved). Once an individual ID has been assigned to the AudioBox, one or more group IDs may be assigned by sending one or more SET DEVICE ID commands. (Prior to setting an individual ID, attempts to set group IDs will be ignored. An individual ID must be set first so that command responses can be positively identified by their individual ID.) The AudioBox responds to commands containing any of its group IDs, as well as its individual ID and the universal ID. This command also allows device IDs to be deassigned.

This command updates only the device IDs in RAM. To save the new device IDs to disk so that they are restored every time the AudioBox is powered on, follow this command with a SAVE SETTINGS command. When a show is opened containing a setup cue, all device IDs are cleared.

SEND MIDI  Send MIDI string on MIDI output port
  type: sysex
[cmd/data field]:  [1CH msgstr]
msgstr: MIDI string to be sent, with bit 7 cleared in the first
        byte (the status byte), and EOX (end of sysex: F7H), if any,
        stripped off the end of the message. 
message length: 16..128

SEND MIDI transmits a MIDI string on the MIDI OUT port. Any valid music MIDI, system exclusive or MSC command is allowed. The message can be up to 120 bytes long. Full strings must be used; running status is not supported.

The string to be transmitted requires minor modifications before being embedded in the SEND MIDI message. Status bytes (any byte with bit 7 set) are not allowed within system exclusive messages. The first byte of the MIDI string to be sent (the status byte) must have bit 7 cleared (or equivalently 128 subtracted from it) before it is embedded in the SEND MIDI message. For example, if the string to be sent is a NOTE ON message to MIDI channel 0 (90H), the first embedded byte would be 10H (90H - 80H = 10H). When the SEND MIDI command is processed by the AudioBox, the first byte of the embedded string will have bit 7 set before the string is transmitted.

If the string to be transmitted is itself a system exclusive message, the EOX, end of sysex byte (F7H) must be stripped off before the string is embedded. The normal EOX at the end of the SEND MIDI command must be included. Another way of saying this is that there must be one EOX on the end of the SEND MIDI message, not two. When the SEND MIDI command is processed by the AudioBox, if the status byte of the embedded string, after having bit 7 set, is a start of sysex (F0H), then an EOX will be appended to the string prior to transmission.

For example, the following string is a MSC GO cue 7 command to MIDI ID #1:

   F0H 7FH 01H 02H 10H 01H 37H F7H

To transmit this string on the MIDI OUT port, the following SEND MIDI message would be sent to the AudioBox:

   F0H 00H 00H 40H 02H 01H 7FH 1CH   70H 7FH 01H 02H 10H 01H 37H    F7H
 
SET GPI  Set General Purpose Input parameters
  type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H  09H pp dd dd]
   pp: playback trigger mode
   bit   value
   0:    0: do not start playback
   0:    1: start playback
   1:    0: do not add cue number offset
   1:    1: add cue number offset
   2:    0: do not swap cue and playback triggers
   2:    1: swap cue and playback triggers
   3:    0: trigger type lockout 
   3:    1: trigger address lockout
dd dd: trigger lockout in milliseconds 
         (lsb first, 14 bit unsigned value, 7 bits per byte)
message length: 11

Example pp codes:
   03H: playback trigger input: normal, default
        playback started + cue triggered with cue number offset
   02H: playback trigger input: no playback
        playback not started, cue triggered with cue number offset
   01H: playback trigger input: playback without offset
        playback started, cue triggered without cue number offset
   00H: playback trigger input: 2nd cue trigger
        playback not started, cue triggered without cue number offset

SET GPI sets parameters for the General Purpose Input GPI contact-closure interface.

The GPI has two trigger inputs, the 'cue' trigger and the 'playback' trigger, and 8 address inputs (7 address inputs on the 1616HD AudioBox), which may be driven by any contact closure device. See the User's Manual for hardware details.

Note that the GPI interface is an option that is not present in all AudioBox units. On a non-GPI AudioBox, GPI parameters may be set and read back without generating an error, but the parameters not used.

After receiving a valid cue or playback GPI trigger, subsequent triggers of the same type, or type and address, are locked out until the trigger has been inactive for a length of time. This lockout prevents false retriggering from contact bounce. A typical switch or relay contact bounces for approximately 10 milliseconds when it closes. The default trigger lockout is 1 second. With the SET GPI command, the trigger lockout may be set to any value from 0 to 16,383 milliseconds. Note that there are separate lockout timers for each trigger, and both use the same trigger lockout value.There are two trigger lockout modes, selected with bit 3 of the 'pp' parameter in the command. With the bit clear, a simple lockout is enabled on both triggers. With the bit set, an address-specific lockout is enabled on both triggers. With the address-specific lockout enabled, during the lockout time subsequent triggers at the same input (playback or cue) at the same GPI address as the previous trigger at that input are locked out.

The cue trigger always operates the same way. The cue trigger performs a show control GO on the cue number equal to the binary-coded address lines at the time of the trigger. The default operation of the playback trigger is to perform a null playback GO, starting all enabled playback channels, and perform a show control GO on the cue number equal to the binary-coded address lines at the time of the trigger plus 256 (+128 on the 1616HD AudioBox). Using the SET GPI command, the operation of the playback trigger can be programmed. For the playback trigger, the null playback GO and the cue number offset can be independently enabled or disabled by setting the appropriate playback trigger mode bits. It is also possible to reverse the cue and playback triggers by setting bit 2 of the 'pp' parameter in the command. This causes the cue trigger (as identified in the GPI connector diagrams) to behave as the playback trigger and vice versa.

The current values for trigger lockout time and playback trigger mode may be retrieved from the AudioBox using a GET DISK STATE or GET DISK STATE EN command.

This command updates only the GPI parameter settings in RAM. To save the new GPI parameter settings to disk so that they are restored every time the AudioBox is powered on, follow this command with a SAVE SETTINGS command. When a show is opened containing a setup cue, all GPI parameter settings are reset to their default values.

SET GPO  Set General Purpose Output states
  type: MSC  AB64-only
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H  00H 1FH oo xx]
  oo: 00H: output 1, 01H: output 2
  xx: O0H: turn output off, 01H: turn output on
message length: 11

SET GPO turns on or off one of the two opto-isolated general purpose outputs on the AB64 GPIO connector. The state of the GPO outputs can be retrieved using a GET DISK STATE EN command. See the User's Manual for hardware details.

 
PUSH FRONT PANEL BUTTON      Push front panel button remotely or set LCD page (AB64 only)
  type: MSC 
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H 00H 1EH ss pp]
ss: front panel button (pp must be 0)
   0: push left button
   1: push middle button
   2: push right button
pp: page number (if non-zero, ss is ignored)
   1: AudioBox Main Page
   2: Control Signals
   3: Unit Information
   4: Set DHCP or Fixed IP
   5: Unit Setup
message length: 11

PUSH FRONT PANEL BUTTON causes the same action as physically pushing one of the buttons on the AB64 front panel.

CLEAR DATA      Clear user settings
  type: sysex  
  [cmd/data field]:  [0CH kk kk kk]
  kk kk kk "key" bytes: the following key byte sequences are defined:
    51H 78H 33H: clear all submaster and controller assigns
    65H 5AH 04H: clear files on disk drive (empties all directories)
    75H 4AH 08H: clear all user data, i.e. reinitialize AudioBox
             to factory settings (see below)
    76H 49H 09H: clear all user data except default show and IP settings
      (IP settings: AB64 only), (see below)
    11H 63H 29H: zero all device statistics
    43H 1BH 68H: zero all input, output and crosspoint delays (AB64 only)
  message length: 12

CLEAR DATA erases the specified data.The 'clear all user data' command sets only the current data in RAM. To make the new data permanent, follow this command with a SAVE SETTINGS command.

The 'clear all user data except defult show and IP settings' command (key 76H 49H 09H) reinitializes the following data areas, setting them to the factory defaults (shown in parentheses) (this also occurs when a show file containing a setup cue is opened):

The 'clear all user data command (key 75H 4AH 08H) reinitializes all of the above data areas and in addition sets the default show to 1, the fixed IP to the default IP and enables DHCP.

The 'zero all device statistics' command (key 11H 63H 29H) sets all message counts to zero and resets the queue low water marks.

SAVE SETTINGS      Save current settings to disk
  type: sysex  
  [cmd/data field]:  [3EH 59H 00H]
message length: 11

SAVE SETTINGS saves the currently set data (listed below) in RAM to disk. The saved data is read from disk when the AudioBox is powered on. The saved data can also be read from disk by the LOAD SETTINGS command. When a show file is opened, if a setup cue is present, all of the device settings except default show will be set to their default values, then the setup cue is run. The data saved by this command is the following:

LOAD SETTINGS      Load saved settings from disk
  type: sysex  
  [cmd/data field]:  [3FH 27H 00H]
message length: 11

LOAD SETTINGS loads the saved data from disk into RAM. The data loaded by this command is the same set listed in the SAVE SETTINGS command. Settings are loaded when the AudioBox is powered on, so this command is not needed in typical operation, but can be used to restore previously saved data.

SET COBRANET    Set up Cobranet
type: sysex  
  [cmd/data field]:  [53H 16[aa aa aa]]
  The data field consists of 16 bundle assignments. The order of the 
  assignments is listed below. Each assignment [aa aa aa] is encoded into 
  3 bytes, lsb first, 16 bit unsigned value, 7 bits per byte.
message length: 57
 
  Order of assignments in data field:
  Module 1 receiver 0
  Module 1 receiver 1
  Module 1 receiver 2
  Module 1 receiver 3
  Module 1 transmitter 0
  Module 1 transmitter 1
  Module 1 transmitter 2
  Module 1 transmitter 3
  Module 2 receiver 0
  Module 2 receiver 1
  Module 2 receiver 2
  Module 2 receiver 3
  Module 2 transmitter 0
  Module 2 transmitter 1
  Module 2 transmitter 2
  Module 2 transmitter 3

SET COBRANET sets configuration data in the CobraNet modules installed in the AB64. Data for CobraNet modules that are not installed is ignored.

Receive and transmit bundle assignments determine the routing of audio channels on the CobraNet. On the AB64, a bundle carries eight audio channels. Each AB64 CobraNet module has four receivers and four transmitters. The matrix channels are mapped to the receivers and transmitters linearly:

matrix   CobraNet  receiver /
channels  module   transmitter
1 to 8      1         0
9 to 16     1         1
17 to 24    1         2
25 to 32    1         3
33 to 40    2         0
41 to 48    2         1
49 to 56    2         2
57 to 64    2         3

Bundle numbers connect transmitters to receivers: the eight audio channels transmitted by a transmitter set to bundle n are received by a receiver set to bundle n. Valid bundle numbers are 1..255 for multicast bundles (more than one receiver) and 256..65279 for unicast bundles (one receiver). A bundle number of zero indicates an unused receiver or transmitter. When powered on, all receive and transmit bundle numbers are set to zero (inactive). Bundle assignments can also be made over the CobraNet using CobraNet configuration software, rather than by the AudioBox using this command.

There is an equivalent ethernet command, SET COBRANET EN.

SELECT DRIVE   Select disk drive (AB64 only)
  type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H 00H 22H 00 01H/00H]
  00H: select primary drive, 01H: select secondary drive
message length: 11

SELECT DRIVE selects one of the two disk drives internal to the AB64, making it the active drive.

The primary drive is the drive connected at the end of the disk drive data cable, a ribbon cable that runs from the main CPU board to the disk drives. The secondary drive is connected midway along the disk drive data cable. Normally, the AB64 reads from the primary drive. As long as the contents of both drives are identical, all files written to the primary drive are also written to the secondary drive, and all files erased from the primary drive are also erased from the secondary drive, keeping the secondary drive up-to-date at all times as a hot backup drive. (Audio recordings, however, are an exception; it is not possible to record simultaneously to both drives.)

When the AB64 boots up, if the primary drive is not functioning, the secondary drive is automatically selected.

This command can be used to switch between the disk drives. If the contents of both drives are identical, switching between drives does not affect ongoing playback or show controller activity. If the primary disk fails, switching to an identical secondary drive will restore proper functioning. This command can also be used to verify that the secondary drive is up-to-date.

There are a number of ways that the drives in an AB64 could become different. One is when a new drive is installed into an AB64 in which there is a drive already containing files. In this case, the contents of the existing drive should be copied to the new drive (see COPY DRIVE). Another is when audio recordings are made; recordings are always written only to the active drive. If the recorded file is uploaded to the host computer, then erased from the active drive before any other file transfers or erasures are done, the drives are again identical. The recording on the host computer can then be transferred to the AB64, if desired. This splits the audio into individual channels and writes them to both drives.

COPY DRIVE   Copy all data from one drive to the other (AB64 only)
  type: sysex  
  [cmd/data field]:  [56H 2DH 15H 64H 5EH 01H/00H]
  00H: copy primary drive to secondary drive, 01H: copy secondary drive to primary drive
message length: 14

COPY DRIVE copies all data from one drive to the other. During a drive copy operation all file transfer and erase commands are locked out. During drive copy the copyActive byte in the disk state structure is non-zero (see GET DISK STATE EN). Whenever copyActive is non-zero, the copyProg byte in the disk state structure indicates the progress of the copy operation, and can be used to update a progress bar (255 indicates completion). When the copy operation completes, the contents of the drives are identical, and the firmware will maintain this state by writing all transferred files to both drives and by erasing files from both drives. See SELECT DRIVE for more information.


Section 2: Gain Commands

AudioBox GAIN CONTROL

The AudioBox supports a variety of gain control mechanisms, providing the flexibility required by sound designers. Two forms of automated gain ramps, a complete submastering capability, muting and soloing, and downloadable gain curve tables are provided.

The sixteen inputs and sixteen outputs form a 256 crosspoint matrix. Input and output control points are also provided, for a total of 288 independently controlled and individually ramped gain points.

Two forms of gain ramps, exponential and table-driven, are selectable with each gain change command, using the 'colour' bit in the MIDI time code. The duration of both types of ramps is adjustable over a wide range, from milliseconds up to approximately an hour. Ramps always begin at the current gain level and end at the level specified in the gain change command.

Exponential ramps provide classic fade up and fade down curves. These are computed curves, not based on table lookup (i.e. the down curve is not a time-mirrored version of the up curve). Exponential ramps are time-scaled so that when fading up the curve reaches a point within 1 dB of its final value in the time duration specified in the gain change command. When fading down, the time duration in the command specifies the time required to fade to inaudibility.

Table-driven ramps allow the generation of arbitrary gain curves. Default curves are loaded on power-up, but customs curves can be downloaded. Up curves and down curves are always time-mirrored images of each other using this method. The entire curve in the table is generated in exactly the time duration specified in the gain change command. There are two tables, one for input and output control points and another for crosspoints. Typically, a curve suitable for crossfades is loaded into the crosspoint table, and a curve suitable for fade up and fade down ramps is loaded into the input / output table. The default curves are set up in this way. The default crosspoint table contains an equal-power sine crossfade curve, and the default input / output table contains a concave transform curve (the MIDI DLS standard attenuation curve).

Gain changes are always ramped at the DSP level on a per sample basis, ensuring that gain changes are always artifact-free. These DSP-based gain ramps are transparent to the user.

Thirty two submasters are available for live input and output level control. Each submaster can be independently assigned to one or more control points (up to 32: all input and output points), and each control point can have any number of submasters (up to 32) assigned to it, providing full flexibility. A master level control, for example, is easily configured by assigning all output control points to a submaster. Submasters always change the levels of all assigned control points in exact dB increments, maintaining the audio balance between signals. The submaster control sensitivity, or gain, can be set to adjust the tradeoff between control range and fineness of control. Submaster zero point can also be set, providing control over how much of the control range is gain boost and how much is gain cut.

MIDI controllers can, in turn, be assigned on a one-to-one basis to submasters. MIDI faders can be merged with other MIDI control sources to provide a manual fine-tuning and override capability.

NOTE: When the AudioBox is powered on, all input, output and crosspoint levels are initialized to zero (fully off), unless the test mode switch is on. When an input level, crosspoint level, and output level are all set to the maximum level (7FH), a unity gain path exists from that input to that output, assuming the input and output gains are not being affected by any assigned submasters. When the AudioBox is powered on, all submasters are set to the submaster zero value, thus submasters do not affect input or output gains until a non-zero submaster gain is explicitly set by an incoming command.


SET INPUT LEVEL      Set input level with fade time
  type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H  00H  00H  ii  aa  MTC]
  ii: input channel number, 00H..0FH for inputs 1 to 16
  aa: amplitude, 00H..7FH
  MTC: fade duration
     'colour' bit (minutes byte, bit 6) sets ramp type:
        0: table-driven ramp, 1: exponential ramp
  message length: 16

SET INPUT LEVEL sets the level for a specified input channel with a specified fade time. The input level will change from its current value to the specified value in the time specified by the MIDI timecode (MTC) value.

 

SET INPUT LEVEL w/ NOTIFY      Set input level, notify when complete
  type: MSC
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H  10H  00H  ii  aa  MTC]
  ii: input channel number, 00H..0FH for inputs 1 to 16
  aa: amplitude, 00H..7FH
  MTC: fade duration
     'colour' bit (minutes byte, bit 6) sets ramp type:
        0: table-driven ramp, 1: exponential ramp
  message length: 16

SET INPUT LEVEL w/ NOTIFY sets the level for a specified input channel with a specified fade time. The input level will change from its current value to the specified value in the time specified by the MIDI timecode (MTC) value. When the fade has completed a RESPONSE COMMAND COMPLETE message is sent to the srcID of the incoming request.

 

RESPONSE COMMAND COMPLETE    Command completion notification
                                 -sent by AudioBox
  type: sysex  
  [cmd/data field]:  [2AH [original cmd][original data]]
  [original cmd]: the [cmd] byte of the command now completed
  [original data]: the [data] bytes of the command now completed
  message length: 19

The command that has now completed is echoed back in the data field of the RESPONSE COMMAND COMPLETE message. The srcID field of the sysex message will contain the individual, group or universal device ID to which the original command was sent. The destID field of the sysex message will contain the universal device ID, 7FH.


SET OUTPUT LEVEL     Set output level with fade time
  type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H  00H  03H  oo  aa  MTC]
  oo: output channel number, 00H..0FH for outputs 1 to 16
  aa: amplitude, 00H..7FH
  MTC: fade duration
     'colour' bit (minutes byte, bit 6) sets ramp type:
        0: table-driven ramp, 1: exponential ramp
  message length: 16

SET OUTPUT LEVEL sets the level for a specified output channel with a specified fade time. The output level will change from its current value to the specified value in the time specified by the MIDI timecode (MTC) value.


SET OUTPUT LEVEL w/ NOTIFY   Set output level 
                                 with fade time and notify
  type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H  10H  03H  oo  aa  MTC]
  oo: output channel number, 00H..0FH for outputs 1 to 16
  aa: amplitude, 00H..7FH
  MTC: fade duration
     'colour' bit (minutes byte, bit 6) sets ramp type:
        0: table-driven ramp, 1: exponential ramp
  message length: 16

SET OUTPUT LEVEL w/ NOTIFY sets the level for a specified output channel with a specified fade time. The output level will change from its current value to the specified value in the time specified by the MIDI timecode (MTC) value. When the fade has completed a RESPONSE COMMAND COMPLETE message is sent to the srcID of the incoming request.


SET CROSSPOINT LEVEL  Set crosspoint level with fade time
  type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H  01H  ii  oo  aa  MTC]
  ii: input channel number, 00H..0FH for inputs 1 to 16
  oo: output channel number, 00H..0FH for outputs 1 to 16
  aa: amplitude, 00H..7FH
  MTC: fade duration
     'colour' bit (minutes byte, bit 6) sets ramp type:
        0: table-driven ramp, 1: exponential ramp
  message length: 16

SET CROSSPOINT LEVEL sets the level for a specified matrix crosspoint with a specified fade time. The crosspoint level will change from its current value to the specified value in the time specified by the MIDI timecode (MTC) value.


SET CROSSPOINT LEVEL w/ NOTIFY   Set crosspoint level 
                                     with fade time and notify
  type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H  11H  ii  oo  aa  MTC]
  ii: input channel number, 00H..0FH for inputs 1 to 16
  oo: output channel number, 00H..0FH for outputs 1 to 16
  aa: amplitude, 00H..7FH
  MTC: fade duration
     'colour' bit (minutes byte, bit 6) sets ramp type:
        0: table-driven ramp, 1: exponential ramp
  message length: 16

SET CROSSPOINT LEVEL w/ NOTIFY sets the level for a specified matrix crosspoint with a specified fade time. The crosspoint level will change from its current value to the specified value in the time specified by the MIDI timecode (MTC) value. When the fade has completed a RESPONSE COMMAND COMPLETE message is sent to the srcID of the incoming request.


SET CROSSPOINT ROW  Set crosspoint levels for one matrix row with fade time
  type: sysex    1616HD / AB1616 only
  [cmd/data field]:  [1DH ii (16)aa  MTC]
  ii: input channel number, 00H..0FH for inputs 1 to 16
  (16)aa: amplitude values, 00H..7FH, in ascending output channel order
  MTC: fade duration
     'colour' bit (minutes byte, bit 6) sets ramp type:
        0: table-driven ramp, 1: exponential ramp
  message length: 31

SET CROSSPOINT ROW sets the level for a matrix crosspoint row with a specified fade time. A matrix crosspoint row is a set of crosspoints all of which have the same input channel number. The crosspoint levels will change from their current values to the specified values in the time specified by the MIDI timecode (MTC) value.


SET CROSSPOINT ROW w/ NOTIFY   Set crosspoint levels for one matrix row with fade time and notify
  type: sysex    1616HD / AB1616 only
  [cmd/data field]:  [1EH ii (16)aa  MTC]
  ii: input channel number, 00H..0FH for inputs 1 to 16
  (16)aa: amplitude values, 00H..7FH, in ascending output channel order
  MTC: fade duration
     'colour' bit (minutes byte, bit 6) sets ramp type:
        0: table-driven ramp, 1: exponential ramp
  message length: 31

SET CROSSPOINT ROW w/ NOTIFY sets the level for a matrix crosspoint row with a specified fade time. A matrix crosspoint row is a set of crosspoints all of which have the same input channel number. The crosspoint levels will change from their current values to the specified values in the time specified by the MIDI timecode (MTC) value. When the fade has completed a RESPONSE COMMAND COMPLETE message is sent to the srcID of the incoming request.

 
SET CROSSPOINT PHASE  Set crosspoint phase inversion
  type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H  08H  ii  oo  01H/00H]
  ii: input channel number, 00H..0FH for inputs 1 to 16
  oo: output channel number, 00H..0FH for outputs 1 to 16
  01H enables 180 degree phase inversion, 00H disables phase inversion
message length: 11

SET CROSSPOINT PHASE enables or disables a 180 degree phase inversion at a crosspoint. When the AudioBox is powered on, all crosspoints are set to phase inversion disabled.

SET SOURCE MIX      Set source mix levels for input channel 
                              (Model AB64 only)
  type: sysex
  [cmd/data field]:  [1AH ii aa pp dd]
  ii: input channel number, 00H..3FH for inputs 1 to 64
  aa: analog signal amplitude, 00H..7FH
  pp: playback signal amplitude, 00H..7FH
  dd: digital signal amplitude, 00H..7FH
 message length: 13

SET SOURCE MIX sets the amplitude levels for the three potential signal sources for an AB64 input channel. The amplitude values are MIDI level numbers (0..127) as used, for example, by SET INPUT LEVEL, using the current input / output table (see AudioBox Gain Control). There are no gain ramps associated with the source level controls. (CobraNet is the only form of digital input currently available.)

The current source mix levels are returned by the GET IO LEVELS EN command.

SET PAN    Set pan value for input with fade time
  type: MSC    1616HD / AB1616 only
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H  00H  1AH  ii  pp MTC]
  ii: input channel number, 00H..0FH for inputs 1 to 16
  pp: pan, 00H..7FH, 00H:left, 40H:centre, 7FH:right
  message length: 16

SET PAN sets the left/right pan value for an input channel. For panning, even numbered channels (0, 2, 4...) are considered left channels and odd numbered channels (1, 3, 5...) are considered right channels. Setting the pan value for an input sets the gain value for all crosspoints on that input that are enabled for panning (see ENABLE PAN). The crosspoint level will change from its current value to the specified value in the time specified by the MIDI timecode (MTC) value. Setting a pan value to 00H (left) will set all pan-enabled even numbered channels to a gain level of 7FH (full on), and all pan-enabled odd numbered channels to a gain level of 00H (full off). Setting a pan value to 40H (centre) will set all pan-enabled channels to a gain level of 40H (equal power to left and right). Setting a pan value to 7FH (right) will set all pan-enabled even numbered channels to a gain level of 00H (full off), and all pan-enabled odd numbered channels to a gain level of 7FH (full on). When powered on, all crosspoints in the AudioBox are disabled for panning, and all pan values are set to centre (40H).

ENABLE PAN    Enable/disable panning for a crosspoint
  type: MSC    1616HD / AB1616 only
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H  15H  ii  oo  01H/00H MTC]
  ii: input channel number, 00H..0FH for inputs 1 to 16
  oo: output channel number, 00H..0FH for outputs 1 to 16
  01H enables panning, 00H disables panning
message length: 16

ENABLE PAN enables or disables panning for a crosspoint. Only crosspoints that are enabled for panning are affected by the SET PAN command. When powered on, all crosspoints in the AudioBox are disabled for panning, and all pan values are set to centre (40H). For panning, even numbered channels (0, 2, 4...) are considered left channels and odd numbered channels (1, 3, 5...) are considered right channels. Setting the pan value for an input sets the gain value for all crosspoints on that input that are enabled for panning. When a crosspoint is enabled for panning, the gain value of the crosspoint goes to the pan value (see SET PAN) in the time specified by the MIDI timecode (MTC) value. When a pan-enabled crosspoint is disabled from panning, the gain value of the crosspoint goes to 00H (full off) in the time specified by the MIDI timecode (MTC) value.

DISABLE PANNING    Disable panning for all crosspoints
  type: MSC    1616HD / AB1616 only
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H  00H  1BH  00H 00H]
  message length: 11

DISABLE PANNING disables panning for all crosspoints in the matrix and sets all pan values to centre (40H). See SET PAN and ENABLE PAN for an explanation of crosspoint panning. The gain value of all pan-enabled crosspoints is set to 00H (full off) immediately. The gain value of all pan-disabled crosspoints is unaffected.

SET CROSSPOINT ROW EXCL PAN Set crosspoint levels for one matrix row
                            with fade time, excluding pan-enabled crosspoints
  type: sysex    1616HD / AB1616 only
  [cmd/data field]:  [3DH ii (16)aa  MTC]
  ii: input channel number, 00H..0FH for inputs 1 to 16
  (16)aa: amplitude values, 00H..7FH, in ascending output channel order
  MTC: fade duration
     'colour' bit (minutes byte, bit 6) sets ramp type:
        0: table-driven ramp, 1: exponential ramp
  message length: 31

SET CROSSPOINT ROW EXCL PAN sets the levels for all crosspoints that are disabled for panning for a matrix crosspoint row with a specified fade time. This command is identical to SET CROSSPOINT ROW, except that crosspoints that are enabled for panning (see ENABLE PAN) are excluded from modification by this command. A matrix crosspoint row is a set of crosspoints all of which have the same input channel number. The crosspoint levels will change from their current values to the specified values in the time specified by the MIDI timecode (MTC) value.

SET MATRIX    Set entire gain matrix to known state
  type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H  00H  16H  mm  00H]
  mm: set matrix flags:
    bit 0: 0: input, output & crosspoints off, 1: on
    bit 1: 0: crosspoints on full, 1: -10 dB
    bit 2: 0: diagonal crosspoints, 1:all crosspoints
    all other bits: 0
    typical codes:
      00H: all input, output and crosspoints levels full off
      01H: all input, output, and diagonal crosspoint levels full on
      03H: all input, output, and diagonal crosspoint levels on at -10 dB
      05H: all input, output, and crosspoint levels full on
      07H: all input, output, and crosspoint levels on at -10 dB
  message length: 11

SET MATRIX is used to set the gain matrix to a known state. If 00H is sent as the set matrix code, all gain points (input, output, and crosspoint) are set to zero (audio off). If 01H is sent as the set matrix code, all input and output gain points are set to 7FH (full on), and all diagonal crosspoints are also set full on. Diagonal crosspoints are those that have the same input channel number and output channel number (crosspoint 0:0, 1:1, etc.) Set matrix code 05H turns all gain points on full. Set matrix code 03H is the same as 01H, and 07H is the same as 05H, except that the crosspoint levels are set to -10 dB. (Codes 02H, 04H, and 06H do the same thing as 00H. Codes above 07H are invalid.)


DOWNLOAD GAIN TABLE   Download a new gain table
  type: sysex  
  [cmd/data field]:  [0BH tc (32)xx xx xx]
  tc: table code as follows:
     00H: 1st 32 entries of Input/Output table
     01H: 2nd 32 entries of Input/Output table
     02H: 3rd 32 entries of Input/Output table
     03H: 4th 32 entries of Input/Output table
     04H: 1st 32 entries of Crosspoint table
     05H: 2nd 32 entries of Crosspoint table
     06H: 3rd 32 entries of Crosspoint table
     07H: 4th 32 entries of Crosspoint table
  xx xx xx: table value (unsigned 16 bit value, sent low 7 bits
    first, next 7 bits in 2nd byte, last 2 bits in 3rd byte,
    upper bits of 3rd byte zero)
  message length: 106

DOWNLOAD GAIN TABLE loads a new gain table, making it the current table. A gain table translates an amplitude value in the range 00H..7FH to a signal multiplier in the range 0.. 32767 (0 = full off and 32767 = full on). There is a gain table for input / output points, and another gain table for crosspoints. As soon as a gain table is downloaded, it becomes the current table (ready for use by set level commands). The gain table is downloaded into RAM, and will remain in effect until another table is downloaded or the unit is shut off. To permanently install a downloaded table, follow this command with a INSTALL GAIN TABLE command.

In designing a table, it may be more convenient to first generate an amplitude to dB translation table, where the 00H..7FH amplitude range is translated to dB numbers in the range -96..0, then convert each value to an unsigned 16 bit signal multiplier, by use of the following equation:

   multiplier = 32767 * 10^(dB/20) ('^' is 'raised to the power of')
 

Following a "clear all user data" command (see CLEAR DATA) and when a show is opened containing a setup cue, the current gain tables are set to the default input/output and crosspoint gain tables.


INSTALL GAIN TABLE   Install a gain table to permanent memory.
  type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H  00H  13H  tt  00]
  tt: table code as follows:
     00: current Input/Output table
     01: current Crosspoint table
     02: install built-in default Input/Output table
     03: install built-in default Crosspoint table
     04: install built-in equal-dB Input/Output table (0.756 dB per step)
     05: install built-in pre-DB5.5 version of default Input/Output table
  message length: 11

INSTALL GAIN TABLE writes a current gain table to disk, making it the installed table. There is a gain table for input / output points, and another gain table for crosspoints. When the AudioBox is powered on, the installed gain tables are loaded from disk into the current gain tables in RAM. A gain table download rewrites the current gain table in RAM. INSTALL GAIN TABLE can then be used to make a downloaded gain table the installed table.

This command also enables the installation of built-in gain tables. These are tables that are stored in the AudioBox firmware. When installed by this command, a built-in table becomes the current table (ready for use by set level commands) as well as the installed table (loaded from disk when the AudioBox is powered on).

In a new AudioBox, the default input/output and crosspoint gain tables are installed.

Built-in Gain Tables (gain specified in dB)

MIDI Default      Default      Equal-dB
#    Input/Output Crosspoint   Input/Output
 
0     off          off           off
1    -84.152149   -38.153898   -95.244094
2    -72.110949   -32.133963   -94.488189
3    -65.067299   -28.613245   -93.732283
4    -60.069749   -26.116021   -92.976378
5    -56.193349   -24.179814   -92.220472
6    -53.026099   -22.598626   -91.464567
7    -50.348227   -21.262570   -90.708661
8    -48.028549   -20.106055   -89.952756
9    -45.982448   -19.086772   -89.196850
10   -44.152149   -18.175834   -88.440945
11   -42.496441   -17.352636   -87.685039
12   -40.984899   -16.601966   -86.929134
13   -39.594415   -15.912269   -86.173228
14   -38.307027   -15.274566   -85.417323
15   -37.108498   -14.681738   -84.661417
16   -35.987350   -14.128045   -83.905512
17   -34.934192   -13.608795   -83.149606
18   -33.941249   -13.120099   -82.393701
19   -33.002005   -12.658700   -81.637795
20   -32.110949   -12.221842   -80.881890
21   -31.263377   -11.807175   -80.125984
22   -30.455242   -11.412676   -79.370079
23   -29.683035   -11.036590   -78.614173
24   -28.943699   -10.677390   -77.858268
25   -28.234548   -10.333733   -77.102362
26   -27.553215   -10.004436   -76.346457
27   -26.897598   -9.6884504   -75.590551
28   -26.265828   -9.3848404   -74.834646
29   -25.656229   -9.0927701   -74.078740
30   -25.067299   -8.8114886   -73.322835
31   -24.497681   -8.5403189   -72.566929
32   -23.946150   -8.2786485   -71.811024
33   -23.411591   -8.0259217   -71.055118
34   -22.892992   -7.7816326   -70.299213
35   -22.389427   -7.5453196   -69.543307
36   -21.900049   -7.3165601   -68.787402
37   -21.424080   -7.0949663   -68.031496
38   -20.960805   -6.8801816   -67.275591
39   -20.509565   -6.6718773   -66.519685
40   -20.069749   -6.4697499   -65.763780
41   -19.640795   -6.2735183   -65.007874
42   -19.222177   -6.0829220   -64.251969
43   -18.813411   -5.8977190   -63.496063
44   -18.414042   -5.7176841   -62.740157
45   -18.023648   -5.5426072   -61.984252
46   -17.641836   -5.3722926   -61.228346
47   -17.268235   -5.2065568   -60.472441
48   -16.902499   -5.0452286   -59.716535
49   -16.544306   -4.8881471   -58.960630
50   -16.193349   -4.7351614   -58.204724
51   -15.849342   -4.5861298   -57.448819
52   -15.512015   -4.4409187   -56.692913
53   -15.181114   -4.2994026   -55.937008
54   -14.856398   -4.1614630   -55.181102
55   -14.537641   -4.0269880   -54.425197
56   -14.224628   -3.8958720   -53.669291
57   -13.917155   -3.7680150   -52.913386
58   -13.615029   -3.6433226   -52.157480
59   -13.318068   -3.5217051   -51.401575
60   -13.026099   -3.4030775   -50.645669
61   -12.738955   -3.2873594   -49.889764
62   -12.456481   -3.1744742   -49.133858
63   -12.178527   -3.0643491   -48.377953
64   -11.904950   -2.9569152   -47.622047
65   -11.635615   -2.8521065   -46.866142
66   -11.370391   -2.7498606   -46.110236
67   -11.109157   -2.6501178   -45.354331
68   -10.851792   -2.5528212   -44.598425
69   -10.598185   -2.4579166   -43.842520
70   -10.348227   -2.3653523   -43.086614
71   -10.101815   -2.2750790   -42.330709
72   -9.8588490   -2.1870495   -41.574803
73   -9.6192344   -2.1012188   -40.818898
74   -9.3828800   -2.0175438   -40.062992
75   -9.1496983   -1.9359835   -39.307087
76   -8.9196051   -1.8564984   -38.551181
77   -8.6925198   -1.7790510   -37.795276
78   -8.4683647   -1.7036052   -37.039370
79   -8.2470652   -1.6301265   -36.283465
80   -8.0285494   -1.5585819   -35.527559
81   -7.8127481   -1.4889399   -34.771654
82   -7.5995947   -1.4211701   -34.015748
83   -7.3890251   -1.3552436   -33.259843
84   -7.1809774   -1.2911326   -32.503937
85   -6.9753918   -1.2288105   -31.748031
86   -6.7722108   -1.1682518   -30.992126
87   -6.5713787   -1.1094320   -30.236220
88   -6.3728420   -1.0523278   -29.480315
89   -6.1765486   -0.9969168   -28.724409
90   -5.9824485   -0.9431775   -27.968504
91   -5.7904931   -0.8910893   -27.212598
92   -5.6006357   -0.8406326   -26.456693
93   -5.4128309   -0.7917884   -25.700787
94   -5.2270347   -0.7445389   -24.944882
95   -5.0432046   -0.6988666   -24.188976
96   -4.8612995   -0.6547552   -23.433071
97   -4.6812795   -0.6121888   -22.677165
98   -4.5031058   -0.5711524   -21.921260
99   -4.3267411   -0.5316315   -21.165354
100  -4.1521488   -0.4936125   -20.409449
101  -3.9792939   -0.4570823   -19.653543
102  -3.8081420   -0.4220283   -18.897638
103  -3.6386599   -0.3884387   -18.141732
104  -3.4708153   -0.3563023   -17.385827
105  -3.3045769   -0.3256083   -16.629921
106  -3.1399142   -0.2963465   -15.874016
107  -2.9767977   -0.2685074   -15.118110
108  -2.8151986   -0.2420818   -14.362205
109  -2.6550889   -0.2170612   -13.606299
110  -2.4964414   -0.1934376   -12.850394
111  -2.3392297   -0.1712032   -12.094488
112  -2.1834279   -0.1503510   -11.338583
113  -2.0290111   -0.1308745   -10.582677
114  -1.8759548   -0.1127674   -9.8267717
115  -1.7242352   -0.0960241   -9.0708661
116  -1.5738293   -0.0806392   -8.3149606
117  -1.4247144   -0.0666081   -7.5590551
118  -1.2768685   -0.0539263   -6.8031496
119  -1.1302704   -0.0425899   -6.0472441
120  -0.9848990   -0.0325954   -5.2913386
121  -0.8407340   -0.0239397   -4.5354331
122  -0.6977556   -0.0166201   -3.7795276
123  -0.5559444   -0.0106344   -3.0236220
124  -0.4152814   -0.0059808   -2.2677165
125  -0.2757483   -0.0026578   -1.5118110
126  -0.1373270   -0.0006644   -0.7559055
127   0: full on   0: full on   0: full on
 

ASSIGN SUBMASTER  Assign/deassign a submaster 
                     to an input or output channel
  type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H  06H  ss  nn  01H/00H]
  ss: submaster 00H..1FH
  nn: 00H-0FH for inputs 1 to 16, 20H-2FH for outputs 1 to 16 (AB1616 / 1616HD)
      00H-1FH for inputs 1 to 32, 20H-3FH for outputs 1 to 32 (AB64 only)
      40H-5FH for inputs 33 to 64, 60H-7FH for outputs 33 to 64 (AB64 only)
  01H assigns, 00H deassigns
  message length: 11

ASSIGN SUBMASTER assigns or deassigns an input or output channel to a submaster. More than one input or output channel can be assigned to a given submaster by sending multiple ASSIGN SUBMASTER commands. Similarly, more than one submaster may be assigned to a given input or output channel.

Saved submaster assignments are automatically recalled from disk during AudioBox initialization.When a submaster is deassigned, the submaster amplitude level is set to zero.

This command updates only the submaster assignments in RAM. To save the new submaster assignments to disk so that they are restored every time the AudioBox is powered on, follow this command with a SAVE SETTINGS command. In a new AudioBox, following a "clear all user data" command (see CLEAR DATA) and when a show is opened containing a setup cue, all submasters are deassigned.


DEASSIGN SUBMASTER deassign all channels from a submaster 
type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H  00H  1DH ss 00H]
  ss: submaster 00H..1FH
  message length: 11

DEASSIGN SUBMASTER deassigns all input and output channels from a submaster.When a submaster is deassigned, the submaster amplitude level is set to zero.

This command updates only the submaster assignments in RAM. To save the new submaster assignments to disk so that they are restored every time the AudioBox is powered on, follow this command with a SAVE SETTINGS command. In a new AudioBox, following a "clear all user data" command (see CLEAR DATA) and when a show is opened containing a setup cue, all submasters are deassigned.

DEASSIGN SUBMASTER I/O deassign all input or output channels from a submaster 
type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H  00H  20H ss ii]
  ss: submaster 00H..1FH
  ii: 00H: all inputs, 01H all outputs
  message length: 11

DEASSIGN SUBMASTER I/O deassigns all input or output channels from a submaster.When a submaster is deassigned, the submaster amplitude level is set to zero.

This command updates only the submaster assignments in RAM. To save the new submaster assignments to disk so that they are restored every time the AudioBox is powered on, follow this command with a SAVE SETTINGS command. In a new AudioBox, following a "clear all user data" command (see CLEAR DATA) and when a show is opened containing a setup cue, all submasters are deassigned.


SET SUBMASTER GAIN      Set the gain for all submasters
  type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H  00H  11H  gg  00H]
  gg: submaster gain:
    00: 0.75 dB change every four submaster amplitude steps
    01: 0.75 dB change every two submaster amplitude steps
    02: 0.75 dB change every submaster amplitude step
    03: 1.50 dB change every submaster amplitude step
  message length: 11

SET SUBMASTER GAIN sets the gain for all submasters. Changing a submaster amplitude level changes all control points assigned to the submaster in 0.75 dB increments. The submaster gain setting determines whether a 0.75 dB change takes place with every four submaster amplitude steps (lowest gain), with every two steps, with every step or two increments (1.5 dB) with every step (highest gain).

The available submaster gain control range will depend on the current input, output and crosspoint settings, as well as the submaster gain and zero settings, and is in any case within the limits of -96 dB to +95.25 dB. The overall input to output gain of the AudioBox never goes above unity.

The saved submaster gain setting is automatically recalled from disk during AudioBox initialization. In a new AudioBox and following a "clear all user data" command (see CLEAR DATA), submaster gain is set to '02': 0.75 dB change with every submaster amplitude step.

This command updates only the submaster gain setting in RAM. To save the new submaster gain setting to disk so that it is restored every time the AudioBox is powered on, follow this command with a SAVE SETTINGS command. When a show is opened containing a setup cue, submaster gain is reset to '02', its default value.


SET SUBMASTER ZERO Set the zero dB amplitude level for all submasters
  type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H  00H  12H  zz  00H]
  zz: amplitude number for submaster zero, 00H..7FH
  message length: 11

SET SUBMASTER ZERO sets the zero dB amplitude level for all submasters. Submaster amplitude levels above this number boost the gain of all assigned control points, and submaster amplitude levels below this number cut the gain of all assigned control points. Changing the submaster zero may cause immediate shifts in signal levels from the AudioBox.

The amount of submaster gain control available will depend on the current input, output and crosspoint settings, as well as the submaster gain and zero settings, and is in any case within the limits of -96 dB to +95.25 dB. The overall input to output gain of the AudioBox never goes above unity.

In a new AudioBox and following a "clear all user data" command (see CLEAR DATA), submaster zero is set to 40H.

This command updates only the submaster zero setting in RAM. To save the new submaster zero setting to disk so that it is restored every time the AudioBox is powered on, follow this command with a SAVE SETTINGS command. When a show is opened containing a setup cue, submaster gain is reset to 40H, its default value.


SET SUBMASTER LEVEL      Set the amplitude level of a submaster
  type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H  00H  06H  ss  aa]
  ss: submaster 00H..1FH
  aa: amplitude, 00H..7FH
  message length: 11

SET SUBMASTER LEVEL sets the amplitude level for a specified submaster. Gain changes made by changing submaster amplitude levels take place instantaneously. The amount of cut or boost for a particular submaster amplitude level is determined by the submaster gain setting and the submaster zero setting.

The amount of submaster gain control available will depend on the current input, output and crosspoint settings, as well as the submaster gain and zero settings, and is in any case within the limits of -96 dB to +95.25 dB. The overall input to output gain of the AudioBox never goes above unity.

When the AudioBox is powered on, all submaster levels are set to zero dB (i.e. the submasters makes no change to the amplitude setting of their assigned control point or points).


ASSIGN CONTROLLER   Assign/deassign a submaster to a MIDI 
                       continuous controller 
 
  type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H  07H  cc  ss  01H/00H]
  cc: MIDI  controller number 00H..7FH 
  ss: submaster 00H..1FH (not used for deassign commands)
  01H assigns, 00H deassigns
  message length: 11

ASSIGN CONTROLLER assigns or deassigns a submaster to a MIDI continuous controller. A submaster cannot be assigned to more than one continuous controller; a command that attempts to do so will be counted as an error. If a continuous controller already has a submaster assigned to it, the assign version of this command will overwrite the previous assignment (assuming the submaster being assigned is not already assigned to a different controller).

Following a controller assignment, a MIDI continuous controller message to an enabled MIDI channel directly sets the amplitude level of the submaster assigned to it. (When the AudioBox is switched into MOTOR MIX mode, incoming MIDI continuous controller messages are no longer connected to assigned submasters.)

When a controller is deassigned, the amplitude level of the submaster to which is was assigned is set to zero dB (i.e. the submaster makes no change to the amplitude setting of the assigned control point or points).

MIDI continuous controller and SET SUBMASTER LEVEL messages can be mixed in the same incoming command stream, with the resulting submaster level always set by the most recently received message.

Valid MIDI continuous controller messages have the following form:

    Bx cc vv
      Bx: status byte, x is MIDI channel
      cc: controller number 00H..7FH
      vv: control value 00H..7FH

MIDI running status is supported by the MIDI driver (but not the SCSI SEND command). MIDI running status means that after a full three-byte continuous controller message (above) is sent, the status byte (Bx) may be omitted from any number of subsequent continuous controller messages, assuming no other MIDI messages (which always start with a status byte) are sent in between and that the messages are being sent to the same MIDI channel.

This command updates only the controller assignments in RAM. To save the new controller assignments to disk so that they are restored every time the AudioBox is powered on, follow this command with a SAVE SETTINGS command. In a new AudioBox, following a "clear all user data" command (see CLEAR DATA) and when a show is opened containing a setup cue, all controllers are deassigned.


SET MIDI CHANNEL   set MIDI channel for controller messages
  type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H  00H  17H   nn 01H] to set specific channel
                     [06H  00H  17H  00H 00H] to enable all channels
  nn: MIDI  channel number 00H..0FH
  message length: 11

SET MIDI CHANNEL sets the AudioBox to respond to a specific MIDI channel or all MIDI channels. The MIDI channel set by this command only affects continuous controller messages; all other AudioBox MIDI messages are system exclusive messages, which do not have a MIDI channel number. If this command is sent with a 01H as the last data byte, the AudioBox will subsequently respond only to continuous controller messages sent on the specified MIDI channel. If this command is sent with a 00H as the last data byte, the AudioBox will then respond to all MIDI channels. In a new AudioBox and following a "clear all user data" command (see CLEAR DATA), the AudioBox will respond to all MIDI channels.

The currently set MIDI channel can be retrieved from the AudioBox using a GET DISK STATE command.

This command updates only the MIDI channel settings in RAM. To save the new MIDI channel settings to disk so that they are restored every time the AudioBox is powered on, follow this command with a SAVE SETTINGS command. When a show is opened containing a setup cue, all MIDI channels are enabled.


Section 3: Mute/Solo Commands

NOTE: When the AudioBox is powered on, all inputs and outputs are unmuted and unsoloed.


MUTE INPUT CHANNEL      Mute/unmute specified input channel
  type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H  00H  07H  ii  01H/00H]
  ii: input channel number, 00H..0FH for inputs 1 to 16
  01H mutes channel, 00H unmutes channel
  message length: 11

MUTE INPUT CHANNEL mutes or unmutes a specified input channel. Muted channels act as if their level is zero (maximum attenuation). Level commands continue to be received and level ramps continue to operate. When unmuted, a channel reverts to its current level (not necessarily the level it had when it was muted, depending on ongoing level commands for that channel). Muting a soloed channel will mute the channel,overriding the solo. When a muted and soloed channel is unmuted, it will be soloed.


MUTE OUTPUT CHANNEL     Mute/unmute specified output channel
  type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H  00H  08H  oo  01H/00H]
  oo: output channel number, 00H..0FH for outputs 1 to 16, 
                             7FH for all channels
  01H mutes channel, 00H unmutes channel
  message length: 11

MUTE OUTPUT CHANNEL mutes or unmutes a specified output channel. If a value of 7FH is sent for the channel number, all output channels are muted. Muted channels act as if their level is zero (maximum attenuation). Level commands continue to be received and level ramps continue to operate. When unmuted, a channel reverts to its current level (not necessarily the level it had when it was muted, depending on ongoing level commands for that channel). Muting a soloed channel will mute the channel,overriding the solo. When a muted and soloed channel is unmuted, it will be soloed.


SOLO INPUT CHANNEL      Solo/unsolo specified input channel
  type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H  00H  09H  ii  01H/00H]
  ii: input channel number, 00H..0FH for inputs 1 to 16
  01H solos channel, 00H unsolos channel
  message length: 11

SOLO INPUT CHANNEL solos or unsolos a specified input channel. When any input channel is soloed, only soloed input channels are audible. This is a solo-in-place function. When all input channels are unsoloed, all input channels return to their current level (not necessarily the level they had when they were soloed, depending on ongoing level commands for those channels). Soloing a muted channel will have no effect until the mute is removed, at which time the channel becomes soloed.


SOLO OUTPUT CHANNEL     Solo/unsolo specified output channel
  type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H  00H  0AH  oo  01H/00H]
  oo: output channel number, 00H..0FH for outputs 1 to 16
  01H solos channel, 00H unsolos channel
  message length: 11

SOLO OUTPUT CHANNEL solos or unsolos a specified output channel. When any output channel is soloed, only soloed output channels are audible. This is a solo-in-place function. When all output channels are unsoloed, all output channels return to their current level (not necessarily the level they had when they were soloed, depending on ongoing level commands for those channels). Soloing a muted channel will have no effect until the mute is removed, at which time the channel becomes soloed.


Section 4: Delay Commands

NOTE: When the AudioBox is powered on, all delays are set to zero.


SET DELAY        Set delay on an input or output
  type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H 00H 10H nn 00H MTC]
  nn: 00H-0FH for inputs 1 to 16, 20H-2FH for outputs 1 to 16 (AB1616 / 1616HD)
      00H-1FH for inputs 1 to 32, 20H-3FH for outputs 1 to 32 (AB64 only)
      40H-5FH for inputs 33 to 64, 60H-7FH for outputs 33 to 64 (AB64 only)
      7FH to set all channels (AB1616 & 1616HD only)
  MTC: delay in seconds, frames and subframes
  message length: 16

SET DELAY sets the delay on an input or output channel using a MIDI time code to set the value of the delay.

AB1616 / 1616HD: Delays can be set to any time value, but the total amount of delay for all inputs plus all outputs must be less than 5.2 seconds. For example, a delay of 162 milliseconds could be set for every input and every output. If the channel number is set to 7FH, all input and output channels will be set to the time specified. This can be used, for example, to clear all delays to zero.

AB64: Input and output delays are implemented by setting the delay values for all crosspoints on the input or output. See SET XPT DELAY for information on total delay available.

A form of the CLEAR DATA command can be used to set all delays to zero (AB64 only).


SET DELAY SAMPLES        Set delay in samples on an input or output
  type: sysex  
  [cmd/data field]:  [1BH nn ss ss ss]
  nn: 00H-0FH for inputs 1 to 16, 20H-2FH for outputs 1 to 16 (AB1616 / 1616HD)
      00H-1FH for inputs 1 to 32, 20H-3FH for outputs 1 to 32 (AB64 only)
      40H-5FH for inputs 33 to 64, 60H-7FH for outputs 33 to 64 (AB64 only)
      7FH to set all channels (AB1616 & 1616HD only)
  ss: delay in samples (1/48000 second), 
      (lsb first, 21 bit unsigned value, 7 bits per byte)
  message length: 13

SET DELAY sets the delay on an input or output channel using number of samples to set the value of the delay. One sample is one 48000th of a second, or 20.83 microseconds.

Models 1616HD and AB1616: The total amount of delay for all inputs plus all outputs must be less than 5.2 seconds. For example, a delay of 162 milliseconds could be set for every input and every output. If the channel number is set to 7FH, all input and output channels will be set to the time specified.This can be used, for example, to clear all delays to zero.

AB64: Input and output delays are implemented by setting the delay values for all crosspoints on the input or output. See SET XPT DELAY for information on total delay available.

A form of the CLEAR DATA command can be used to set all delays to zero (AB64 only).


SET XPT DELAY        Set delay in samples on a crosspoint
  type: sysex,  AB64 only
  [cmd/data field]:  [16H ii oo ss ss ss MTC]
  ii: input channel 0..3FH for inputs 1..64
  oo: output channel 0..3FH for outputs 1..64
  ss: delay in samples (1/48000 second), 
      (lsb first, 21 bit unsigned value, 7 bits per byte)
  MTC: ramp time MTC (5 bytes)
  message length: 19

SET XPT DELAY sets the delay, in samples, on a crosspoint. One sample is one 48000th of a second, or 20.83 microseconds. Smooth delay changes are achieved by gain crossfading between the signal at the current delay and the signal at the new delay. The crossfade is performed over the specified ramp time. Note that if a SET XPT DELAY command arrives for a crosspoint that is currently being crossfaded due to a previous SET XPT DELAY, SET DELAY or SET DELAY SAMPLES command, the incoming command will wait for the previous crossfade to complete. This is necessary to prevent audio artifacts during the delay crossfade. However, incoming SET INPUT LEVEL, SET OUTPUT LEVEL and SET CROSSPOINT LEVEL commands that affect a crosspoint that is currently being delay-crossfaded are processed immediately.

The total delay memory on each AB64 DSP card is 5.461 seconds, or a total of 21.845 seconds in a 64 channel AB64. This memory is allocated into groups of delay lines of variable length, with each delay line associated with one matrix input signal, and with one group of 64 delay lines associated with 8 output channels. The maximum delay line length is 682 milliseconds. Delay is implemented at the crosspoints; the input delay lines are tapped at the appropriate location for each output to set the total delay at a crosspoint. Input and output delay settings add to the total crosspoint delay for one entire row or column of the matrix. Delay memory can be divided between ranges of inputs, see ALLOCATE DELAY.

A form of the CLEAR DATA command can be used to set all delays to zero (AB64 only).


ALLOCATE DELAY        Allocate delay memory
  type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H  00H  23H  nn  00H]
  nn: 00H-40H number of input channels on which to allocate delay
  message length: 11

ALLOCATE DELAY allocates the total available delay memory to a range of input channels, starting at channel 1, with each input channel in the range receiving an equal allocation. This command provides a way to get longer delays for the first 'nn' input channels by making delay unavailable for all inputs above that range. Due to the memory architecture, setting the number of input channels less than 4 has the same effect as setting the number to 4: all delay memory is allocated to the first 4 inputs, resulting in 682 milliseconds of delay available at each of the first four inputs.

Note that at the instant this command is executed, audio artifacts may be generated; it is best to perform this command with all input or output channels zeroed or muted.

When the AB64 is powered on, this allocation is done automatically using the total number of input channels configured. Thus the default allocation is for all delay memory to be equally divided between all input channels in the unit. The number of input channels in the unit is set by the number of DSP cards installed.

The current number of inputs and size of delay allocation is available in the disk state structure (see GET DISK STATE EN).

ENABLE DELAY     Enable or bypass delay on an input or output
  type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H  00H  0BH  nn  01H/00H]
  nn: 00H-0FH for inputs 1 to 16, 20H-2FH for outputs 1 to 16 (AB1616 / 1616HD)
      00H-1FH for inputs 1 to 32, 20H-3FH for outputs 1 to 32 (AB64 only)
      40H-5FH for inputs 33 to 64, 60H-7FH for outputs 33 to 64 (AB64 only)
  01H enables delay, 00H bypasses delay
  message length: 11

ENABLE DELAY enables or bypasses delay on an input or output channel.


Section 5: EQ Commands

NOTE: When the AudioBox is powered on, the number of bands on every channel is set to zero (all filters bypassed). All coefficients are uninitialized, and must be set before enabling any filters.

Each input and output channel of the AudioBox can be equalized with up to twelve second-order filter sections (bands) connected in series (cascaded biquads). Complex filters can be built up from combinations of the second-order sections.

EQ Coefficients

The response curve of each second-order section (band) of a channel's equalization is set by specifying five filter coefficients, a0, a1, a2, b0 and b1. Each second order section implements the z-plane transfer function:

   F(z) = (a2*z^2 + a1*z + a0) / (z^2 + b1*z + b0)

All coefficients must be greater than -2.0 and less than 2.0. A coefficient is represented as a 28-bit fixed-point binary number with the binary point at bit 23, and bit 27 the sign bit (e.g. a "1" is hex 0800000, a -1 is F800000). The valid coefficient range, -2..2, in 28-bit fixed-point binary representation is EFFFFFF..0FFFFFF. For encoding into a MIDI system exclusive message (wherein the most significant bit (msb) of each byte must be zero), the 28-bit binary number is split into four MIDI bytes. The 7 least significant bits are sent in 1st byte, the next 7 bits in byte 2, the next 7 bits in byte 3, and the 7 most significant bits in the 4th byte.Various proprietary and public domain programs are available to calculate filter coefficients.

Models AB1616 and 1616HD: The EQ on a given channel can have up to 12 bands. All of these bands may have coefficients stored in them at any time, but the total number of active bands available simultaneously is 20 per group. The four groups are:

        A: Inputs 0,4,8,12  and Outputs 0,1,8,9
        B: Inputs 1,5,9,13 and Outputs 2,3,10,11
        C: Inputs 2,6,10,14 and Outputs 4,5,12,13
        D: Inputs 3,7,11,15 and Outputs 6,7,14,15

Model AB64: The EQ on a given channel can have up to 7 bands. All of these bands are available at all times; there are no group restrictions.


SET EQ COEFFICIENTS   Set EQ band coefficients and parameters
  type: sysex  
  [cmd/data field]: [02H nn bb a2 a1 a0 b1 b0 tt ff ff ff ww ww gg gg]
  nn: 00H-0FH for inputs 1 to 16, 20H-2FH for outputs 1 to 16 (AB1616 / 1616HD)
      00H-1FH for inputs 1 to 32, 20H-3FH for outputs 1 to 32 (AB64 only)
      40H-5FH for inputs 33 to 64, 60H-7FH for outputs 33 to 64 (AB64 only)
  bb: band 00H..0BH for bands 0 to 11 (AB1616 & 1616HD), 0 to 6 (AB64)
  a2, a1, a0, b1, b0: 5 filter coefficients, 4 bytes ea. See 
    EQ Coefficients, above.
  tt: filter type: 0:none, 1:low shelf, 2:peaking, 3:high shelf, 4:low pass, 
                   5:high pass, 6:notch 7:bandpass
  ff ff ff: centre frequency * 100 (e.g. 22575 for 225.75 Hz)
    (2000..2000000  lsb first, 21 bit unsigned value, 7 bits per byte)
  ww ww: bandwidth * 10 
         (10..990 for 1%..99% of centre frequency)
         (lsb first, 14 bit unsigned value, 7 bits per byte)
  gg gg: gain in dB * 10 (e.g. 156 for +15.6 dB)
         (-300..300, lsb first, 14 bit signed value, 7 bits per byte)
message length: 39

SET EQ COEFFICIENTS sets the coefficients and the parameters (filter type, centre frequency, bandwidth and gain) for one of the bands (second order sections) of the parametric filter on a specified input or output channel. The coefficients are range checked; if any of the five coefficients are outside the valid range (EFFFFFFH..0FFFFFFH, equivalent to -2..+2), the command is rejected.The parameter information is not used by the AudioBox, only stored for recall via GET EQ, GET ALL EQ and GET EQ EN. The parameter data is not verified on input.

The filter coefficients and parameters can be returned from the AudioBox using the GET EQ, GET ALL EQ and GET EQ EN commands.

For backward compatibility, the AudioBox 1616HD and AB1616 accepts this command without parameters, in which case the message length is 31, and the command / data field is defined as:

  [cmd/data field]: [02H nn bb a2 a1 a0 b1 b0]

If sent without parameters, the filter type is set to 0 (none), and the other parameter fields returned from the AudioBox using the GET EQ, GET ALL EQ and GET EQ EN commands contain invalid data.

EQ changes made on an unmuted channel may result in audible artifacts.


SET EQ BANDS   Set the number of active bands on a filter
  type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H  00H  0CH  nn  bb]
  nn: 00H-0FH for inputs 1 to 16, 20H-2FH for outputs 1 to 16 (AB1616 / 1616HD)
      00H-1FH for inputs 1 to 32, 20H-3FH for outputs 1 to 32 (AB64 only)
      40H-5FH for inputs 33 to 64, 60H-7FH for outputs 33 to 64 (AB64 only)
  bb: number of bands, 0 to 12 (AB1616 & 1616HD), 0 to 7 (AB64), 0 bypasses filter
  message length: 11

SET EQ BANDS sets the number of active bands (second order sections) for the filter on a specified input or output channel, enabling the filter. The coefficients for the EQ bands being enabled (bands 00 through bb-1 inclusive) must have been previously set (see SET/STORE EQ COEFFICIENTS). Setting the number of bands for a filter to zero disables the filter, without erasing any coefficients that were previously set.

There is a limit on the number of bands available per channel group. See EQ Coefficients. If more bands are requested than are available, some filter bands in the group will not be set (not necessarily the most-recently requested).

EQ changes made on an unmuted channel may result in audible artifacts.


Section 6: Show Control Commands


SET DEFAULT SHOW     Set show to be opened when the AudioBox is powered on
  type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H  00H  0EH  ss 00H]
  ss: show number
message length: 11

SET DEFAULT SHOW sets the show number to be opened automatically when the AudioBox is powered on. Valid show numbers range from 1 to 127. If no show is stored on the internal disk drive at the default show number, no show is automatically opened. NOTE: In firmware versions prior to T227 and V663, when the AudioBox is powered on, it automatically opens the lowest numbered show currently stored on the internal disk drive.

After the show is opened, the cue lists in the show are scanned in order, and all cue lists having the "Open List when Show Opened" flag set are automatically opened (up to the maximum number of open lists), and the first cue path in each cue list is opened.

The current default show number can be retrieved from the AudioBox using a GET DISK STATE command.

This command saves the default show number to disk. (It is not necessary to follow this command with a SAVE SETTINGS command.) In a new AudioBox and following a "clear all user data" command (see CLEAR DATA), the default show is show number one.


OPEN_CUE_LIST     Load show / list in from disk
  type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [1BH sn.ln]
  sn: show number string
  ln: list number string (optional)
  message length: 8..19

OPEN_CUE_LIST loads a Show from disk and/or opens a Cue List in the Show, making the Show and Cue List available to all other commands. The show number string is required. Valid show numbers range from 0 to 127. A zero can be used as the show number to open a list in the currently open show. A period character ('.') separates the show number string from the list number string, if a list number string is included. If the show specified in the command is not already loaded, it is read from disk. If the specified show is not already loaded and another show has been previously loaded, the previous show is closed and all open Cue Lists are closed before the new Show is loaded from disk.

If no Cue List is specified (or specified as "0"), after the Show is loaded, the Cue Lists in the Show are scanned in order, and all Cue Lists having the "Open List when Show Opened" flag set are automatically opened (up to the maximum number of open lists, see next paragraph), and the first Cue Path in each Cue List is opened. If a Cue List is specified, it is opened. Valid list numbers range from 1 to 127.

The maximum number of Cue Lists that can be open at one time is 2 for the 1616HD, 8 for the AB1616 and 8 for the AB64. If the maximum number of Cue Lists are already open, the command ends in error. When a Cue List is opened, the first Cue Path in the Cue List is also opened, and cues in it can be accessed by normal show requirements.

If the specified Show or Cue List is already open or if it does not exist, no change occurs. Leading zero characters are acceptable in all number strings (show, list, path and cue), which must be five or fewer decimal digits in length.

NOTE that when the AudioBox is powered on, it automatically opens the default show (see SET DEFAULT SHOW).


CLOSE_CUE_LIST     Make list unavailable
  type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [1CH ln]
  ln: list number string
  message length: 8..13

CLOSE_CUE_LIST makes a Cue List unavailable to all other commands and excludes any cues it may contain from the current show. When CLOSE_CUE_LIST is received, the specified Cue List becomes inactive and cues in it cannot be accessed by normal show requirements, but the status of the cues in the list does not change, unless another List is opened. List number is specified as a number string, with valid list numbers in the range from 1 to 127. If no Show is loaded or if the specified Cue List is already closed or if it does not exist, no change occurs. Leading zero characters are acceptable in all number strings (show, list, path and cue), which must be five or fewer decimal digits in length.


OPEN_CUE_PATH     Load cue path in from disk
  type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [1DH ln.pn]
  ln: list number string
  pn: path number string
  message length: 8..19

OPEN_CUE_PATH loads a cue path from disk, making all cues in the path accessible without delay. Both the list number string and path number string are required (except when opening the MTC generator, see below), separated by a period character ('.'). The specified list is opened, if it is not already open. If a path is already open for the specified list, it is closed before the new path is opened. If the specified Cue Path is already open, no change occurs. If the specified list is not already open and the maximum number of lists are already open, the commands ends in error. If the specified Cue Path does not exist, the commands ends in error. Valid cue list numbers range from 1 to 127. Valid path numbers range from 1 to 2047. Leading zero characters are acceptable in all number strings (show, list, path and cue), which must be five or fewer decimal digits in length.

When a Cue Path is opened, all data in the Path is read entirely into system RAM. A GO command specifying a cue in the open Cue Path will run immediately; just as fast as if a LOAD command had been sent prior to sending the GO. However, in the event that the next cue to be started is not in the currently open Cue Path, an OPEN_CUE_PATH command must be sent prior to sending a GO command specifying that cue, if the delay in reading the Path data from disk (on the order of 250 milliseconds) is to be avoided.

List number 128 refers to the MTC Generator. An OPEN_CUE_PATH command to list 128 (no path required) enables the MTC Generator. The MTC Generator must be enabled before it can be started with a START CLOCK command. The path number string in this case is used to specify the frames per second and is one of ["24", "25", "30"]. If not specified, the MTC Generator defaults to 30 frames per second.


CLOSE_CUE_PATH     Make cue path unavailable
  type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [1EH ln.pn]
  ln: list number string
  pn: path number string
  message length: 8..19

CLOSE_CUE_PATH makes a cue path unavailable to all other commands and excludes any cues it may contain from the current show. Both the list number string and path number string are required, separated by a period character ('.'). If the specified Cue Path is already closed or if it does not exist, no change occurs. Valid list numbers range from 1 to 127. Valid path numbers range from 1 to 2047. Leading zero characters are acceptable in all number strings (show, list, path and cue), which must be five or fewer decimal digits in length.

List number 128 refers to the MTC Generator. A CLOSE_CUE_PATH command to list 128 disables the MTC Generator.


GO     Start specified or next cue
type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]: [01H] or [01H cn] or 
                    [01H cn 00H ln] or [01H cn 00H ln 00H pn]
  cn: cue number string (optional)
  ln: list number string (optional, cn must be specified if ln is specified)
  pn: path number string (optional, ln must be specified if pn is specified)
  message length: 7..24

GO (with a command format byte of 10) starts a specified (or the next) cue in a specified (or all open) cue lists. There are four forms of the GO command:

Cues are specified as a string of 1, 2, 3, 4 or 5 numbers. The first number is the major cue number, followed by up to four optional subsection numbers, each separated by a period character ('.'), for example "533.12.255.33.6". Valid major cue numbers range from 1 to 65535. Valid subsection numbers range from 0 to 255. Valid list numbers range from 1 to 127. Valid path numbers range from 1 to 2047. Leading zero characters are acceptable in all number strings (show, list, path and cue), which must be five or fewer decimal digits in length.

MIDI Program Change messages can also be used to start cues. An external device generating MIDI Program Change messages is connected to MIDI IN 1 connector on the back panel of the AB64. Cues in the currently-open show that do not have subsection numbers (e.g. cue 24 but not cue 24.1) will GO when a program change message containing that cue number is received on MIDI port 1. For incoming program change messages, the MIDI channel number is used to select banks of 128 cue numbers. Cues 1 through 127 are available on MIDI channel 0, cues 128 through 255 are available on MIDI channel 1, etc. Using all 16 MIDI channel numbers, a total of 2048 cue numbers are available. Note that as usual, cue 0 (in this case a program change message on MIDI channel 0 with a program change number of 0) means to run the next (standby) cue.


LOAD     Load specified cue to standby
type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]: [05H cn 00H ln] or [05H cn 00H ln 00H pn]
  cn: cue number string
  ln: list number string
  pn: path number string (optional, ln must be specified if pn is specified)
  message length: 7..24

LOAD (with a command format byte of 10) loads to standby a specified cue in all open lists, in a specified cue list, or a specified list and path. There are three forms of the LOAD command:

Cues are specified as a string of 1, 2, 3, 4 or 5 numbers. The first number is the major cue number, followed by up to four optional subsection numbers, each separated by a period character ('.'), for example "533.12.255.33.6". Valid major cue numbers range from 1 to 65535. Valid subsection numbers range from 0 to 255. Valid list numbers range from 1 to 127. Valid path numbers range from 1 to 2047. Leading zero characters are acceptable in all number strings (show, list, path and cue), which must be five or fewer decimal digits in length.


STOP     Stop a currently running cue or all currently running cues
type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]: [02H] or [02H  cn] or 
                    [02H  cn 00H ln]
  cn: cue number (optional)
  ln: list number string (optional, cn must be specified if ln is specified)
  message length: 7..18

STOP (with a command format byte of 10) stops a currently running cue or all currently running cues. There are three forms of the STOP command:

Cues are specified as a string of 1, 2, 3, 4 or 5 numbers. The first number is the major cue number, followed by up to four optional subsection numbers, each separated by a period character ('.'), for example "533.12.255.33.6". Valid major cue numbers range from 1 to 65535. Valid subsection numbers range from 1 to 255. Valid list numbers range from 1 to 127. Valid path numbers range from 1 to 2047. Leading zero characters are acceptable in all number strings (show, list, path and cue), which must be five or fewer decimal digits in length.


RESUME     Restart a currently stopped cue or all currently stopped cues
type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [03H] or [03H  cn] or 
                    [03H  cn 00H ln]
  cn: cue number (optional)
  ln: list number string (optional, cn must be specified if ln is specified)
  message length: 7..18

RESUME restarts a currently stopped cue or all currently stopped cues. There are three forms of the RESUME command:

Cues are specified as a string of 1, 2, 3, 4 or 5 numbers. The first number is the major cue number, followed by up to four optional subsection numbers, each separated by a period character ('.'), for example "533.12.255.33.6". Valid major cue numbers range from 1 to 65535. Valid subsection numbers range from 1 to 255. Valid list numbers range from 1 to 127. Valid path numbers range from 1 to 2047. Leading zero characters are acceptable in all number strings (show, list, path and cue), which must be five or fewer decimal digits in length.


GO/JAM CLOCK     Start specified or next cue and set list clock to cue time
type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [10H] or [10H cn] or 
                    [10H cn 00H ln] or [10H cn 00H ln 00H pn]
  cn: cue number string (optional)
  ln: list number string (optional, cn must be specified if ln is specified)
  pn: path number string (optional, ln must be specified if pn is specified)
  message length: 7..24

GO/JAM CLOCK starts a specified (or next) cue and sets the list clock to the time programmed into the cue. The command is ignored if the cue is a manual cue (i.e. 'cuetime' field of the abcue record equal to zero). The operation is exactly the same as GO, except that in addition to starting the cue, the time programmed into the cue (in the 'cuetime' field of the abcue record) is used to set (jam) the list clock. If the command starts cues in more than one list, each list clock is set.


STANDBY+ Place into standby the next cue after the cue currently in standby
type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [11H  ln]
  ln: list number string (optional)
  message length: 7..12

STANDBY+ places into standby the numerically next cue after the cue currently in standby. If the list number string is not specified, the standby cue is incremented in all open lists. If the list number string is specified, the standby cue is incremented in only the list specified. If the cue currently in standby is the last cue in a path, the next path is opened. Valid list numbers range from 1 to 127. Leading zero characters are acceptable in all number strings (show, list, path and cue), which must be five or fewer decimal digits in length.

STANDBY- Place into standby the previous cue 
                before the cue currently in standby
type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [12H  ln]
  ln: list number string (optional)
  message length: 7..12

STANDBY- places into standby the numerically previous cue before the cue currently in standby. If the list number string is not specified, the standby cue is decremented in all open lists. If the list number string is specified, the standby cue is decremented in only the list specified. If the cue currently in standby is in the first cue in a path, the previous path is opened. Valid list numbers range from 1 to 127. Leading zero characters are acceptable in all number strings (show, list, path and cue), which must be five or fewer decimal digits in length.

SET_CLOCK     Set list clocks
type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [18H  MTC  ln]
  MTC: hr mn sc fr ff: time value to set clock to
  ln: list number string (optional)
  message length: 12..17

SET_CLOCK sets one or more list clocks to the value sent. If the list number string is not specified, the clock is set in all open lists. If the list number string is specified, the clock is set in only the list specified. Valid list numbers range from 1 to 127. Leading zero characters are acceptable in all number strings (show, list, path and cue), which must be five or fewer decimal digits in length.

List number 128 refers to the MTC Generator. A SET_CLOCK command to list 128 sets the MTC Generator clock if the MTC Generator is enabled. If the list number string is not specified, the MTC Generator clock is set, as well as the list clocks in all open lists.

START_CLOCK    Start list clocks
type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [15H  ln]
  ln: list number string (optional)
  message length: 7..12

START_CLOCK starts one or more list clocks. If the list number string is not specified, the list clock is started in all open lists. If the list number string is specified, the clock is started in only the list specified. If the clock is already running, no change occurs. Valid list numbers range from 1 to 127. Leading zero characters are acceptable in all number strings (show, list, path and cue), which must be five or fewer decimal digits in length.

List number 128 refers to the MTC Generator. A START_CLOCK command to list 128 starts the MTC Generator if it is enabled. If the list number string is not specified, the MTC Generator is started, as well as the list clocks in all open lists.

STOP_CLOCK    Stop list clocks
type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [16H  ln]
  ln: list number string (optional)
  message length: 7..12

STOP_CLOCK stops one or more list clocks. If the list number string is not specified, the clock is stopped in all open lists. If the list number string is specified, the clock is stopped in only the list specified. If the clock is already stopped, no change occurs. MIDI Note Off messages are sent on the MIDI OUT port to all channels with noteOffMask flags set in all lists whose clocks are stopped.Valid list numbers range from 1 to 127. Leading zero characters are acceptable in all number strings (show, list, path and cue), which must be five or fewer decimal digits in length.

List number 128 refers to the MTC Generator. A STOP_CLOCK command to list 128 stops the MTC Generator if it is enabled. If the list number string is not specified, the MTC Generator is stopped, as well as the list clocks in all open lists.

ZERO_CLOCK    Zero the list clock
type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [17H  ln]
  ln: list number string (optional)
  message length: 7..12

ZERO_CLOCK sets one or more list clocks to a value of 00:00:00:00.00. If the list number string is not specified, the clock is zeroed in all open lists. If the list number string is specified, the clock is zeroed in only the list specified. Valid list numbers range from 1 to 127. Leading zero characters are acceptable in all number strings (show, list, path and cue), which must be five or fewer decimal digits in length.

List number 128 refers to the MTC Generator. A ZERO_CLOCK command to list 128 zeros the MTC Generator clock if the MTC Generator is enabled. If the list number string is not specified, the MTC Generator clock is zeroed, as well as the list clocks in all open lists.

MTC_CHASE_ON   Make the list clock follow MIDI Time Code
type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [19H ln]
  ln: list number string (optional)
  message length: 7..12

MTC_CHASE_ON makes one or more list clocks follow MIDI Time Code (MTC). If the list number string is not specified, the list clock in all open lists is made to follow incoming MTC. If the list number string is specified, the list clock in the specified list is made to follow incoming MTC. (Incoming MTC must be going forward in time. The AudioBox does not track backward-going MTC.)

The 'list clock type' flag in the 'ablist' structure determines whether or not the list clock for a list follows MTC when the list is opened. Once a list is opened, this command allows the 'list clock type' flag to be set to MTC.

Note that from when an AudioBox is powered up until valid MTC is first received, setting any list or sequence clock to MTC has no effect; the clock will continue to follow the internal stopwatch. The 'MTCreceived' flag in the GET SHOW data structure, when true, indicates valid MTC has been received.

MTC_CHASE_OFF   Make the list clock not follow MIDI Time Code
type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [1AH ln]
  ln: list number string (optional)
  message length: 7..12

MTC_CHASE_OFF makes one or more list clocks follow the internal timebase (i.e. no longer follow MTC). If the list number string is not specified, the list clock in all open lists is made to follow the internal timebase. If the list number string is specified, the list clock in the specified list is made to follow the internal timebase.

The 'list clock type' flag in the 'ablist' structure determines whether or not the list clock for a list follows MTC when the list is opened. Once a list is opened, this command allows the 'list clock type' flag to be set to stopwatch (internal timebase).

SET MTC SOURCE    Set source of MTC for list clock
type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H  00H  14H ln ss]
  ln: list number, 1..127 (note: not a list number string)
  ss: 01H MTC source internal, 00H MTC source external
  message length: 11

The SET MTC SOURCE command sets whether the source of MIDI Time Code (MTC) for a specified list clock is the internal MTC generator or the external MIDI input. (This command is available in AudioBox firmware version T255/V683 and above.) If the specified list is not open, the command has no effect.

The 'MTC source' flag in the 'ablist' structure determines the source for MTC when a list is first opened. Once a list is opened, this command allows the 'MTC source' flag to be changed.

This setting has an effect only if the list clock type is set to MTC, rather than stopwatch (internal timebase) (see MTC_CHASE_ON and 'list clock type' flag in the 'ablist' structure ). The current list flags can be retrieved using GET SHOW.

SET SLAVE MODE    Set List Clock Slave mode on or off
type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H  00H  1CH  ln sm]
  ln: list number, 1..127 (note: not a list number string)
  sm: 01H enables Slave mode, 00H disables Slave mode
  message length: 11

The SET SLAVE MODE turns on and off slave mode for a particular list clock. (This command is available in AudioBox firmware version T255/V683 and above.) If the specified list is not open, the command has no effect.

The 'List Clock Slave Mode' flag in the 'ablist' structure determines the list clock slave mode when a list is first opened. Once a list is opened, this command allows the 'List Clock Slave Mode' flag to be changed.

List clock slave mode, when enabled for a list clock, attempts to adjust the standby cue in the list to be the next cue after the new clock time, when the list clock (internal MTC, external MTC or stopwatch) jumps forward or backward in time. The standby cue adjustment process is triggered by a jump in list clock time of more than 20 frames. Only cues that are in the currently-open path are searched for the new standby cue.

The simplest situation is when all cues in the path are in chronological order. Even if this is not the case, list clock slave mode tries to find the most likely intended area of the cue list after a jump in list clock time. The algorithm used is as follows: If the list clock jumped forward in time, the search for the new standby cue starts at the current standby cue and goes forward in the currently-open path, until the first cue is found whose cue time is after the new list clock time (minus 20 frames to allow for time code synchronization). This cue then becomes the standby cue. If no such cue is found, the search is made backwards from the current standby cue, until a cue is found whose cue time is after the new list clock time, while the time of the preceding cue is before the new list clock time. If no such cue is found, no change is made to the standby cue. If the list clock jumped backward in time, the search order is reversed - first backwards, then forwards from the current standby cue. In this case ( list clock jumped backward), if the new list clock time is before the cue time of all cues in the path, the standby cue is set to the first cue in the path.


SET ALL_OFF ACTIONS   Set up actions to occur with ALL_OFF command 
type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H 00H 19H ff 00H]
  message length: 11
  ff: actions flags:
  bit   action
   0    mute all output channels of the mixer
   1    stop all playback
   2    stop all list clocks in the show controller and MTC Generator
   3    send ALL_NOTES_OFF messages as defined in the current show
   4    clear all playback stop notifications (before stopping playback
   5    clear all playback resume locations
   6    undefined, reserved, set to zero
   7    always zero

The SET ALL_OFF ACTIONS command sets or clears flags which determine what actions will be taken by the AudioBox on receipt of a MIDI Show Control ALL_OFF command (below). If a bit in the flags byte is set the associated action is performed and if the bit is cleared the action is not performed by ALL_OFF.

The currently-set ALL_OFF action flags can be retrieved from the AudioBox using a GET DISK STATE command.

This command sets only the current ALL_OFF action flags in RAM. To make the new ALL_OFF action flags permanent, follow this command with a SAVE SETTINGS command. In a new AudioBox and following a "clear all user data" command (see CLEAR DATA), all actions are enabled. When a show is opened containing a setup cue, all actions are enabled.


ALL_OFF      Show Control Turn off all functions and outputs
type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [08H]
  message length: 7

ALL_OFF performs the actions specified by the ALL_OFF action flags (see SET ALL_OFF ACTIONS, above). Depending on the settings of the flags, all output channels are muted, all playback channels are stopped, all list clocks are stopped, and MIDI Note Off messages are sent on the MIDI OUT port to all channels with noteOffMask flags set in any open list. (Note: firmware prior to T228 and V665 always performs all actions.)

Operating status prior to ALL_OFF may be reestablished by a RESTORE command.

After an ALL_OFF command has been executed, subsequent ALL_OFF commands are ignored until a RESTORE command, or any other MSC type command, has been executed. This is required because ALL_OFF keeps a record of the operating state immediately before the ALL_OFF command is executed, so a subsequent RESTORE command can reestablish the state. A second ALL_OFF command, if executed, would overwrite the saved state with the "off" state following the first ALL_OFF.

There is a playback-only version of ALL_OFF, which uses the 'playback' command format byte [13H].


RESTORE    Reestablish operating status
type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [09H]
  message length: 7

RESTORE reestablishes the operating status to exactly as it was prior to ALL_OFF. Specifically, if output channels were muted by a preceding ALL_OFF command, they are unmuted, if playback channels were stopped, they are restarted at the stopped playback location, and if list clocks were stopped, they are restarted.

After a RESTORE command has been executed, subsequent RESTORE commands are ignored until an ALL_OFF command has been executed.

There is a playback-only version of RESTORE, which uses the 'playback' command format byte [13H].

 
SET RESET ACTIONS   Set up actions to occur with RESET command 
type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H 00H 15H ff gg]
  message length: 11
  ff: actions flags, first byte:
  bit  action
   0   set all gain points to zero
   1   clear all mutes and solos
   2   stop all playback
   3   clear all playback stop notifications, stop points and resume points
   4   set submaster zero & gain to defaults and zero all submasters 
   5   reopen current show /  if bit clear, open default show
   6   clear all delay settings
   7   always zero
  gg: actions flags, second byte:
  bit  action
   0   clear all EQs
   1   send ALL_NOTES_OFF messages as defined in the current show, before
       it is closed
  2..6 undefined, set to zero
   7 always zero

The SET RESET ACTIONS command sets or clears flags which determine what actions will be taken by the AudioBox on receipt of a MIDI Show Control RESET command. For all bits except bit 5, if the bit is set, the associated action is performed and if the bit is cleared the action is not performed by RESET. If bit 5 is set, RESET closes and reopens the current show. If bit 5 is cleared, RESET closes the current show and opens the default show.

The currently-set RESET action flags can be retrieved from the AudioBox using a GET DISK STATE command.

All actions are always enabled in firmware prior to T246 and V680. In a new AudioBox and following a "clear all user data" command (see CLEAR DATA), all actions are enabled (all flags set to 1).

This command sets only the RESET action flags in RAM. To save the new RESET action flags to disk so that they are restored every time the AudioBox is powered on, follow this command with a SAVE SETTINGS command. When a show is opened containing a setup cue, all actions are enabled.


RESET    Stop and reset the show
type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [0AH]
  message length: 7

RESET performs the actions specified by the RESET action flags (see SET RESET ACTIONS, above). Depending on the settings of the flags, RESET, zeros the gain matrix, clears any mute or solo settings, clears playback stop notifications and resume points, stops playback, clears submasters, zeros the delay on all channels, clears all EQs (by setting 'number of bands' to zero for all channels), sends MIDI Note Off messages, closes the current show and either reopens the current show or open the default show.


SET MIDI ECHO    Set MIDI-MIDI echo and SCSI-MIDI echo on or off
type: MSC  
  [cmd format byte]: [10H] (sound)
  [cmd/data field]:  [06H  00H  18H  mm ss]
  mm: 01H enables MIDI-MIDI echo, 00H disables MIDI-MIDI echo
  ss: 
    bit 0, if set, enables SCSI-MIDI echo, if clear disables SCSI-MIDI echo 
    bit 1, if set, enables SHOW-MIDI filter, if clear disables SHOW-MIDI filter  
    bit 2, if set, enables STOP_NOTIFY-MIDI filter, 
           if clear disables STOP_NOTIFY-MIDI filter  
message length: 11

The SET MIDI ECHO command turns on and off MIDI-MIDI echo, SCSI-MIDI echo, the SHOW-MIDI filter and the STOP_NOTIFY-MIDI filter.

If MIDI-MIDI echo is on, all MIDI messages which arrive at the MIDI IN port get echoed to the MIDI OUT port.

If SCSI-MIDI echo is on, all MIDI commands (i.e. all AudioBox commands except the SCSI-only commands) which arrive at the external SCSI port get echoed to the MIDI OUT port. All AudioBox commands except the SCSI-only commands are formatted as MIDI messages, whether sent over MIDI or SCSI. This flag has no effect on an AB64.

When the SHOW-MIDI filter is on, local AudioBox commands generated by the show running on the AudioBox show controller are not sent to the MIDI OUT port (however, commands to external AudioBoxes and other equipment continue to be sent to the MIDI OUT port). A local AudioBox command is an AudioBox-formatted command that is addressed to the local AudioBox's current MIDI ID (if the command is an MSC command, the format byte is 10H (sound) or 13H (playback) or 7FH (all types)). If the SHOW-MIDI filter is off, all commands generated by the show running on the AudioBox show controller are sent to the MIDI OUT port.

When the STOP_NOTIFY-MIDI filter is on, local AudioBox commands generated by stop notifications (see SET STOP NOTIFICATION) are not sent to the MIDI OUT port (however, commands to external AudioBoxes and other equipment continue to be sent to the MIDI OUT port). A local AudioBox command is an AudioBox-formatted command that is addressed to the local AudioBox's current MIDI ID (if the command is an MSC command, the format byte is 10H (sound) or 13H (playback) or 7FH (all types)).

When an AudioBox is powered on, MIDI-MIDI echo, SCSI-MIDI echo, SHOW-MIDI filter and STOP_NOTIFY-MIDI filter are init