To create and export a script for the PyroDigiT firing system, please follow these three steps:
- Design the show.
- Set the Section field for launch positions with AFC32 units (Right-click positions and edit position properties to enter the AFC32 unit number 1-99 servicing those positions, if any, into the Section field.).
- 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 the PyroDigiT software.
Figure 1 – PyroDigiT Master 999 Touch control panel
The PyroDigiT CSV is a human-readable text file that contains the essential information for the PyroDigiT Master 999 Touch to fire the show.
Table 1 – File format and encoding
|File format||Extension||Text encoding||Field delimiter||End-of-line|
The script contains five header lines, followed by a single header row with the column names of the rows, followed by the rows themselves. 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.|
|What rows represent||Each row identifies a unique firing pin ignition (i.e., unique rail address, pin address, ignition time).|
|Module types||Rows in the script can represent multiple types of modules: |
pyrodigit_slave_15 — 15 pins
Slave modules connect directly to PyroDigiT Master 999 Touch controllers and therefore only need a single module number XXX to identify the slave, in the Rail Address field in the exported script. SM15 slats connect to AFC32 units, which connect to Master 999 Touch controllers. Thus SM15 slats require two fields for their addresses: XXX to identify the slat in the Rail Address field; and YY to identify the AFC32 unit, in the AFC32 Address field. (See Using AFC32 units, below.)
|Special characters||Fields include any Unicode characters except: ‘ , ; ” \ tab and newline and other control characters.|
|Support for semi-autonomous firing||The Cue and Track fields support semi-autonomous firing mode. Cue numbers begin at one and increment with each new ignition time or each new track group of effects. The Track is an optional identifier associating a collection of rows that are to be fired together as a sequence or “macro” with a single trigger in semi-autonomous mode on the firing system. Cue numbers do not increment within a track group of effects.|
|Header||The file contains a five line header, consisting of:|
Unique identifier (a SHA1 checksum of the file contents)
Each script row has the following fields:
Table 3 – Specifications of script fields
|Cue||The cue count, beginning with one and incrementing at each new ignition time or at each new track group of effects. The cue count does not increment within a track group of effects even if the effects in the track group have different ignition times.|
|Ignition Time||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 HH:MM:SS.DDD.|
|Duration||The duration represents the lifetime of the perceived visual effect, which is usually interpreted for shells as the time from break to dissipation of the stars. Format is in seconds with two digits after the decimal point.|
|Device Count||The number of devices (shells) represented by the row. May be more than one in the case of chains or multiple e-matches connected to the same firing system pin.|
|Delay||The delay from the ignition time to the perceived visual effect. This delay typically includes the lift time (for shells) plus any fuse time between the ignition time and the first launch of the effect. Format is in seconds with two digits after the decimal point.|
|Effect Name||The name of the effect.|
|Size||The device caliber. Format is either a number followed by double-quote for inches or “mm” for millimeters, or the string “NA” or blank for effects for which the caliber term is not applicable.|
|Category||A user defined string identifying the category of the effect.|
|Type||One of several pre-defined terms that have specific meaning in Finale 3D (see Why is ‘Type’ so important? What depends on it?).|
|Angles||A list of angles in degrees, separated by spaces, for the effects represented by this row in the script.|
|Position||The name of the launch position from which the effect is fired.|
|Module Type||The type of module or slat: pyrodigit_slave_15, pyrodigit_slave_30, pyrodigit_slave_60, pyrodigit_afc32_sm15.|
|AFC32 Address||For effects fired from SM15 slats connected to AFC32 units, the Section field in the script is the AFC32 unit number, from 1-99. The addressing functions copy the Section field from the launch position into the script event’s Section field at the time of addressing, so please specify the AFC32 unit for each launch position by editing the position properties prior to addressing the show. (See Using AFC32 units, below.)|
|Rail Address||The module number XXX in the case of slave modules or slat number XXX in the case of SM15 slats connected to AFC32 units (see Section field for identifying the AFC32 units).|
|Pin Address||The pin number.|
|Part Number||A user-defined identifier for the effect.|
|Manufacturer Part Number||The manufacturer part number.|
|Track||A string identifying a group of effects that are to be fired as a sequence with a single trigger if the firing system is in semi-autonomous mode.|
The example script below shows an exported script with nine pairs of shots and two different types of modules. The cue numbers are the same for both effects in each pair. The rail address of the AFC32 unit 15-pin slats contain two numbers to identify the AFC32 unit and the slat independently.
1234567890 My Test Show C:\Users\wharvey\Documents\finale_3d_website_media\test_pyrodigit02.mp3 NYE New York Cue Ignition Time Duration Device Count Delay Effect Name Size Category Type Angles Position Module Type AFC32 Address Rail Address Pin Address Part Number Manufacturer Part Number Track 1 00:00:02.760 1.02 2 2.24 (2) Red Chrysanthemum ... 2" 2 Assorted shell 0 0 Pos-01 pyrodigit_slave_15 001 1 G2SH1000 G2SH1000 2 00:00:05.260 1.02 2 2.24 (2) Red Chrysanthemum ... 2" 2 Assorted shell 0 0 Pos-02 pyrodigit_slave_15 002 1 G2SH1000 G2SH1000 3 00:00:07.760 1.02 2 2.24 (2) Red Chrysanthemum ... 2" 2 Assorted shell 0 0 Pos-03 pyrodigit_slave_15 003 1 G2SH1000 G2SH1000 4 00:00:10.260 1.02 2 2.24 (2) Red Chrysanthemum ... 2" 2 Assorted shell 0 0 Pos-04 pyrodigit_afc32_sm15 01 004 1 G2SH1000 G2SH1000 5 00:00:12.760 1.02 2 2.24 (2) Red Chrysanthemum ... 2" 2 Assorted shell -30 30 Pos-05 pyrodigit_afc32_sm15 01 005 1 G2SH1000 G2SH1000 6 00:00:15.260 1.02 2 2.24 (2) Red Chrysanthemum ... 2" 2 Assorted shell -30 30 Pos-06 pyrodigit_afc32_sm15 01 006 1 G2SH1000 G2SH1000 7 00:00:17.760 1.02 2 2.24 (2) Red Chrysanthemum ... 2" 2 Assorted shell 0 0 Pos-07 pyrodigit_afc32_sm15 01 007 1 G2SH1000 G2SH1000 8 00:00:20.260 1.02 2 2.24 (2) Red Chrysanthemum ... 2" 2 Assorted shell 0 0 Pos-08 pyrodigit_afc32_sm15 01 008 1 G2SH1000 G2SH1000 9 00:00:22.760 1.02 2 2.24 (2) Red Chrysanthemum ... 2" 2 Assorted shell 0 0 Pos-09 pyrodigit_afc32_sm15 01 009 1 G2SH1000 G2SH1000
Figure 1 – Example PyroDigiT script with slaves and AFC32 slats
Using AFC32 units
As discussed above, PyroDigiT AFC32 units require two addresses for their pins, XXX to identify the slat number, and YY to identify the AFC32 unit itself. When you address the show using Finale 3D‘s addressing functions, Finale 3D assigns the slat numbers XXX for all the shots, but the addressing functions do not take into consideration the AFC32 unit numbers YY for the shots. You need to specify the AFC32 unit numbers yourself, prior to addressing the show, by setting the numbers in the “Section” field of the launch positions’ position properties.
Figure 2 – Set the position properties’ Section field to the AFC32 unit number
Since you may want multiple launch positions to use the same AFC32 units you can set multiple positions’ Section fields to the same AFC32 unit number. Here are two examples.
In the first example, the user has four launch positions total, A, B, C, D. Each launch position has 16 x 15-pin slats. Thus 64 15-pin slats are required in total, which means two AFC32 units are required. So the user sets the Section field of launch position A and B to 01 (for example), and sets the Section field of launch positions B and C to 02. The rows in the exported script will thus include AFC32 numbers YY and slat numbers XXX of,
At position A: 01-001 01-002 01-003 ... 01-016 At position B: 01-017 01-018 01-019 ... 01-032 At position C: 02-033 02-034 02-035 ... 02-048 At position D: 02-049 02-050 02-051 ... 02-064
Figure 3 – Example addresses for two launch positions A and B sharing the same AFC32, and two other launch positions C and D sharing a different AFC32
Alternatively, the user may want to put a separate AFC32 at each of the positions A, B, C, D. That would require four AFC32 units instead of two, which is less efficient but maybe the user wants to do it anyway. To do that, the user specifies the Section of position A is 01; the Section of position B is 02; the Section of position C is 03; the Section of position D is 04. When the user exports the script, it will contain,
At position A: 01-001 01-002 01-003 ... 01-016 At position B: 02-017 02-018 02-019 ... 02-032 At position C: 03-033 03-034 03-035 ... 03-048 At position D: 04-049 04-050 04-051 ... 04-064
Figure 4 – Example addresses for four launch positions A, B, C, and D each with its own AFC32
Since the AFC32 Address is not part of the Rail Address or the Pin Address, it is is not present in the standard label configurations. To get the AFC32 Addresses to be included on the labels, you will need to modify an existing labels template or create a new one that has the Section field from the script window as one of the displayed fields (recall that the AFC32 Address comes from the Section field in Finale 3D.) Instructions for configuring labels templates are, Labels basic instructions.
Table 4 – Example files