Software Documentation

Software Documentation

Firing SystemsDocumentation

Integration Intermediate Last updated: October 20, 2021

11 Firelinx

To create and export a script for the Firelinx firing system, 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 that you can import into your firing system.


Figure 1 – The Firelinx firing system


The CSV is a human-readable text file that contains the essential information for a firing system controller to fire the show, beginning with a section defining the format version number and defining the list of the user’s chosen hazard group names and the bit flags in the script format that correspond to the names, followed by the list of firing rows.  The firing row fields are tab delimited; and therefore Excel-style double quote field wrapping is unnecessary.  A field containing the caliber 3″ is just 3″, not “3””” .


Table 1 – File format and encoding

File format Extension Text encoding Field delimiter End-of-line
Text CSV UTF-8, no BOM Tab CRLF 

The rows comprising the header section are all preceded with pound sign (#).   The row immediately following the header section lists the column names for the remaining rows, which comprise the firing information. 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.
What rows represent Each row identifies a unique firing pin ignition (i.e., unique rail address, pin address, ignition time).
Module types The script implicitly supports both 24 and 64 pin module types, as chosen by the user when addressing the show.  The module type is not explicitly included in the script.
Special characters Fields include any Unicode characters except tab and newline and other control characters.
Hazard groups The purpose of hazard groups is to enable the user to disable sections of the show in real time based on evolving conditions as the show progresses, such as wind direction or a detonation in a rack.  In Finale 3D, a user can tag events in the script as members of hazard groups by adding one or more user-defined terms (i.e., words) to the Hazard column in the script window.  Each unique term defines a hazard group.  A script event that lists multiple terms in the Hazard field is therefore a member of multiple groups.
Tracks The user can divide a script into separately triggered or stepped subsequences by tagging the script rows with the subsequence number in the Track field, beginning with 1.  The user is expected to assign track numbers in increasing order, with no gaps, or optionally not to assign any track numbers for a show that has a single trigger.
Header section The header section of the exported script consists of lines beginning with pound sign (#), such as:

#version 1.0
#all 1
#wind 2

The “DisableNames” section maps the hazard group terms to big flags, 1, 2, 4, etc.  The Hazard column of the exported script contains integers summing the bit flags of the groups of which the event is a member.

Each script row has the fields shown in Table 3.


Table 3 – Specifications of script fields

Field name Description
Event Cue The “Event Cue” column contains triggers for subsequences in the show, starting with 1 and counting up based on “track numbers” that the user optionally has assigned in the script. If the show has no track numbers specified and therefore requires only one trigger, the Event Cue is 1 for all rows.
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 HH:MM:SS.DDD.
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 Time The time of the first visual effect triggered by the firing system’s ignition event, which is generally the break time for shells, and just a small delay or no delay after the event time for ground 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.
Devices 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.
Description 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.
Position The name of the launch position.
Module Address The module number in three digits, starting with 001. 
Pin Address The pin number, starting with 1.
Angle An ASCII art representation of the angles of the devices on this shot, made with backslash, vertical line, and forward slash characters.
Hazard The union of the bit flags corresponding to the hazard groups of which this row is a member.
Notes Firing notes from the script pertaining to this row.
Part Number A user-defined identifier for the effect.

The example script below shows an exported script with three subsequences, and thus three Event Cue numbers 1-3 in the first column.  The script contains two hazard groups, “all” and “wind”, which are assigned bit flags 1 and 2.  The second row of the script is a member of both groups, so its hazard field contains the number 1 + 2 = 3.

#version 1.0
#all 1
#wind 2
Event Cue	Event Time	Delay	Effect Time	Duration	Devices	Description	Size	Position	Module Address	Pin Address	Angle	Hazard	Notes	Part Number
1	00:00:00.000	3.02	00:00:03.020	1.53	1	Green Peony	3"	Pos-01	001	1	|	1		10008
1	00:00:01.780	2.24	00:00:04.020	1.02	3	(3) Red Chrysanthemum ...	2"	Pos-02	002	1	\|/	3		G2SH1000
1	00:00:02.000	3.02	00:00:05.020	1.53	1	Green Peony	3"	Pos-03	003	1	|	1		10008
2	00:00:00.000	3.02	00:00:03.020	1.53	1	Green Peony	3"	Pos-04	004	1	|	1		10008
2	00:00:01.000	3.02	00:00:04.020	1.53	1	Green Peony	3"	Pos-05	005	1	|	1		10008
2	00:00:02.000	3.02	00:00:05.020	1.53	1	Green Peony	3"	Pos-06	006	1	|	1		10008
2	00:00:03.000	3.02	00:00:06.020	1.53	1	Green Peony	3"	Pos-07	007	1	|	1		10008
3	00:00:00.000	3.02	00:00:03.020	1.53	1	Green Peony	3"	Pos-08	008	1	|	1		10008
3	00:00:01.000	3.02	00:00:04.020	1.53	1	Green Peony	3"	Pos-09	009	1	|	1		10008

Figure 2 – Example Firelinx firing system script with subsections and hazard groups.


Table 4 – Example files

Download link Explanation
test_firelinx.csv Example exported file  (CSV)
test_firelinx.fin Example show file (FIN)