To create and export a script for the FireByWire firing system, please follow these three steps:
- Design the show.
- Address the show (“Addressing > Address show”).
- Export the script (“File > Export > Export firing scripts“).
Step 3 creates the script file, which is a CSV file that you can import into your firing system, or edit in a text editor.
Figure 1 – The FireByWire firing system
The exported script is a human-readable text file that contains little more than the essential information for a firing system controller to fire the show — the ignition time, effect time, channel, position, and effect name.
Table 1 – File format and encoding
|File format||Extension||Text encoding||Field delimiter||End-of-line|
The script contains rows of data fields separated by commas, and a few header rows. The script contains a variable number of columns that depends on the number positions, enabling each position’s data to shown in a separate pair of columns to represent the effects and channels of the shots on the position. The special characteristics of the script are shown in the following table:
Table 2 – Special characteristics
|Sort order of rows||Rows are sorted by ignition time (despite the fact that the effect time is the first field in each row).|
|Columns||Scripts contain three columns (row number, effect time, and event time), plus a pair of columns for each position to hold the effects and channels of shots at the position.|
|What rows represent||In FireByWire scripts exported by Finale 3D, each row identifies a unique firing pin ignition at a single position (i.e., unique module-slat-pin-position). Although FireByWire scripts are capable of representing shots at multiple positions in the same row (since the script format has columns for each position), Finale 3D keeps each shot on a separate row in its exported FireByWire scripts.|
|Module/slat/pin addresses||The FireByWire system employs modules with 4 slats of 8 or 16 pins each, for 32 or 64 pins in total per module.|
|Special characters||Fields include ASCII characters other than: ‘ , ; ” \ tab and newline and other control characters.|
Each script row has the fields shown in Table 3.
Table 3 – Specifications of script fields
|Row number||The row number count, beginning with 1.|
|Burst||The time of the visual impact of the effect, such as the break of the shell. Format is MM:SS.DDD.|
|Launch||The exact time of the firing system’s “ignition event” (application of a voltage to a pin) that ignites e-matches or triggers a sequencer that ultimately leads to the ignition of effects. Format is MM:SS.DDD.|
|<First position name>||The effect description of a shot in the first position.|
|Channel||The channel of a shot in the first position, in the format MMM-SP, where MMM is the module, beginning with 001, and S is the slat from 1-4, and P is the pin letter from A-P.|
|<Next position name>||The effect description of a shot in the next position.|
|Etc.||Additional columns for the remaining positions and their channels.|
The example script with three positions in Figure 2 below and the corresponding exported script in Figure 3 illustrate the arrangement of position columns in the FireByWire script export format.
Figure 2 – A script showing the module and slat numbers in the “Rail” column and the pin letter in the “Pin” column.
The three positions in the script shown in Figure 2 become pairs of columns in the FireByWire exported script, shown in Figure 3.
FireByWire script Exported from Finale MLE Pyrotechnics C:\Users\will\Documents\test_firebywire01.wav x,Burst,Launch,Pos-01,Channel,Pos-02,Channel,Pos-03,Channel 1,00:05.000,00:02.760,Green Chrysanthemum,001-1A,,,, 2,00:06.000,00:03.760,,,Green Chrysanthemum,002-1A,, 3,00:07.000,00:04.760,,,,,Green Chrysanthemum,003-1A 4,00:09.883,00:07.643,Green Chrysanthemum,001-1B,,,, 5,00:10.883,00:08.643,,,Green Chrysanthemum,002-1B,, 6,00:11.883,00:09.643,,,,,Green Chrysanthemum,003-1B 7,00:15.731,00:13.491,Purple Chrysanthemum,001-1C,,,, 8,00:15.731,00:13.491,,,Purple Chrysanthemum,002-1C,, 9,00:15.731,00:13.491,,,,,Purple Chrysanthemum,003-1C
Figure 3 – Exported FireByWire firing system script corresponding to the script of Figure 2
Table 4 – Example files