Exporting to FireByWire


In order to make a firing script, you need to configure your launch positions with specifications of your firing system. For general instructions, please see the Export Overview section. The FireByWire system uses an unusual naming convention for the addresses of its modules, slats, and pins. The modules are given integer addresses beginning with 1 and usually padded with leading zeros to three digits, e.g., "001". Each module has up to four slats, which also have integer addresses beginning with 1, no extra padding. The slats each have sixteen pins labelled with letters A through P. Combining all three parts of an address together yields an address that looks like "001-2C" for the first module, its second slat, and third pin on that slat.

In Finale, when you configure your launch positions with FireByWire firing system units, you should add them to the launch position one slat at a time. Thus if you have two modules each with four slats at a launch position, you will need to add eight separate firing system unit rows to that launch position. Each row must contain the text "[slats 1]" in the description field, to indicate that each row represents a single slat. In the second position, the address should be module number dash slat number, e.g., "1-2". If you want, you can optionally pad the module number with leading zeros ("001-2"), though this is not required. The next field should contain the letter A for the first pin, and the following field should contain 16 for number of pins. Set the "matches per pin" field to the maximum number of devices you would like Finale to assign to a single pin, which could be anywhere from 1 (conservative) to dozens (aggressive) depending on your firing system hardware specifications and wiring choices. Once you are ready to export your firing script, click the "File > Export firing script > FireByWire" menu item.

The FireByWire Format

FireByWire scripts consist of a few header rows, followed by the rows of firing data. The first three columns are the row number, break time, and launch time. To the right of those columns are pairs of columns for each launch position. Each pair of columns consists of a first column containing the effect names on the shot, and a second column indicating the address of the shot. If a row contains shots at multiple launch positions in parallel, the columns for each involved launch position will contain firing data in the same row.

It is common to ignite multiple devices with a single pin, so to make the file easier to verify by eye, Finale concatenates the effect names in the name column if multiple effect names are involved. In the example below, that is why "Red_Peony_3" appears doubled up in rows 7-12. Special characters like double quotes or commas are removed, and spaces are replaced with underscore to make it easy to identify the individual effect names when they are combined.

Example File

FireByWire script						
Exported from Finale						
MLE Pyrotechnics						
x	Burst	Launch	Position1		Channel	Position2	Channel
1	00:10.0	00:07.1	Red_Peony_3		001-1A		
2	00:11.0	00:08.1	Red_Peony_3		001-1B		
3	00:12.0	00:09.1	Red_Peony_3		001-1C		
4	00:20.0	00:17.1					Red_Peony_3	002-2A
5	00:21.0	00:18.1					Red_Peony_3	002-2B
6	00:22.0	00:19.1					Red_Peony_3	002-2C
7	00:30.0	00:27.1	Red_Peony_3 Red_Peony_3	001-1D		
8	00:31.0	00:28.1	Red_Peony_3 Red_Peony_3	001-1E		
9	00:32.0	00:29.1	Red_Peony_3 Red_Peony_3	001-1F		
10	00:40.0	00:37.1	Blu_Peony_3 Red_Peony_3	001-1G		
11	00:41.0	00:38.1	Blu_Peony_3 Red_Peony_3	001-1H		
12	00:42.0	00:39.1	Blu_Peony_3 Red_Peony_3	001-1I		

The example above is based on four sequences of three shots separated by one second. The first six shots have a single effect per shot. The second six shots have two effects per shot. The show's hbs file for this example, which you can load in Finale, and its corresponding exported script file are available at the following links: