Show Import

Overview

Show import allows you to load shows from other choreography tools into Finale. The import process is almost a "one-click" command, so if you have scripts from shows you've designed in the past in non-visual tools, you may enjoy importing them into Finale just to see what they look like. Finale automatically finds matching simulations for your effects based on the effect names.

To begin with, you will need to save your show in the CSV (comma separated value text file) format. CSV is the lingua franca for fireworks related software, so almost all choreography programs have an option to export a show in that format. The CSV file will contain rows of data, each row representing a firing event, similar to the Firing View panel in Finale. Once this file has been created, you can import it into Finale with the menu command "File > Import show".

Though CSV does have a formal definition, not all applications follow it (including non-English versions of Excel). The CSV format that Finale expects is a text file, with each line in the text file representing a row of fields. The fields are separated by commas. Decimal numbers use periods instead of commas for the decimal point. If a field contains a comma, then the field is enclosed in double quotes. If the field contains a double quote or backslash, then the field is enclosed in double quotes and that character is preceded by a backslash.

There are quite a number of choreography programs, and each of them has its own organization for the information in the CSV file. In order to be compatible with as many tools as possible, Finale doesn't assume any specific CSV format. The requirement is only that the first row of the file is a "header row" containing the names of the columns. Based on that information, Finale can read the firing event rows and build a show with effects launching at the times and positions specified in each row. Thus depending on what choreography program created the file, you may have to add column headers using Excel or Notepad, but that is about all the preparation you have to do. After the import completes, you may want to add music and background picture, arrange the launch positions in their proper places, or configure the launch positions for your firing system.

Input File Format

The input file should contain a single header row, followed by firing rows, one for each firing event. The header row contains the titles of the columns, which can be in any order. At a minimum, each firing row specifies what the shot includes and when it occurs. Here is a short example, formatted in columns for readability (the actual file would contain commas separating the fields):

Effect Time	Effect Name				Caliber	Category	Prefire
00:00:10.0	Red Peony (2.5s PFT)			3"	Shells	
00:00:11.0	5" Dragon Eggs					Shells		4.2
00:00:12.0	49 Shot 7s Time Rain Cake (0.1s PFT)	30mm	Cakes	
00:00:13.0	96 Shot Red Crossette To Blue Cake	1/2"	Cakes		0.1s
00:00:14.0	Varg Peony To Report (Chain Of 5)	4	Shells	

Notice in this example that some of the firing rows include information in the effect name column, and others include information in the other columns. Finale can handle a broad range of formats, and will fill in reasonable default information if it is missing. In this example, the first and third row specify a prefire time in the effect name itself. The second and fourth row specify a prefire time in the separate column. The fifth row doesn't specify a prefire time at all; this firing event will inherit a default prefire time based on the caliber of the shells.

Each firing event specifies, either explicitly or implicitly, both a shot time (when the effect is ignited) and an effect time (when the effect's visual impact is perceived). Depending on the information in your CSV file, Finale can determine these times in different ways. If you provide an effect time and a prefire, Finale can calculate the shot time as the effect time minus the prefire time. Similarly, Finale can calculate the effect time from the shot time and prefire, or the prefire from the shot time and effect time. In the example above the shot times will be calculated from the explicit effect times and the prefires (or a default prefire for the fifth row).

Required and Optional Columns

Aside from the Effect Name column, the only other required column is a time column, either Shot Time, or Effect Time. Finale will calculate one from the other, using the prefire, or will calculate the prefire from the two times if both are provided. Another optional column is Quantity, which indicates the number of devices represented by the firing row. Some choreography tools represent a shot with multiple devices fired at the same time as a single row; other tools represent each device with its own row. Finale can understand either convention. If the Quantity field is not provided, the rows are assumed to represent a single device each.

The remaining optional columns are, Caliber, Product ID, Unique ID, Animation Search Phrase, Category, Prefire, Duration, Mfg, Mfg ID, Angles, Launch Position, Module Address, Slat Address, Pin Address, and Price. These columns are described fully in the Import Inventory section.

Importing Matching

If you provide a Product ID or a Unique ID that matches an item in your inventory, then Finale will use the simulation defined for that item in your inventory if you select the "Import matching" option in the dialog after beginning your import. Otherwise, Finale will construct a simulation from the Animation Search Phrase description, if provided. If that field is not provided, Finale constructs a simulation from the Effect Name itself.

Importing From Other Formats

The "File > Import show" menu also includes options to import from other formats, such as Show Director SCX, ScriptMaker/CueMaker FIR, Pyromate SmartShow, and Galaxis Pyrotech GS2.

Galaxis GS2

When importing a GS2 format script, the imported fields from the 70-field firing row records in the script are (counting fields from 0): Ignition Time (Field #2), Effect Time (Field #3), Caliber (Field #13), Effect Name (Field #11 or if empty then Field #12), Animation Search Phrase (Field #60 if contains characters other than hex digits, or Field #11), Launch Position (Field #22), Angles (Field #23), and Product ID (Field #42).

The GS2 script format and Pyrotech Composer have more than one column for representing the effect name. For best importing results, your GS2 script should contain the entire effect name in Field #11 (Item/Artikel); and if you want to provide a full description of the effect for purposes of specifying the animation, you should include the full description in Field #60 (QS Test/ShowSimID).

Other Useful Commands

If you'd like to make sure your columns headings are correct before importing the show, try the command, "File > Verify CSV file for import". This function reads the file, then write a "notes" file showing what Finale is going to do with the information the file contains. The notes file begins with the original columns to the left, but then tacks on "notes" columns on the right, representing the specific information Finale is going to use the create the show. By looking at these notes columns you can tell what is going to happen if you import the show.

Another useful command is, "File > Import product demo from CSV file..." This function is similar to "Import show" except it doesn't require times. If you have a list of products and you'd like to see their simulations, the "Import product demo" command will create a show for you with the products spaced out evenly, like a real world product demo!