Export Script to Galaxis GS2
In order to make a firing script, you need to configure your show with the specifications of your firing system. The easiest way to do this is with the menu item "Show > Set firing system > Galaxis". You can also set the user preference "File > Preferences > Firing system > Galaxis" so that all your new shows will come up pre-configured for Galaxis.
For certain advanced techniques, you may want to configure the modules at your launch positions individually. For instructions, please see the Export Overview section. When configuring your launch positions for the Galaxis firing system, use integers starting from 1 for the module addresses (device numbers); specify the first pin (output number) is 1, and number of pins is 100 or however many outputs the module has.
Once you've scripted your show and you are ready to export your firing script, click the "File > Export firing script > Galaxis" menu item. The sound track is not embedded in the script, so if you have a sound track you should simply use the same file that you uploaded into Finale.
Importing scripts to create visualizations is discussed in detail in Import Show, though for Galaxis GS2 scripts the importing process is so simple you can do it with a single menu command. Brief instructions are given below.
The following files are an example show file that you can load into Finale, plus the exported scripts for Galaxis with and without steppers (you can add the steppers after loading the script into Pyrotech Composer). More explanation of the examples is provided in the Export Examples section.
Understanding the Galaxis Script
The exported GS2 script is a text file that you can inspect and edit in a text editor, but it is in a format that is difficult to read. The format consists of three header fields, followed by a record of 70 fields for each firing row. All fields are separated by carriage return line feed (\r\n), which makes the script quite long in a text editor.
Not all of the 70 fields of each firing row are required. The exported script will contain valid values for the following fields, shown with field numbers counting from 0 (i.e., 0-69). The remaining fields will be empty.
Unique Event Time Count. Finale writes this field when exporting but ignores it when importing. See explanation below; starts with 1. (Field #0)
Dt. Finale writes this field when exporting but ignores it when importing. See explanation below; represented in Galaxis integer time representation. (Field #1)
Event Time. Finale reads and writes this field. See explanation below; represented in Galaxis integer time representation. (Field #2)
Effect Time. Finale reads and writes this field. See explanation below; represented in Galaxis integer time representation. (Field #3)
Delay. Finale writes this field when exporting but ignores it when importing because the Event Time and Effect Time suffice. Represented in the format 0,00. Finale writes the sum of the prefire plus any external delay, i.e., the difference between the event time and the effect time. (Field #4)
Duration. Finale reads and writes this field. Finale writes the effect duration in the format 0,00. If the field is blank in Finale, Finale will write the value 0,00. (Field #5)
Step Cue. Finale writes this field when exporting but ignores it when importing. See explanation below; represented in Galaxis integer time representation. (Field #8)
Step Delay. Finale writes this field when exporting but ignores it when importing. See explanation below; represented in Galaxis integer time representation. (Field #9)
Category. Finale writes the Part Type from the Finale script, e.g., shell, comet, mine, etc. Finale ignores this field when importing. (Field #10)
Item Name. Finale reads and writes the Effect Description field of the Finale script, which may be in a non-English language. When importing, Finale reads field #12 if this field is blank. (Field #11)
Description. Finale reads and writes the VDL field of the Finale script, is used to construct the simulation. This field is expected to be in English. When importing, Finale reads field #11 if this field is blank. Limited to 80 characters. (Field #12)
Size. Finale reads and writes this field. Finale writes the effect size string, e.g., 100mm or 4". (Field #13)
Position. Finale reads and writes this field. Finale writes the name of the launch position. If the script row refers to multiple launch positions, Finale writes the first one. (Field #22)
Angle. Finale reads and writes this field. Finale writes the angle of the first effect ignited by this row, in degrees, followed by symbol font arrow characters dG, dF, and dH, e.g., up = 0dG. (Field #23)
Device Number. Finale reads and writes this field. Finale writes the module number. (Field #28)
Output Number. Finale reads and writes this field. Finale writes the pin number. (Field #29)
SC-ID. Finale writes this field when exporting but ignores it when importing. See explanation below. (Field #30)
Part Number. Finale reads and writes this field. Finale writes the part number. (Field #42)
The Galaxis integer time representation is an integer whose last two digits represent hundredths of a second, whose next two digits represent seconds, and whose next one or two digits represent minutes. For example, the representation of 1 minute, 20 seconds, 10/100ths is 12010, not 8010.
The firing rows are sorted by ignition time. Each firing row represents an effect at a unique ignition time or an additional effect at the last ignition time. Thus each ignition time is represented by one or more sequential rows. The ignition time count (Field #0) is 1 for the first ignition, and increments for each new ignition time. The following "Dt" field (Field #1) is the time delta to the next ignition time, or blank for additional effects at the last ignition time.
Galaxis addresses the issue of wireless transmission times by combining rapid sequences of ignition events into short programs ("steppers") triggered by the first ignition time event in the sequence. Finale can export scripts with or without steppers, but if your script contains sequences of events with less than 0.3 seconds between them then you need to export the script with steppers or add the steppers using a command in Pyrotech Composer before downloading to your modules.
When converting the script to use steppers, the "Ignition time count" (Field #0), "Dt" (Field #1), "Step cue" (Field #8), and "Step delay" (Field #9) fields are changed to represent the stepper programs. Only the first ignition time in a stepper program counts, so the Ignition time count field is blank for all but the first row in a stepper sequence and any immediately following rows at the same ignition time. The Dt field for stepper rows is blank except for the first row, which contains the delta to the next counted ignition time. The Step cue and Step delay fields of the first row and immediately following rows at the same ignition time are blank; for subsequent rows the Step cue is the Ignition time count of the first row, and the Step delay is the time delta between the row's ignition time and the ignition time of the first row in the stepper sequence.
The "SC-ID" field (Field #30) is a unique row ID. Exported scripts contain 10000 for the first row, then 10001, 10002, etc., incrementing for each row.
Prior to the 70-field firing row records, the script contains a three field header. The first two header fields are the script format version number and date. The third header field is the next available SC-ID, i.e., 10000 plus the number of firing row records.
Downloading firing script to Galaxis
The composer software from Galaxis is required to send the firing script file to the controller. There is a "Lite" version of the software that can download the script - the full version of the composer should not be required.