Total found:2902
To create and export a script for the Explo firing system, please follow these steps: Address the show ("Addressing > Address show"). Export the script ("File > Export > Export firing system script file…"). Step 2 creates the SHW script file. The file format details are described in this section. Figure 1 – Explo firing system The Explo SHW script can be imported and exported from Finale 3D. It is a CSV file with SHW filename extension. The SHW file is both a direct representation of what the user sees when editing a script in the Explo software, and also a firing system format, so the format is more flexible than most firing-system-only formats, to enable the user to represent script rows in the most convenient and readable representation (see "What rows represent" in Table 2, below). Table 1 – File format and encoding File format Extension Text encoding Field delimiter End-of-line Text .SHW Code Page 1252 Tab LF The script contains rows of information including module, pin, and ignition-time and other information. Multiple effects on the same module and pin at the same ignition time can be combined as a single row, or can be listed as separate rows. The special characteristics of the script are shown in the following table: Table 2 – Special characteristics Special characteristics Description Sort order of rows Rows sorted ascending by effect time. What rows represent Each row contains firing information associated with a shot. Although the rows are sorted by effect time, any single row may contain multiple effects ignited by the same module and pin, at the event time. Coalescing by unique module-pin or module-pin-event-time is not required. For example, a chain of five shells can be one row, or can be five rows. A pair of shells shot together from the same position can be one row, or two. Rows with module addresses corresponding to Explo Flamer units have a special meaning. Since flame projector units do not require a pin number to identify an electrical terminal, the pin number in the row is available for another use. For Explo Flamer units, the pin number represents a pre-defined flame program, or macro, that causes the flame to project at a specific angle or to animate across a sequence of angles. Header and end-of-show line The file contains a single header row with the column names, in the same format as the CSV data rows themselves. After the data rows, the file contains a final row with all fields blank except the second, which is the last effect time in the show, and the fourth, which is the word "Ende". Multi-hit pins Non-pyro effects like flames and relays can be triggered multiple times on the same module-pin address. The standard pyro addressing functions in Finale 3D assign pins sequentially, so it may be easiest to address multi-hit pins in Finale 3D by editing the script table by hand and then locking the edited rows so the show can be re-addressed for pyro without affecting them. Special characters The characters ‘ and “ and , and ; and and tab and newline will be filtered out of any text fields. Minimum separation between cues None required; 1/100th second resolution supported. Module specifications Supports 99 modules (numbered 1-99), each module with 30 or 70 pins (numbers beginning with 1). Also supports "Splitt" boxes that partition the range of pins in separate boxes that can be located at different positions (see below). The full list of Explo module types in Finale 3D is: Explo 30K, Explo 20K, Explo 2 x 20K, Explo 3 x 20K, Explo 2 x 20K Offset 10, Explo 3 x 20K Offset 10, Explo Flame Unit. "Splitt boxes" Explo firing systems support partitioning a device’s range of pins into 20-pin “splitt boxes.” Finale 3D supports splitt boxes using virtual slats, so you can take advantage of Finale 3D’s powerful addressing and racking features for reasoning with constraints relating to slats being at different physical locations (see Slats, virtual slats, and splitter boxes).Suppose you have one module with 70 pins that are distributed to three different launch positions using three splitt boxes with twenty pins each (10 pins being left over, unused). It would be important when addressing the show to apply the constraint that each splitt box is restricted to serving a single launch position, for otherwise you might have e-match wires running from position to position. But it would be too restrictive to constrain each module to serving a single launch position, because that would defeat the whole idea of using splitt boxes to distribute the module’s pins among multiple positions. Using virtual slats to represent splitt boxes allows you to arrange slats (splitt boxes) at various positions while having their module number and pin numbers still refer to the correct pin range of the parent module. In the Finale 3D script, splitt boxes’ Rail Addresses are two-part addresses, such as 1-A meaning module 1, first splitt box; or 1-B meaning module 1, second splitt box. The pins of each splitt box are numbered 1-20 in the Finale 3D script, but are converted to the corresponding 20 pin sub-range of the parent module’s range of pins 1-70 when exported to the SHW file. If Finale 3D, if you use the "Explo 2 x 20K" module type, its rail and pin addresses will be represented in the script window as rail address "1-A" and pin addresses 1 through 20 for the first splitt box, then "1-B" and pin addresses 1 through 20 for the second splitt box, etc., but will be translated to module address "1", pin addresses 1 through 40 in the SHW file. The Finale 3D module types "Explo 2 x 20K Offset 10" and "Explo 3 x 20K Offset 10" are the same as "Explo 2 x 20K" and "Explo 3 x 20K" except the pin numbers in the exported SHW file begin at 11 instead of 1. Flame units To design a show with Explo flame units using Finale 3D, please address the show with "Explo Flame Unit" module types if the show is entirely flame effects, or assign "Explo Flame Unit" as the module type of specific positions (by editing their position properties) if the show is partially flame effects and partially pyrotechnics. Any single position will be entirely flame or entirely pyrotechnic, depending on its module type. From the effects window, add pyrotechnic effects to the pyrotechnic positions, and add flame effects to the flame positions. Explo X2 Flamer units support 66 pre-defined flame programs, or macros, that cause the flame to project at a specific angle or to animate across a sequence of angles. The Generic Effects collection in Finale 3D includes 66 pre-made effects corresponding to the Explo flame programs, GFX9001 to GFX9066. These Explo effects all have realistic simulations and correct parameters representing the flame program numbers that get carried through into the script when you address the show and into the exported SHW file when you export. Thus, to design a show with Explo flame units, all you need to do is specify the module type is "Explo Flame Unit" and script using the pre-made Explo effects from Generic Effects; then address the show and export the SHW file. The show simulation will be realistic, and the exported SHW file will contain the flame program numbers. In the SHW file, the pin number in the "Box/Nr" field represents the flame program number for flame units. The pin number field is available because the flame units do not have physical pins. When you address the show, Finale 3D assigns module and pin numbers for the pyrotechnic module types, and assigns module and program numbers for the flame unit module types. The program numbers, stored in the "Pin" column in Finale 3D and the Box/Nr field of the SHW file, come from the "Custom Part Field" of the effects. As a convenience to the user, the Generic Effects with part numbers GFX9001, GFX9002, GFX9003, etc., happen to correspond to flame programs 1, 2, 3, and so on; but the actual data field in those effect definitions that specifies the flame program number is the Custom Part Field, not the part number. Please unhide the Custom Part Field column in the effects window to see. Segments Explo ignition systems' AutoShow software supports semi-automatic shows of individually triggered segments. In Finale 3D, set the Track field all events in the show to integers from 0 to 999, ascending chronologically. Events with the same Track field value are considered part of the same segment. Two of the export options shown in Table 3 incorporate this Track information in the exported file for the AutoShow software. Table 3 – Export options Option name Description Full show mode. Ignore Finale 3D Track field. Exported show is not divided up into different steps or segments separated by pauses. Step-by-step mode. Set SEQ to Finale 3D Track field. Exported show contains the Track field from Finale 3D in the Gruppe field of the exported SHW file, which appears as the SEQ column in the user interface of Explo's AutoShow software. For correct operation in this mode, all events in the script should have Track values in ascending order chronologically. Events with the same Track value are considered part of the same step. Pause mode. Insert pauses between tracks. The Track field from Finale 3D is not written to the exported SHW file directly, and instead used to insert "Pause" rows in the script between sequences of events with the same Track value. In the export process, Finale 3D changes the times of the events to make the sequences of events back-to-back with only a small time gap in between them even if the time gap between the sequences on the Finale 3D timeline is much larger. Knowing that Finale 3D will remove unnecessary time between sequences, users can design shows in Finale 3D with sequences of events separated my several seconds as a matter of convenience to make the sequences easier to identify visually on the timeline. In the exported SHW file, the gaps before and after the pause rows are a minimum of 100ms. The pauses are 200ms in most circumstances, and can be larger in circumstances in which differences in prefires cause script rows that are sorted by effect time to be out of order with respect to event time. Explo recommends this mode for use with their AutoShow software. End is after last line of script. The "End" row in the script is the same time as the last effect row. End is after music ends. The "End" row in the script is at the end of the music. After the header, each row in the script has a number of fields separated by tab. The names of these fields and their descriptions are the following: Table 4 – Specifications of script fields Field name Description Box/Nr (Exported and imported) The module (box) and pin (post) or Explo Flamer program number ( 1-66) of the shot, separated by slash. Explozeit (Exported and imported) The break time of the shot, in the format MM:SS.DD, where MM is the number of minutes formatted as two or more digits; thus capable of representing shows longer than 99 minutes. Abstand Zündzeit (Exported only) The delay to the next firing row, in the format MM:SS.DD, where MM is the number of minutes formatted as two or more digits; thus capable of representing shows longer than 99 minutes. Effektbezeichnung (Exported and imported) The effect description. (string, 80 characters max) Stz. (Exported and imported) The prefire time, in the format 0,0 (comma radix point). Efz. (Exported and imported) The duration of the effect, in the format 0,00 (comma radix point). Efg. (Exported and imported) The hazard field. (string, 80 characters max) Stop (Exported only) Finale 3d leaves this field blank. Stk. (Exported and imported) Quantity. Finale 3d writes the total number of devices represented by the firing row. Beschreibung (Exported and imported) Comment field. Finale 3d writes a graphic indicating the angles of the shots, such as ///. (string, 80 characters max) Position (Exported and imported) Position name. When importing a SHW file, if the Position field is blank then Finale 3D will construct a position name from the module number in the Box/Nr field, e.g., "Box-11". (string, 80 characters max) Steighöhe (Exported only) Finale 3d leaves this field blank. Größe (Exported and imported) Size. Finale 3d writes the part's Size into this field, including its units, e.g., 2.5" or 30mm. Etk. (Exported only) Number of labels to print. Finale 3d writes the total number of devices, same as "Stk." field. Effekttop (Exported only) Finale 3d leaves this field blank. Gruppe (Exported only) Finale 3d writes the value in the Track field if it is a valid value (integer, 0-999) and if the user has chosen the Step-by-step export mode (see Table 3); otherwise blank. This field appears as the SEQ column in Explo's AutoShow software. Bereich (Exported only) Finale 3d leaves this field blank. Winkel (Exported and imported) Angle. Finale 3d writes the shot angle, formatted as an integer, followed by the degrees character, i.e., 0° (character 0xB0 in Code Page 1252 encoding). If the script row represents multiple shots, the angle is that of the first. Pos. (Exported only) Finale 3d leaves this field blank. Use of this field is deprecated by Explo, though in practice it is sometimes used for the launch position notwithstanding the guidance from Explo (understandably, given the name). (blank) (Exported and imported) Artikel Ref. Finale 3d writes the Part Number. (string, 80 characters max) Importing SHW files You can import a SHW file into Finale 3D from the "File > Open..." menu item, simply by selecting the SHW file to import. Finale 3D will construct a show from the fields in the SHW file indicated in Table 4. SHW files do not contain 3D coordinates of the positions, so Finale 3D lays out the positions in the 3D world in a reasonable default pattern that takes into account the size of effects at each position. Finale 3D constructs visual simulations for the effects directly from the effect descriptions themselves, also taking into consideration the size and duration fields if provided. For importing shows that include Explo X2 Wave Flamer effects on their own or in combination with pyrotechnic effects, Finale 3D processes the imported data from the SHW file to expand the rows with flame effects into script rows in Finale 3D that have the correct visual simulations for the flames. Based on the Box/Nr field, Finale 3D can infer the Flamer program number (1-66) and can construct a matching simulation for the flame animation. But first, Finale 3D first must determine what rows in the show are flames, and what rows are pyrotechnic effects. Finale 3D follows this logic to make a good guess: Since the SHW file does not contain any reliable explicit indication of what rows are flames versus what rows are pyrotechnics (the descriptions sometimes include the word "flame" for flames but often they do not), Finale 3D examines the full show and attempts to determine what modules (boxes) are flames based on their pin outputs. If the module has at least two rows with the same pin number at different times, then the pin is not a pyrotechnic effect because it couldn't ignite an e-match twice. If the pin is not a pyrotechnic effect, it is probably a Flamer program number (1-66). If the pin is a Flamer program number, then the module must actually be a flame unit. Therefore all the pins on that firing module should be interpreted as Flamer program numbers. Having determined what rows are flames, Finale 3D takes takes the following steps to process the flame rows: Change the Module Type of the imported row to explo_flame. Change the Custom Part Field of the the imported row to the program number (1-66). Change the Description to the corresponding description of the program's animation, looking the description up from a table of 66 values. Change the Part Number of the imported row to the corresponding effect in Finale 3D's Generic Effects collection. Erase the angle field, because the program subsumes the angle. Change the Devices field to zero, since flame effects themselves are not devices. Change the VDL field to the corresponding VDL animation description that matches the program number. Examples An example script is shown below. Notice the last two rows are at the same event time but have different modules and therefore cannot be combined into a single row. Exported from Finale3D test_explo.mp3 Box/Nr Explozeit Abstand Zündzeit Effektbezeichnung Stz. Efz. Efg. Stop Stk. Beschreibung Position Steighöhe Größe Etk. Effekttop Gruppe Bereich Winkel Pos. 1/1 00:05.00 00:00.10 Green Chrysanthemum 2,2 1,00 shell 1 | Pos-01 2" 1 G2SH1003 2/1 00:05.10 00:00.10 Green Chrysanthemum 2,2 1,00 shell 1 | Pos-02 2" 1 G2SH1003 3/1 00:05.20 00:00.10 Green Chrysanthemum 2,2 1,00 shell 1 | Pos-03 2" 1 G2SH1003 4/1 00:05.30 00:00.10 Green Chrysanthemum 2,2 1,00 shell 1 | Pos-04 2" 1 G2SH1003 5/1 00:05.40 00:00.10 Green Chrysanthemum 2,2 1,00 shell 1 | Pos-05 2" 1 G2SH1003 6/1 00:05.50 00:00.10 Green Chrysanthemum 2,2 1,00 shell 1 | Pos-06 2" 1 G2SH1003 7/1 00:05.60 00:00.10 Green Chrysanthemum 2,2 1,00 shell 1 | Pos-07 2" 1 G2SH1003 8/1 00:05.70 00:00.10 Green Chrysanthemum 2,2 1,00 shell 1 | Pos-08 2" 1 G2SH1003 8/2 00:05.80 00:00.00 Green Chrysanthemum 2,2 1,00 shell 1 | Pos-08 2" 1 G2SH1003 9/1 00:05.80 00:00.00 Green Chrysanthemum 2,2 1,00 shell 1 | Pos-09 2" 1 G2SH1003 00:05.80 Ende Figure 1 – Example Explo SHW script Table 5 – Example files Download link Explanation test_explo.shw Example exported file (CSV) test_explo.fin Example show file demo_explo_flame.shw Example flames exported file demo_explo_flame.fin Example flames show file demo_explo_flame.mp4 Render example of flames
Some applications may require combining a simulation video produced in Finale 3D with other video created in other applications. Video editing software tools like Adobe Premiere provide all the functionality to combine videos, but you still need to create the video assets in a suitable format to be combined. There is a common misconception that overlaying fireworks simulations from Finale 3D onto other video backgrounds would require a transparency layer (also called an alpha channel, or chroma key) to extract out the simulations to apply over the background. However, fireworks simulations are predominantly light, so alpha blending is not the best operation for combining them onto background scenery. The reason is, light should never darken a scene, but if you use alpha blending, the partially transparent edges of the sparks may actually be darker than the background or even nearly black. Therefore even if they are mostly transparent, they actually darken the scene. The result is black edges around sparks. A better operation to combine a fireworks simulation over a background is called "additive blend" or "linear dodge". This operation strictly adds the light from the fireworks simulation to the background. The fireworks sparks therefore only brighten the background. And any black area in the fireworks video has no effect on the background. In Adobe Premiere, the operation is called "Linear Dodge (add)", in this menu: Figure 1 – Linear dodge (add) is the best mode for overlaying fireworks simulations To generate the video assets in Finale 3D, you need to make everything other than the fireworks themselves entirely black. It also may yield a higher quality result or be more convenient in your editing software to save the assets from Finale 3D as a png sequence instead of an encoded video. Figure 2 shows the render configuration settings dialog for creating video assets in Finale 3D to be combined with others. Notice the zero brightness scales on everything other than fireworks. The output format at the top is selected to produce a sequence of png images, such as YOURNAME.000000.png, YOURNAME.000001.png, etc. Figure 2 – Render configuration in Finale 3D for producing the video asset to be overlaid Camera field of view The camera vertical field of view for rendered videos is 60 degrees. Please check the "Standard aspect ratio in edit mode (letterbox)" field at the bottom of the render configuration to ensure what you see while editing the scene is the same image ratio as the exported video. The vertical field of view is the angle defined by the vertical range from the top to bottom of the image. Coordinate system Positions, models, and cameras all use the same, right-handed coordinate system in which X is to the right, Y is up, and Z is back toward the viewer (out of the screen in the identity orientation). Position coordinates are relative to models they are attached to, or to the global coordinates otherwise. ("Origin man" stands at the origin in global coordinates facing the positive Z axis.) Angles represented as heading, pitch, roll (HPR) can be combined as a composite rotation by rotating the identity orientation by three successive rotations, rotating first by pitch about the global X-axis, then by roll about the global Z-axis, and finally by heading about the global Y-axis, following the right-handed convention for the angles. Details of the coordinate systems are explained here: Positions coordinate system.
The Section field in position properties is an implicit constraint that prevents modules from being shared across positions in different sections. Just like the other module constraint options on the addressing dialogs of the form “Module restricted to single X”, you could imagine the meaning of Section is “Module restricted to single Section”, except it isn’t shown on the dialog because it always applies. Sections are commonly used in large shows with firing systems that have slats. Imagine a show with 100 positions, and five modules to be shared across those positions with slats at the individual positions. You may want to organize your positions into five sections for the five modules, to arrange for each module to serve 20 positions that are nearby each other. To create this organization, select a group of 20 positions that are nearby each other, then right click one of them and do “Edit position properties” from the context menu. Then section the section to 1 (or “A” or “banana” or any word you want). Do the same for the second group of 20 positions, assigning them a different section name. Repeat for all five groups. After assigning the section numbers, when you address the show, modules will never be shared across section boundaries. Adding section numbers wouldn’t make any difference if you already were using the constraint “Module restricted to single Position”, because if modules are restricted to single positions, then that means they are also restricted to single sections, since sections are just groups of positions. Most commonly, section numbers are useful when either 1) you are using slats, or 2) your groups of positions are so close together that you allow e-matches from a single module to serve all positions in the section, or 3) you are handling a special circumstance, like using scab wire to connect a position with a lone large caliber shot to the nearest other position with a module. In the slat circumstance (1), the addressing constraints are typically, Table 1 – “Normal Slats” blueprint for sharing modules with non-piggy back slats Modules constrained to same (no constraint) Slats constrained to same Position And since there is no Position constraint on the modules, the section number is what prevents the modules from being shared across the boundaries of the groups of positions. In the scenario (2) in which modules serve all the positions and slats aren’t even involved, the constraint options are simply, Table 2 – “Sharing Modules” blueprint for sharing modules Modules constrained to same (no constraint) Slats constrained to same (no constraint) Scenario (3) usually uses the constraints of Table 2 for the specific positions involved in the special circumstance, but uses a different set of constraints from a different blueprint for the other positions in the show. As discussed in addressing constraints, the assignment of a different blueprint to the positions involved in the special circumstance would create an implicit section boundary around those positions, so it is not strictly necessary to further distinguish them with a unique section number, but it is good practice, because you might use that blueprint in other sections of the show also, without intending to group those other sections with the special circumstance positions.
The meaning of "Module restricted to single X" is that every effect fired from the module must have the same value for X, whatever X is. For example, if you select X = Position, then the meaning is that every effect fired from a given module must be at the same position. That’s usually what you want, because usually you don’t want effects at different positions fired by the same module, because that would require e-matches or scab wire running between the positions. Except for a few special values (see Special constraints), the possibilities for X are just the attributes of the effects being addressed. If you add a second constraint, like “Module restricted to single Size” then not only will the module’s wires be restricted to a single position, they will also be restricted to effects with the same size. This constraint might be useful if your racks for different size effects were far apart, and you didn’t want wires running between the different size racks. If you want eliminate wires between arbitrary groups of racks (“Rack Clusters”), then you can add a Rack Cluster constraint to the modules, as described here: restricting to racks. In addition to the module constraint options on the addressing dialogs, there is an implicit constraint that always applies: “Module restricted to single section”. An Addressing Group is any group of positions that has the same Start Module Number, Blueprint, Module Type, Section, and Universe -- all of which can be set on the position by right clicking the position and doing “Edit position properties” from the context menu. The section constraint refers to the addressing group, preventing modules, slats or pins from being shared across positions that are different with respect to Section or any of the other addressing group terms. If you want to share modules across positions, the positions involved must have the same values for these properties. See Using the Section field in position properties. The constraints on slats and pins have the same meaning as the constraints on modules, but they apply to the slats and pins. If the firing system doesn’t use slats, then you can ignore the constraints on slats. At first blush, you might wonder what the meaning of the constraints on pins is. In fact, constraints on pins only matters if you allow multiple e-matches on the same pin, which means that you’ve changed the default “Max e-matches per pin” on the addressing dialog from 1 to some number larger than one. If you do that, then the constraint adds restrictions on the effects shot from the same pin, analogously to the restrictions on the effects shot from the same module. For example if you add the constraint “Pin restricted to single Size”, then you will never have effects of different sizes being e-matched to the same firing system pin. If you use slats at different positions that are connected to the same module, then the constraint options are required to restrict each slat to a single position whilst NOT restricting the module to a single position. The “normal” constraints for using slats at different positions connected to the same module are shown in Table 1: Table 1 – “Normal Slats” blueprint for sharing modules with non-piggy back slats Modules constrained to same (no constraint) Slats constrained to same Position This table does NOT include a Position constraint on the module, because if it did, then the same module couldn’t feed the slats at the different positions. The positions do share the modules; they do not share the slats. If the firing system uses piggyback slats, then a different set of constraints is required, as described here: piggyback slats One final observation about constraints may make them easier to remember: If you add a constraint X to the module, then it is redundant and unnecessary to add it to the slat or pin. The reason is, any effect fired from a slat or pin is also being fired by the module to which the slat or pin is connected, so that module’s constraints will apply. If would be impossible to have two effects of different sizes e-matched to the same pin, for example, if the module was constrained to a single Size, even though the pin didn’t have any explicit constraints on it.
Shows that use firing system slats in some positions and not others require addressing the different sections of the show with different rules. The Pro and Hobbyist versions of Finale 3D support slats in slightly different ways. The Hobbyist version uses "Sections." The Pro version uses "Sections" and also adds the option of using "Addressing Blueprints" which allow for more addressing customization for different sections of the show. Both the Hobbyist and Pro versions also support slats by manual addressing, of course, which allows any kind of address assignment but which generally requires more work than the automatic functions. The dialogs relating to addressing for slats or modules that fire in parallel are the "Address Show" or "Addressing Blueprint" dialog, for defining the addressing rules, and the "Position Properties" dialog, for specifying which positions the rules apply to and for defining the boundaries within which modules or slats can be shared. The relevant fields in these dialogs are shown circled in Figure 1 and Figure 2. Figure 1 – The "Address Show" dialog specifies the addressing rules. Figure 2 – The "Position Properties" dialog assigns section names and addressing rules (addressing blueprints) to positions. General principles In the sections of the show that use slats, you need the slats themselves NOT to be shared across positions, while the parent modules of the slats ARE shared across the positions. For example, if positions Front-1, Front-2, Front-3, Front-4, and Front-5 all use slats from the same module, they are all sharing that module, which can be located anywhere, but they are not sharing the individual slats, which are located at the positions in which they are used exclusively. For this scenario, the basic constraints are, Table 1 – Constraints for sharing modules across positions Modules constrained to same (no constraint) Slats constrained to same Position By contrast, positions that use pins directly on the modules, would constrain each module to a single position so that wires from the module do not stretch to other positions. Table 2 – Constraints for NOT sharing modules across positions Modules constrained to same Position Slats constrained to same (no constraint) Some firing systems provide a method of replicating a slat or module with piggyback units that fire in parallel, as if they were wired together. Finale 3D supports addressing piggy back slats either manually by hand or automatically using blueprints. If you manually assign all the slat and module addresses by hand, you can assign the same module number at multiple positions to represent the fact that the same module addresses are firing in parallel at the different positions. Usually that would be an error, but in the case of piggyback units, it is not an error. Addressing the show using blueprints (Pro) The “Address show with blueprints assigned to positions” function (a Pro feature) uses addressing templates (Blueprints) to encapsulate the different rule sets that apply to the different sections of the show. A section of the show that uses the pins directly on the modules and does not share modules among positions would use the blueprint, or rule set, represented by Table 2. A section of the show that uses slats at different positions connected to a common (shared) module would use a blueprint represented by Table 3. A section of the show that uses piggy back slats firing in parallel at different positions would use the blueprint represented by Table 4. If you are using piggy back slats or modules, you also need to change the "Max e-matches per pin" limit in paragraph 1 of Figure 1 from "1" to as many piggy back slats or modules as are being shared. If the original positions in the show have both piggyback and non-piggyback units, then you need to split the positions into two parts, such as splitting a position named Front-01 into Front-01A and Front-01B, moving all the effects destined for the piggy back slats to A or B. Assuming you’ve separated the piggy back positions, the next step is to create the two blueprints for the slats: Piggyback Slats, and Normal Slats. Assign these blueprints to the respective positions, and assign a “Normal Modules” blueprint represented by Table 2 to the positions that use pins directly on the modules. Table 3 – “Normal Slats” blueprint for sharing modules with non-piggy back slats Modules constrained to same (no constraint) Slats constrained to same Position The Piggyback blueprint has different constraints: Table 4 – “Piggyback Slats” blueprint for sharing piggy back slats Modules constrained to same (no constraint) Slats constrained to same (no constraint) The final step, after assigning the blueprints to the positions (by right clicking on the positions and clicking “Edit position properties” in the context menu), is to address the show with the function “Address show using blueprints assigned to positions.” Addressing the show without using blueprints (Hobbyist or Pro) Since the Hobbyist version doesn't support blueprints, you aren't able to assign different rule sets to different sections of the show. However, you can use the section field to define the boundaries for sharing. In some cases, that's all you need. Take for example the scenario in which a section of the show (say, the front positions) share piggy back modules and the other positions do not share modules. In this example, you can select all the front positions, then right click one and do "Edit position properties" to edit the properties of those positions as shown in Figure 2. Set the section field of those positions to the same name (e.g., "front") so they are in the same section. Then edit the position properties of the other positions in the show individually, and assign each one of them its own unique section name. Then address the show using the constraints of Table 4 (no constraints). Since modules are inherently restricted to the same section (see the text on the first line of paragraph 3 in Figure 1), the front positions in the same section will be allowed to share the same modules, which is what the piggy back modules are doing in reality, while the other positions in their own sections will not be allowed to share modules.
Every display company has a different scheme for arranging its racks, but most companies arrange their racks in groups (“Clusters” in Finale 3D terminology) of some kind. Generally, companies do not want e-match wires extending between groups of racks, which imposes constraints on the firing system addresses. Consider the example of a display company that uses Pyrodigital field modules with 16 pins, along with wooden racks with 5 tubes each, nailed together in clusters of three racks housing 15 tubes per cluster. The company attaches a single field module to each cluster. For ease of setup, the company decides that it is willing to let one pin per module go unused, allowing the other 15 pins to match up with the 15 tubes in the rack assembly to which the module is attached. From an addressing perspective, this company needs to add the constraint that a module is restricted not to a single rack, but to a single rack cluster. Table 1 – Sort order and constraints for eliminating wires between rack clusters Addresses sorted by Position > Size > Angle Modules constrained to same Position, Size, Angle, Rack Cluster Addressing the show with these sort criteria and constraints will result in one module per rack cluster, and that module’s 16th pin will go unused to avoid wires running between the rack clusters. The two screenshots below show the effect of snapping the racks together into clusters before addressing. Both examples have the same sort criteria and constraints, from the table above. In the first example, the racks are addressed in one big group, and cannot subsequently be separated into clusters without wires running between the clusters. In the second example, the racks are arranged in clusters of three before assigning the addresses, and the Rack Cluster constraint ensures no wires run between the clusters. Figure 1 – Impossible to split racks into clusters after addressing (photo: Finale 3D). Figure 2 – Splitting the racks into clusters before addressing results in one module per cluster.
Choosing the best sort order for the addresses can affect the efficiency of setting up the show from end to end. The rack layout, for example, depends on the addresses of effects with different angles and sizes. If a module addresses multiple size or angle effects, that forces the crew to setup racks for each of those sizes or angles within reach of the module. Both the sort order and constraints affect how often a module serves multiple sizes or angles. Constraints prevent a module from serving multiple sizes or angles, at the expense of unused pins. Sort order reduces the occurrence, with fewer unused pins. If you sort the modules by size, then only the module at the transition between one size and the next will serve multiple sizes. Same for angles. If there are many modules at the position, then these few transition modules may be acceptable. Table 1 – A good choice for sort order and constraints for many types of shows Addresses sorted by Position > Size > Angle Modules constrained to same Position, Size The table above shows a good choice for the sort order and constraints for a wide range of shows. Another option is to constrain modules by Position, Size, and Angle-Plus-Minus, where Angle-Plus-Minus means that modules can serve left-leaning, straight up, or right-leaning angles, without regard to the specific number of degrees, but cannot serve any combination of angles that lean different directions. Adding the Angle-Plus-Minus constraint causes additional pins to go unused at the transitions between the three groups of angles, but not nearly as many pins as if you add Angle to the constraints. If Angle-Plus-Minus isn’t exactly what you want to use as a constraint, you can also make your own field in the Custom Script Field, and use that as a constraint. As an example, you could make your own version of the Angle-Plus-Minus field by sorting the script by angle and filling in the values L and R in the Custom Script Field for the left-leaning and right-leaning effects (using the letters L and R is an example; you could use any notation you want). Having added those field values to the Custom Script Field, you would address the show with the sort and constraints of: Table 2 – A choice for sort order and constraints that allows splitting apart angled rack groups Addresses sorted by Position > Size > Angle Modules constrained to same Position, Size, Custom Field The Custom Position Field is another field that you can use for addressing sorts and constraints. As you can guess from the name, this field is a property of the positions. Each script row inherits the Custom Position Field from the position at which the script row is located. If you want to sort or constrain addresses based on a property of the positions, you can set the Custom Position Field values on the positions themselves, rather than setting the Custom Script Field for each script row individually. As a simple example, imagine that your positions were named A, B, and C, and for some reason you wanted addresses to be assigned by order of positions but in the order B, A, C. You could set the Custom Position Field values for A, B, and C, to 2, 1, 3, respectively, and then assign addresses sorted by the Custom Position Field.
The following table shows the languages supported by Finale 3D. There are two aspects to supporting a language: 1) creating simulations automatically based on effect descriptions, enabling you to import an inventory or create effects one by one in your own language; and 2) displaying the user interface text in your language. The table shows whether these aspects are supported for each language. Please contact support@finale3d.com if you are interested in translating to a language that is not yet supported. Table 1 – Supported languages Language Automatic simulations from effect descriptions User interface Brazilian Portuguese Pending ✓ Bulgarian Pending ✓ Chinese Simplified Pending ✓ Chinese Traditional Pending Pending Dutch ✓ ✓ English ✓ ✓ French ✓ ✓ German ✓ ✓ Hungarian Pending ✓ Italian ✓ ✓ Japanese Pending ✓ Maltese Pending ✓ Norwegian Pending ✓ Polish ✓ ✓ Portuguese ✓ ✓ Romanian Pending ✓ Russian ✓ ✓ Spanish ✓ ✓ Turkish Pending ✓ Ukrainian Pending ✓
This section contains instructions to create a language translation file for localizing the Finale 3D user interface to a non-English language. Please contact will@finalefireworks.com if you are interested in translating to a language that is not yet supported. The process of creating a language translation file is: Begin with a blank translation file template that you can get from will@finalefireworks.com or copy from C:UsersYOURNAMEAppDataRoamingfinale3dfinale3d-filesapp.nwtranslationstranslations_template.txt and rename to store it locally somewhere convenient on your hard drive. Using a text editor, replace all the translation phrases with your translations. The translation phrases all begin with "XX" and are in all-caps, so they are easy to recognize. Also change the header line from "en" to whatever your language designation is (e.g., "fr" for French). If you see three question marks (???) in a translation phrase, please include the same ??? in your translation. These question marks indicate a parameter that the software will replace with a number or word when it displays the phrase to the user. Also, if the translation phrase includes backslash-n (n), that indicates a line break. Please include the same backslash-n in your translation. Also, if the translation phrase includes a curly bracket phrase like {{ ~p}} or {number_of_modules}, please include the exact same curly bracket phrase without translating the interior. Save your text file in the UTF-8 or UTF-16 Unicode format. From Finale 3D, select the menu item "File > Admin > Install language translation file..." and select your file. That's all there is to it! In the future, if a software update adds some text, you can update your translation file by, From Finale 3D, select the menu item "File > Admin > Update language translation file for any missing phrases..." and select your file. The update function will preserve all your translations, and will add any new phrases needing translation. If any of your existing translations are no longer needed, the update function will add the comment "NON-MATCHING" in front of them so you can delete them whenever you want. The update function never deletes anything. With those basic instructions, you can get started right away, but it is worth reading a few more details to understand how it all works: When the user selects a language from the "File > Languages" menu of Finale 3D, the software loads a language translation file that translates all the English phrases in the user interface into the selected language. Finale 3D has approximately 4000 such phrases, some being just a single word; others being a sentence or two. The language translation file thus consists of about 4000 pairs of lines. The first line in each pair is the English phrase; the second line is the corresponding translation in the other language. Here is a "before" and "after" explanation. The first figure below is the beginning of the blank translate template file ("before"); the second is the beginning of the Russian translation file ("after"): en 0. || Playback mode: XX PLAYBACK MODE: 1. || Render mode: XX RENDER MODE: 2. ||'Matching' means the part numbers are the same. XX'MATCHING' MEANS THE PART NUMBERS ARE THE SAME. Figure 1 – Blank translate template file ("before translation"). ru 0. || Playback mode: режим воспроизведения: 1. || Render mode: графический режим: 2. ||'Matching' means the part numbers are the same. «Соответствие» означает, что номера деталей совпадают. Figure 2 – After translating to Russian ("after translation"). The first line in the translation file ("ru") is actually a header line that designates the language. The header line contains one of these language codes, depending on the language. Table 1 – Language codes Language code Language bg Bulgarian en English es Spanish fr French pt Portuguese pl Polish ru Russian zhHans Chinese Simplified zhHant Chinese Traditional de German nl Dutch tr Turkish ja Japanese it Italian After the "ru" language designation in the example, the first translation pair is, 0. || Playback mode: режим воспроизведения: The first line in the pair is the English phrase to be translated. It begins with a comment (in this case "0. "), followed by two vertical bars, followed by the exact text of the English phrase. The comment is either a count or the words "NON-MATCHING" if the translation phrase is obsolete. The comment -- all the text before the two vertical bars -- has no effect on the actual translation. The comments are included as a nicety for the person doing the translation, so you can keep track of where you are. The text after the comment and double bars is the exact text of the English phrase. Please leave this text exactly as it is. The second line of the pair is the translation, which should match the meaning of the English phrase, and should have the same punctuation at the beginning and end of the phrase. Some of the translation phrases are fractional parts of sentences that get combined in the user interface to make full sentences, so it is important that if the English phrase begins with punctuation or a space, then the corresponding translation phrase must also begin with the same punctuation or space, so the punctuation and spacing are correct when combined. Look at this first pair -- do you notice that there's a space after the double bar, before the word "Playback?" There's also a corresponding space at the beginning of the Russian translation phrase.
To create and export a script for the Fire Pioneer firing system, please follow these three steps: Design the show. Address the show ("Addressing > Address show"). Export the script ("File > Export > Export firing scripts"). Step 3 creates the script file, which is a CSV file that you can import into the Fire Pioneer software. Figure 1 – Fire Pioneer control panel The CSV header row defines the fields, and the terminology is similar to the column headers in Finale 3D. A few differences to note are: Hazard in Finale 3D means “Priority” in Fire Pioneer. Part Number in Finale 3D doesn't have a corresponding field in the Fire Pioneer script format, so it is stored in the “EffectComment1” field in the exported Fire Pioneer script. The other minor variations in terminology and adaptations are explained in Table 3, below. Table 1 – File format and encoding File format Extension Text encoding Field delimiter End-of-line Text .CSV UTF-8 with BOM (0xef 0xbb 0xbf) ; (semi-colon) 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 Sort order of rows Rows sorted ascending by effect time. 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. Header The file contains a single header row with the column names, in the same format as the CSV data rows themselves. Multi-hit pins Non-pyro effects like flames and relays can be triggered multiple times on the same module-pin address. The standard pyro addressing functions in Finale 3D assign pins sequentially, so it may be easiest to address multi-hit pins in Finale 3D by editing the script table by hand and then locking the edited rows so the show can be re-addressed for pyro without affecting them. Special characters The characters ‘ and “ and , and ; and and tab and newline will be filtered out of any text fields. Minimum separation between cues None required; millisecond resolution supported. Module specifications Supports 99 modules (numbered 1-99), each module with 32 pins (numbered 0-31). Segments Fire Pioneer supports dividing a show into multiple segments corresponding to songs. By default, every song file you add to your show in Finale 3D corresponds to a separate segment, beginning with zero for the first and counting up. Finale 3D provides an export option for Fire Pioneer to export the script as a single file, in which case the segment number will be zero for all rows in the exported file, or as "One script file per segment", in which case the segment numbers in the files correspond to the segment numbers of the songs. See segments for instructions. Timecode FSK timecode files for Fire Pioneer contain a segment number embedded in the timecode signal along with the timing information. The segment number must correspond to the segment number in the associated script file. If you have a show with multiple songs, each song representing a segment, then you should export the show from Finale 3D using the "One script file per segment" export option, which will generate multiple script files, one for each song. To generate the associated audio files that include the songs on one channel and the timecode on the other channel, use the function, "File > Export > Export soundtrack...". In the export soundtrack dialog, select "Music mono (mixed)" for either the left or right channel and "Fire Pioneer FSK (one file per segment)" for the other channel. This will generate multiple WAV files, one for each song, with the embedded segment numbers corresponding to the segment numbers in the script file. If you want verify any timecode file is correct or ascertain what segment number it contains, please try the function, "File > Tools > Analyze timecode in soundtrack file..." This function works on all timecode files, whether they are generated from Finale 3D or from other software. Table 3 – Export options Option name Description Segments Either "One script file" or "One script file per segment" After the header, each row in the script has a number of fields separated by the semi-colon character. The names of these fields and their descriptions are the following: Table 4 – Specifications of script fields Field name Description Eid The row number in the script, beginning with 1. EventDescription The word "Event" immediately followed by the row number in the script, beginning with 1. EffectDescription A description of the effect, preceded by a count in parentheses if the row represents more than one device, such as for a chain or a pair of effects ignited together. ScriptTimeText The effect time, formatted as HH:MM:SS,DDD. Position The position name. Angle ASCII-art characters ( | /) indicating the angles of the shots; multiple characters if multiple devices are ignited by this firing row, e.g., / for an angled pair. Qty Number of devices ignited by this firing row if more than 1, or 1 as the minimum value. Address The firing system address of the shot: a four digit number, the first two digits being the module number (1-99), and the second two digits being the pin number (0-31). Priority The Hazard class, from 0-8, with 0 being the default value (the Hazard field in Finale 3D). Segment The segment number, 0-9999, with 0 being the default value (defined by songs or segment markers in Finale 3D). Comment The script notes for the row (the Notes field in Finale 3D). ScriptTimeMS The effect time, in milliseconds. FireTimeMS The event time, in milliseconds. Type The type of the effect, which in Finale 3D is restricted to one of these enumerated values: cake, candle, single_shot, shell, ground, rocket, mine, comet, flame, other_effect, not_an_effect, rack. Cal The size of the effect, including units (e.g., 75mm); since double quote characters are filtered out of the exported Fire Pioneer script file, they will be missing from effect sizes in inches (e.g., 2.5 instead of 2.5") (the Size field in Finale 3D). Breaktime The prefire time of the effect, formatted as a floating point number (the Prefire field in Finale 3D). Duration The duration of the effect, formatted as a floating point number. VendorNumber The manufacturer part number of the effect (the Manufacturer Part Number field in Finale 3D). Location The standard storage location for the effect (the Storage Location field in Finale 3D). PRICE1 The standard price for the effect (the Price field in Finale 3D). PRICE2 The standard cost for the effect (the Cost field in Finale 3D). PRICE3 Finale 3D writes 0 to this field. EffectComment1 Finale 3D writes the part number in this field (the Part Number field in Finale 3D). EffectComment2 Finale 3D leaves this field blank. FireoneSlat Finale 3D writes 0 to this field. FireoneCue Finale 3D writes 0 to this field. PyroAddr Finale 3D writes 0 to this field. An example script is shown below. Notice the last two rows are at the same event time but have different modules and therefore cannot be combined into a single row. Eid;EventDescription;EffectDescription;ScriptTimeText;FireTimeText;Position;Angle;Qty;Address;Priority;Segment;Comment;ScriptTimeMS;FireTimeMS;Type;Cal;Breaktime;Duration;VendorNumber;Location;PRICE1;PRICE2;PRICE3;EffectComment1;EffectComment2;FireoneSlat;FireoneCue;PyroAddr 1;Event1;Green Chrysanthemum;00:00:05,000;00:00:02,760;Pos-01;|;1;0100;0;0;;5000;2760;shell;2;2.24;1,02;G2SH1003;;1,45;0,0;0;G2SH1003;;0;0;0 2;Event2;Green Chrysanthemum;00:00:05,100;00:00:02,860;Pos-02;|;1;0200;0;0;;5100;2860;shell;2;2.24;1,02;G2SH1003;;1,45;0,0;0;G2SH1003;;0;0;0 3;Event3;Green Chrysanthemum;00:00:05,200;00:00:02,960;Pos-03;|;1;0300;0;0;;5200;2960;shell;2;2.24;1,02;G2SH1003;;1,45;0,0;0;G2SH1003;;0;0;0 4;Event4;Green Chrysanthemum;00:00:05,300;00:00:03,060;Pos-04;|;1;0400;0;0;;5300;3060;shell;2;2.24;1,02;G2SH1003;;1,45;0,0;0;G2SH1003;;0;0;0 5;Event5;Green Chrysanthemum;00:00:05,400;00:00:03,160;Pos-05;|;1;0500;0;0;;5400;3160;shell;2;2.24;1,02;G2SH1003;;1,45;0,0;0;G2SH1003;;0;0;0 6;Event6;Green Chrysanthemum;00:00:05,500;00:00:03,260;Pos-06;|;1;0600;0;0;;5500;3260;shell;2;2.24;1,02;G2SH1003;;1,45;0,0;0;G2SH1003;;0;0;0 7;Event7;Green Chrysanthemum;00:00:05,600;00:00:03,360;Pos-07;|;1;0700;0;0;;5600;3360;shell;2;2.24;1,02;G2SH1003;;1,45;0,0;0;G2SH1003;;0;0;0 8;Event8;Green Chrysanthemum;00:00:05,700;00:00:03,460;Pos-08;|;1;0800;0;0;;5700;3460;shell;2;2.24;1,02;G2SH1003;;1,45;0,0;0;G2SH1003;;0;0;0 9;Event9;Green Chrysanthemum;00:00:05,800;00:00:03,560;Pos-08;|;1;0801;0;0;;5800;3560;shell;2;2.24;1,02;G2SH1003;;1,45;0,0;0;G2SH1003;;0;0;0 10;Event10;Green Chrysanthemum;00:00:05,800;00:00:03,560;Pos-09;|;1;0900;0;0;;5800;3560;shell;2;2.24;1,02;G2SH1003;;1,45;0,0;0;G2SH1003;;0;0;0 Figure 1 – Example Fire Pioneer script Table 5 – Example files & tools Download link Explanation test_firepioneer.fin Example show file firepioneer.csv Example exported file (CSV) cueManager3.exe Fire Pioneer cueManager application