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 |
Text | CSV | ASCII | Comma | CRLF |
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
Special characteristics | Description |
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. |
When you export a firing script for FireByWire, Finale 3D presents an “Export Options” dialog with options for different versions, as shown in Table 3.
Table 3 – Export options
Option name | Description |
---|---|
Version | Choose the 1ms time resolution or 100ms time resolution script version. |
Each script row has the fields shown in Table 4.
Table 4 – Specifications of script fields
Field name | Description |
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 5 – Example files
Download link | Explanation |
test_firebywire.csv | Example exported file (CSV) |
test_firebywire.fin | Example show file |