ABShowMaker

Controller and Show Editor for the AudioBox AB64 Matrix Mixer / Recorder

ABShowMaker's capabilites are built primarily into two windows, the main ABShowMaker window and the Show Editor window. Both of these windows appear when the program is run.

The main window displays the audio file directory and contains live displays and controls for the AudioBox's matrix mixer, disk recorder / playback unit, internal show controller and various other AudioBox functions.

The Show Editor Window is used to edit show files, which are used to automate AudioBox functions. The tabs on the right provide sources of show elements: a template show, any existing show file as reference show, and a history of live control commands, as well as the show file and audio file directories on the AudioBox.

ToolTips

Most of the screen elements in ABShowMaker display 'tooltips', a bit of text that provides information about what a control does or what data a text field contains. If the cursor is held over the element for a few seconds, the tooltip text is displayed in a small framed rectangle next to the cursor. The tooltips in ABShowMaker can be turned on and off in the Help menu.

Note: many of the screen shots in this document are from previous versions of the program and are in the process of being updated.


Files, Directories / File Transfers

The Audio and Show Directories display the files currently stored on the hard drive of the connected AudioBox. The Audio Direcotry is on the left side of the ABShowMaker window, and both the Show Directory and the Audio Directory are available by clicking tabs on the right side of the Show Editor window. Audio files on the host computer can be transfered to the AudioBox by dragging them from the Finder onto the Audio Directory, or by using the "Download Audio to AudioBox" command in the AudioBox menu (in the menu bar at the top of the screen). All common uncompressed audio file formats are supported.

If necessary, ABShowMaker converts audio files to the format required for transfer (AIFF, monophonic, 16 bit, 48 kHz) as part of the file transfer operation. Multiple channel files (stereo, 4 channel, etc.) are split into a set of monophonic files. If the same audio files are going to be transferred to the AB64 more than once, the conversion step can be eliminated, speeding up the process, by saving the converted files, and transferring the converted files rather than the original files on subsequent transfers. To enable automatic saving of converted audio files, open the Preferences window (ABShowMaker menu, Preferences), click "Save converted files in this folder" and set the folder where you want the files to be saved.

A Show file on the host computer is transferred to an AB64 by saving the file in the show editor while the AB64 is connected. The show file is both written to the disk on the host computer and transferred to the AB64 disk.

Audio files on the AB64 can be transferred to the host computer using the "Get Audio File(s) From AudioBox" command in the AudioBox menu. Also, a show is automatically uploaded to the show editor when opened on an AB64 (using the button on the Show Directory tab), and can be saved to the computer's disk from there. Files on the AudioBox may be erased by selecting them in the directory, then using the 'Erase Files(s) on AudioBox' command in the 'AudioBox' main menu.


ABShowMaker Window

Tab Screens

The upper left corner of the ABShowMaker window above the input strips and to the left of the output strips contains a set of control screens selected by tabs. All of these screens contain in the lower right corner a 'Mute" button that toggles the mute state all output channels and a button that toggles the crosspoint area between crosspoint gain and crosspoint delay.

The tabbed screens are as follows:

AB64 Tab

A pop-up list is used to display the names and serial numbers of the AB64s on the local area network, and to connect to individual AB64 units. The 'Scan for AB64s' button updates the list. This is done automatically when the program is launched, and may be done at any time in the event an AB64 joins the local area network.

The image of the AB64 Front Panel LCD is updated continuously. The three buttons below the image are equivalent in function to the physical buttons on the front panel. See the AB64 User's Manual for details.

The gain matrix can be zeroed or put into a diagonal test configuration with buttons on this screen. All delay and EQ settings may be zeroed, and the command history may be cleared from this tab screen.

Audio Tab

The current audio mode is displayed at the top of this screen. The audio mode is one of: single-channel file playback, multi-channel file playback, inputs record enables, outputs record enabled, recording inputs or recording outputs.

Playback Stop / Resume Points

The 'Input Strips Location Display' buttons select the audio file location displayed in all the input strips. There are three options: current play points, stop points and resume points.

Current Location

The location field displays the current playback location. The playback location can be edited by double-clicking the location field. In this display mode, the current playback location can be set as the channel's stop location by selecting the desired channel (clicking anywhere on the input strip selects it, indicated by a red outline) and then clicking on the 'Set Stop Point' button. Similarly, a resume location can be set using the 'Set Resume Point' button.

Stop Points

The location field displays the stop point (if any). The stop point can be edited by double-clicking the location field. A different audio file can be loaded (dragged from the audio directory and dropped onto the input strip) to set a stop location in that file.

Resume Points

The location field displays the resume point (if any). The resume point can be edited by double-clicking the location field. A different audio file can be loaded (dragged from the audio directory and dropped onto the input strip) to set a resume location in that file.

Record

Checking the 'Record Outputs' box allows any of the individual output channels to be enabled for record. Checking the 'Record Inputs' box allows any of the individual input channels to be enabled for record. When one or more channels are enabled in their input strip, the 'Start Recording' button becomes available. Once recording is begun, the button changes to 'Stop recording'.

All Channels Playback Controls

Unload Unloads (removes audio selection) all input channels.

Play Starts playback of all loaded input channels.

Pause Pauses playback of all loaded input channels. If channel is already paused, clicking this button restarts playback.

Stop Stops playback of all loaded input channels and set the playback location to 000.00.00.

Show Tab

The Show tab contains live displays and controls for the AB64 show controller. Shows can be opened using the 'Open Show' or 'Open Recent Show' commands in the 'File' main menu. The show name and last modified date/time for the show currently open in the connected AudioBox is displayed at the top of the screen. The Open List/Path popup menu can be used to open the lists and paths in the open show.

The current status for each open list in the show running on the connected AudioBox is displayed on one or two lines in the table in the main area of this tab. The two line display mode provides more information while the one line display mode can display up to eight lists without having to scroll. The two display modes are toggled using the '2 Line Display' command in the 'Show Controller' main menu item. Lists may be closed by selecting the list in the table and pressing the delete key.

Single Line Display Mode

The line contains columns for: the list number, the list name (text comment), the next cue number, the next cue name (text comment), the next cue time and the list clock.

Two Line Display Mode

The first line contains columns for: the list number, the list name (text comment), the last cue number, the last cue name (text comment), the last cue time and the list clock mode (stopwatch or internal clock, internal MIDI timecode generator or external MIDI timecode).

The second line contains columns for: the path number, the path name (text comment), the next cue number, the next cue name (text comment), the next cue time and the list clock

There are buttons and pop-up menus in the bottom part of the tab for the most-commonly-used show control commands. These commands are also available in the 'Show Controller' main menu item, with key equivalents. Except for the global show commands 'Reset', 'All Off', and 'Restore', these show controller commands are directed to the list, or lists, selected in the table, or to all open lists if the 'All Lists' button is highlighted. These commands include: start and stop list clock, set and zero list clock, set list clock mode, increment and decrement next cue, go next cue, and stop and resume next cue.

List Control Window

Double clicking on a list in the table in the show tab brings up a window displaying the cues in the list. There can be any number of these list control windows open, up to the current number of open lists in the show. This window includes controls (start and stop list clock, go next cue, increment and decrement next cue) that affect this list only.

The next cue is always highlighted in the cue list window. Clicking on any cue in the list makes that cue the next cue. The next cue is run when the Go button is pressed. When first opened, the window is set to auto-scroll to keep the next cue visible. Auto-scrolling can be turned on and off with the 'Scroll Next Cue Visible' check box. This window can be made to float above all other ABShowMaker windows.

Info Tab

The Info Tab displays a variety of AB64 unit information: serial number, current IP address, matrix size, firmware version, system clock, CPU utilization, number of entries in the various operating system queues, I/O buffer counts, ethernet message counts and MIDI message counts.

Disk Tab

Information concerning the AB64 internal disk drive(s) is displayed on this screen. If a secondary (backup) drive is installed, this screen indicates whether or not the two drives are identical. If not, one drive can be copied to the other (this operation can be time-consuming.) Once made identical, the AB64 firmware keeps the drives identical as files are added and removed.

MIDI Tab

A text field displays the MIDI ID of the connected AB64, and allows new values to be set. Valid individual MIDI IDs range from 0 to 111.

Check boxes activate the various MIDI filters. If MIDI-MIDI echo is on, all MIDI messages which arrive at the MIDI IN port get echoed to the MIDI OUT port. When the 'Local AudioBox Command Filter' is on, local AB64 commands (those having a matching MIDI ID) generated in the show controller are not sent to the MIDI OUT port. When the 'Stop Notify Command Filter' is on, local AudioBox commands generated by stop notifications are not sent to the MIDI OUT port.

Controls are provided to start, stop, zero and set the internal MIDI Time Code Generator.

Groups Tab

The Groups Tab displays groups of inputs, outputs and crosspoints that have been defined and named in the currently open show. Groups are created by selecting (highlighting) input channels, output channels and crosspoints using combinations of clicks, command clicks and shift clicks. Once the channel and crosspoint selections have been made, the plus button on this tab is clicked to add a new group. Groups are saved as part of the show file. When groups of channels and / or crosspoints are selected (whether or not the selections have been named as a group), most operations, such as changing the level or delay, done on one channel or crosspoint in a group are performed on all the channels or crosspoints in the group. Groups can be mapped to submasters. There are 32 submasters available, which control the gain of input and output channels (but not crosspoints) in the associated group. Global 'Submaster Gain' for all submasters can be set to one of four levels, which determine the gain boost or cut for each level step made to a submaster. The MIDI level that corresponds to zero gain can be set for all submasters in the 'Zero Level' text field. The 'Zero All Levels' button will zero all submasters. A window containing a set of sliders is displayed by pressing the 'Show Sliders' button. The level for each submaster can be set either using the slider or typing the MIDI level into the 'level' field. The equivalent gain boost or cut is displayed in deciBels. A MIDI continuous controller may be assigned to a submaster, enabling external MIDI faders to be used with the AudioBox. The MIDI controller number (0..127) is typed into the 'controller' field. The 'clear all assignments' button will remove all assignments from all channels.

GPIO Tab

The General Purpose I/O port on the back of the AB64 contains opto-isolated inputs that can be driven by other control equipment (see the AB64 User's Manual for details). There are two trigger inputs called 'cue' and 'playback'. The 'cue' trigger, when activated, runs the cue encoded on the 8 address lines in the GPIO (cue numbers 0 through 255, 0 means 'next cue'). The playback trigger can operate in several different modes which are set up using three check boxes. When 'start playback' is checked, the playback trigger starts playback on all enabled playback channels (default mode). When 'add cue number offset' is checked, 256 is added to the value encoded on the address lines to determine the cue number that goes (default mode, cue numbers 256 through 511). When 'swap cue and playback triggers' is checked, the functions of the cue and playback triggers is reversed. The trigger lockout time can be set in milliseconds. 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 (1000). The trigger lockout may be set to any value from 0 to 16,383 milliseconds. The lockout may be address-specific, so that only triggers with the same address as the previous trigger are locked out.

The general purpose outputs may be turned on and off from this screen.

Digital I/O Tab

CobraNet bundle assignments are made on this screen. The mapping of AB64 input and output channels to the receiver and transmitter bundles on each of two optional CobraNet modules is indicated. Consult CobraNet documentation for more information on the setting of CobraNet bundles.

Setting Matrix Gain

On-Off Toggle

Pressing the return or enter key toggles the currently-selected (highlighted) gain point or points. Gain points that are off are toggled to full on (MIDI level 127, indicated by a black dot) and gain points that are at any level above zero are toggled off (the field is blank, indicating a zero level),
Popup Level Controller

Clicking and holding down the mouse button on a gain or delay field pops up a level controller. Initially, the level controller is a simple gain or delay slider. When the slider is moved, new gain or delay values are sent to the AudioBox continuously. As an alternative, after popping up the level controller, a new value can be typed into the field at the bottom of the controller.

To set a timed gain fade, the cursor is moved horizontally from the desired initial gain level to the right edge of the level controller window, which expands to reveal a grid. The grid has gain level along the vertical axis and time along the horizontal axis. The cursor is moved to the position on the grid representing the desired final gain level and fade time. The time axis auto-scrolls right and left when the cursor touches the right and left edges of the window, providing access to longer and shorter fade times. The popup level controller can also be used to set delay values.
Input strips

The input strips display and control the input channels of the AudioBox. The controls, from left to right, are:

Links

Clicking the button between adjacent input strips (at the far left) links the two channels so that any action on one channel will affect the linked channel as well. Any number of adjacent channels can be linked. Links are saved in the current show file.

Channels and crosspoints can be linked temporarily by selecting input strips, crosspoints or output strips. Use shift click to select a contiguous range, or command click to select individual channels or crosspoints.

Labels

Each input strip may be labeled by double-clicking on this area. Labels are saved in the current show file.

VU meter / Audio File

At the top of this area, a horizontal green bar indicated the instantaneous audio level (VU) of the input channel prior to the input level control. This area also serves as the audio filename display. If an audio file is loaded on the channel, the filename is displayed. The background of this area displays in dark blue the relative playback location of the audio file loaded on that channel.

Loading Audio

To load an audio file onto a channel, the file is selected in the Audio Directory, dragged and dropped onto the input strip for the channel. Alternately, selected files may be loaded into the selected input strip using the "Load Selected Audio" command in the 'AudioBox' item in the main menu. If multiple files are selected, they will be loaded sequentially after the channel they are dropped onto.

Playback Unload

Clicking on the U button will unload an audio file from that channel (or 'disable' playback on that channel) . Any stop or resume locations set on the channel are cleared.

Location

The location field displays the current location of the audio file loaded on that channel. A new location can be set by double-clicking the field, which will make it editable. In edit mode, pressing tab moves the cursor between the minute, seconds and frames fields. This field also display stop and resume locations, see Audio Tab.
Play / Pause
If audio is loaded on the channel but is not playing back, pressing the button starts playback. If audio is playing back, pressing the button pauses playback. The icon on the button changes to indicate its current action.
Stop
The stop button will stop playback and set location to 000:00:00.
Record Enable
The record enable buttons becomes available when recording is enabled on input channels in the 'Audio' tab. Individual channels are enabled for record by clicking on the record enable button.
Delay
The delay field displays the audio delay on the channel in milliseconds. A delay value can be set by clicking the field, which will display a popup level controller to change the delay value.
EQ

Double-clicking the EQ button activates the EQ window. Clicking in the graph area adds a band (second-order filter section) of EQ. Up to three bands of EQ can be added per input channel. One band of EQ is always selected for editing; this band is indicated by a red dot. Clicking on a dot selects that band. Also, the right and left arrow keys can be used to select the bands sequentially. The red dot can be dragged to change the frequency and gain of the band. Pressing control right arrow and control left arrow steps the frequency and pressing control up arrow and control down arrow steps the gain. Bandwidth on a bandpass filter can be modified by option-clicking on the red dot and moving the cursor up or down, or by pressing option up arrow or option down arrow. Pressing the delete key removes the selected band from the EQ on that channel. Filter parameters can also be set using the parameter fields in the window. Once the EQ window is active, other input or output channels can be selected for editing by typing the channel number or using the stepper button.
Mute
The M button displays the mute state. Clicking the M button toggles the mute state. The button will be blue if the user initiated a mute and will be amber if a solo from another channel mutes the channel.
Solo
The S button displays the solo state. Clicking the S button toggles the solo state. The S button is amber when active. All channels muted by the solo will display their mute buttons amber.

Source Mix

The source mix button displays the levels of the three possible input signal sources: analog (red), digital (blue), and playback (green). Clicking on any of these areas toggles the source level between off and full on. Option-clicking the source mix button activates a source mix window that can be used to set levels for each of the input signal sources.

Level

The level field displays the level set on the input channel. A gain level can be set by clicking the field, which will display a popup level controller which can be used to change the gain level.
Crosspoints

The grid in the lower right portion of the Live Window is used to display and control matrix crosspoints. Either gain or delay can be displayed and controlled, switched by the crosspoint display button in the upper left area of the window. Also, crosspoint polarity can be toggled when crosspoint gain is displayed.

Selecting Crosspoints

Single click

selects the crosspoint and pops up a level controller

Shift-click

selects all crosspoints in the rectangle created by the clicked crosspoint and the previously selected crosspoint and adds them to the current selection set

Ctrl-click

toggles the selected crosspoints polarity 180 degrees. (displayed with red polarity symbol on the bottom left of the cell)

Command-click

adds the clicked crosspoint to the current selection set

Crosspoint selection sets

The value of all crosspoints in the current selection set will change when the value of any one of the crosspoints in the selection set is changed. The current crosspoint selection set can be saved and recalled (with input and output channel selections as well, if desired). This is done using the 'Groups' tab in the upper left area of the Live Window.

Output strips

The output strips display and control the output channels of the AudioBox.

Links

Clicking the button between adjacent output strips (near the top) links the two channels so that any action on one channel will affect the linked channel as well. Any number of adjacent channels can be linked. Channels can also be linked temporarily by selecting output strips by clicking, command-clicking (to add individual channels to the selection set) and shift-clicking (to select a range). Links are saved in the current show file.
VU meter / Label
At the right edge of this area, a vertical green bar indicated the instantaneous audio level (VU) of the output channel at the digital output of the matrix. This area also serves as the user label display. A label may be added by double-clicking on the field. Labels are saved in the current show file.
Delay
The delay field displays the audio delay on the output channel in milliseconds. A delay value can be set by clicking the field, which displays a popup level controller which can be used to change the delay value.
EQ

Double-clicking the EQ button activates the EQ window. Clicking in the graph area adds a band (second-order filter section) of EQ. Up to seven bands of EQ can be added per output channel. One band of EQ is always selected for editing; this band is indicated by a red dot. Clicking on a dot selects that band. Also, the right and left arrow keys can be used to select the bands sequentially. The red dot can be dragged to change the frequency and gain of the band. Pressing control right arrow and control left arrow steps the frequency and pressing control up arrow and control down arrow steps the gain. Bandwidth on a bandpass filter can be modified by option-clicking on the red dot and moving the cursor up or down, or by pressing option up arrow or option down arrow. Pressing the delete key removes the selected band from the EQ on that channel. Filter parameters can also be set using the parameter fields at the bottom of the window. Once the EQ window is active, other input or output channels can be selected for editing. Back on the Live Window, the EQ settings on any channel can be copied to any other input or output channel by dragging the EQ button between channels.

Mute
The M button displays the mute state. Clicking the M button toggles the mute state. The button will be blue if the user initiated a mute and will be amber if a solo from another channel mutes the channel.
Solo
The S button displays the solo state. Clicking the S button toggles the solo state. The S button is amber when active. The M button for all channels muted by the solo will be amber.
Level
The level field displays the level set on the output channel. A gain level can be set by clicking the field, which will display a popup level controller which can be used to change the gain level.


Quick 'Make A Show' Tutorial

  1. Turn on the AB64, fire up ABShowMaker (if already running, click 'Scan for AB64s' on the AB64 Tab).
  2. Ensure the link light on the main window is flashing.
  3. Go to the show editor window.
  4. Do the New Show command (File menu). First line should be "SHOW", followed by "LIST 1", "PATH 1", "CUE 1".
  5. Select (highlight) Cue 1, then add a second cue ("New Cue" command in File Menu). (This is not essential, but it helps in the Show Tab to be able to see the 'next cue' number go from 1 to 2, indicating that cue 1 did indeed go.)
  6. Select "CUE 1". The cue you want commands to go into should be highlighted.
  7. Go to main window. Set an input, crosspoint and output level (see Setting Matrix Gain)., leaving the input crosspoint and output selected (highlighted). Load audio onto an input (Input Strips Loading Audio) by dragging a selection from the audio directory and dropping it onto the input strip.
  8. Go back to the show editor, and click the 'snapshot gain' and 'snapshot audio' buttons near the top of the window. You should see the following commands in the cue (you may need to click on the triangle to display the cue's contents): SET LEVEL INPUT, SET LEVEL INPUT OUTPUT, SET LEVEL OUTPUT, LOAD PLAYBACK.
  9. Click on "RECORD ACTIONS", it turns very red.
  10. Start playback (Input Strips Play / Pause). You should see VU on both the input and the output.
  11. Go back to the show window and turn off "RECORD ACTIONS". A START PLAYBACK command should have been added.
  12. Save the show (File menu or command S). A "Save As" dialog should pop up. Select a folder, give the show a name (with or without ".sho" extension) and click save. This saves the show file to disk and also transfers it to the AB64.
  13. Optional: Using the Mac OS X finder, verify that the show file exists where you saved it.
  14. Optional: Click on the "Shows On AudioBox" tab. The show should appear in the directory. If not, try clicking the "Scan for AB64s" button in the AB64 Tab on the main window, then check and see if the file appears in the "Shows On AudioBox" tab.
  15. Go to the Show Tab on the main window. Look for the show name above the list of open lists. The text field at the top of the tab screen (just under the tab names) gives the name of the show currently open on the AB64.
  16. The default for a list is to automatically open when the show is opened, so you should see L1 on the first line of the "open lists" table in the middle of the show tab. The next cue column should indicate cue 1.
  17. Click Go and the audio should play and the next cue should be 2.

There are a number of ways to add commands to a cue other than using snapshots and 'Record Actions' as in the quick tutorial. Commands can be option-drag and dropped (or copy and pasted) from elsewhere in the current show, from the Template show or the Reference show, or previous commands can be drag and dropped (or copy and pasted) from the History tab.


Show Editor Window

The show editor window either displays the show editor or the show directory, as selected by the tab at the top of the window.

Show Editor

The left portion of the Show Editor Tab is a custom outline editor for working with AudioBox show files. The right portion can be set to one of five tabs: Template, Reference and History, as well as the show directory and the audio directory. These two portions can be resized by dragging the vertical dividor between the outline editor and the right tab.

A show file is displayed in the Show Editor as a hierarchy, with each line containing individual items in the show. This hierarchy corresponds to the hierarchy of the show: the show contains lists, lists contain paths, paths contain cues and cue contain commands (timed MIDI command messages, sometimes called 'events'). If an item contains other items in the hierarchy, it has a triangle in the Keyword column. Clicking on the triangle toggles the display of lines contained in the hierarchy below that line. Hierarchy levels may be expanded and collapsed throughout the show using the set of buttons at the top of the editor labeled "none", "lists", "paths" and "cues". A simple show can consist of one list containing one path, in which case the list and path levels of the hierarchy can be mostly ignored.

Lines in the Show Editor can be selected, moved, copied, pasted and deleted using the standard Macintosh editing commands available in the Edit menu. Generally speaking, the editor prevents operations that do not make sense, like adding a cue to a list outside of a path. Twenty five levels of undo and redo are provided.

Selected lines can also be moved, copied and pasted using drag and drop editing. A copy is performed by holding down the option key when dragging.

For normal cues, the cue time displayed is the value of the list clock at which the cue will be triggered. If the time is zero, the cue is a manual cue, which is triggered by an incoming message (from ABShowMaker or another control program, via MIDI, or from the General Purpose Input port). For real time cues, the time displayed is the clock time when the cue will be triggered. For commands, the delay field contains the delay from the triggering of a cue before the command is executed. Commands are always executed in the order they appear in a cue, so the delay times are cumulative. When a command is edited (see 'Editing Show Items, below), the delay of that command from the previous command in the cue is specified (the delay for the first command in the cue is always specified from the triggering of the cue; there is no previous command).

Adding a new item of a given type is done using the "New" commands in the file menu or by copying an existing item of that type from the show or from the Template, Reference or History tabs. AudioBox commands performed elsewhere in the program are immediately recorded (pasted) into the current show if a 'CMD' or 'CUE' line is selected, and the 'recording actions' button is active. Previously performed AudioBox commands can also be copied or dragged from the History tab. (Due to the overhead of adding items for every command generated, ABShowMaker will run slightly more slowly if 'recording actions' is active or if the History tab is left open.)

Editing Show Items

All items in the Show Editor are editable by selecting them and pressing the return or enter key, or by double-clicking on them. This brings up an editor panel specific to the contents of that item of the show. This, for example, is the editor panel for an input level command:

The parameters for that item in the show can be updated by typing new information into the text fields provided, or (for commands), by editing the command line at the top of the editor panel. The device ID for a MIDI command (an AudioBox command or a MIDI command intended for another piece of equipment) can be set in the ID field. MIDI commands are displayed in hexadecimal format in the MIDI field. Both of these fields are also directly editable.

The pushbuttons at the bottom of all editor panels work as follows:

Multiple command items in a show can be edited simultaneously. The procedure is as follows:

  1. The commands to be edited are selected by command-clicking to select a random set of commands which may be from different cues, shift-clicking to select a range of adjacent commands in the same cue or by using the "Select All" button in the Find panel.
  2. Press the 'return' or 'enter' key. This will bring up the edit window for the last item added to the multiple selection.
  3. Change one parameter, using the fields provided (rather than editing the command line at the top of the editor panel or the MIDI field near the bottom).
  4. Click "Update" (or press the 'return' or 'enter' key).
  5. When the item is updated, all of the selected items that have that parameter are also updated.

If an AudioBox is connected, when the show is saved, the show file is transferred to the connected AudioBox and opened (or, if it was already open, it is re-opened and the show state is restored).

Audio File Names / Numbers

Audio files specified by name (e.g. "soundFile") in playback commands in the Show Editor are synchronized with the audio file numbers (as shown in the audio directory of the connected AudioBox) when the show is saved. Show files created by ABEdit and version 1.0 of ABShowMaker do not have embedded file names. When these files are opened, a file name with the file number is generated, like "File 4". These names should be updated with the correct file names.

To play back the correct audio file, the AudioBox needs an audio file number (rather than a file name) that is contained in the binary form of the show file that runs in the AudioBox's internal show controller. ABShowMaker performs the required translation from file names to file numbers when shows are saved to a connected AudioBox. Therefore shows should be re-saved to the AudioBox after audio for the show is first loaded and whenever the set of audio files changes on the AudioBox.

Template

The Template tab displays a read-only show that contains templates of all AudioBox show commands. Selected lines can be copied and pasted into the Show Editor using the standard Macintosh editing commands available in the Edit menu or using drag and drop editing.

Reference

The Reference tab displays a read-only outline view for copying elements from any other show file (the 'reference' show). Selected lines can be copied and pasted into the Show Editor using the standard Macintosh editing commands available in the Edit menu or using drag and drop editing.

History

The History tab displays a read-only outline view containing lines for the previous 256 AudioBox commands performed elsewhere in the program. Selected lines can be copied and pasted into the Show Editor using the standard Macintosh editing commands available in the Edit menu or using drag and drop editing. Due to the overhead of adding lines for every command generated, ABShowMaker will run more slowly if the History tab is left open.


Editing Show Items

There are editor panels for each type of item contained in the show. These panels are opened by selecting the item (the item is highlighted) then pressing the return or enter key, or by double clicking on the item. The column that is double-clicked determines the field that has keyboard focus (is highlighted and therefore ready to type over or edit) when the editor panel pops up. Pressing the tab key moves the keyboard focus between fields. Changing a field activates the "Update" button so that pressing return or enter updates the show with the changes that have been made. Pressing the up and down arrow keys, or clicking the Previous and Next buttons, move the editor panel to the previous or next item in the show. Moving the editor panel does not update the show; the "Update" button must be clicked (or the return or enter key pressed when the "Update" button is highlighted) to actually change the contents of the show.

The function of the individual controls and text fields in the editor panel is explained by tooltips, which appear when the cursor is held for a few seconds over the control or text field, if tooltips are enabled in the Help menu.

Show Editor Panel

Selecting the show item, which is always the top line of the show, and pressing return or enter, or double-clicking the show item, opens the show editor panel. This panel is used to edit the settings that are made in the AudioBox whenever the show is opened (show setups). Auto Clock Start, if on, sets the show controller to start the list clocks

The ALL OFF and RESET tabs are used to program the actions of the show commands ALL OFF and RESET.

List Editor Panel

A list is an independent sequence of cues in the show. A show may contain up to 127 lists, and up to 8 lists may be opened at one time in the AudioBox. A list clock is associated with each open list. The list clock may be internal (stopwatch), may follow MIDI Time Code from either an internal MIDI Time Code generator or an external source, or may be the real time (time of day) clock.

Selecting the list and pressing return or enter, or double-clicking the list item, opens the list editor panel. Tooltips explain the function of each setting.

Path Editor Panel

A path is a subdivision of a list. A list may contain up to 2047 paths, and each path may contain a virtually unlimited number of commands. Lists can be subdivided into paths to the help the show programmer and show operator manage a large number of cues, using paths to organize them into smaller units, or to provide alternative versions of a list that typically use the same sequence of cue numbers to run a variation of the show, for example with different audio selections.

Selecting a list and pressing return or enter, or double-clicking the list item, opens the list editor panel. Tooltips explain the function of each setting.

Cue Editor Panel

Cues are independently triggerable blocks of commands. They can be triggered manually or triggered at a specified list clock time. When a cue is triggered, it may optionally zero the list clock.

If a cue is in a list that uses the real time (time of day) clock as its list clock, the cue editor panel presents the date and time parameters for when the cue will be triggered: year, month, day of month, day of week, hour, minute and second. Any of the date and time parameters may be ignored in specifying the cue's real time clock value. The example below specifies a cue that will fire every Monday at noon:

Command Editor Panels

Commands perform one action in the Audiobox, such as changing a gain level or starting playbak of audio. Each command in a cue has a delay setting, which determines the delay from the previous command in the cue (or the beginning of the cue if the command is the first command in the cue).

The command editor panel provides three ways of editing commands:

  1. The parameters of the command are displayed and changed using controls and text fields in the middle area of the command editor panel.
  2. The command, in the same textual form as is displayed in the 'command' column of the show editor, can be edited in the text field at the top of the command editor panel. The text form of AB64 commands is detailed in the AudioBox Commands section.
  3. The MIDI version of the command is displayed using hexadecimal numbers in the field near the bottom of the command editor panel.

Changes to the command made in any of these three ways are immediately reflected in the other two.


Diffusion Controller

The diffusion controller allows rapid manipulation of input and crosspoint settings based on a visual representation of the physical space in which sound is reproduced. The locations of the loudspeakers in a room are entered, generating a 'speaker map'. 'Sound points' may be placed anywhere on the speaker map. A sound point defines a set of crosspoint values, based on the physical distance from the point to each of the speakers in the map. Sound points are connected into 'trajectories', which generate sound patterns that evolve over time.

Although the diffusion controller can be used as a continuous, real-time matrix controller, it is accessed through the show editor. This arrangement makes it easy to save 'diffusions' containing 'trajectories' in cues in a show, allowing them to be easily reproduced on the AB64.

Speaker Maps

The first step in using the diffusion controller is to make a 'speaker map'. A speaker map must be defined before trajectories and sound points can be added. This is done by selecting the SHOW line at the top of the show editor table and selecting 'New Speaker Map' from the File menu. Double click on the speaker map item that was added (or select it and press return or enter) and an editor panel will appear containing a blank thumbnail of the diffusion space. A speaker map must be given a unique name; the deault is a capital letter starting with 'A', but any name can be entered (up to 31 characters). Clicking on the thumbnail opens the Diffusion Controller window and an 'Edit Speaker Map' window containing a table with data for all speakers in the speaker map. Speakers are added by holding down the option key and clicking (i.e. an 'option-click') in the Diffusion Controller window where the speaker should be located. Each speaker is assigned an output channel number in the table in the Edit Speaker Maps window. Speakers are easily moved, so they do not have to be placed initially with high accuracy. Speakers can be moved by dragging them with the mouse, or by typing their coordinates into the table on the left. Multiple speakers can be selected using a shift-click and moved as a group (drag the group after clicking down on the last speaker). As speakers are added, the icons for the speakers are automatically rotated so that the speakers all appear to be pointing toward the center of the room. This is for appearance only, the matrix settings that result from the diffusion controller depend only on the speaker's location, not on the orientation of the icon. The table on the left lists each speaker's output channel and location. The location is specified in any convenient distance unit: feet, meters, cubits, etc. Note that grid lines appear for every unit, or every ten units, depending on the zoom level.

(Now split into two windows)

Speaker Map Origin

The default origin for a speaker map is in the lower left corner of the diffusion rectangle, resulting in x and y coordinates that are all positive numbers. Depending on room geometries and available dimensional data, it may be more convenient to locate the coordinate origin at another point in the diffusion rectangle. This is done by clicking the 'Set Origin' button and clicking at the location where the origin should be. A blue crosshatch appears at the speaker map origin, and existing speaker locations are re-calculated. The exact coordinates of the speaker map origin (relative to the lower left corner of the diffusion rectangle) can be entered in the speaker map table.

Diffusions

The next step is to add a diffusion to a cue in the editor. This is done by selecting a cue or a command where the diffusion should be added and doing 'New Diffusion' from the File menu. Double click on the diffusion item that was added (or select it and press return or enter) and an editor panel will appear containing a blank thumbnail of the diffusion space. Clicking on the thumbnail brings up the Diffusion Controller window and an 'Edit Trajectory' window containing a table with data for all trajectories in the diffusion.

Zoom and scroll controls below the diffusion rectangle allow a large range of room sizes to be accommodated. When editing in the Diffusion Controller is completed, pressing the 'Update' button closes the Diffusion Controller window and updates the diffusion with commands that perform the diffusion trajectories. .

Trajectories

(Now split into two window)

A trajectory defines how the audio from one input channel is distributed within the diffusion space over time. A diffusion cue may hold up to 64 trajectories, one for each input channel. With one or more speaker maps defined, trajectories can be added to a diffusion cue by clicking the plus button in the 'Trajectories' tab. The input channel and speaker map for the trajectory being added is specified in the 'Add Trajectory' dialog box..

Sound Points

Sound points may be added to the trajectory by command-clicking within the diffusion rectangle. A trajectory can contain any number of sound points. Sound points can be moved by dragging them with the mouse, or by typing their coordinates into the table on the left. Multiple sound points can be selected using a shift-click and moved as a group (drag the group after clicking down on the last point). Sound points are added following the last selected sound point, which appears in red.

In addition to a location, a sound point has a diameter, a transition time, a pause time and an optional input level. The diameter sets the size of the colored sphere surrounding the sound point. Each trajectory in a diffusion cue uses a different color for its sound point spheres. The larger the diameter, the more 'diffuse' the sound from that sound point is within the space. Specifically, the gain level.at a given speaker is based on the distance from the surface of the sound point's sphere to the speaker - the shorter the distance the higher the gain. A sound point with a larger diameter will result in larger gains in more speakers. The diameter can be adjusted by control-dragging up and down on the sound point, or by typing a diameter number into the trajectory table. The diameter number is normalized (always in the range 0 to 1), with a diameter of one equal to the smaller of the two dimensions of the rectangle that encloses all of the speakers in the speaker map.

To get a feeling for how this works, place a sound point and arrange the windows so that the crosspoint area of the main window is also visible. Click and drag the sound point around the space. The gain levels of the crosspoints that route audio from the input channel of the trajectory to the output channels for the speakers will vary continuously as the point is moved about the space. When the point is near a speaker, the gain level for that speaker will be high.

When a second sound point is added to a trajectory, a line is drawn from the first point to the second. A time (in seconds : frames) appears along the line (and defaults to one second). This is the sound point's transition time. A small circle also appears which can be used to adjust the transition time (by control-dragging up and down). The transition time comes into effect when the trajectory is run, either by clicking the 'Go' button in the 'Trajectory' tab or by running the diffusion cue. (The transition time has no effect when a point is clicked or dragged, which causes the point's settings to be sent to the AB64 immediately). A sound point's transition time is the time period over which the system transitions from its previous settings to the settings established by the point's location and diameter. The previous settings typically are established by the previous point in the trajectory. In the case of the first point in a trajectory, the previous settings could have been established by a previous cue or by live matrix commands.

Consider the case of a trajectory with a single sound point. This trajectory could be used in a cue to simply set the matrix to a certain state. The transition time sets the time period during which the matrix state is established. If it is set to zero, for example, the matrix state is established instantly when the cue is run. If it is set to a non-zero time, the gain settings ramp over that time.

Now consider a trajectory with two or more sound points. When the trajectory is run, the system transitions from its previous state to the settings established by the first point during the first point's trransition time. Then the system transitions from those settings to the settings established by the second point during the time period set by the second point's transition time, etc. Thus a sound point's settings are fully established at the end of the point's transition time.

A pause time can be programmed before transitions occur. No changes take place in the matrix settings during the pause time. When the pause time completes, the transition time for a sound point begins.

Each point in a trajectory has a start time established by the sum of the pause and transition times of the previous points in the trajectory. The start time appears in the trajectory table. The start time of the first point in a trajectory is always zero.

The input level for the channel feeding audio into the trajectory can also be controlled by the sound points in the trajectory. At each sound point, the input level may be set, or not, according to the 'set' checkbox. If the 'set' box is checked, the input level (0 up to 127) is set as part of the matrix settings for that point. The transition time applies to the input level settings in exactly the same way as it does to the crosspoint settings.

All of the setting for a sound point can be edited by double clicking on the sound point. This brings up a dialog box that allows all of the sound point's parameters to be adjusted.

When multiple trajectories are present, the diffusion rectangle can be crowded. The 'Visible' checkboxes in the Trajectories table allows a subset of the trajecories to be displayed.

Delay

The Diffusion Controller can also set crosspoint delay settings based on sound point locations. This can greatly enhance the sense of localization, based on the precedence effect. Clicking on the 'Delay Settings' button on the trajectory controller brings up a dialog box which controls the generation of delay commands by the diffusion controller throughout the show. Delay can be set always off, per-trajectory or always on. If set per-trajectory, a check box is activated in each trajectory, and delay can be activated or deactivated individually for each trajectory in the show. Also, delays can be suppressed if they are below or above specified millisecond thresholds. When delays are activated globally ('always on' is checked), diffusions elsehwere in the show must be opened and updated before delay commands are generated for those diffusions.


Text Form for AudioBox Commands

This section specifies the format for the textual representation of AudioBox show commands used in ABShowMaker.

For more detailed specifications of all AudioBox commands see the AudioBox Command Set Document (this link requires an internet connection).

Gain Commands
SET LEVEL level INPUT channel Sets amplitude level of an input channel
SET LEVEL level INPUT channel RAMP timecode Sets amplitude level of an input channel with ramp time
SET LEVEL level INPUT channel EXP RAMP timecode Sets amplitude level of an input channel with exponential ramp time
SET LEVEL level OUTPUT channel Sets amplitude level of an output channel
SET LEVEL level OUTPUT channel RAMP timecode Sets amplitude level of an output channel with ramp time
SET LEVEL level OUTPUT channel EXP RAMP timecode Sets amplitude level of an output channel with exponential ramp time
SET LEVEL level INPUT channel OUTPUT channel Sets amplitude level of a crosspoint
SET LEVEL level INPUT channel OUTPUT channel RAMP timecode Sets amplitude level of a crosspoint with ramp time
SET LEVEL level INPUT channel OUTPUT channel EXP RAMP timecode Sets amplitude level of a crosspoint with exponential ramp time
SET POLARITY INVERT INPUT channel OUTPUT channel Inverts signal polarity at a crosspoint
SET POLARITY NORMAL INPUT channel OUTPUT channel Sets signal polarity normal at a crosspoint
SET SOURCE channel ANALOG level PLAYBACK level DIGITAL level Sets the source mix for an input channel
SET MATRIX ALL OFF Sets all input, output and crosspoint levels off
SET MATRIX ALL ON Sets all input, output and crosspoint levels to maximum (127)
SET MATRIX DIAGONAL Sets all input, output and diagonal crosspoint levels to maximum (127)

Playback Commands
LOAD PLAYBACK "filename" CHANNEL channel Loads beginning of audio file (location 0:0:0) on playback channel
LOAD PLAYBACK "filename" AT location CHANNEL channel Loads audio file at location on playback channel
START PLAYBACK "filename" CHANNEL channel Starts playback at beginning of audio file on playback channel
START PLAYBACK "filename" AT location CHANNEL channel Starts playback at location in audio file on playback channel
START PLAYBACK ALL CHANNELS Starts playback of all enabled channels
START PLAYBACK CHANNEL channel Starts playback at current location on channel (if enabled)
START PLAYBACK CHANNELS channelList Starts playback at current location on listed channels (if enabled)
STOP PLAYBACK ALL CHANNELS Stops playback on all channels
STOP PLAYBACK CHANNEL channel Stops playback on channel
SET PLAYBACK STOP "filename" AT location CHANNEL channel Sets automatic playback stop in audio file at location on playback channel
SET PLAYBACK RESUME "filename" AT location CHANNEL channel Sets resume ("jump to") in audio file at location on playback channel
DISABLE PLAYBACK CHANNEL channel Disable playback channel
SET STOP NOTIFICATION CHANNEL channel command Sets a command to run when playback stops on playback channel
REMOVE STOP NOTIFICATION CHANNEL channel Removes stop notification on playback channel

Show Control Commands
OPEN LIST list Opens the list in the current show
OPEN LIST list PATH path Opens the path in the list in the current show
CLOSE LIST list Closes the list in the current show
CLOSE LIST list PATH path Closes the path in the list in the current show
GO NEXT CUE ALL LISTS Fires the next cue in all open lists
GO CUE cue ALL LISTS Fires the specified cue in all open lists
GO CUE cue LIST list Fires the specified cue in list
GO CUE cue LIST list PATH path Fires the specified cue in path in list
GO JAM CLOCK NEXT CUE ALL LISTS Sets all list clocks and fires the next cue in all open lists
GO JAM CLOCK CUE cue ALL LISTS Sets all list clocks and fires the specified cue in all open lists
GO JAM CLOCK CUE cue LIST list Sets the list clock and fires the specified cue in list
GO JAM CLOCK CUE cue LIST list PATH path Sets the list clock and fires the specified cue in path in list
LOAD CUE cue LIST list Sets the next (standby) cue in list
LOAD CUE cue LIST list PATH path Sets the next (standby) cue in path in list
STOP ALL CUES ALL LISTS Stops all running cues in all open lists
STOP CUE cue ALL LISTS Stops cue in all open lists
STOP CUE cue LIST list Stops cue in list
RESUME ALL CUES ALL LISTS Resumes all stopped cues in all open lists
RESUME CUE cue ALL LISTS Resumes cue in all open lists
RESUME CUE cue LIST list Resumes cue in list
START CLOCK ALL LISTS Starts clock in all lists
START CLOCK LIST list Starts clock in list
STOP CLOCK ALL LISTS Stops clock in all lists
STOP CLOCK LIST list Stops clock in list
ZERO CLOCK ALL LISTS Zeros clock in all lists
ZERO CLOCK LIST list Zeros clock in list
SET CLOCK timecode ALL LISTS Starts clock in all lists
SET CLOCK timecode LIST list Starts clock in all lists
MTC CHASE ON ALL LISTS Sets clock in all lists to following MIDI time code
MTC CHASE OFF ALL LISTS Sets clock in all lists to internal clock (stopwatch)
MTC CHASE ON LIST list Sets clock in list to following MIDI time code
MTC CHASE OFF LIST list Sets clock in list to internal clock (stopwatch)
ENABLE MTC GENERATOR Enable internal MIDI time code generator
DISABLE MTC GENERATOR Disable internal MIDI time code generator
START MTC GENERATOR Start internal MIDI time code generator
STOP MTC GENERATOR Stop internal MIDI time code generator
ZERO MTC GENERATOR Zero internal MIDI time code generator
SET MTC GENERATOR timecode Set internal MIDI time code generator
SET MTC SOURCE LIST list INTERNAL Set list clock time code source to internal MIDI time code generator
SET MTC SOURCE LIST list EXTERNAL Set list clock time code source to external MIDI time code
ENABLE SLAVE MODE LIST list Enable slave mode for list
DISABLE SLAVE MODE LIST list Disable slave mode for list
RESET SHOW Reset show

EQ Commands
SET LOWSHELF INPUT channel BAND band FREQ frequency BW bandwidth GAIN gain Sets low shelf filter band on input channel
SET PEAKING INPUT channel BAND band FREQ frequency BW bandwidth GAIN gain Sets peaking filter band on input channel
SET HIGHSHELF INPUT channel BAND band FREQ frequency BW bandwidth GAIN gain Sets high shelf filter band on input channel
SET LOWPASS INPUT channel BAND band FREQ frequency BW bandwidth GAIN gain Sets lowpass filter band on input channel
SET HIGHPASS INPUT channel BAND band FREQ frequency BW bandwidth GAIN gain Sets highpass filter band on input channel
SET NOTCH INPUT channel BAND band FREQ frequency BW bandwidth GAIN gain Sets notch filter band on input channel
SET BANDPASS INPUT channel BAND band FREQ frequency BW bandwidth GAIN gain Sets bandpass filter band on input channel
SET LOWSHELF OUTPUT channel BAND band FREQ frequency BW bandwidth GAIN gain Sets low shelf filter band on output channel
SET PEAKING OUTPUT channel BAND band FREQ frequency BW bandwidth GAIN gain Sets peaking filter band on output channel
SET HIGHSHELF OUTPUT channel BAND band FREQ frequency BW bandwidth GAIN gain Sets high shelf filter band on output channel
SET LOWPASS OUTPUT channel BAND band FREQ frequency BW bandwidth GAIN gain Sets lowpass filter band on output channel
SET HIGHPASS OUTPUT channel BAND band FREQ frequency BW bandwidth GAIN gain Sets highpass filter band on output channel
SET NOTCH OUTPUT channel BAND band FREQ frequency BW bandwidth GAIN gain Sets notch filter band on output channel
SET BANDPASS OUTPUT channel BAND band FREQ frequency BW bandwidth GAIN gain Sets bandpass filter band on output channel
SET EQ BANDS bands INPUT channel Sets number of bands of EQ on input channel
SET EQ BANDS bands OUTPUT channel Sets number of bands of EQ on output channel

Delay Commands
SET DELAY delay INPUT channel Sets delay at input
SET DELAY delay OUTPUT channel Sets delay at output
SET DELAY delay INPUT channel OUTPUT channel Sets delay at crosspoint
SET DELAY delay INPUT channel OUTPUT channel RAMP timecode Sets delay at crosspoint

Submaster Commands
SET LEVEL level SUBMASTER submaster Sets submaster level
SET SUBMASTER GAIN submasterGain Sets gain for all submasters
SET SUBMASTER ZERO level Sets zero level for all submasters

Mute / Solo Commands
MUTE INPUT channel Mutes input channel
UNMUTE INPUT channel Unmutes input channel
SOLO INPUT channel Solos input channel
UNSOLO INPUT channel Unsolos input channel
MUTE OUTPUT channel Mutes output channel
UNMUTE OUTPUT channel Unmutes output channel
SOLO OUTPUT channel Solos output channel
UNSOLO OUTPUT channel Unsolos output channel

Parameters
band EQ band 1..7
bands Number of bands of EQ on a channel 0..7
bandwidth Bandpass filter bandwidth, percentage of center frequency, 1..99
channel 1..64 input or output channel number
channelList comma-separated list of channels and ranges (using dash)
Examples: 1,3,5 48-55 1, 5-10, 44
command any of the commands in this reference except SET STOP NOTIFICATION
controller MIDI continuous controller number 0..127
cue 1..65535 cue number, up to four subnumbers 1..255
Examples: 25 25.1 25.1.247 1035.1.247.15 30000.1.247.15.7
delay delay in milliseconds 0..999 (actual delay available varies, see command set)
"filename" name (in quotes) of audio file on AudioBox drive
frames frames per second: 24, 25 or 30
frequency EQ center frequency in Hertz, 20..18000
gain EQ gain in dB, -20..20 Examples: 8.8 -12.3
level 0..127 midi amplitude level
list 1..127 list number
location playback location, hr:ms:sc:fr, same format as timecode
real time yy/mm/dd dow hh:mm:ss (year/month/day day-of-week hour:minute:second)
day-of-week is SUN, MON, TUE, WED, THU, FRI or SAT
year, month, day and day-of-week fields are optional. If left out, values are "don't match"
"**" is used within year/month/day and hour:minute:second fields to indicate "don't match"
hour:minute:second field is required
Examples:
05/09/14 15:10:00 fire cue on September 14, 2005 at 3:10 PM
05/09/** WED 15:10:00 fire cue at 3:10 PM every Wednesday in September, 2005
SAT 15:10:00 fire cue at 3:10 PM every Saturday
15:10:00 fire cue at 3:10 PM every day
**:10:30 fire cue at 10 minutes 30 seconds past every hour
timecode hr:mn:sc:fr
hr: hours 0..23, mn: minutes 0..59, sc: seconds 0..59, fr: frames 0..frames per second - 1
Examples:
12 12 seconds (single number without ':' interpreted as seconds)
12:21 12 seconds, 21 frames (if colon ':' is in timecode, rightmost number is frames)
2:12:00 2 minutes, 12 seconds
1:02:12:00 1 hour, 2 minutes, 12 seconds
path 1..2047 path number
submaster 1..32 submaster number