Software Documentation

Software Documentation

Firing SystemsDocumentation

Integration Intermediate Last updated: June 10, 2024

22 Piroshow

To create and export a script for the Piroshow firing system for Master modules or for DMX BOX hardware, please follow these steps:

  1. Address the show (“Addressing > Address show…”).
  2. Export the firing system script (“File > Export > Export firing script(s)…“).  Choose which script version you want to export (e.g., Master or DMX BOX).  Optionally filter the exported script to a specific DMX universe.
  3. Import the script into your Piroshow controller.

To export a DMX or DMX + pyro script, please see Flame systems basic instructions for further instructions.

The exported script file is a text file with a “TXT” 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 Piroshow 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 – Piroshow firing system

 

Table 1 – File format and encoding

File format Extension Text encoding Field delimiter End-of-line
Text .TXT ASCII Comma 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
Script versions Piroshow Master modules support two script versions, Version1 and Version2.  The Version1 scripts represent DMX channel values as percentage numbers 0-100; Version2 scripts represent DMX channel values as integers 0-255.  Version1 scripts represent time as MM:SS.DDD.  Version2 scripts represent time as HH:MM:SS.DDD if the show duration is one hour or more; otherwise MM:SS.DDD.  The Master script versions Version1 and Version2 do not contain DMX universe numbers in the script rows.  Use the “DMX universe filter” export option in Finale 3D if you want to filter an exported script to a single DMX universe.

Piroshow DMX BOX hardware units support two script versions, DMX BOX V1 and DMX BOX V2.  Both DMX BOX script versions represent time as HH:MM:SS.DDD.  The DMX BOX script versions only contain DMX rows (no pyro rows).  The DMX BOX script versions do contain DMX universe numbers in the script rows, though you can still use the “DMX universe filter” export option in Finale 3D if you want to filter an exported script to a single DMX universe.

Sort order of rows Rows sorted ascending by effect time, then by module number, then by pin number.
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 times are necessarily different rows, even if their addresses 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.

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.

Header The file contains a single header row consisting of the pathname of the music, derived from the name of the show.  If your music file has a different name or format, you will need to edit this header field manually in a text editor.
Time resolution The Piroshow system supports millisecond resolution.
Tracks
(semi-automatic firing)
The Piroshow system supports step-by-tracks semi-automatic firing. You can divide the show up into separate tracks by setting the Track field in the script, which you can unhide from the blue gear menu. Please set the tracks to increasing numbers and make sure that every event in the show has a track number. Finale 3D will insert a “PAUSE” event in the script 50ms before each change of track. The Piroshow firing system pauses when it reaches a PAUSE event, and waits for the user to press a button to continue. The event times in the script remain relative to zero; not relative to the first event in the track.
DMX support Piroshow Master modules support DMX  devices in a single, global DMX universe shared across all modules.  In Finale 3D, please configure DMX positions as DMX fixtures, and assign them DMX universe = 1 (the number doesn’t actually matter because it isn’t represented in the script); or use the optional “DMX universe filter” in the export options from Finale 3D.  Exported scripts for DMX BOX hardware do contain DMX universe numbers in the row fields.
DMX representation in the script DMX rows are mixed in with pyro rows in the script, sorted by event time.  DMX rows are distinguished by the characters, @DMX512 beginning the comment/description field.  Additionally, the module number is replaced by the DMX channel number, and the pin number is replaced by the DMX channel value, scaled down from 0-255 to 0-100 for the Version1 script format (see above).  Since rows do not contain a duration, DMX effects of the ON/OFF variety, like flame system shots, are represented by two rows, an ON row with value 100, and a corresponding OFF row with value 0 later in the script.
Minimum time separation for firing pyro pins Firmware versions of Piroshow modules prior to March 30 2020 cannot fire simultaneous pins on the same module or pin sequences on the same module separated by less than 10ms. Finale 3D provides an option to separate such pins on the same module automatically by 10ms at the time of exporting the script.  To turn on this option, create a per-show setting in the Per-settings window called piroshow10MsSeparation with a value of true (capitalization must be exactly correct).

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, Version1 and Version2

Field name Description
Event time The time of ignition in the format HH:MM:SS.DDD, with millisecond resolution, or MM:SS.DDD for Version1 format scripts or for Version2 format scripts for shows of less than one hour duration.
Module or DMX channel The value 1-126 for module number, or 1-512 for DMX channel number, or -1 in the case of a PAUSE event.
Pin or DMX value The value 1-30 for pin number, or the value 0-100 for DMX channel value. The DMX patches of the standard DMX effects use the range 0-255, so the Piroshow exporter scales the DMX channel values down to the range 0-100 for the exported Piroshow script, or -1 in the case of a PAUSE event.  When the exporter scales the DMX channel values down, it rounds fractional values down (floor), in order to be compatible with the scaling up formula recommended by Explo, which has an upward rounding bias.
DMX universe (DMX BOX script versions only) The DMX universe number.
Comment and optional DMX designation The comment field contains the effect description. If the row is a DMX row, the comment field begins with the characters: @DMX512.  If the event is a PAUSE event, the comment is simply “PAUSE”.  The @DMX512 term also includes an indication of the script version, e.g., @DMX512_V1.

 

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.

C:\Users\wharvey\Documents\finale_3d_website_media\magicfx_piroshow_standard_v5.wav
00:01.335,10,1,White Chrysanthemum
00:01.835,10,2,Red Chrysanthemum
00:01.835,10,3,Blue Chrysanthemum
00:04.900,1,50,@DMX512 MAGICFX DMX Safety Channel
00:05.000,13,100,@DMX512 MAGICFX Up Medium DMX Mode1
00:05.100,23,100,@DMX512 MAGICFX Up Medium DMX Mode1
00:05.200,33,100,@DMX512 MAGICFX Up Medium DMX Mode1
00:05.300,43,100,@DMX512 MAGICFX Up Medium DMX Mode1
00:05.400,53,100,@DMX512 MAGICFX Up Medium DMX Mode1
00:05.500,13,0,@DMX512 MAGICFX Up Medium DMX Mode1
00:05.500,63,100,@DMX512 MAGICFX Up Medium DMX Mode1
00:05.600,23,0,@DMX512 MAGICFX Up Medium DMX Mode1
00:05.600,73,100,@DMX512 MAGICFX Up Medium DMX Mode1
00:05.700,33,0,@DMX512 MAGICFX Up Medium DMX Mode1
00:05.700,83,100,@DMX512 MAGICFX Up Medium DMX Mode1
00:05.800,43,0,@DMX512 MAGICFX Up Medium DMX Mode1
00:05.800,93,100,@DMX512 MAGICFX Up Medium DMX Mode1
00:05.900,53,0,@DMX512 MAGICFX Up Medium DMX Mode1
00:06.000,63,0,@DMX512 MAGICFX Up Medium DMX Mode1
00:06.100,73,0,@DMX512 MAGICFX Up Medium DMX Mode1
00:06.200,83,0,@DMX512 MAGICFX Up Medium DMX Mode1
00:06.300,93,0,@DMX512 MAGICFX Up Medium DMX Mode1
00:06.400,1,0,@DMX512 MAGICFX DMX Safety Channel
00:06.674,1,50,@DMX512 MAGICFX DMX Safety Channel
00:06.764,11,100,@DMX512 MAGICFX L45 Medium DMX Mode1
00:06.764,21,100,@DMX512 MAGICFX L45 Medium DMX Mode1
00:06.764,31,100,@DMX512 MAGICFX L45 Medium DMX Mode1
00:06.764,41,100,@DMX512 MAGICFX L45 Medium DMX Mode1
00:06.764,51,100,@DMX512 MAGICFX L45 Medium DMX Mode1
00:06.764,61,100,@DMX512 MAGICFX L45 Medium DMX Mode1
00:06.764,71,100,@DMX512 MAGICFX L45 Medium DMX Mode1
00:06.764,81,100,@DMX512 MAGICFX L45 Medium DMX Mode1
00:06.764,91,100,@DMX512 MAGICFX L45 Medium DMX Mode1
00:06.964,12,100,@DMX512 MAGICFX L22.5 Medium DMX Mode1
00:06.964,22,100,@DMX512 MAGICFX L22.5 Medium DMX Mode1
00:06.964,32,100,@DMX512 MAGICFX L22.5 Medium DMX Mode1
00:06.964,42,100,@DMX512 MAGICFX L22.5 Medium DMX Mode1
00:06.964,52,100,@DMX512 MAGICFX L22.5 Medium DMX Mode1
00:06.964,62,100,@DMX512 MAGICFX L22.5 Medium DMX Mode1
00:06.964,72,100,@DMX512 MAGICFX L22.5 Medium DMX Mode1
00:06.964,82,100,@DMX512 MAGICFX L22.5 Medium DMX Mode1
00:06.964,92,100,@DMX512 MAGICFX L22.5 Medium DMX Mode1
00:07.164,13,100,@DMX512 MAGICFX Up Medium DMX Mode1
00:07.164,23,100,@DMX512 MAGICFX Up Medium DMX Mode1
00:07.164,33,100,@DMX512 MAGICFX Up Medium DMX Mode1
00:07.164,43,100,@DMX512 MAGICFX Up Medium DMX Mode1
00:07.164,53,100,@DMX512 MAGICFX Up Medium DMX Mode1
00:07.164,63,100,@DMX512 MAGICFX Up Medium DMX Mode1
00:07.164,73,100,@DMX512 MAGICFX Up Medium DMX Mode1
00:07.164,83,100,@DMX512 MAGICFX Up Medium DMX Mode1
00:07.164,93,100,@DMX512 MAGICFX Up Medium DMX Mode1
00:07.264,11,0,@DMX512 MAGICFX L45 Medium DMX Mode1
00:07.264,21,0,@DMX512 MAGICFX L45 Medium DMX Mode1
00:07.264,31,0,@DMX512 MAGICFX L45 Medium DMX Mode1
00:07.264,41,0,@DMX512 MAGICFX L45 Medium DMX Mode1
00:07.264,51,0,@DMX512 MAGICFX L45 Medium DMX Mode1
00:07.264,61,0,@DMX512 MAGICFX L45 Medium DMX Mode1
00:07.264,71,0,@DMX512 MAGICFX L45 Medium DMX Mode1
00:07.264,81,0,@DMX512 MAGICFX L45 Medium DMX Mode1
00:07.264,91,0,@DMX512 MAGICFX L45 Medium DMX Mode1
00:07.364,14,100,@DMX512 MAGICFX R22.5 Medium DMX Mode1
00:07.364,24,100,@DMX512 MAGICFX R22.5 Medium DMX Mode1
00:07.364,34,100,@DMX512 MAGICFX R22.5 Medium DMX Mode1
00:07.364,44,100,@DMX512 MAGICFX R22.5 Medium DMX Mode1
00:07.364,54,100,@DMX512 MAGICFX R22.5 Medium DMX Mode1
00:07.364,64,100,@DMX512 MAGICFX R22.5 Medium DMX Mode1
00:07.364,74,100,@DMX512 MAGICFX R22.5 Medium DMX Mode1
00:07.364,84,100,@DMX512 MAGICFX R22.5 Medium DMX Mode1
00:07.364,94,100,@DMX512 MAGICFX R22.5 Medium DMX Mode1
00:07.464,12,0,@DMX512 MAGICFX L22.5 Medium DMX Mode1
00:07.464,22,0,@DMX512 MAGICFX L22.5 Medium DMX Mode1
00:07.464,32,0,@DMX512 MAGICFX L22.5 Medium DMX Mode1
00:07.464,42,0,@DMX512 MAGICFX L22.5 Medium DMX Mode1
00:07.464,52,0,@DMX512 MAGICFX L22.5 Medium DMX Mode1
00:07.464,62,0,@DMX512 MAGICFX L22.5 Medium DMX Mode1
00:07.464,72,0,@DMX512 MAGICFX L22.5 Medium DMX Mode1
00:07.464,82,0,@DMX512 MAGICFX L22.5 Medium DMX Mode1
00:07.464,92,0,@DMX512 MAGICFX L22.5 Medium DMX Mode1
00:07.564,15,100,@DMX512 MAGICFX R45 Medium DMX Mode1
00:07.564,25,100,@DMX512 MAGICFX R45 Medium DMX Mode1
00:07.564,35,100,@DMX512 MAGICFX R45 Medium DMX Mode1
00:07.564,45,100,@DMX512 MAGICFX R45 Medium DMX Mode1
00:07.564,55,100,@DMX512 MAGICFX R45 Medium DMX Mode1
00:07.564,65,100,@DMX512 MAGICFX R45 Medium DMX Mode1
00:07.564,75,100,@DMX512 MAGICFX R45 Medium DMX Mode1
00:07.564,85,100,@DMX512 MAGICFX R45 Medium DMX Mode1
00:07.564,95,100,@DMX512 MAGICFX R45 Medium DMX Mode1
00:07.664,13,0,@DMX512 MAGICFX Up Medium DMX Mode1
00:07.664,23,0,@DMX512 MAGICFX Up Medium DMX Mode1
00:07.664,33,0,@DMX512 MAGICFX Up Medium DMX Mode1
00:07.664,43,0,@DMX512 MAGICFX Up Medium DMX Mode1
00:07.664,53,0,@DMX512 MAGICFX Up Medium DMX Mode1
00:07.664,63,0,@DMX512 MAGICFX Up Medium DMX Mode1
00:07.664,73,0,@DMX512 MAGICFX Up Medium DMX Mode1
00:07.664,83,0,@DMX512 MAGICFX Up Medium DMX Mode1
00:07.664,93,0,@DMX512 MAGICFX Up Medium DMX Mode1
00:07.864,14,0,@DMX512 MAGICFX R22.5 Medium DMX Mode1
00:07.864,24,0,@DMX512 MAGICFX R22.5 Medium DMX Mode1
00:07.864,34,0,@DMX512 MAGICFX R22.5 Medium DMX Mode1
00:07.864,44,0,@DMX512 MAGICFX R22.5 Medium DMX Mode1
00:07.864,54,0,@DMX512 MAGICFX R22.5 Medium DMX Mode1
00:07.864,64,0,@DMX512 MAGICFX R22.5 Medium DMX Mode1
00:07.864,74,0,@DMX512 MAGICFX R22.5 Medium DMX Mode1
00:07.864,84,0,@DMX512 MAGICFX R22.5 Medium DMX Mode1
00:07.864,94,0,@DMX512 MAGICFX R22.5 Medium DMX Mode1
00:08.064,15,0,@DMX512 MAGICFX R45 Medium DMX Mode1
00:08.064,25,0,@DMX512 MAGICFX R45 Medium DMX Mode1
00:08.064,35,0,@DMX512 MAGICFX R45 Medium DMX Mode1
00:08.064,45,0,@DMX512 MAGICFX R45 Medium DMX Mode1
00:08.064,55,0,@DMX512 MAGICFX R45 Medium DMX Mode1
00:08.064,65,0,@DMX512 MAGICFX R45 Medium DMX Mode1
00:08.064,75,0,@DMX512 MAGICFX R45 Medium DMX Mode1
00:08.064,85,0,@DMX512 MAGICFX R45 Medium DMX Mode1
00:08.064,95,0,@DMX512 MAGICFX R45 Medium DMX Mode1
00:08.465,10,4,White Chrysanthemum
00:08.674,1,0,@DMX512 MAGICFX DMX Safety Channel
00:08.828,1,50,@DMX512 MAGICFX DMX Safety Channel
00:08.928,93,100,@DMX512 MAGICFX Up Medium DMX Mode1
00:08.965,10,5,Red Chrysanthemum
00:08.965,10,6,Blue Chrysanthemum
00:09.028,83,100,@DMX512 MAGICFX Up Medium DMX Mode1
00:09.128,73,100,@DMX512 MAGICFX Up Medium DMX Mode1
00:09.228,63,100,@DMX512 MAGICFX Up Medium DMX Mode1
00:09.328,53,100,@DMX512 MAGICFX Up Medium DMX Mode1
00:09.428,93,0,@DMX512 MAGICFX Up Medium DMX Mode1
00:09.428,43,100,@DMX512 MAGICFX Up Medium DMX Mode1
00:09.528,83,0,@DMX512 MAGICFX Up Medium DMX Mode1
00:09.528,33,100,@DMX512 MAGICFX Up Medium DMX Mode1
00:09.628,73,0,@DMX512 MAGICFX Up Medium DMX Mode1
00:09.628,23,100,@DMX512 MAGICFX Up Medium DMX Mode1
00:09.728,63,0,@DMX512 MAGICFX Up Medium DMX Mode1
00:09.728,13,100,@DMX512 MAGICFX Up Medium DMX Mode1
00:09.828,53,0,@DMX512 MAGICFX Up Medium DMX Mode1
00:09.928,43,0,@DMX512 MAGICFX Up Medium DMX Mode1
00:10.028,33,0,@DMX512 MAGICFX Up Medium DMX Mode1
00:10.128,23,0,@DMX512 MAGICFX Up Medium DMX Mode1
00:10.228,13,0,@DMX512 MAGICFX Up Medium DMX Mode1
00:10.328,1,0,@DMX512 MAGICFX DMX Safety Channel

Figure 1 – Example Piroshow script

 

Table 4 – Example files

Download link Explanation
magicfx_piroshow_standard.fin Example standard show using Piroshow, MAGICFX
magicfx_piroshow_standard.txt Example standard exported script using Piroshow, MAGICFX
magicfx_piroshow_semi_auto.fin Example semi-auto show using Piroshow, MAGICFX
magicfx_piroshow_semi_auto.txt Example semi-auto exported script using Piroshow, MAGICFX