Software Documentation

Software Documentation

Firing SystemsDocumentation

Integration Intermediate Last updated: July 4, 2023

27 PyroLEDA

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

  1. Design the show.
  2. Address the show (“Addressing > Address show”) and select your firing unit type, F3 or SQ3.
  3. Export the script (“File > Export > Export firing scripts“).

Step 3 creates a single SHW script file for F3 controllers or multiple CSV script files, one for each SQ3 unit, whichever you select.

 

Figure 1 – PyroLEDA  F3 control panel

 

The PyroLEDA SHW and CSV files are human-readable text files that contain the essential information for the PyroLEDA firing system units to fire the show, and nothing more.

 

Table 1 – File format and encoding

Firing system unit File format Extension Text encoding Field delimiter End-of-line
F3 Text SHW ASCII Comma CRLF 
SQ3 Text -XXX.CSV (XXX = module number) ASCII Semicolon CRLF 

The F3 script contains five header lines, followed by the firing rows, one per ignition.  The SQ3 script is exported as multiple files containing only firing rows, one file per SQ3 module.  Each SQ3 filename ends in three digits identifying the module number. 

The special characteristics of the scripts are shown in the following table:

 

Table 2 – Special characteristics

Special characteristics Description
Sort order of rows F3 and SQ3 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).
Multiple files for SQ3 The SQ3 script is represented as multiple files, one per SQ3 module.  Each SQ3 filename ends in three digits identifying the module number, e.g., myscript-001.csv, myscript-002.scv, etc..
Multi-hit pins for F3 The F3 script supports re-triggering a firing system pin at multiple event times, which is typically for the purpose of triggering a special effect fixture, or flame fixture, or sequencer.
Module types The F3 module has a 32-pin version and a 2 x 16 pin slat version.  Finale 3D supports both F3 options, and the SQ3 module type

PyroLEDA F3 32 Pins
PyroLEDA F3 16 Pin Slat
PyroLEDA SQ3 32 Pins

Finale 3D represents the 2 x 16 pin slats with three part addresses, such as 01-B-16, for module = 01, slat = second slat, pin = 16th pin of second slat = 32nd pin overall.  In the exported F3 script the three-part addresses are converted to two-part addresses with pins from 1-32.

Special characters Non-ASCII characters are replaced by ‘?’ characters in the exported file.
Support for semi-autonomous firing The TRIGGER_TYPE field of the F3 script contains the value SLV, MAN, or AUTO, selecting one of three firing processes.  Finale 3D determines the value for this field from the Custom Script Field column in the script table, which you can unhide from the blue gear menu in the upper right of the window.  You can manually enter SLV, MAN, or AUTO into the Custom Script Field cells in the script table, to set the TRIGGER_TYPE value in the exported script.  The default value is AUTO.
Header The F3 script file contains a five line header, consisting of:

Pyroleda F3 script generated by Finale3D
Created on: 2017-07-12T12:00:00Z
Time Format: 1ms

(followed by two blank lines)

End of file marker The F3 script file contains a special firing row at the end to indicate the end of the file:

@END

 

The following figure shows the translation of the 2 x 16 pin slat addresses to the full 32 pin range.  The script window on the right shows the three-part addresses at the end of the first slat (A) and beginning of the second slat (B).  The exported script on the left shows the corresponding pin numbers for that same range of rows. By representing slats explicitly in the addresses, Finale 3D makes it possible for you to add explicit constraints in the addressing dialog to control the use of slats. For example, you can write constraints that allow a module’s 16 pin slats to be located at different firing positions, or to be attached to different racks or rack clusters while still preventing multiple pins from the same slat to ignite effects in different firing positions or in different racks or rack clusters.

 

Figure 2 – Three-part addresses for slats in the design software translate to two-part addresses in the exported script.

 

The firing rows in the F3 and SQ3 scripts have the fields shown in Table 3 and Table 4:

 

Table 3 – Specifications of F3 script fields

Field name Description
CUE_NUMBER The cue count, beginning with one and incrementing at each new ignition time.   The format is the @-sign, followed by the integer, as in @1.
CUE_TIME The time of the firing system’s “ignition event” (application of a voltage to a pin), in milliseconds.
TRIGGER_TYPE Either SLV, MAN, or AUTO, selecting one of three firing processes (see instructions, above).
GROUP An optional group number, from 1-5.  Finale 3D determines the value for this field from the Track column in the script table, which you can unhide from the blue gear menu in the upper right of the window.  You can manually enter a number 1-5 into the Track cells in the script table, to set the GROUP value in the exported script.  The default value is 1.
MODULE The module number, beginning with 1.
PIN The pin number from 1-32.
LAUNCH_POSITION_AND_EFFECT_NAME The effect description, preceded by the launch position name in parentheses, as in: (Pos-01) Red Chrysanthemum

 

Table 4 – Specifications of SQ3 script fields

Field name Description
PIN The pin number from 1-32.
ZERO A constant value, 0.
HOURS The hours component of the event time, as an integer.
MINUTES The minutes component of the event time, as an integer.
SECONDS The seconds component of the event time, as an integer.
MILLISECONDS The milliseconds component of the event time, as an integer.

The example script below shows an exported script with all three TRIGGER_TYPEs, and with two GROUPs 1 or 2.  In the design software, the script uses virtual 16-pin slats and three-part addresses like 01-B-01, which are translated to two-part addresses in the exported script.  The virtual slat address 01-B-01 translates to 01-17 because B is the second 16-pin slat, which corresponds to the pin range 17-32.

Pyroleda F3 script generated by Finale3D
Created on: 2017-07-12T12:00:00Z
Time Format: 1ms


@1,2760,SLV,1,1,1,(Pos-01) Red Chrysanthemum
@2,2860,SLV,1,4,1,(Pos-02) Red Chrysanthemum
@3,2960,SLV,1,5,1,(Pos-03) Red Chrysanthemum
@4,3060,SLV,1,6,1,(Pos-04) Red Chrysanthemum
@5,3160,MAN,1,7,1,(Pos-05) Red Chrysanthemum
@6,3260,MAN,1,8,1,(Pos-06) Red Chrysanthemum
@7,3360,AUTO,1,9,1,(Pos-07) Red Chrysanthemum
@8,3460,AUTO,1,10,1,(Pos-08) Red Chrysanthemum
@9,3560,AUTO,1,11,1,(Pos-09) Red Chrysanthemum
@10,6878,AUTO,2,1,2,(Pos-01) White Chrysanthemum
@11,6978,AUTO,2,1,3,(Pos-01) White Chrysanthemum
@12,7078,AUTO,2,1,4,(Pos-01) White Chrysanthemum
@13,7178,AUTO,2,1,5,(Pos-01) White Chrysanthemum
@14,7278,AUTO,2,1,6,(Pos-01) White Chrysanthemum
@15,7378,AUTO,2,1,7,(Pos-01) White Chrysanthemum
@16,7478,AUTO,2,1,8,(Pos-01) White Chrysanthemum
@17,7578,AUTO,2,1,9,(Pos-01) White Chrysanthemum
@18,7678,AUTO,1,1,10,(Pos-01) White Chrysanthemum
@19,7778,AUTO,1,1,11,(Pos-01) White Chrysanthemum
@20,7878,AUTO,1,1,12,(Pos-01) White Chrysanthemum
@21,7978,AUTO,1,1,13,(Pos-01) White Chrysanthemum
@22,8078,AUTO,1,1,14,(Pos-01) White Chrysanthemum
@23,8178,AUTO,1,1,15,(Pos-01) White Chrysanthemum
@24,8278,AUTO,1,1,16,(Pos-01) White Chrysanthemum
@25,8378,AUTO,1,1,17,(Pos-01) White Chrysanthemum
@26,8478,AUTO,1,1,18,(Pos-01) White Chrysanthemum
@27,8578,AUTO,1,1,19,(Pos-01) White Chrysanthemum
@28,8678,AUTO,1,1,20,(Pos-01) White Chrysanthemum
@29,8778,AUTO,1,1,21,(Pos-01) White Chrysanthemum
@30,8878,AUTO,1,1,22,(Pos-01) White Chrysanthemum
@31,8978,AUTO,1,1,23,(Pos-01) White Chrysanthemum
@32,9078,AUTO,1,1,24,(Pos-01) White Chrysanthemum
@33,9178,AUTO,1,1,25,(Pos-01) White Chrysanthemum
@34,9278,AUTO,1,1,26,(Pos-01) White Chrysanthemum
@35,9378,AUTO,1,1,27,(Pos-01) White Chrysanthemum
@36,9478,AUTO,1,1,28,(Pos-01) White Chrysanthemum
@37,9578,AUTO,1,1,29,(Pos-01) White Chrysanthemum
@38,9678,AUTO,1,1,30,(Pos-01) White Chrysanthemum
@39,9778,AUTO,1,1,31,(Pos-01) White Chrysanthemum
@40,9878,AUTO,1,1,32,(Pos-01) White Chrysanthemum
@41,9978,AUTO,1,2,1,(Pos-01) White Chrysanthemum
@42,10078,AUTO,1,2,2,(Pos-01) White Chrysanthemum
@43,10178,AUTO,1,2,3,(Pos-01) White Chrysanthemum
@44,10278,AUTO,1,2,4,(Pos-01) White Chrysanthemum
@45,10378,AUTO,1,2,5,(Pos-01) White Chrysanthemum
@46,10478,AUTO,1,2,6,(Pos-01) White Chrysanthemum
@47,10578,AUTO,1,2,7,(Pos-01) White Chrysanthemum
@48,10678,AUTO,1,2,8,(Pos-01) White Chrysanthemum
@49,10778,AUTO,1,2,9,(Pos-01) White Chrysanthemum
@50,10878,AUTO,1,2,10,(Pos-01) White Chrysanthemum
@51,10978,AUTO,1,2,11,(Pos-01) White Chrysanthemum
@52,11078,AUTO,1,2,12,(Pos-01) White Chrysanthemum
@53,11178,AUTO,1,2,13,(Pos-01) White Chrysanthemum
@54,11278,AUTO,1,2,14,(Pos-01) White Chrysanthemum
@55,11378,AUTO,1,2,15,(Pos-01) White Chrysanthemum
@56,11478,AUTO,1,2,16,(Pos-01) White Chrysanthemum
@57,11578,AUTO,1,2,17,(Pos-01) White Chrysanthemum
@58,11678,AUTO,1,2,18,(Pos-01) White Chrysanthemum
@59,11778,AUTO,1,2,19,(Pos-01) White Chrysanthemum
@60,11878,AUTO,1,2,20,(Pos-01) White Chrysanthemum
@61,11978,AUTO,1,2,21,(Pos-01) White Chrysanthemum
@62,12078,AUTO,1,2,22,(Pos-01) White Chrysanthemum
@63,12178,AUTO,1,2,23,(Pos-01) White Chrysanthemum
@64,12278,AUTO,1,2,24,(Pos-01) White Chrysanthemum
@65,12378,AUTO,1,2,25,(Pos-01) White Chrysanthemum
@66,12478,AUTO,1,2,26,(Pos-01) White Chrysanthemum
@67,12578,AUTO,1,2,27,(Pos-01) White Chrysanthemum
@68,12678,AUTO,1,2,28,(Pos-01) White Chrysanthemum
@69,12778,AUTO,1,2,29,(Pos-01) White Chrysanthemum
@70,12878,AUTO,1,2,30,(Pos-01) White Chrysanthemum
@71,12978,AUTO,1,2,31,(Pos-01) White Chrysanthemum
@72,13078,AUTO,1,2,32,(Pos-01) White Chrysanthemum
@73,13178,AUTO,1,3,1,(Pos-01) White Chrysanthemum
@END

Figure 3 – Example PyroLEDA F3 script

The second example script is an SQ3 script CSV file for module 001.

1;0;0;0;2;760
2;0;0;0;6;878
3;0;0;0;6;978
4;0;0;0;7;78
5;0;0;0;7;178
6;0;0;0;7;278
7;0;0;0;7;378
8;0;0;0;7;478
9;0;0;0;7;578
10;0;0;0;7;678
11;0;0;0;7;778
12;0;0;0;7;878
13;0;0;0;7;978
14;0;0;0;8;78
15;0;0;0;8;178
16;0;0;0;8;278
17;0;0;0;8;378
18;0;0;0;8;478
19;0;0;0;8;578
20;0;0;0;8;678
21;0;0;0;8;778
22;0;0;0;8;878
23;0;0;0;8;978
24;0;0;0;9;78
25;0;0;0;9;178
26;0;0;0;9;278
27;0;0;0;9;378
28;0;0;0;9;478
29;0;0;0;9;578
30;0;0;0;9;678
31;0;0;0;9;778
32;0;0;0;9;878

Figure 4 – Example PyroLEDA SQ3 script

 

Table 5 – Example files

Download link Explanation
test_pyroleda_f3.shw Example F3 exported file (SHW)
test_pyroleda_sq3-001.csv Example SQ3 exported file for module 001 (CSV)
test_pyroleda_sq3-002.csv Example SQ3 exported file for module 002 (CSV)
test_pyroleda_f3.fin Example F3 show file
test_pyroleda_sq3.fin Example SQ3 show file