No user ID provided.

Software Documentation

Software Documentation

Firing SystemsDocumentation

Integration Intermediate Last updated: October 20, 2021

29 PyroMaster

To create and export a script for PyroMaster, please follow these three steps:

  1. Design the show.
  2. Address the show (“Addressing > Address show”).
  3. Export the script (“File > Export > Export firing scripts“).

Step 3 creates the script file, which is a CSV file with a .PME extension that you can import into your PyroMaker firing system software, or Excel.

Figure 1 – A 24 pin Slave 24 PyroMaster module.


The PyroMaster system uses some information that is not represented in Finale 3D, and has some concepts that have representations in Finale 3D under different names.  Table 1 shows the terms used by the PyroMaster system and their corresponding terms in Finale 3D.


Table 1 – PyroMaster terms and their representation in Finale 3D

PyroMaster Term Corresponding Term in Finale 3D Explanation
Device ID (nothing) The Device ID is a long hardware ID, analogous to a MAC address, that uniquely identifies a physical device like a Slave or Replicator.
User Address (nothing) The User Address is a shorter, user-defined identifier that stands for a specific Device ID.  Use the PyroMaker software to associate your own user-defined User Addresses with the fixed Device IDs of your hardware.
Module and Pin Module and Slat and Pin for SL-240; Module and Pin (no Slat) for SL-24, SL-48, SQ-48 In the PyroMaster system, each Slave or Sequencer device has a contiguous range of pins (24, 48, or 240).  Replicator slats can be configured to map their 12 pins to arbitrary subsets of the Slave or Sequencer’s pins.  Thus PyroMaster Slave and Sequencer addresses only include a module number and pin number; Replicator pins are aliases of those addresses.

In Finale 3D, the 24 and 48 pin devices also have contiguous ranges of pins, but the 240 pin device has 20 banks (“Slats”) of 12 pins each.  The banks of the 240 pin device are identified by the slat number in Finale 3D, from 1-20, which must be combined with the pin numbers to yield pin addresses in the contiguous range from 1-240.  Pin 1 of bank 2 corresponds to pin 13 of the contiguous range; pin 1 of bank 3 corresponds to pin 25; etc.

Consider a front of five positions firing 12 shots at varying times.  This example could be implemented with one SL-240 Slave module with five banks of pins distributed by way of Replicators to each of the five positions.  You can address this example in Finale 3D by specifying that the five positions in the front are part of the same “Section”; and specifying that the section uses the module type pyromaster_sl240_20x12; and specifying constraints that modules can be shared across positions in the same section but slats cannot. The resulting addresses will be XXX-1-1 through XXX-1-12 in one position; XXX-2-1 through XXX-2-12 in the second position, and so on up to XXX-5-1 through XXX-5-12 in the fifth position (XXX being whatever module number is assigned).    Use the PyroMaker software to assign User Addresses of Replicators for the addresses of all five positions, and to allocate an SL-240 to serve the Replicators (six pieces of hardware in total).

The script file exported from Finale 3D contains only the rail and pin addresses of the firing system hardware, not the Device IDs or User Addresses.  After importing the Finale 3D script into PyroMaker, you need to assign a User Address to each unique rail address per position from the Finale 3D script.  If the same rail address is used in two or more positions, each position will require its own User Address for the rail address, as each User Address represents a physical piece of hardware that is located at one position or the other, even if both pieces of hardware are firing the same rail and pin address.

Using the PyroMaker software you must also create a mapping of the User Addresses to the fixed Device IDs of the physical hardware.

In future releases, Finale 3D may provide a feature to assign User Addresses automatically, and Finale 3D may include them as a new field in the exported script.  If you assign User Addresses within Finale 3D, you can use Finale 3D‘s custom labels to print out hardware labels with the User Addresses and to print out product labels that include the effect information in addition to the position, angle, User Address and pin address as required for setting up the show.


Table 2 – File format and encoding

File format Extension Text encoding Field delimiter End-of-line
Text PME UTF-8 Tab CRLF 

The PME script contains a single header row with the column names in fixed order, followed by the rows themselves. The special characteristics of the script are shown in the following table:


Table 3 – Special characteristics

Special characteristics Description
Sort order of rows Rows are sorted by ignition time.
What rows represent Each row identifies a unique firing pin ignition on a hardware device, i.e., unique rail address, pin address, position.  Pins fire only once, at a single time.   If two effects fire from the same rail address, pin address, and position, the two effects will be represented as a single row in the exported script.  However, if two effects fire from the same rail address, pin address, but different positions (using Replicator slats with the same rail address), the two effects will be represented by two separate rows.
Module types Rows in the script can represent multiple types of modules:

pyromaster_sl24_1x24 — SL-24 slave with a contiguous bank of pins 1-24
pyromaster_sl48_1x48 — SL-48 slave with a contiguous bank of pins 1-48
pyromaster_sq24_1x24 — SQ-24 sequencer with a contiguous bank of pins 1-24
pyromaster_sl240_20x12 — SL-240 slave serving 20 Replicator slats of 12 pins each, identified as bank 1, 2, 3, etc. in Finale 3D (no on-board pins on the SL-240)

Special characters Fields include any Unicode characters except: ‘ , ; ” \ tab and newline and other control characters.
Support for semi-automatic firing The Track field is reserved to support possible semi-automatic firing modes in future versions.  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-automatic mode.

Each script row has the fields shown in Table 4.


Table 4 – Specifications of script fields

Field name Description
Ignition Event 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 H:MM:SS.DD.
Prefire 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. Format is S.DD.
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. Format is M:SS.DD.
Effect Name The name of the effect.
Caliber 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.
Angles An ASCII art representation of the angles of the devices on this shot, made with backslash, vertical line, and forward slash characters.
Position Name The name of the launch position.
Section A user-defined label used to create groups of positions; module addresses are never shared across different sections.
Module Description The type and configuration of module or slat: pyromaster_sl24_1x24, pyromaster_sl48_1x48, pyromaster_sq24_1x24, pyromaster_sl240_20x12.
Module Address The module number XXX.
Slat Address The slat number 1-20 identifying a 12-pin bank in the SL-240 module’s contiguous range of pins; or blank for the other module types.
Pin Address The pin number beginning with 1.  For the SL-240, the pin number is relative to the bank and is thus in the range 1-12, not 1-240.
Lockout Identifier An integer greater than or equal to one, identifying a group of effects that can be disabled by pressing the associated button on the firing system controller during the performance, due to conditions.
Firing Notes Firing notes from the script pertaining to this row.
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 rows, representing ten shots.  The first two shots have the same position, module, and pin.  Thus in the exported file, they are combined as a single row.  The last two shots also have the same module (and slat) and pin, but not the same position.   Thus they are exported as separate rows (because the position is not the same).  It is not possible for two rows with the same module/slat/pin address to have different times.  Finale 3D will generate an error message if you try to export a file with that condition.

Ignition Event Time	Prefire Delay	Duration	Effect Name	Caliber	Angles	Position Name	Section	Module Description	Module Address	Slat Address	Pin Address	Lockout Identifier	Firing Notes	Track
0:00:02.76	2.24	0:01.02	(2) Red Chrysanthemum ...	2"	\/	Pos-01	s1	pyromaster_sl24_1x24	1		1			
0:00:02.86	2.24	0:01.02	Red Chrysanthemum	2"	|	Pos-02	s2	pyromaster_sl24_1x24	2		1			
0:00:02.96	2.24	0:01.02	Red Chrysanthemum	2"	|	Pos-03	s3	pyromaster_sl24_1x24	3		1			
0:00:03.06	2.24	0:01.02	Red Chrysanthemum	2"	|	Pos-04	s4	pyromaster_sl24_1x24	4		1			
0:00:03.16	2.24	0:01.02	Red Chrysanthemum	2"	|	Pos-05	s5	pyromaster_sl24_1x24	5		1			
0:00:03.26	2.24	0:01.02	Red Chrysanthemum	2"	|	Pos-06	s6	pyromaster_sl24_1x24	6		1			
0:00:03.36	2.24	0:01.02	Red Chrysanthemum	2"	|	Pos-07	s7	pyromaster_sl24_1x24	7		1			
0:00:03.46	2.24	0:01.02	Red Chrysanthemum	2"	\	Pos-08	s8	pyromaster_sl240_20x12	8	01	1			
0:00:03.46	2.24	0:01.02	Red Chrysanthemum	2"	/	Pos-09	s8	pyromaster_sl240_20x12	8	01	1					

Figure 2 – Example PME firing system script file for PyroMaster


Table 5 – Example files

Download link Explanation
test_pyromaster.pme Example exported file  (CSV)
test_pyromaster.fin Example show file