Exporting Firing Scripts


To export a script for your firing system or to export the Finale Generic CSV file, you first need to set up your show with launch positions and configure the launch positions for your firing system equipment. All fireworks in your show will need to launch from configured launch positions. Any fireworks not on a launch position or on a launch position that has not been configured for your equipment will either be ignored in the exported script or will appear as assigned to default equipment.

One you have added your launch positions, you configure them by clicking on the launch position, then clicking its "edit" button. If you have Finale PRO that will take you directly to the module window. If you have Finale Business Edition that will take you to a plan view window of the launch position, which has an "edit modules" link near the top; click that link. Once you are in the module window, click on the lower left link "Add firing system unit" and then customize the firing system unit (a module or slat) by filling in the various fields as described below.

Once you have added and configured your launch positions and scripted your show, you can select "File > Export firing system script" to export the script for your firing system or "File > Export Finale Generic CSV" to export a generic CSV file that you can load into Excel or Access and use as the basis of custom reports. Please see Export Examples for example files, Finale CSV for a description of the generic format, and Glossary for definitions of all the terms.

Configuring Launch Positions

Finale represents firing system equipment as collections of addressable "Firing System Units" at each launch position. An addressable firing system unit is a module or slat that has an address itself, such "1" or "1-A", and contains a set of pins, typically but not always beginning with the number one. Since firing systems have various customs for addressing modules, slats, and pins, Finale actually has to support a wide range of formats in which you can enter your addresses, including numbers, letters, combinations of numbers and letters, and hexadecimal.

When display operators have an ample supply of firing system modules that are all the same, they typically like to specify a single firing system unit at each launch position to be used as a a template, and let Finale auto-generate additional similar units to accommodate the shots. In other situations, when operators are using a variety of hardware or are carefully laying out the hardware so as to use as few pins as possible, operators may choose to specify all of the modules or slats at a launch position, in which case Finale won't need to auto-generate anything.

The simplest configuration for launch positions is to add a single firing system unit to each launch position, each unit representing a single slat or module. Finale will assign shots to the pins on that unit until exhausting all pins, and then will generate an additional unit to accommodate additional shots, using the unit you specified as a template.

If your firing system units are slats, then their addresses include the address of their parent modules. For example, if module 1 has four slats A through D, then the address of a firing system unit representing one of the slats might be "1-A". When Finale exhausts the pins available on that, slat, it will go on to add additional slats for the same module (e.g., "1-B") until reaching the number of slats per module, and then will add slats for the next available module following the same template (e.g., "2-A"). If your firing system units are slats, you do not add the modules explicitly; their presence can be inferred from the addresses of the slats.

Modules without slats are simpler to configure as firing system units, because their addresses are typically just a single letter or number, like just "1".

Auto-Generation of Slats

Since Finale will automatically generate additional slats for the same module, and then skip to add slats for the next available module number, the simplest configuration for slats is to begin with a single slat "A" for a different module number on each launch position, e.g., 1A, 2A, 3A, 4A, etc. That's all you need to do, as Finale will add additional slats, and by implication additional modules, as necessary. If you want to add multiple firing system units to launch positions manually in order to have more control over the use of your hardware, you can do that too, but remember that the firing system units represent slats, so you have to add the slats individually.

Finale will always add additional slats to a launch position based on the last slat in the list. For example, if you manually add to a launch position two slats, 1A and 3B, the first automatically generated slat will be 3C (based on 3B, ignoring the 1A).

Setting the Address of the Firing System Units

To configure the launch position, click on its edit button. In the "Edit Position Properties" dialog that appears click the link "Add firing system unit" in the lower left. If your hardware has modules with slats, then the you will enter the slats only; the modules will be implicit from the addresses of the slats. If your hardware has modules that themselves have pins, then you will enter the modules. Slats therefore have two-part addresses (specifying the module and slat); whereas modules have one-part addresses.

One-part addresses can be specified in the following formats: "1", "X", and "$1", where the number 1 indicates any number, the letter X indicates any letter, upper or lower case, and the dollar sign indicates that the following number is a hexadecimal number, which may contain digits 0-9 and letters A-F in upper or lower case (PyroDigital firing systems use hexadecimal addresses).

Two-part addresses can be specified in these formats: "1X", "1-X", "1-1", "$1-X", "$1-$1", "$1-1", or "1-$1". The first part of the address is the module address; the second part is the slat address relative to the module.

While the Finale Generic CSV format will preserve the address formats you type in, the other export formats for specific firing systems will convert whatever format you use to the format the firing system expects for its scripts. Typically you would use the same format in Finale that your firing system uses, to avoid confusion, but it is nice to know that you don't have to worry about upper and lower case.

Setting the Descriptions of the Firing System Units

Each firing system unit also has a description field, which serves two purposes: to allow you to specify additional instructions required for some firing systems, and to give you a space to write the description of your hardware as a convenience, such as "SM-32" or "M156". For many firing systems, the description field is entirely optional and could be left blank.

The additional instructions required for various firing systems are explained in the documentation sections for those firing systems. As an example, the word "m156" instructs Finale that the firing system unit is an ATF m156 module. Finale knows that such modules have 13 slats, A-M. Finale also knows that electrical constraints of the ATF m156 module require a minimum time separation between shots on the same module, which Finale will guarantee. As another example, the word "firebywire" tells Finale that each module has four slats 1-4. The word "pyrosure" tells Finale that each module has five slats A-F. Finale needs to know how many slats each module has if Finale is to auto-generate additional slats based on a template you specify, as described above.

Beyond the default number of slats per module implied by the specific keywords like "m156", you can explicitly specify the number of slats per module by including the phrase "[slats 1]" in the description, where 1 can be any number. The explicit specification overrides number of slats implied by the firing system keywords.

Aside from these instructions, any additional phrase or information you put in the description field is optional.

Setting the Other Firing System Unit Parameters

The other firing system unit fields you need to set, in addition to the description and address, are first pin, number of pins, and matches per pin. Like firing system units, pins have addresses. Most often, pin addresses are simply numbers beginning with 1, but that is not always the case. PyroDigital firing systems, for example, use hex numbers beginning with zero. FireByWire firing systems use letters to specify the pins. Finale supports three formats for pin addresses: "1", "X", and "$1", where as before the 1 is any number, the X is any letter, and the dollar sign indicates a hexadecimal number follows. The valid range of letters is A-Z; the valid range of numbers is 0-999. The pin address is relevant to the "first pin" field. Finale will follow the pin addressing format you use when you specify the first pin; thus that field both specifies which pin is the first, and also specifies the format for all pins.

The number of pins is always a number, in decimal format. Typically this number is just the number of pins your firing system unit has, though you can also split the a firing system unit's range of pins into multiple groups in order to use some of the pins on one launch position and other pins in another launch position. For example, you could configure one launch position with a unit with pins 1-16, and another launch position with a unit with the same address, but with pins 17-32.

The matches per pin field specifies the maximum number of ematches to be assigned to the same pin. The number 1 is safe for any firing system. Numbers greater than one may be okay for your firing system depending on whether you are connecting your ematches in series or parallel, and depending on the length of your wires. Please consult your firing system documentation for choosing the value for the matches per pin field if you use a number different from 1.