Total found: 308
Reverse tube loading order

Unless otherwise specified, the tubes in racks will load top to bottom when addresses are assigned.  Of course you can drag-and-drop the pins in the racks to rearrange the tube assignments in the rack layout view, but if you know that you want to snake the loading order back and forth as shown in Figure 1, then you can save some time by indicating that alternating racks have reversed tube loading order. The "User settings > Reverse tube loading order on alternating racks" setting will cause the "Racks > Add racks for show" and other rack adding commands to reverse the tube loading order of alternating mortar racks in every size-angle group of racks (excluding cake, candle, and single-shot racks).      Figure 1 – If "User settings > Reverse tube loading order on alternating racks" is ON, then "Add racks for show" will reverse the loading order of alternating mortar racks within a size-angle group.   If you add racks individually by clicking on them in the effects window, then they'll be inserted into rack layout with the standard tube loading order.  To reverse the tube loading order on specific racks, shift-click to select all the racks you want to reverse, then right-click on any of them and do the command "Reverse tube loading order" from the context menu, as shown in Figure 2.  The small bar at the top of the rack indicates that its tube loading order is reversed.   Figure 2 – Right-click on a rack to reverse its tube loading order individually, as indicated by the small bar above the rack.   Racks with multiple rows of the tubes will load top to bottom, left to right.  If you want alternating rows of the multi-row rack to load tubes in reverse, snaking up and down as in Figure 3, then check the "Alternating" box in the rack's VDL as shown in Figure 4 by right-clicking the rack and doing "Edit this rack VDL" from the context menu.   Figure 3 – A multi-row rack can be configured to have alternating row tube loading orders.   The "Alternating" checkbox applies to the definition of the rack, meaning that it will apply to all instances of the rack in the show.  That is in contrast to the "Reverse tube loading order" command applied to any individual rack instances, which just reverses the loading order of the selected rack instances specifically.   Figure 4 – Multi-row racks like the one in Figure 3 can be set to alternate in the rack VDL specifications.   

Chain Specifications report

The Chain Specifications report contains the information to required to build all the chains in the show.  An example report is shown in Figure 1.  The first few rows of this example report represent same-effect chains, which only require one row to describe each chain.  The rows near the bottom of the report, for chain number 10, 11, and 12, require multiple rows to represent the chains because the chains are made of multiple effects.  Even chains made of multiple effects are represented efficiently in the report.  Chain 12, for example, begins with three shells of the same type, so all three of them can be represented in a single row, with their delays listed together in the Chain Gap column.   Figure 1 – The Chain Specifications report contains the information to build all the chains in the show.   The first column in the Chain Specifications report is the "Chain Reference" field from the script.  The Chain Reference is the identifier that associates all the items in the chain as part of the same chain.  The Chain Reference isn't very important during scripting, and it is often hidden in the script window in Finale 3D.  You can unhide the Chain Reference column, and turn off "Show one row per chain" from the blue gear menu in the upper right to see that the Chain Reference is the same number for all the items in the same chain.  That number also determines the order of the rows in the report. The screen shot of the script window shown in Figure 2 shows the five items with Chain Reference = 9, which are displayed in a single row in the report in Figure 1.   Figure 2 – The Chain Reference column in the script window holds the chain numbers shown in the Chain Specifications report.   Chain Reference numbers are assigned sequentially to chains at the time the chains are created or inserted into the show.  If you later delete chains from the show while editing your script, that will leave gaps in the sequence of Chain Reference numbers.  You can see a gap, for example, after chain 3 in Figure 1.  It's natural to interpret first column of the Chain Specification report as counting the chains.  If you look at the last number in the report and it says 12, you might naturally assume you've got 12 chains to build.  To eliminate the confusion, it's a good idea to remove the gaps by doing the command, "Script > Chains > Renumber chains...", which brings up the dialog shown in Figure 3, before printing the Chain Reference report.   Figure 3 – Renumber chains from the script menu to sort the chains in the report and to eliminate gaps in the number sequence..   While you are at it, you can decide exactly how you want the rows of the Chain Specification report to be sorted.  You can sort by address, position, size, etc., whatever is most optimal for your chain building process. The Chain Specifications report is fully customizable, like all the other reports.  If you would prefer to see chain delays relative to the first item instead of delay gaps between the items, you can change the report to show the "Delay" column instead of the "Chain Gap" column, which will result in the report shown in Figure 4, in comparison to Figure 1.   Figure 4 – Customize the Chain Specifications report to show delays relative to the first item instead of the gaps.   If you edit the report template from the blue gear menu of the script window, you can see the specific criteria that guarantee the proper rows are combined in the report.  Fields like the Delay field and the Chain Gap field in the script table automatically do the right thing by showing all the delays of the combined items. The fields of the script window that make the Chain Specifications report possible are a little complex in their definitions.  If the standard Chain Specifications report works for you, there's no reason to concern yourself with more detail than you need, but if you are going to create your own custom Chain Specifications report, you made need the information of Table 1.   Table 1 – Script fields that make the Chain Specifications report possible Column in script window Explanation Chain Reference The unique identifier of the chain; all items in the chain have the same Chain Reference.   Delay The delay relative to the first item in the chain (not necessarily the previous item).  When multiple rows are combined, the Delay field combines the delays of the individual rows, separated by asterisks.  Chain Gap The delay relative to the previous item in the chain.  When multiple rows are combined, the Chain Gap field combines the delays of the individual rows, separated by asterisks.  The first Chain Gap in the combined sequence is therefore always zero. Chain Row For chain items, the Chain Row counts the contiguous runs of same-effect items in the chain, which maps to the row count for each item of a multi-effect chain that is represented by multiple rows in the standard Chain Specifications report.  For example, the first three items of chain 12 in Figure 1 have Chain Row 1, and are thus combined on the same row; the next three items have Chain Row 2, 3, and 4.  The final two items both have Chain Row 5. Is Chain True if the item has a valid Chain Reference, and false otherwise. 

Dance Of Fire

To create and export a script for the Dance Of Fire 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 TXT file that you can import into your firing system, or edit in a text editor. Figure 1 – The Dance Of Fire firing system   The exported script is a human-readable text file that contains only the essential information for a firing system controller to fire the show -- the ignition time, module, pin, and effect name.   Table 1 – File format and encoding File format Extension Text encoding Field delimiter End-of-line Text TXT ASCII Tab CRLF    The script contains rows of data fields separated by tabs.  There are no header rows or comments.  The special characteristics of the script are shown in the following table:   Table 2 – Special characteristics Special characteristics Description Sort order of rows Rows are sorted by ignition time. What rows represent Each row identifies a unique firing pin ignition (i.e., unique module-pin address on the firing system). Module/pin addresses The Dance Of Fire system employs modules with 12 slats of 10 pins each, for 120 pins in total per module.  Finale 3D represents the firing system addresses as three part addresses, module-slat-pin, and converts the addresses to module-pin addresses with pin numbers relative to the module in the exported script. Special characters Fields include ASCII characters other than: ' , ; " tab and newline and other control characters. Each script row has the fields shown in Table 3.   Table 3 – Specifications of script fields Field name Description Event Time The exact time of the firing system's "ignition event" (application of a voltage to a pin) that ignites e-matches or triggers a sequencer that ultimately leads to the ignition of effects. Format is H:MM:SS.DD. Module Number The module number (without the slat number). Pin Number The pin number, relative to the module. Description The name of the effect.   The example displayed script in Figure 2 below and the corresponding exported script in Figure 3 illustrate the translation of module-slat-pin addresses in Finale 3D to module-pin addresses in the exported script.   Figure 2 – A script showing sixteen addresses on module 01, the first ten on slat 01 and the remaining six on slat 02   The pin addresses beginning on row 11 of Figure 2 are relative to the slat number in the Finale 3D script table, but are converted to be relative to the module itself in the exported script shown in Figure 3.  The standard labels templates in Finale 3D for stickers will show module-slat-pin addresses, but if you would prefer to create labels with module-pin addresses you can customize the labels template, and use the "Pin Absolute" field or "Module/Pin Address" field instead of the "Address" field.  Instructions are here: Labels basic instructions.   0:00:02.76 1 1 Red Chrysanthemum 0:00:02.86 1 2 Red Chrysanthemum 0:00:02.96 1 3 Red Chrysanthemum 0:00:03.06 1 4 Red Chrysanthemum 0:00:03.16 1 5 Red Chrysanthemum 0:00:03.26 1 6 Red Chrysanthemum 0:00:03.36 1 7 Red Chrysanthemum 0:00:03.46 1 8 Red Chrysanthemum 0:00:03.56 1 9 Red Chrysanthemum 0:00:03.66 1 10 Red Chrysanthemum 0:00:03.76 1 11 Red Chrysanthemum 0:00:03.86 1 12 Red Chrysanthemum 0:00:03.96 1 13 Red Chrysanthemum 0:00:04.06 1 14 Red Chrysanthemum 0:00:04.16 1 15 Red Chrysanthemum 0:00:04.26 1 16 Red Chrysanthemum Figure 3 – Exported Dance Of Fire firing system script corresponding to the script of Figure 2   Table 4 – Example files Download link Explanation test_danceoffire.txt Example exported file  (TXT) test_danceoffire.fin Example show file

Per-show effects

The effect window in Finale 3D displays a collection of effects that you can choose from the blue selector in the upper right -- Generic effects, Per-show effects, My effects, and others.  You can use the filters and search box at the top of the effects window to further refine the results, but it remains the case that all the effects shown in the effects window at one time come from a single collection, chosen from the blue selector.  One of these collections is Per-show effects. The reason the collections are split out from one another is that they are saved in different places.  Generic effects is a read-only default collection of 6000 effects that is part of the downloaded software itself.  My effects is a read-write personal collection of effects associated with your user account, saved to the cloud whenever you do the "Sync to network" command.  Read-only supplier catalogs, and Finale Inventory accounts also show up in the list of collections.  What distinguishes the Per-show effects from all the other collections is that it is saved as part of the show file.  That's why it is called "Per-show" effects.   Figure 1 – Per-show effects is one of the effects collections that the effect window can display.   The saved show file contains its own Per-show effects to avoid having any external dependencies on outside effects collections or databases.  You can send a show file to a friend, and the friend can open it in his Finale 3D with all the effects in tact, no matter what other effects collections your friend has access to.  You see that the Per-show effects is associated with a particular show if you select the Per-show effects in the effects window and then switch between viewing different shows from bottom of the Windows menu in the main Finale 3D menu bar.  When you do so, the content of the effects window will change to show the effects of each show.   What is in Per-show effects, exactly? If you create a show with three or four different effects in the script, and then look at the show's Per-show effects, you won't be surprised to see that it contains the same three or four effects you used in your script.  You might be surprised, however, to see what happens if you delete those effects from the script: nothing.  The Per-show effects will still contain the effect definitions of the effects that you inserted into the script and then later deleted.   Thus it isn't always the case that the Per-show effects contains exactly those effects currently in the script and nothing more.  In general, it will contain all effects that have ever been in the script, even if they've been deleted. If you have effects in the Per-show effects that are leftover from previous versions of the script and you want to delete them to clean up the collection, there's a command to do exactly that: "Effects > Delete unreferenced Per-show effects".   How do effects get into Per-show effects? Whenever you insert an effect into the script from any collection, the effect definition will be copied from that effect collection to the show's Per-show effects automatically.  If an effect with the same part number is already in the Per-show effects, then you'll get a warning dialog asking, "That effect is already in the Per-show effects.  Update the effect?"  It is possible that the effect already in your Per-show effects by that part number has a slightly different definition from the effect you are inserting -- or an entirely different definition if it happens to be a different effect! The Per-show effects is organized by part number.  Every part number is unique.  Thus if you insert an effect into the script whose part number matches a part number already in the script, the Per-show effects is going to end up with a single effect definition associated with that part number one way or the other, and all of the events in the script referencing that part number are going to use that effect definition. While it might be confusing that inserting an effect into a script could alter the appearance of existing effects already in the script, it is ultimately a good thing.  You wouldn't want a show to have two different looking effects associated with the same part number, because then how would you ever generate a complete product list for the show?  The unique part numbers requirement guarantees that the show remains consistent.   Quotas, and effects without definitions The function, "File > Import > Import quotas..."  reads in a CSV file with two columns: part number and quantity.   The data in this file represents what products are planned to be used in a show, and in what quantities.   The quotas show up in the "Quota" column of the effect window, and if they are non-zero, then the cells change color from green to white to red depending on whether the script contains too few, just right, or too many of each item.  Sometimes people script shows to match a sales order or a packing list, which may be the source of the part numbers and quantities. When you import quotas into a show either with the import function or from Finale Inventory, the quotas get stored as part of the show.  You would expect that, because if you save the show and re-open it, the quotas are still there to use as a reference for scripting.  You might wonder, how are the quotas stored in the show file? As you may guess, the quotas are stored in the show's Per-show effects, which you can see if you import quotas and then look at the Per-show effects.  You may see something odd, though, if you look.  The imported rows in the Per-show effects contain only the part number and the quota quantity --- and none of the other fields of information.  The reason is that the imported file contains only part numbers and quantities, and nothing else.  The other fields remain blank because the information is missing. By themselves, the part numbers in the Per-show effects aren't enough to insert into the script without definitions, so you need to switch to the collection of effects in the effects window that that has those same part numbers and their definitions also.  When you insert effects into the show, you should insert them from the effect collection that has the definitions.  The previous section, "How do effects get into Per-show effects?" explained that when you insert an effect, it updates the definition in the Per-show effects.  You can see how that is important for inserting effects matching imported quotas.  When you insert effects from the collection with definitions, those definitions will be copied into the Per-show effects, updating all the missing fields of information. One final explanation completes the story of importing quotas.  After importing quotas, if you switch to a collection of effects containing the proper effect definitions for those part numbers (i.e., not the Per-show effects), you will see the imported quotas in the Quota column.  That might lead you to wonder if the quotas mysteriously got imported into a collection other than Per-show effects.  The answer is no, the quotas were not imported into the other collection, and they are not part of the other collection.  The quotas of the Per-show effects "show through" for the matching part numbers of whatever collection you are viewing in the effects window.  In that way, the quotas are similar to the "Used" quantities.  The used quantities are calculated dynamically by counting the effects in the script, and thus the used quantities also are not part of the viewed collection.   Creating effects in Per-show effects When you create effects with the menu item "Effects > Create new effect..." you get to select a part number for the new effect and what collection it goes into.  The My effects collection is the most common destination, since it is a personal collection for each user.  A common work flow is to create and customize effects in the My effects collection, and then if you have a shared effects list as a company account, you can copy/paste the rows from the My Effects into the other collection when you are ready. It is also possible to create effects and save them directly in the Per-show effects.  There is nothing wrong with that, as long as you keep in mind that the effect definitions are only saved as part of the show.   You can copy/paste the rows from the Per-show effects to any other collection whenever you want, so it is not an important decision.   Racks in the Per-show effects Just as the events in the script refer to part numbers and effect definitions in the Per-show effects, so do the racks in the rack layout refer to part numbers and rack definitions in the Per-show effects.  Thus the Per-show effects actually holds more than just effects; it holds racks too.  It is just called Per-show effects because that is what people usually think about most.

PyroMaster

To create and export a script for PyroMaster, 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 with a .PME extension that you can import into your PyroMaker firing system software, or Excel. Figure 1 – A 24 pin Slave 24 PyroMaster module.   The PyroMaster system uses some information that is not represented in Finale 3D, and has some concepts that have representations in Finale 3D under different names.  Table 1 shows the terms used by the PyroMaster system and their corresponding terms in Finale 3D.   Table 1 – PyroMaster terms and their representation in Finale 3D PyroMaster Term Corresponding Term in Finale 3D Explanation Device ID (nothing) The Device ID is a long hardware ID, analogous to a MAC address, that uniquely identifies a physical device like a Slave or Replicator. User Address (nothing) The User Address is a shorter, user-defined identifier that stands for a specific Device ID.  Use the PyroMaker software to associate your own user-defined User Addresses with the fixed Device IDs of your hardware. Module and Pin Module and Slat and Pin for SL-240; Module and Pin (no Slat) for SL-24, SL-48, SQ-48 In the PyroMaster system, each Slave or Sequencer device has a contiguous range of pins (24, 48, or 240).  Replicator slats can be configured to map their 12 pins to arbitrary subsets of the Slave or Sequencer's pins.  Thus PyroMaster Slave and Sequencer addresses only include a module number and pin number; Replicator pins are aliases of those addresses. In Finale 3D, the 24 and 48 pin devices also have contiguous ranges of pins, but the 240 pin device has 20 banks ("Slats") of 12 pins each.  The banks of the 240 pin device are identified by the slat number in Finale 3D, from 1-20, which must be combined with the pin numbers to yield pin addresses in the contiguous range from 1-240.  Pin 1 of bank 2 corresponds to pin 13 of the contiguous range; pin 1 of bank 3 corresponds to pin 25; etc. Consider a front of five positions firing 12 shots at varying times.  This example could be implemented with one SL-240 Slave module with five banks of pins distributed by way of Replicators to each of the five positions.  You can address this example in Finale 3D by specifying that the five positions in the front are part of the same "Section"; and specifying that the section uses the module type pyromaster_sl240_20x12; and specifying constraints that modules can be shared across positions in the same section but slats cannot. The resulting addresses will be XXX-1-1 through XXX-1-12 in one position; XXX-2-1 through XXX-2-12 in the second position, and so on up to XXX-5-1 through XXX-5-12 in the fifth position (XXX being whatever module number is assigned).    Use the PyroMaker software to assign User Addresses of Replicators for the addresses of all five positions, and to allocate an SL-240 to serve the Replicators (six pieces of hardware in total). The script file exported from Finale 3D contains only the rail and pin addresses of the firing system hardware, not the Device IDs or User Addresses.  After importing the Finale 3D script into PyroMaker, you need to assign a User Address to each unique rail address per position from the Finale 3D script.  If the same rail address is used in two or more positions, each position will require its own User Address for the rail address, as each User Address represents a physical piece of hardware that is located at one position or the other, even if both pieces of hardware are firing the same rail and pin address. Using the PyroMaker software you must also create a mapping of the User Addresses to the fixed Device IDs of the physical hardware. In future releases, Finale 3D may provide a feature to assign User Addresses automatically, and Finale 3D may include them as a new field in the exported script.  If you assign User Addresses within Finale 3D, you can use Finale 3D's custom labels to print out hardware labels with the User Addresses and to print out product labels that include the effect information in addition to the position, angle, User Address and pin address as required for setting up the show.   Table 2 – File format and encoding File format Extension Text encoding Field delimiter End-of-line Text PME UTF-8 Tab CRLF  The PME script contains a single header row with the column names in fixed order, followed by the rows themselves. The special characteristics of the script are shown in the following table:   Table 3 – Special characteristics Special characteristics Description Sort order of rows Rows are sorted by ignition time. What rows represent Each row identifies a unique firing pin ignition on a hardware device, i.e., unique rail address, pin address, position.  Pins fire only once, at a single time.   If two effects fire from the same rail address, pin address, and position, the two effects will be represented as a single row in the exported script.  However, if two effects fire from the same rail address, pin address, but different positions (using Replicator slats with the same rail address), the two effects will be represented by two separate rows. Module types Rows in the script can represent multiple types of modules: pyromaster_sl24_1x24 -- SL-24 slave with a contiguous bank of pins 1-24 pyromaster_sl48_1x48 -- SL-48 slave with a contiguous bank of pins 1-48 pyromaster_sq24_1x24 -- SQ-24 sequencer with a contiguous bank of pins 1-24 pyromaster_sl240_20x12 -- SL-240 slave serving 20 Replicator slats of 12 pins each, identified as bank 1, 2, 3, etc. in Finale 3D (no on-board pins on the SL-240) Special characters Fields include any Unicode characters except: ' , ; " tab and newline and other control characters. Support for semi-automatic firing The Track field is reserved to support possible semi-automatic firing modes in future versions.  The Track is an optional identifier associating a collection of rows that are to be fired together as a sequence or "macro" with a single trigger in semi-automatic mode. Each script row has the fields shown in Table 4.   Table 4 – Specifications of script fields Field name Description Ignition Event Time The exact time of the firing system's "ignition event" (application of a voltage to a pin) that ignites e-matches or triggers a sequencer that ultimately leads to the ignition of effects. Format is H:MM:SS.DD. Prefire Delay The delay from the ignition time to the perceived visual effect.  This delay typically includes the lift time (for shells) plus any fuse time between the ignition time and the first launch of the effect.  Format is in seconds with two digits after the decimal point. Format is S.DD. Duration The duration represents the lifetime of the perceived visual effect, which is usually interpreted for shells as the time from break to dissipation of the stars. Format is in seconds with two digits after the decimal point. Format is M:SS.DD. Effect Name The name of the effect. Caliber The device caliber.  Format is either a number followed by double-quote for inches or "mm" for millimeters, or the string "NA" or blank for effects for which the caliber term is not applicable. Angles An ASCII art representation of the angles of the devices on this shot, made with backslash, vertical line, and forward slash characters. Position Name The name of the launch position. Section A user-defined label used to create groups of positions; module addresses are never shared across different sections. Module Description The type and configuration of module or slat: pyromaster_sl24_1x24, pyromaster_sl48_1x48, pyromaster_sq24_1x24, pyromaster_sl240_20x12. Module Address The module number XXX. Slat Address The slat number 1-20 identifying a 12-pin bank in the SL-240 module's contiguous range of pins; or blank for the other module types. Pin Address The pin number beginning with 1.  For the SL-240, the pin number is relative to the bank and is thus in the range 1-12, not 1-240. Lockout Identifier An integer greater than or equal to one, identifying a group of effects that can be disabled by pressing the associated button on the firing system controller during the performance, due to conditions. Firing Notes Firing notes from the script pertaining to this row. Track A string identifying a group of effects that are to be fired as a sequence with a single trigger if the firing system is in semi-autonomous mode. The example script below shows an exported script with nine rows, representing ten shots.  The first two shots have the same position, module, and pin.  Thus in the exported file, they are combined as a single row.  The last two shots also have the same module (and slat) and pin, but not the same position.   Thus they are exported as separate rows (because the position is not the same).  It is not possible for two rows with the same module/slat/pin address to have different times.  Finale 3D will generate an error message if you try to export a file with that condition. Ignition Event Time Prefire Delay Duration Effect Name Caliber Angles Position Name Section Module Description Module Address Slat Address Pin Address Lockout Identifier Firing Notes Track 0:00:02.76 2.24 0:01.02 (2) Red Chrysanthemum ... 2" / Pos-01 s1 pyromaster_sl24_1x24 1 1 0:00:02.86 2.24 0:01.02 Red Chrysanthemum 2" | Pos-02 s2 pyromaster_sl24_1x24 2 1 0:00:02.96 2.24 0:01.02 Red Chrysanthemum 2" | Pos-03 s3 pyromaster_sl24_1x24 3 1 0:00:03.06 2.24 0:01.02 Red Chrysanthemum 2" | Pos-04 s4 pyromaster_sl24_1x24 4 1 0:00:03.16 2.24 0:01.02 Red Chrysanthemum 2" | Pos-05 s5 pyromaster_sl24_1x24 5 1 0:00:03.26 2.24 0:01.02 Red Chrysanthemum 2" | Pos-06 s6 pyromaster_sl24_1x24 6 1 0:00:03.36 2.24 0:01.02 Red Chrysanthemum 2" | Pos-07 s7 pyromaster_sl24_1x24 7 1 0:00:03.46 2.24 0:01.02 Red Chrysanthemum 2" Pos-08 s8 pyromaster_sl240_20x12 8 01 1 0:00:03.46 2.24 0:01.02 Red Chrysanthemum 2" / Pos-09 s8 pyromaster_sl240_20x12 8 01 1 Figure 2 – Example PME firing system script file for PyroMaster   Table 5 – Example files Download link Explanation test_pyromaster.pme Example exported file  (CSV) test_pyromaster.fin Example show file

Racks and positions coordinate system: heading, pitch, roll

Racks and positions orientations are represented in Euler Angles as heading (a rotation about the global Y-axis), pitch (a rotation about the global X-axis), and roll (a rotation about the global Z-axis).   Finale 3D chooses this representation for racks because the three angles correspond directly to the three degrees of freedom of rotations for mortars in a traditional wooden rack.  The three angles also happen to correspond to the most common rotations of positions (side to side, forward/back, and compass heading), so they serve as a natural representation for both racks and positions.   Figure 1 – To remember the meaning of heading, pitch, and roll, imagine a rack of mortars in this orientation.   To cement the meanings of heading, pitch, and roll in your mind, please imagine the wooden rack as shown in Figure 1.  The mortars of the rack in this orientation have three degrees of freedom for rotation corresponding to heading, pitch, and roll: Roll is the side to side rotation/tilt of the entire rack. Pitch is the fan-out angle of the tubes within the rack. Heading is the direction the rack is facing.   Heading, pitch, and roll The orientation of a rack or position may be calculated by a sequence of three 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.  All angles are "right-handed" rotations, meaning that that if you aimed the thumb of your right hand in the direction of the axis of rotation, then your fingers would curl in the positive direction of the angle.  Following this convention, heading is a counter-clockwise rotation, viewed from above; pitch aims the up vector forwards toward the viewer (i.e., aiming out of the screen) when viewed from the front; roll aims the up vector to the left on the screen when viewed from the front.   Table 1 – Order of Euler Angle rotations producing a rotated vector v' from vector v v' = v * R1 * R2 * R3 Rotation First rotation (R1) Rotate around global X-axis by pitch Second rotation (R2) Rotate around global Z-axis by roll Third rotation (R3) Rotate around global Y-axis by heading   The order of the three rotations matters to their definition.  If roll were to apply before pitch, then <heading = 0°, pitch = 90°, roll = 90°> would represent a mortar aiming to the left because the 90° roll around the global Z-axis would tilt the mortar fully to the left, and then the subsequent pitch around the global X-axis would spin the mortar around its own axis without changing the direction it is pointing.  By contrast, since pitch actually applies first, <heading = 0°, pitch = 90°, roll = 90°> represents a mortar aiming straight out of the screen at the viewer because the 90° pitch rotation around the global X-axis rotates the mortar fully forward out of the screen, and the subsequent roll around the global Z-axis spins the mortar around its own axis without changing the direction. Referring back to the picture of the rack in Figure 1, the order of rotations of Table 1 is the only possible choice that matches the physical constraints of the rack.  If heading were the first rotation, for example, then pitching around the global X-axis wouldn't fan the mortars within the rack because the rack wouldn't necessarily be facing the X-axis as it is in Figure 1.   Table 2 – Range of angles in conversions from orientations Angle Range Heading (-180°, +180°] Pitch (-180°, +180°] Roll [-90°, +90°]   Any orientation can be represented by heading, pitch, and roll angles in the ranges of Table 2.   Some orientations have multiple representations within these ranges that happen to be equivalent.  The orientation represented by <heading = 0°, pitch = 90°, roll = 90°> is the same as the orientation represented by <heading = 90°, pitch = 0°, roll = 90°> for example.  Mathematically, in this Euler Angle representation all rotation sequences with a roll of +/- 90° are equivalent to other rotation sequences in which +/- heading and pitch sum to a constant value.  In circumstances in which an orientation is converted to a rotation sequence that is not uniquely defined, Finale 3D will choose the rotation sequence with pitch = 0°, which creates a 1-to-1 relationship between orientations and Euler Angles in the ranges of Table 2.  These ranges are not limits, though, in Finale 3D's user interface and tables.  You can enter any heading, pitch, and roll value into the position and model table columns, including numbers outside these ranges.   Origin man The coordinates of positions are relative to the model they are attached to, if they are attached to a model, and are global coordinates otherwise.  To symbolize the global coordinate system and to convey the correct sense of scale, a six foot tall human facing the forward camera is drawn at the coordinates <0, 0, 0>.  His name is "Origin Man."   Figure 2 – "Origin Man" stands at coordinates <0, 0, 0>.   In the global frame of reference, the X-axis aims to the right of the screen, the Y-axis aims up into the sky, and the Z-axis aims out of the screen toward the viewer (you).     Rotating positions To rotate the heading of a position, right click the position and select "Rotate (heading)".  A rotation wheel will appear.  If you drag the reddish arrow around the wheel, you will adjust the heading of the position.    The heading of the position is the global heading, analogous to a compass heading, which is unaffected by the pitch or roll of the position.  The arrow on the top of the position disk always aims in the same direction as its heading.   Figure 3 – Adjust the heading by right-clicking the position and selecting "Rotate (heading)".   The pitch of the position aims the arrow on the position disk down into the ground (positive pitch) or up into the sky (negative pitch), as shown in Figure 4.   Figure 4 – Adjust the pitch by right-clicking the position and selecting "Rotate (pitch)".   The roll angle rotates the position on its side.  Following the right-hand rule, a positive roll rotates the position to the left when viewed from the front, since the Z-axis aims toward the front. Figure 5 – Adjust the pitch by right-clicking the position and selecting "Rotate (roll)".     Rotating positions on a wall The heading, pitch and roll angles are convenient for representing orientations that are resting on the ground or are pitched or rolled by less than 90 degrees.   They aren't at all convenient for representing sideways positions, such as positions mounted on a wall or side of a tower facing outward.  The position shown in Figure 6 can be rotated with the right-click context menu command, "Rotate (around position's up vector)".  The other rotation commands shown in Figure 3, Figure 4, and Figure 5, are useless for rotating positions on walls.   Figure 6 – Use "Rotate (around position's up vector)" to rotate positions on walls.  The other rotation commands are useless.   Moving positions on a wall Positions will automatically orient themselves flatly against the surface when you are dragging them onto a wall, but you may need to adjust the coordinates.  The right-click menu item "Move on axis..." brings up three colored axes in the frame of reference of the position.  You can drag the red, green, and blue arrows to move the position along any of its local axes, as shown in Figure 7. Figure 7 – The right-click menu command "Move on axis" bring up three arrows that you can drag to adjust the position.   Arranging positions on towers and trusses The right-click menu commands to rotate and move positions apply to all selected positions, as a group, centered around the position you are right-clicking.  For towers and walls, you may find it easier to arrange positions in a pattern on the ground, and then rotate the entire pattern up sideways and project it onto the tower or wall.  Consider two examples. Example 1: Arranging positions vertically with even spacing on the side of a tower that tapers toward the top.  The rulers and tools for arranging positions work best on the ground, so arrange the positions on the ground in a line in regular intervals.  Then select all the positions in the line, right-click on the first position in the line, and do "Rotate (pitch)" or "Rotate (roll)" to rotate the entire line up into air.  Then do the menu item "Positions > Coordinates > Project positions on their down axis to nearest surface" to project the positions against the tower surface behind them. Example 2: Arranging positions on the seats of a ferris wheel.  Measure the diameter of the ferris wheel by right clicking on one of the seats and doing "Measure to this point" from the context menu.   Knowing now the diameter of the circle, insert N positions into the scene with the menu item, "Positions > Insert > Insert multiple..." and then do the menu item "Positions > Arrange into pattern > Into a circle..." to arrange the positions into a circle of the right diameter -- on the ground.  Slide the circle of positions on the ground so it is in front of the ferris wheel, as if the ferris wheel were casting a shadow on the ground in front of it and the positions were on the shadows of the seats.  Right click on the position farthest from the ferris wheel base, and do "Rotate (pitch)" to pitch the entire circle of positions upward.  Then right click one of the positions and do "Move on axis..." to move the circle of positions up and back to register against the ferris wheel model.     Exporting coordinates and angles The Finale Generic CSV export format (see Finale Generic CSV (full show export format)) contains the world coordinates and angles of the positions and effects of an exported show in its Coordinates column.  The exported CSV converts the coordinates and angles to world coordinates, as a convenience.   By contrast, the table windows in Finale 3D contain relative coordinates and angles, i.e., effects are relative to their positions; and positions are relative to the models they are attached to if they are attached to models.  Figure 8 shows an example of the table windows involved in calculating the world coordinates and angles of effects.   Figure 8 – In the table windows, effects are relative to positions, which are in turn relative to the models they are attached to.   The example CSV export that you can download from Table 3 below corresponds to Figure 8.  It covers all the major scenarios -- left/right angles, forward/back angles, effects in rotated positions, and effects in rotated positions attached to rotated models.  The test file has eight positions, each with two effects.  The first position has effects at 30 degrees left and 30 degrees right relative to the position.  The second position has effects at 30 degrees forward and 30 degrees back.  The next two positions are the same as the previous two except the positions are themselves rotated 90 degrees clockwise.  The next four positions are the same as the previous four except that the positions are attached to a model that is itself translated and rotated 90 degrees clockwise.   Table 3 – Example files and downloads Download link Explanation angle-test.csv Test file for exporting angles and coordinates  

Report font size and column widths (Hobbyist)

The Pro version of Finale 3D supports fully customizable reports, but if you are using the Hobbyist version or if just want to change the font size or column widths, then you have some other options.   First option -- save report as XLSX or CSV The first option is to print the report to an XLSX or CSV or TXT format instead of to PDF.  Then you can open the report into Excel or other software, change the column widths or reformat the report as you like, and print it from outside of Finale 3D.  The "Save as" file type is the selector at the bottom of the save dialog, as shown in Figure 1. Figure 1 – Choose the file type in the "Save as..." dialog.   Figure 2 shows available file types.  Other than XLSX (Excel) and PDF, the vast number of file type options are text files, either CSV (comma separated fields with Excel-style usage of double quotes to handle commas and double quotes contained within field values) or TXT (tab separated fields).  You have the option of saving text files with different character set encodings and line endings.   Users from the USA can export in ASCII-CRLF, which is a single-byte character encoding that includes all the common English characters.  UTF8-NOBOM-CRLF is the most commonly accepted international encoding for all operating systems. UTF16LE-NOBOM-CRLF is the encoding that Microsoft Windows calls "Unicode" and that may open more easily in Microsoft products. Figure 2 – XLSX (Excel), PDF, and many text file options are available.   Second option -- Edit the report blueprint Although blueprints aren't customizable in the Hobbyist version of Finale 3D, you can still edit the blueprint formatting fields manually in the Blueprints window, which you can open from the "Windows" menu of Finale 3D. The font size field is called "Em Size" ("Em" standing for the size of the letter "M" in points).  The "Padding" field adjusts the extra space above and below the text in the rows.  Both fields are in points, which are 1/72 of an inch.   You can change the Em Size and the Padding to make more text fit in the cells.  The first column in the Blueprints window identifies what the blueprint is for, e.g., whether it is a report, a label, an addressing blueprint.  The second column is a unique identifier for the blueprint.  The printed name/title of the blueprint is the "Page Title" column.  Printed names optionally begin with double-bar || to indicate that that the phrase should be localized from English into other supported languages.  The double-bar is stripped out when printed or displayed. Figure 3 – The Em Size and Padding adjust the amount of text that fits in a row.   Third option -- export the data to Excel and format the report yourself If you need to do more substantial customizations to reports, you can export the data from the any of the table windows to XLSX or other format, and then completely reformat the table yourself.  The "Print table..." and "Export table..." options in the blue gear menu are the two options.  "Print table..." prints or exports the data that is currently shown in the table, based on the filters.  "Export table..." exports all the data, ignoring the filters. Figure 4 – All tables support the option to export or print the table data to XLSX, CSV, TXT, PDF.  

Filter / search expressions

The filter bar at the top of the effects window, script, and other table windows supports full text search for whatever you type into the field, but it also supports search expressions, which enables you to filter the table according to precise criteria.  For example, if you want to search for red cakes that have a duration between 20 and 30 seconds, you can type into the filter bar, red cake duration > 20 duration < 30 If you press enter, Finale 3D will reformat what you typed  as, red + cake + duration > 20.0 + duration < 30.0 The reformatted version helps explain the syntax for search expressions.  "Red" and "Cake" don't correspond to any of the column headers, so they are interpreted as full text search terms.  The table is filtered to items matching all of the full text search terms within the combined text across all columns.  So in this case, the table is filtered to items containing "Red" and "Cake" no matter what columns those terms appear in. The plus sign (+) separates terms in the search expression.  Logically, the plus sign means "AND".  Thus in this example, a row in the table must satisfy all four conditions to pass the filter.  Table  1 shows the full list of terms you can use in search expressions.   Table 1 – Search expression syntax Function Example Meaning Substring inclusion red Search for the substring "red" in any field Substring exclusion -red Exclude any item with the substring "red" Multiple search terms red crackling Search for items containing both "red" and "crackling"; shorthand for "red + crackling" Numerical comparisons duration > 2.3 Duration value is greater than 2.3 Other numerical comparisons <, >, <=, >=, =, != Standard meanings; != means "not equal" Conjunction red + duration > 2.3 Require both conditions (the + symbol  means AND) Disjunction red || duration > 2.3 Require either condition (the || symbol means OR) Substring inclusion in a specific field partnumber += YF Part number field contains substring "YF" Substring exclusion in a specific field partnumber -= YF Part number field does not contain substring "YF" Column names The variable fields in search expressions are column names.  To avoid issues with localization in different languages, Finale 3D converts column names in search expressions to the internal column name, which is in English and doesn't contain spaces.  Thus if you type "Part Number" as part of a search expression, it will be converted to "partnumber".  The list of internal column names can be found in, Column names in Finale Inventory vs. Finale 3D. Limitations of column names Column names may only appear on the left side of boolean expressions; not on the right side.  Thus the following expression is valid: duration < 30 But the mathematically identical expression with the column name on the right side is not valid: 30.0 > duration On account of this limitation, it is not possible to write expressions that compare two column names.   For example, the following expression is unfortunately not valid: safetydistance > positionsafetydistance   Left side and right side of binary expressions Numerical comparisons must have a column name on the left side of the comparison symbol, and a number on the right side.  The number may be followed by quotation marks to indicate its unit is inches; or mm, m, or ft to indicate its unit is millimeters, meters, or feet; or nothing if it is just a number.  The following are all valid comparisons, size > 2" size > 50mm size > 50 Numbers without explicit units representing sizes or distances are interpreted as inches if < 12 and millimeters otherwise, giving rise to a correct interpretation of most unit-less numbers for effect sizes. Substring inclusion and exclusion phrases also must have a column name on the left side of the comparison symbol.  The right side is a full text search term.  Examples, partnumber += YF partnumber += "YF 4" Precedence Conjunctions in the search expressions have higher precedence than disjunctions.  Thus, red size > 2" || blue is interpreted as ( red + size > 2") || blue, and includes rows that a) contain red and have size > 2", or b) contain blue.  Parentheses are not allowed in search expressions, which are thus restricted in syntax to disjunctive normal form. The lack of parentheses in search expressions causes the two disjunctive quantity filters "Used > 0 or Quota > 0" and "Used > 0 or Available > 0" to combine poorly with other filters.  Combining the "Used > 0 or Quota > 0" filter with "Size = 6"" for example results in the search phrase "size = 6" + quota > 0 || used > 0", which means "( size = 6" AND quota > 0 ) OR used > 0". As a workaround, if you want "( size = 6" ) AND ( quota > 0 OR used > 0)" you can write the equivalent expression that does not require parentheses in the filter box: "size = 6"  + quota > 0 || size = 6" + used > 0".   Quoted phrases If you want to search for items containing a phrase like "Red Crackling" that contains spaces or for phrases that include other special characters like parentheses, you can surround the phrase with quotation marks to make a quoted phrase.  Searching for "Red Crackling" (quotations included) will exclude a row that merely has the description "Red & Blue Crackling" because it doesn't contain the quoted phrase exactly. Since shell sizes in inches are common search terms in pyrotechnics, Finale 3D handles quotation marks with special rules that allow you to use them directly in search terms like 2" and also quoted phrases.  Loosely speaking, pairs of quotation marks define a quoted phrase.  Individual quotation marks are merely part of a full text search term.  Thus, "red crackling" represents a quoted phrase, but, red 2" represents a full text search for red and 2".  Generally, Finale 3D will understand when quotation marks are part of the full text search term, and not part of a quoted phrase.  If you want to search for a quoted phrase that contains a quotation mark character inside the phrase, you can precede the interior quotation mark with a backslash, as in, "red 2" crackling" Though the circumstances are contrived, it is possible to construct search phrases with quotation marks that have ambiguous looking interpretations.  An example is: size=3 "description=4" chrys (with a space between the 3 and the quotation mark).  The interpretation is guaranteed to have the natural meaning if, a) quotation marks surrounding quoted phrases are flanked on the outside by space or nothing; b) quotation marks that are part of search terms outside of quoted phrases are not preceded on the left side by =, <, > or space; and c) quotation marks that are part of search terms inside of quoted phrases are preceded on the left by a backslash. Boolean values Boolean fields like the script fields "Straight Up" and "Is Chain" and "Pair" may be displayed as checkmarks in the table. Use the formal values "true" and "false" in search expressions, such as: straight up = true True and false in the search expression are not case sensitive.  

Keyboard shortcuts

Finale 3D's keyboard shortcuts are designed to support the "hands-on-keyboard" style of programming and also the "one-hand-on-mouse-one-hand-on-keyboard" style.  The keys shown in Table 1 are the hot keys (hotkeys) for inserting and replacing effects. Table 2 includes a selection of the most frequently used keyboard hotkeys for maximizing productivity. To insert an effect, you can press "C" to invoke the effects window with the filter box focused and any previous filter text selected.  From that point you can easily press Delete to delete the text and type in different filter text.  Having filtered the effects window down to a reasonable number of rows, you can use the up and down arrow keys to select the next or previous row.  When you get to the row you want, press Control-Enter to insert that effect or Control-Shift-Enter to replace with that effect; or you can press Control-. if you change your mind. Other keys tab between the cues on the timeline, or cycle among the selected positions.  You can navigate and insert or replace effects without taking your hands off the keyboard, if that is your style.  If you keep your right hand on the mouse, the "W" and "T" keys allow you to insert and replace effects with the left hand on the keyboard.  Of course, you can also ignore the keyboard entirely and just use the mouse by itself, but if that is your style you likely aren't reading this section of documentation.   Table 1 – Keyboard shortcuts for inserting and replacing effects: arrow keys, enter, and tab Shortcut Function in Design Window Function in Effects Window Function in Script Window Left/Right Arrow Tab between cues on timeline Select next/previous cell in table --- Shift-Left/Right Arrow Move playhead 1ms Extend cell selection in table left/right --- Control-Left/Right Arrow Move playhead one small notch on timeline --- --- Tab and Shift-Tab Tab between positions in alphabetical order Select cell or select next/previous cell in table Same Control-Tab and Control-Shift-Tab Activate next/previous window in Finale 3D --- --- Alt-Tab and Alt-Shift-Tab Choose and activate next/previous window (system function) --- --- C Focus the search box on effect window (and show instructions; same as, "Choose effect...") Same Same Enter Focus the search box on effect window (and show instructions; same as, "Choose effect...") Focus the search box in window Same W or Control-Enter Insert effect from effect window (same as, "Insert effect") Same Same Y or Control-Shift-Enter Replace with effect from effect window (same as, "Replace effect") Same Same Up/Down Arrow Select next/previous row in effects window Select next/previous row or cell in table Same Shift-Up/Down Arrow Select next/previous row in effects window Extend next/previous row or cell selection in table Same Control-Shift-Up/Down Arrow Select and scroll to top/bottom row in effects window Select and scroll to top/bottom row in table Same Home/End Move to beginning/end of timeline Select and scroll to top/bottom row in table Same Page Up/Down Move playhead one large notch on timeline Select and scroll to row one page up/down in table Same Escape Clear selection of effects Clear row or cell selection Same Control-. (Dot) Close the window (or dialog) Same Same   Some designers prefer to design with the effects window open all the time.  Others prefer scripting with a full screen simulation window, popping up the effects window only when needed.  The keys in Table 1 support both preferences.  If the effects window is already open when you press "C", then it will stay open when you insert an effect from it.  If the effects window is not open when you press "C", then it will close automatically when when you insert an effect from it, unless you manually reposition the window first, which clears its "auto-close" provenance.   Table 2 – Keyboard shortcuts for common and frequently used functions Key Function in Design Window Function in Effects Window Function in Script Window Function on the Timeline Shift+2 Window preset 2: design + effects + script Same Same Same Shift+left mouse button drag Draw a selection box over positions or effects Select contiguous items Select contiguous items Select multiple items Ctrl+left mouse button drag Orbit in 3D space Select non-contiguous items Select non-contiguous items Drag timeline or duplicate effect(s) Ctrl+Z Undo Same Same Same Ctrl+C Copy Same Same Same Ctrl+V Paste Same Same Same Space Play or pause show --- --- Same I Insert empty cue Same Same Same Y Replace effect (replaces the selected effect(s) with the item selected in the effects window) Same Same Same F Make into fan Same Same Same K Mirror angles Same Same Same S Make into sequence Same Same Same H Spread out evenly Same Same Same M Reverse order Same Same Same Shift+M Randomize order Same Same Same Ctrl+D Duplicate Same Same Same D Duplicate into pairs Same Same Same Shift+F Duplicate into flights Same Same Same Ctrl+H Combine as chain Same Same Same G Combine as group Same Same Same Ctrl+G Create an effect by typing a description of it Same Same Same Ctrl+P Create a cake effect by combining selected items Same Same Same Ctrl+L Add one position Same Same Same Z Add racks for show Same Same Same P Address show Same Same L Lock addresses Same Same Same  

Scripting manual shows

While many of the functions in Finale 3D are aimed at pyromusicals, there are a few functions that can save you time scripting manual shows.  In some cases, they can lead to a better result than would be possible without computer assistance.   If you are scripting a manual show, you should familiarize yourself with the voice cues support described in Voice cues basic instructions and the "pin board" firing system described in Pin Board, which may factor into your production work flow. The present section focuses on the design process.   Table 1 – Functions relevant to scripting manual shows Function Menu Explanation Spread out evenly Script > Sequences Arrange selected effects as sequence with uniform gaps between the effect times. Spread out based on effect durations Script > Time adjustments Arrange selected effects as sequence with uniform gaps between the the dissipation of an event and the break/effect time of the next event. Align event times to frame rate Script > Align Adjust the event times of all the selected effects to align with the frame rate, which can be 1 second intervals for spacing effects on full second time points. Randomize Script > Reorder Reorder the selected effects randomly, shuffling the times. Add time variance Script > Add time variance Add random amounts to all the times, to make them less robotic. Re-align cues to their event time Script > Time adjustments For each group of effects having the same effect time (collectively, a "cue"), adjust the times if they have different prefires so that the event times of all the effects of the cue align, which will cause the effect times to not align if the prefires are different. Insert minimum separation Script > Time adjustments Insert extra time between any consecutive events with less than the minimum separation of time between their event times (or optionally their effect times, but event times are more relevant to manual shows). Speed up cadence at end Script > Time adjustments Modify the times of an existing sequence, which may have irregular spacing between shots, to increase the rate of firing gradually toward the end of the of sequence, building toward a crescendo. Set timeline snap-to resolution Show The "1 second" option for snap-to resolution supports dragging items on the timeline in 1 second intervals.  Timeline snapping is always based on the effect time blips, so the snap-to resolution mode is useful before performing the step to align the event times (as opposed to effect times) to the frame rate. The list of relevant Finale 3D functions is shown in Table 1. These functions can be useful for scripting pyromusicals as well, but they have particular significance for manual shows.   The best way to describe them is to walk through an example scenario that employs them together to script a section of a show.  The example scenario is, Given a list of effects to use in a section of a manual show, lay out the effects at a pleasing cadence, taking into account the effect durations, and the desire to have some pairs and different size shells mixed into the sequence.  The cadence should be implementable by an operator pressing a button on a pin board while listening to voice cues or reading from a cue sheet.  In other words, the cadence mustn't be too fast.  The cadence of the shots should build to a crescendo at the end of the section, in preparation for a finale.   To simplify the cue sheet, the shots will be aligned to trigger times that fall on full second time points.  The scenario begins with the effects already inserted into the show, all at one time.  The design procedure will spread them all out in a pleasing temporal arrangement.  In a nutshell, the procedure is, Spread out the effects evenly so you can see them. Optionally drag some cues on the timeline to snap some pairs or stacks of shells together, choosing complementary effects. Randomize the order of the entire section. Spread out the randomized sequence of effects based on the effect durations. Optionally, speed up cadence at the end to build toward a climax. Re-align the cues to their event times so the pairs and stacks are a single cues for the firing system regardless of their prefires. Optionally, insert minimum separation to guarantee the operator has time to react to the voice cues. Optionally, align event times to 1-second resolution so the cue sheet is easier for the operator to follow. Optionally, turn on "Snap to resolution: 1 second by event times" to make manual adjustments. The starting point for this procedure is illustrated in Figure 1.  Twenty various effects have been inserted into the show, all at one time.  These are the effects that are going to be arranged in an appealing sequence.   Figure 1 – The starting point: 20 effects inserted at one time.   1. Spread out the effects evenly From the starting point, the first step is to spread the effects out on the timeline so you can see them and make decisions about what effects might look good in pairs.  Choosing 40 seconds duration, the timeline will look like Figure 2.     Figure 2 – After spreading out the effects on the timeline, you can see them.   2. Drag some cues on the timeline to snap some pairs of shells together Scrubbing back and forth on the timeline, you can see what effects you have to work with.  You can snap some together that you think would look good as pairs, which results in the timeline looking like Figure 3.   Figure 3 – Drag effects on the timeline to make pairs of complementary effects; don't worry about the timing.   3. Randomize the order The initial sequence from Step 1 arranged the effects on the timeline in the order they were inserted, which happened to be all the 4" effects (blue bars) followed by the 3" effects (yellow bars).  Do the randomize function to shuffle the order.  Repeat the function multiple times if you want to pick a random order that looks better than the others.  The results of the randomize function are shown in Figure 4.  Notice that the function keeps together the pairs.   Figure 4 – The randomize function shuffles the order of effects, keeping pairs together.   4. Spread out based on duration At this juncture the timing is a mess, but the order of shots and the combination of effects into pairs is correct.  Apply the operation "Spread out based on effect durations" to fix the timing.   The original sequence in Step 1 was spread out over 40 seconds, but the dialog from the "Spread out based on effect durations" operation indicates the "zero gap" duration is about 45 seconds.   Although you can easily stretch the total duration later, it is usually easiest to begin with some small gaps.   Figure 5 illustrates the result of choosing 60 seconds for this spreading out operation.  The red arrows show the consistent gaps between the dissipation time an effect and the break time of the next effect.   Figure 5 – The gaps between the dissipation time of an effect and the break time of the next effect is consistent after spreading out based on duration.   5. Speed up cadence The "Speed up cadence at end" function will speed up the cadence of the shots progressively over the sequence, building to a climax.  The function presents a dialog with a choice of acceleration rate, from subtle to pronounced, 1-10.  Choose the amount that feels good.  Figure 6 shows the result of an acceleration rate of 6 for this sequence.  The red arrows illustrate gaps.  Comparing Figure 6 to the previous Figure 5, you can see that after the cadence function the gaps at the beginning of the sequence are much larger than the gaps at the end.  In fact, the shots at the end get squeezed together so much that the gaps are negative!  The red circles in Figure 6 indicate gaps that are small or negative.  You can clearly see the progression from left to right. Because the effects are different durations, the gaps between the effect times are irregular.  Look at the cue flags along the top of the timeline in Figure 6.  Can you tell from the cue flags that this is an accelerating sequence?   It would be hard to guess!  Yet if you look at the gaps illustrated by the red arrows and circles, you can see that the sequence accelerates in a pronounced way.  By the end of the sequence, the effects are stepping on each other, which is in stark contrast to the luxurious spacing at the beginning.   Figure 6 – Red arrows point out the large gaps on the left; red circles point out small gaps in the center, and negative gaps on the right!   6. Re-align the cues to their event times Electronic firing systems may have "macro" or "sequence" capabilities, but manual shows shot with a pin boards require a single ignition pin per cue.  It is thus necessary to align the event times of the effects of a cue, rather than the effect times.  Finale 3D's timeline user interface and scripting features are principally based on the effect times, so the easiest way to script a manual show is to design the show with cues of effects having the same effect times (the blips aligned on the timeline and the effects sharing a cue flag), and then convert the cues to alignment based on event times when you get to the stage of your design process in which you are making the show operational. The "Re-align cues to their event times" function does this operation for the entire show in one step.  Select everything and apply the function.  The result in this scenario is shown in Figure 7.  The circled areas show the changes.  You can see the left ends of the pairs of different sized effects have become aligned, and as a consequence the blips of the effects have become unaligned.   Figure 7 – Aligning the event times of pairs of different size effects is required for pin board firing systems.   7-9. Insert minimum separation and align event times to seconds The "Insert minimum separation" function provides a guarantee that event times are not too close together, based on the separation time you specify.  For fast sequences, you may need to use this function to ensure the operator can fire the show.  Optionally, the "Align event times to resolution: 1 second" function can be used to align the effect times of the shots to full seconds, without fractions, which makes the cue sheets easier for the operator to read at the expense of timing resolution.  These functions produce subtle changes in the timeline, shown in Figure 8.  The benefits are more clear in the cue sheet shown in Figure 10.   Figure 8 – The final steps -- insert minimum separation and align event times to seconds.   Preparing the script Steps 1-9 illustrate an example design procedure for a section of a manual show.  Obviously this procedure can be combined with other procedures to script a full show, and the functions used in this procedure may be applicable in other contexts.  To close the story of this scenario, Figure 9 and Figure 10 show the production steps for addressing the show and printing a cue sheet.  Table 2 provides the example files if you want to download and look at them.   Figure 9 – To address a manual show with a single firing system pin per cue, 1) set max e-matches to a large number, 2) sort chronologically by event time, and 3) remove all the constraints.   The "Addressing > Address show..." function assigns firing system addresses for the manual show.  Figure 9 points out the important three requirements for addressing manual shows.  The full details of the addressing procedure are described in Pin Board.  After addressing the show, you can print out the cue sheet as a standard report, which produces what you see in Figure 10.  If you want voice cues for your show, the procedure is described in Voice cues basic instructions. Example files for this show, and the cue sheet, and the voice cues, are provided in Table 2. Figure 10 – The cue sheet for this manual show example.   Table 2 – Example files Download link Explanation test_manual_show.fin Show file manual-show-cue-sheet.pdf Cue sheet [audio wav="https://finale3d.com/wp-content/uploads/2020/04/manual-show-voice-cues.wav"][/audio] Voice cues