Type any phrase to search documentation

Software Documentation

Exporting a firing system scriptDocumentation

IntegrationIntermediateLast updated: March 24, 2021

25 fireTEK

To create and export a script for the fireTEK firing system, please follow these steps:

  1. Address the show (“Addressing > Address show…”).
  2. Export the firing system script (“File > Export > Export firing script(s)…“). Save the exported file as “script.csv” onto your USB (max 32GB, formatted as FAT32).
  3. Import the script into your fireTEK controller.

To export a DMX or DMX + pyro script, please see Flame systems basic instructions and Exporting a firing system script for flame systems for further instructions.

The exported script is a text file with a “CSV” extension. While it is possible to open this file in a text editor, the file is not meant for humans to read or write. It contains only the data that the controller requires for shooting the show. For pyro, most fireTEK users will not need to concern themselves with the file format described in this section. DMX setup and configuration are complicated, so you may want to examine the script visually to ensure it represents what you expect. The file format described in this section provides the necessary details.

Figure 1 – fireTEK firing system

 

Table 1 – File format and encoding

File formatExtensionText encodingField delimiterEnd-of-line
Text.CSVASCIICommaCRLF

The script contains rows for the firing events, i.e., unique combinations of module, pin, and ignition-time. Multiple effects can be combined on a single cue. The special characteristics of the script are shown in the following table:

 

Table 2 – Special characteristics

Special characteristicsDescription
Sort order of rowsRows sorted ascending by module number, then track, then ignition time, then pin number.
What rows representEach row represents a unique firing event, a module/pin/event-time combination. For example, a chain of five shells will be one row, not five. A pair of shells shot together from the same position will be one row, not two, even if the shells are different effects. A flight of shells shot together from multiple positions with the same module-pin using scab wire is still one row.

Events at different times are necessarily different rows, even if their addresses are the same. Simple DMX effects with duration (see below) are represented as pairs of rows, an ON row at the beginning of the effect and an OFF row at the end.

File format versionsFinale 3D exports four different fireTEK script formats, v1, v2, v3, and V4. The formats are supported by various versions of the fireTEK software that is used to upload the script into the system. You can determine the right version number by asking on fireTEK staff or by examining an example file that works on your system, and counting the number of columns. The versions have 4 columns, 7 columns, and 10 columns, and 12 columns, respectively. The columns are shown in a header row at the top of the file.

Script format v1 (4 columns): Module,Slat,Pin,Time

Script format v2 (7 columns): Module,Slat,Pin,Time,Sequence,DMX Value,Duration

Script format v3 (10 columns): Module,Slat,Pin,Time,Sequence,DMX Value,Duration,Size,Position,Name

Script format v4 (12 columns): Module,Slat,Pin,Time,Sequence,DMX Value,RampX,Duration,Position,Safety Zone,Effect Name,Sequence Name

Time resolutionThe fireTEK system supports millisecond resolution.
File headerScript formats V1-V3 begin directly with the CSV header row. Script format V4 begins with a show name line prior to the CSV header row. The show name line begins with ## followed by the show name (special characters ; # @ , . & $ ~ removed, limited to 21 characters).
Semi-automatic firingfireTEK supports semi-automatic firing with individually triggerable tracks. The script exported from Finale 3D will automatically be semi-automatic if any event contains a valid “Track“; tracks may be integers 1-99 or letters followed by integers in that range (example: “1” and “Trk1” are both okay). In the exported script, the “Sequence” field contains the track number. Tracks must be in chronological order in the Finale 3D show. For semi-automatic shows, the ignition times in the script are relative to the ignition of the first effect in the track. Thus the first ignition time in a track is always as close to zero as possible (actually 10ms, given the minimum value constraint).

The track value 0 is special. It indicates the main show, for which times are absolute and may be in synch with the music, i.e., NOT relative to the first event in the track. You can create a script that contains the main show that begins automatically (track 0) and also separately triggerable tracks (track 1-99) that begin when you press the corresponding button. The triggerable tracks will overlay the main show.

Module typesfireTEK systems have 64 pin (4 x 16-pin slats), 48 pin (4 x 12-pin slats) and 24 pin (2 x 12-pin slats) modules. The DMX-capable modules are essentially two-in-one modules, supporting pyro ignitions and DMX output, as explained more fully here.
SlatsEach fireTEK module distributes its ignition pins using 16-pin or 12-pin slats. Thus a full firing system pin address includes a module number (1-99), slat number (1-4 or 1-8), and pin number (1-16).
DMX supportEach DMX-capable fireTEK module is capable of serving an independent DMX universe, or a DMX universe shared with other modules having the same module address. The “Module Address Or DMX Universe” field in the script row indicates the module number for pyro ignition events and corresponding DMX universe for DMX events. See Table 2 in Exporting a firing system script for flame systems for details.
DMX representation in the scriptDMX rows are mixed in with pyro rows in the script, sorted by event time. DMX rows are distinguished by the value in the “Pin Address Or DMX Channel” field. If the value < 100, the row is a pyro ignition row. If the value is > 100, the row is a DMX event and the value for this field is the DMX channel number + 100, i.e., subtract 100 to get the actual DMX channel number. DMX rows contain an optional duration field, which is either 0 (ignored) or an integer representing the duration of the event in 100ms time units, up to a maximum of 25 seconds (duration value = 250). If the duration field is non-zero, the fireTEK system will automatically reset the DMX value to zero at the end of the duration.

For many types of DMX devices, the duration field facilitates a more efficient representation of events in the script, using one row instead of two. Finale 3D uses the duration field to represent script events efficiently when possible, and uses ON/OFF pairs of events when the desired duration is not a multiple of 100ms or when the duration is longer than 25 seconds. With the duration field, many types of DMX events can be represented in a single row in the script, but complex DMX effects like adjustable angle shots of the Explo X2 Wave Flamer may require substantially more rows (see Explo X2 Wave Flamer).

DMX resting stateThe fireTEK system does not require the at-rest DMX channel values to be zero, which is beneficial for stateful DMX devices like flame units with rotating nozzles, for which it is undesirable to return the nozzle to a resting angle in between two shots at the same angle, if that same angle is different from the resting angle.

After the header, each row in the script has a number of fields separated by the comma character. The names of these fields and their descriptions are the following:

Table 3 – Specifications of script fields for V1, V2, and V3 script formats

Field nameDescription
ModuleThe value 1-99 for module number or DMX universe.
SlatThe value 1-4 for 48 pin modules, and 1-2 for 24 pin modules; the value 1 for DMX events.
PinThe value 1-12 for pyro ignitions, or 101-199 to represent DMX channels 1-99 in DMX events.
TimeThe time of ignition in milliseconds
SequenceThe value 1-99 identifying a track for semi-automatic firing, or 0 for standard pyromusicals.
DMX ValueThe value 0-255 for DMX events, or 0 for pyro ignitions.
DurationThe value 0 or 1-250. If non-zero, the integer represents the duration of the event in 100ms time units, up to a maximum of 25 seconds (duration value = 250). The fireTEK system will automatically reset the DMX value to zero at the end of the duration, if the duration value is non-zero.
SizeAn optional text string indicating the size of the effect, e.g., 3″.
PositionAn optional text string indicating the position, e.g., Pos-01.
NameAn optional text string indicating the name of the effect, e.g., Red Peony.

 

Table 4 – Specifications of script fields for V4 script format

Field nameDescription
ModuleThe value 1-99 for module number or DMX universe.
SlatThe value 1-4 for 48 pin modules, and 1-2 for 24 pin modules; the value 1 for DMX events.
PinThe value 1-12 for pyro ignitions, or 101-199 to represent DMX channels 1-99 in DMX events.
TimeThe time of ignition in milliseconds
SequenceThe value 1-99 identifying a track for semi-automatic firing, or 0 for standard pyromusicals.
DMX ValueThe value 0-255 for DMX events, or 0 for pyro ignitions.
RampXThe value 0 – 4, indicating the meaning of the Duration field:

0 – Ignored
1 – Instantly change the DMX value to the new value and set to 0 after Duration
2 – Instantly change the DMX value to the new value and set to previous value after Duration
3 – Incrementally change the DMX value to become the new value over the course of the Duration (Ramp time)
4 – Incrementally change the DMX value to become the new value with speed from Duration column (Ramp speed)

DurationThe duration or ramp speed, depending on RampX.

This field is ignored if RampX is 0.

If RampX is 1-3 then this field is the duration time in milliseconds.

If RampX is 4, then this field is the ramp speed in units per second. The value will increment from the present value up to the new value at a rate of this many units per second. For example, if the value begins at 10 and is set to a new value of 15 with a ramp speed of 2, it will take 2.5 seconds for the value to reach 15.

PositionAn integer 0-255 representing the position. In Finale 3D, this integer is extracted from the position name itself, or is zero if the position name does not contain an integer. For example, the position name “Pos-07” results in the field value of 7.
Safety ZoneAn integer 0-255 for disabling sections of the show during the performance. This number is taken from the Hazard field in the Finale 3D script.
Effect NameA text string indicating the name of the effect, e.g., Red Peony.
Sequence NameA text string indicating the full name of the sequence corresponding to the sequence number. As described in Table 2, sequence names are represented by the Track field in Finale 3D. Valid sequence names are integers, optionally preceded by letters, such as “middle5” (number = 5).

 

An example script containing six (6) shells, three (3) DMX safety channel events, and sixty-three (63) DMX flame shots across nine MAGICFX Flamaniac flame units. Please see Exporting a firing system script for flame systems for a full description of this example.

Module,Slat,Pin,Time,Sequence,DMX Value,Duration
10,1,1,1335,0,0,0
10,1,2,1835,0,0,0
10,1,3,1835,0,0,0
10,1,101,4900,0,128,0
10,1,113,5000,0,255,0
10,1,123,5100,0,255,0
10,1,133,5200,0,255,0
10,1,143,5300,0,255,0
10,1,153,5400,0,255,0
10,1,113,5500,0,0,0
10,1,163,5500,0,255,0
10,1,123,5600,0,0,0
10,1,173,5600,0,255,0
10,1,133,5700,0,0,0
10,1,183,5700,0,255,0
10,1,143,5800,0,0,0
10,1,193,5800,0,255,0
10,1,153,5900,0,0,0
10,1,163,6000,0,0,0
10,1,173,6100,0,0,0
10,1,183,6200,0,0,0
10,1,193,6300,0,0,0
10,1,101,6400,0,0,0
10,1,101,6674,0,128,0
10,1,111,6764,0,255,0
10,1,121,6764,0,255,0
10,1,131,6764,0,255,0
10,1,141,6764,0,255,0
10,1,151,6764,0,255,0
10,1,161,6764,0,255,0
10,1,171,6764,0,255,0
10,1,181,6764,0,255,0
10,1,191,6764,0,255,0
10,1,112,6964,0,255,0
10,1,122,6964,0,255,0
10,1,132,6964,0,255,0
10,1,142,6964,0,255,0
10,1,152,6964,0,255,0
10,1,162,6964,0,255,0
10,1,172,6964,0,255,0
10,1,182,6964,0,255,0
10,1,192,6964,0,255,0
10,1,113,7164,0,255,0
10,1,123,7164,0,255,0
10,1,133,7164,0,255,0
10,1,143,7164,0,255,0
10,1,153,7164,0,255,0
10,1,163,7164,0,255,0
10,1,173,7164,0,255,0
10,1,183,7164,0,255,0
10,1,193,7164,0,255,0
10,1,111,7264,0,0,0
10,1,121,7264,0,0,0
10,1,131,7264,0,0,0
10,1,141,7264,0,0,0
10,1,151,7264,0,0,0
10,1,161,7264,0,0,0
10,1,171,7264,0,0,0
10,1,181,7264,0,0,0
10,1,191,7264,0,0,0
10,1,114,7364,0,255,0
10,1,124,7364,0,255,0
10,1,134,7364,0,255,0
10,1,144,7364,0,255,0
10,1,154,7364,0,255,0
10,1,164,7364,0,255,0
10,1,174,7364,0,255,0
10,1,184,7364,0,255,0
10,1,194,7364,0,255,0
10,1,112,7464,0,0,0
10,1,122,7464,0,0,0
10,1,132,7464,0,0,0
10,1,142,7464,0,0,0
10,1,152,7464,0,0,0
10,1,162,7464,0,0,0
10,1,172,7464,0,0,0
10,1,182,7464,0,0,0
10,1,192,7464,0,0,0
10,1,115,7564,0,255,0
10,1,125,7564,0,255,0
10,1,135,7564,0,255,0
10,1,145,7564,0,255,0
10,1,155,7564,0,255,0
10,1,165,7564,0,255,0
10,1,175,7564,0,255,0
10,1,185,7564,0,255,0
10,1,195,7564,0,255,0
10,1,113,7664,0,0,0
10,1,123,7664,0,0,0
10,1,133,7664,0,0,0
10,1,143,7664,0,0,0
10,1,153,7664,0,0,0
10,1,163,7664,0,0,0
10,1,173,7664,0,0,0
10,1,183,7664,0,0,0
10,1,193,7664,0,0,0
10,1,114,7864,0,0,0
10,1,124,7864,0,0,0
10,1,134,7864,0,0,0
10,1,144,7864,0,0,0
10,1,154,7864,0,0,0
10,1,164,7864,0,0,0
10,1,174,7864,0,0,0
10,1,184,7864,0,0,0
10,1,194,7864,0,0,0
10,1,115,8064,0,0,0
10,1,125,8064,0,0,0
10,1,135,8064,0,0,0
10,1,145,8064,0,0,0
10,1,155,8064,0,0,0
10,1,165,8064,0,0,0
10,1,175,8064,0,0,0
10,1,185,8064,0,0,0
10,1,195,8064,0,0,0
10,1,4,8465,0,0,0
10,1,101,8674,0,0,0
10,1,101,8828,0,128,0
10,1,193,8928,0,255,0
10,1,5,8965,0,0,0
10,1,6,8965,0,0,0
10,1,183,9028,0,255,0
10,1,173,9128,0,255,0
10,1,163,9228,0,255,0
10,1,153,9328,0,255,0
10,1,193,9428,0,0,0
10,1,143,9428,0,255,0
10,1,183,9528,0,0,0
10,1,133,9528,0,255,0
10,1,173,9628,0,0,0
10,1,123,9628,0,255,0
10,1,163,9728,0,0,0
10,1,113,9728,0,255,0
10,1,153,9828,0,0,0
10,1,143,9928,0,0,0
10,1,133,10028,0,0,0
10,1,123,10128,0,0,0
10,1,113,10228,0,0,0
10,1,101,10328,0,0,0

Figure 1 – Example fireTEK script

 

Table 5 – Example files

Download linkExplanation
magicfx_firetek_standard.finExample standard show using fireTEK, MAGICFX
magicfx_firetek_standard.csvExample standard exported script using fireTEK, MAGICFX
magicfx_firetek_semi_auto.finExample semi-auto show using fireTEK, MAGICFX
magicfx_firetek_semi_auto.csvExample semi-auto exported script using fireTEK, MAGICFX
g_flame_firetek_standard.finShow file for G-Flame and pyro example with fireTEK ignition system by DMX
g_flame_firetek_standard.csvExported CSV file for G-Flame and pyro example with fireTEK ignition system by DMX