To create and export a pyro script for the Pyromac firing system in Finale 3D, please follow these steps:
- Address the show (“Addressing > Address show…”).
- Export the firing system script (“File > Export > Export firing script(s)…“).
- Import the script into your Pyromac controller or DMX-BOXes.
Figure 1 – The Pyromac firing system
Table 1 – File format and encoding
| File format | Extension | Text encoding | Field delimiter | End-of-line |
|---|---|---|---|---|
| Text | .TXT | ASCII | Semicolon | CRLF |
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 characteristics | Description |
|---|---|
| V1, V2 and V2R script formats | The Export Options dialog gives you the choice of exporting in V1, V2, or V2R format. The V2 format supports the DMX-BOX hardware in addition to the existing Pyromac Master Compact modules. The V2R format is the same as V2 except that it supports the ramp feature described in Table 4 (see RampX). As described below, the Pyromac Master modules serve DMX fixtures in a shared DMX Universe of 50 channels. Each DMX-BOX serves its own DMX Universe of 512 channels. When you design a DMX show in Finale 3D for Pyromac Master modules and DMX-BOXes together, you will select, in the Export Options dialog, which DMX Universe in Finale 3D corresponds to the shared Pyromac Master module DMX Universe. All other DMX Universes in Finale 3D will correspond to the DMX-BOX IDs. DMX-BOX IDs range from 1-10. |
| Header | The V1 exported script format contains a two-line header row with boilerplate text that defines the columns: The V2 and V2R exported script format contains a multi-line header enumerating the positions. Beginning with V2, the single quote (‘) is interpreted as a comment character causing the remainder of the line to be ignored by the firing system. The single quote is used in the V2/V2R header at the beginning of some of the lines, and also at the end of DMX script lines to annotate the script lines with information that makes them easier to understand (see below). |
| What rows represent | Each 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 ignition times are necessarily different rows, even if their addresses or effect times are the same. For example, two flame projector shots at different times, triggered by the same module-pin address, will be two rows because they are at different times. |
| Sort order of rows | Rows sorted ascending by effect time, then by module number, then by pin number. |
| Time resolution | The Pyromac system supports hundredths of a second resolution. |
| Tracks | The Export Options dialog presented when you export the firing script offers two script type options: “Times Relative To Start Of Show” or “Times Relative To Start Of Tracks”. If you select the first option, tracks are ignored. If you select the second option, then:
In the Finale 3D script, please arrange the tracks with no interwoven or overlapping events. Tracks may be integers 1-9999 or letters followed by integers in that range (example: “1” and “Trk1” are both okay). If you use tracks, please set the tracks to increasing numbers and make sure that every event in the show has a track number. If the track name of an event begins with non-digit text characters, followed by the digits representing track number, the non-digit text characters will replace the row’s Note field in the exported script, which otherwise would contain the effect name. Since the Pyromac controller displays the Note fields of the cues when shooting the show, and since each track comprises one cue in a semi-automatic show, the leading text characters in the Track field provide a way of naming the cues usefully. Thus naming the tracks “Trk1” and “Trk2” and “Trk3” is not as useful as, for example, “Opening shot 1” and “Entrance 2” and “First song 3”. Neither the Master Compact nor the DMX-BOX will reset DMX channel values on track transitions. Thus for something like a safety channel for flame fixtures, if you want the safety channel on for the entire show you can add a “Turn On Safety Channel” effect to the first track, and you do not need to add additional “Turn On Safety Channel” effects to later tracks because the first event will last indefinitely. |
| DMX representation in the script | DMX rows are mixed in with pyro rows in the script, sorted by effect time. DMX rows are distinguished by the module number field: if module number <= 900, then the module number represents a true module number, for pyro ignitions; if the module number > 900, then the number is actually the DMX channel number + 900 (i.e., the number is not a module number at all!). DMX rows re-use the pin column to hold the DMX value for the event, from 0-255. DMX rows have an additional required field — duration — after the notes field (the duration field is optional for pyro ignitions, but not optional for DMX). The Pyromac system limits the DMX channel range to channels 1-50, so the DMX module number field contains numbers in the range 901 to 950. |
| Overlapping DMX events | If Pyromac encounters an event for a DMX channel that interrupts the duration period of an existing event for the same DMX channel, the second event will overwrite the DMX value and duration immediately to whatever its value and duration should be for the second event. For example, consider three events setting the value of a DMX channel to 128, then 64, then 192, and then (automatically) back to 0: Time = 0 ms, DMX value = 128, duration = 59990 ms (59,99 seconds)
|
| Duration of DMX events | The duration field for both the Pyromac Master Compact and and DMX-BOX is limited to 59990 ms (59,99 seconds). If you add a DMX event like a safety channel with a duration longer than 59,99 seconds, Finale 3D will automatically partition the long-lasting event into a string of multiple shorter events back to back. The DMX-BOX is capable of setting a DMX channel indefinitely (i.e., “latch”), which is represented in the script as a zero duration with RampX = 3 (See Table 4 below). If you add an event that lasts indefinitely, like “Turn On Safety Channel”, the DMX-BOX script events can represent the indefinite duration directly, but the Master Compact script events can only represent the duration with a sequence of one or more back to back events adding up to some finite duration. For standard shows, that duration will extend from the event to the end of the show. For semi-automatic shows, that duration of the script row or sequence of rows will be the duration of the entire show. |
| Track DMX Latency Option | (Advanced option) To reduce the delay from when you press the trigger button and when a track begins you may want to limit the “setup time” for DMX events. Events for moving head fixtures and color wheel fixtures set the angle or color wheel parameter prior to the effect by as much as a 1000ms to ensure the angle or color wheel is in the proper position at the time the effect becomes visible. If such an event is the first event in a track, then the track’s start time will be 1000ms before the effect becomes visible, which is a long latency if you want the track to begin immediately when you press the button! If your show is sensitive to this latency, you can set the Per-Show Setting maxInitialDmxSetupDelayMs to whatever maximum number of milliseconds you are willing to allow the fixture for its setup time for any DMX events. You can set the setting to any integer, but 100 is the recommended minimum value to avoid potential problems with fixtures that require channels to be set in a specific order. |
After the header, each row in the script has a number of fields separated by the semicolon character. The names of these fields and their descriptions are the following:
Table 3 – Specifications of V1 script fields
| Field name | Description |
|---|---|
| Cue | For standard pyromusicals, the Cue field is the sequential count of unique firing times. Two events having the same effect time would have the same value in the Cue field. For semi-automatic firing, the cue field contains the track number from the “Track “field in the script in Finale 3D. |
| Time | The effect time in the format HH,MM,SS.DD. For standard pyromusicals, the effect time is relative to zero; for semi-automatic firing, the effect time is relative to the first ignition time in the track (the event time). The first event in a semi-automatic track thus must have the same value its Time field and its Delay field, since Delay is the time difference between the ignition time and the effect time. |
| Delay | The prefire time in the format HH,MM,SS.DD; for DMX rows this value must be 00,00,00.00. |
| Address (Mod,Pins) | The value 1-900 for module number, or 901-999 for DMX channel numbers 1-99; comma; then the pin number from 1-32 or the DMX value from 0-255. |
| “Note” | The effect name, in double quotes; or the Track name if the track begins with non-digit text characters as described in Table 2. |
| Duration | For DMX events, the duration field (required) is the duration of the effect in the format HH,MM,SS.DD. For pyro ignition events, this field is optional (but if the semicolon is present, the field must be included in the valid time format). |
Table 4 – Specifications of V2 and V2R script fields
| Field name | Description |
|---|---|
| Module_Type | The value “DmxBox” or “Master”, specifying the hardware type for this event (DMX-BOX or Master Compact). |
| Cue | For standard pyromusicals, the Cue field is the sequential count of unique firing times. Two events having the same effect time would have the same value in the Cue field. For semi-automatic firing, the cue field contains the track number from the “Track “field in the script in Finale 3D. |
| Time | The effect time in the format HH,MM,SS.DD. For standard pyromusicals, the effect time is relative to zero; for semi-automatic firing, the effect time is relative to the first ignition time in the track (the event time). The first event in a semi-automatic track thus must have the same value its Time field and its Delay field, since Delay is the time difference between the ignition time and the effect time. |
| Prefire | The prefire time in the format HH,MM,SS.DD; for DMX events this value must be 00,00,00.00. |
| Mod | The module number for pyro events, or the DMX Universe number for DMX events; formatted as three digits. |
| Pin | The pin number for pyro events, or the DMX Channel number for DMX events; formatted as three digits |
| DMX_Value | The DMX channel value for DMX events, or zero for pyro events; formatted as three digits. |
| Ramp_X | For pyro events and in script versions V1 and V2, the value must be 1. For DMX events, this field has two possible values, 1 and 3, to control the ramp functionality available in script version V2R: 1: Set DMX value and hold for duration, at which point reset DMX value to 0 (Master or DMX-BOX). |
| Duration | For pyro events, the value is: 00,00,00.02. For DMX events, the value is the duration of the event, in the format HH,MM,SS.DD. The duration is limited to 00,00,59.99. If RampX = 3 (for the DMX-BOX) the duration can be zero ( |
| Position | The three digit position number as defined by the numbered list of positions at the beginning of the script file. |
| Safety | The integer value of the effect’s Hazard field in Finale 3D, formatted as three digits. The default value is 000. |
| “Notes” | This field contains two parts. The first part is the effect name or the Track name if the track begins with non-digit text characters as described in Table 2. The first part is limited to 16 characters, and is enclosed in double quotes. The second part, which is optional, annotates DMX events with information that makes the script easier to understand. The information includes the position name (e.g., P-01), the DMX channel name (e.g., SAFETY_128), and the DMX channel offset within the fixture’s channel map (e.g., +5), such as:
The second part is limited to 25 characters. |
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.
Pyromac firing system
Cue;Time;Delay;Address (Mod,Pins);"Note";Duration
0001;00,00,03.58;00,00,02.24;010,01;"White Chrysanthemum"
0002;00,00,04.08;00,00,02.24;010,02;"Red Chrysanthemum"
0002;00,00,04.08;00,00,02.24;010,03;"Blue Chrysanthemum"
0003;00,00,04.90;00,00,00.00;901,128;"MAGICFX DMX Safety Channel";00,00,01.50
0004;00,00,05.00;00,00,00.00;913,255;"MAGICFX Up Medium DMX Mode1";00,00,00.50
0005;00,00,05.10;00,00,00.00;923,255;"MAGICFX Up Medium DMX Mode1";00,00,00.50
0006;00,00,05.20;00,00,00.00;933,255;"MAGICFX Up Medium DMX Mode1";00,00,00.50
0007;00,00,05.30;00,00,00.00;943,255;"MAGICFX Up Medium DMX Mode1";00,00,00.50
0008;00,00,05.40;00,00,00.00;953,255;"MAGICFX Up Medium DMX Mode1";00,00,00.50
0009;00,00,05.50;00,00,00.00;963,255;"MAGICFX Up Medium DMX Mode1";00,00,00.50
0010;00,00,05.60;00,00,00.00;973,255;"MAGICFX Up Medium DMX Mode1";00,00,00.50
0011;00,00,05.70;00,00,00.00;983,255;"MAGICFX Up Medium DMX Mode1";00,00,00.50
0012;00,00,05.80;00,00,00.00;993,255;"MAGICFX Up Medium DMX Mode1";00,00,00.50
0013;00,00,06.67;00,00,00.00;901,128;"MAGICFX DMX Safety Channel";00,00,02.00
0014;00,00,06.76;00,00,00.00;911,255;"MAGICFX L45 Medium DMX Mode1";00,00,00.50
0014;00,00,06.76;00,00,00.00;921,255;"MAGICFX L45 Medium DMX Mode1";00,00,00.50
0014;00,00,06.76;00,00,00.00;931,255;"MAGICFX L45 Medium DMX Mode1";00,00,00.50
0014;00,00,06.76;00,00,00.00;941,255;"MAGICFX L45 Medium DMX Mode1";00,00,00.50
0014;00,00,06.76;00,00,00.00;951,255;"MAGICFX L45 Medium DMX Mode1";00,00,00.50
0014;00,00,06.76;00,00,00.00;961,255;"MAGICFX L45 Medium DMX Mode1";00,00,00.50
0014;00,00,06.76;00,00,00.00;971,255;"MAGICFX L45 Medium DMX Mode1";00,00,00.50
0014;00,00,06.76;00,00,00.00;981,255;"MAGICFX L45 Medium DMX Mode1";00,00,00.50
0014;00,00,06.76;00,00,00.00;991,255;"MAGICFX L45 Medium DMX Mode1";00,00,00.50
0015;00,00,06.96;00,00,00.00;912,255;"MAGICFX L22.5 Medium DMX Mode1";00,00,00.50
0015;00,00,06.96;00,00,00.00;922,255;"MAGICFX L22.5 Medium DMX Mode1";00,00,00.50
0015;00,00,06.96;00,00,00.00;932,255;"MAGICFX L22.5 Medium DMX Mode1";00,00,00.50
0015;00,00,06.96;00,00,00.00;942,255;"MAGICFX L22.5 Medium DMX Mode1";00,00,00.50
0015;00,00,06.96;00,00,00.00;952,255;"MAGICFX L22.5 Medium DMX Mode1";00,00,00.50
0015;00,00,06.96;00,00,00.00;962,255;"MAGICFX L22.5 Medium DMX Mode1";00,00,00.50
0015;00,00,06.96;00,00,00.00;972,255;"MAGICFX L22.5 Medium DMX Mode1";00,00,00.50
0015;00,00,06.96;00,00,00.00;982,255;"MAGICFX L22.5 Medium DMX Mode1";00,00,00.50
0015;00,00,06.96;00,00,00.00;992,255;"MAGICFX L22.5 Medium DMX Mode1";00,00,00.50
0016;00,00,07.16;00,00,00.00;913,255;"MAGICFX Up Medium DMX Mode1";00,00,00.50
0016;00,00,07.16;00,00,00.00;923,255;"MAGICFX Up Medium DMX Mode1";00,00,00.50
0016;00,00,07.16;00,00,00.00;933,255;"MAGICFX Up Medium DMX Mode1";00,00,00.50
0016;00,00,07.16;00,00,00.00;943,255;"MAGICFX Up Medium DMX Mode1";00,00,00.50
0016;00,00,07.16;00,00,00.00;953,255;"MAGICFX Up Medium DMX Mode1";00,00,00.50
0016;00,00,07.16;00,00,00.00;963,255;"MAGICFX Up Medium DMX Mode1";00,00,00.50
0016;00,00,07.16;00,00,00.00;973,255;"MAGICFX Up Medium DMX Mode1";00,00,00.50
0016;00,00,07.16;00,00,00.00;983,255;"MAGICFX Up Medium DMX Mode1";00,00,00.50
0016;00,00,07.16;00,00,00.00;993,255;"MAGICFX Up Medium DMX Mode1";00,00,00.50
0017;00,00,07.36;00,00,00.00;914,255;"MAGICFX R22.5 Medium DMX Mode1";00,00,00.50
0017;00,00,07.36;00,00,00.00;924,255;"MAGICFX R22.5 Medium DMX Mode1";00,00,00.50
0017;00,00,07.36;00,00,00.00;934,255;"MAGICFX R22.5 Medium DMX Mode1";00,00,00.50
0017;00,00,07.36;00,00,00.00;944,255;"MAGICFX R22.5 Medium DMX Mode1";00,00,00.50
0017;00,00,07.36;00,00,00.00;954,255;"MAGICFX R22.5 Medium DMX Mode1";00,00,00.50
0017;00,00,07.36;00,00,00.00;964,255;"MAGICFX R22.5 Medium DMX Mode1";00,00,00.50
0017;00,00,07.36;00,00,00.00;974,255;"MAGICFX R22.5 Medium DMX Mode1";00,00,00.50
0017;00,00,07.36;00,00,00.00;984,255;"MAGICFX R22.5 Medium DMX Mode1";00,00,00.50
0017;00,00,07.36;00,00,00.00;994,255;"MAGICFX R22.5 Medium DMX Mode1";00,00,00.50
0018;00,00,07.56;00,00,00.00;915,255;"MAGICFX R45 Medium DMX Mode1";00,00,00.50
0018;00,00,07.56;00,00,00.00;925,255;"MAGICFX R45 Medium DMX Mode1";00,00,00.50
0018;00,00,07.56;00,00,00.00;935,255;"MAGICFX R45 Medium DMX Mode1";00,00,00.50
0018;00,00,07.56;00,00,00.00;945,255;"MAGICFX R45 Medium DMX Mode1";00,00,00.50
0018;00,00,07.56;00,00,00.00;955,255;"MAGICFX R45 Medium DMX Mode1";00,00,00.50
0018;00,00,07.56;00,00,00.00;965,255;"MAGICFX R45 Medium DMX Mode1";00,00,00.50
0018;00,00,07.56;00,00,00.00;975,255;"MAGICFX R45 Medium DMX Mode1";00,00,00.50
0018;00,00,07.56;00,00,00.00;985,255;"MAGICFX R45 Medium DMX Mode1";00,00,00.50
0018;00,00,07.56;00,00,00.00;995,255;"MAGICFX R45 Medium DMX Mode1";00,00,00.50
0019;00,00,08.83;00,00,00.00;901,128;"MAGICFX DMX Safety Channel";00,00,01.50
0020;00,00,08.93;00,00,00.00;993,255;"MAGICFX Up Medium DMX Mode1";00,00,00.50
0021;00,00,09.03;00,00,00.00;983,255;"MAGICFX Up Medium DMX Mode1";00,00,00.50
0022;00,00,09.13;00,00,00.00;973,255;"MAGICFX Up Medium DMX Mode1";00,00,00.50
0023;00,00,09.23;00,00,00.00;963,255;"MAGICFX Up Medium DMX Mode1";00,00,00.50
0024;00,00,09.33;00,00,00.00;953,255;"MAGICFX Up Medium DMX Mode1";00,00,00.50
0025;00,00,09.43;00,00,00.00;943,255;"MAGICFX Up Medium DMX Mode1";00,00,00.50
0026;00,00,09.53;00,00,00.00;933,255;"MAGICFX Up Medium DMX Mode1";00,00,00.50
0027;00,00,09.63;00,00,00.00;923,255;"MAGICFX Up Medium DMX Mode1";00,00,00.50
0028;00,00,09.73;00,00,00.00;913,255;"MAGICFX Up Medium DMX Mode1";00,00,00.50
0029;00,00,10.71;00,00,02.24;010,04;"White Chrysanthemum"
0030;00,00,11.21;00,00,02.24;010,05;"Red Chrysanthemum"
0030;00,00,11.21;00,00,02.24;010,06;"Blue Chrysanthemum"
end
Figure 2 – Example Pyromac script
Table 5 – Example files
| Download link | Explanation |
| magicfx_pyromac_standard.fin | Example standard show using Pyromac, MAGICFX |
| magicfx_pyromac_standard.txt | Example standard exported script using Pyromac, MAGICFX |
| magicfx_pyromac_semi_auto.fin | Example semi-auto show using Pyromac, MAGICFX |
| magicfx_pyromac_semi_auto.txt | Example semi-auto exported script using Pyromac, MAGICFX |