Software Documentation

Software Documentation

Firing System AddressingDocumentation

Basic Last updated: April 23, 2024

6 Special sort terms

The addressing dialogs present a sequence of sort fields that define the order in which script rows are assigned firing system addresses and racks.  The first field is the primary term.  The next field is a tie breaker for rows that compare equally as far as the first term.  The third field is a tie breaker for the second, and so on.   It is common to begin the sort sequence with “Position” so firing system addresses are assigned in the alphabetical order of the positions.  As an example, the sequence “Position > Angle” sorts first by position, and then within a position sorts rack and tube assignments in a left to right arrangement to prevent tubes from aiming toward each other.

Many other addressing sort sequences are possible (about 700,000,000,000,000), ranging from simple sequences of a single term like “Event time”, which just sorts the rows chronologically, to complex sequences that sort different kinds of effects differently, like sorting mortar items by size and cakes by rack type.

Most of the sort terms are just fields from the script table but some are “special” in that they compare in an unusual way or they are derived or dynamically recalculated.  The full set of terms are listed in Table 1, including an indication for “special” or “dynamic”.  The dynamic terms are those that are recalculated after every assignment to take into consideration what the previous assignment was and what racks remain available.

To understand the mechanics of the sort terms, it is helpful to keep in mind how the addressing operation works: The addressing operation begins with the first script row in the sorted list, assigns it the next available address and rack that are compatible, then moves on to the next row in the list after re-sorting it, assigns the next row the next available address and rack that are compatible, and so on.

 

Table 1 – Sort terms in the addressing dialogs

Most Horizontal Tilt — Single-shotYes
Sorts single-shot effects first, in order of most horizontal first (see above); then non-single-shot effects in their original order.

Sort Term Special Dynamic Meaning
Angle Yes Sorts items by their angle; comparing front to back angle first, then left to right.
Angles First Yes Angled items first (any angle), then straight-up items.
Angles Last Yes Straight up items first; then angled items.
Cakes First Yes Cakes first (according to Type); then other items with no preference between them.
Cakes Last Yes Cakes last; other items first with no preference between them.
Candles First Yes Candles first; then other items with no preference between them.
Chain Reference Simple comparison.
Chains First Yes Chain rows before non-chain rows.
Chains Last Yes Non-chain rows before chain rows.
Custom Numeric Field A user-defined numeric field available for you to make your own custom sort criterion.
Custom Part Field Simple comparison.
Custom Position Field Simple comparison.
Custom Script Field Simple comparison.
Description Simple comparison.
Event Time Simple comparison.
Fan Chains First Sorts chains whose shells are not all at the same angle before other effects.
Fan Chains Last Sorts chains whose shells are not all at the same angle after other effects.
Fan Flights First Sorts flights whose shells are not all at the same angle before other effects; a flight is a group of effects with the same event time and same position.
Fan Flights Last Sorts flights whose shells are not all at the same angle after other effects; a flight is a group of effects with the same event time and same position.
Hazard Simple comparison.
Manufacturer Simple comparison.
Matches Any Rack Yes Yes Gives priority to effects that are compatible with at least one remaining available tube, taking into consideration the effect’s angle, size, and rack type.  This field is useful to demote unracked items to the end of the list, such as, for example, to use the last pins of a module for cakes when not using cake racks.
Mortar Items First Yes Gives priority to items that are compatible with mortar racks (shells, mines, comets) over all other items.
Most Horizontal Tilt Yes Sorts by angle delta from up in any direction (absolute value of angle delta); blank angle value is equivalent to zero. This sort term and its single-shot specific variation are useful for sorting the most outward leaning single-shot effects first, for fan row racks that have different angle range constraints on the outer edge holders than the interior holders (interior holders can’t tilt as far because they physically collide with their neighbors). Sorted most outwardly leaning first, the effects that need the outer edge holders get the first chance at allocating them.
Most Horizontal Tilt — Single-shot Yes Single-shots first, in order of most horizontal tilt (see above); then non-single-shot effects in their original order.  This is the best sort term for ensuring the holders on the edges of fan row racks get allocated by the effects that need to aim more severely than the interior holders are capable of.
Next Tube In Rack Yes Yes Gives priority to items that are compatible (angle, size, and rack type) with the tube that immediately follows the tube allocated in the previous assignment, according to the tube loading order of the rack; assigns no priority if the previous assignment assigned the last tube in a rack.   This sort term is useful in combination with “Same Rack” for encouraging sequential pin numbers in rack tubes with pre-assigned angles.
Non-Cakes First Yes Non-cake rows before cake rows.
Notes Simple comparison.
Notes 2 Simple comparison.
Notes 3 Simple comparison.
Pairs First Yes Gives priority to pairs — items for which the flight length is exactly two (see flight length)
Pairs Last Yes Gives priority to non-pairs — items for which the flight length is anything other than two (see flight length)
Longest Flights First Yes Sorts according to flight length, longest first.  The flight length is the number of effects with the same event time, at the same position.
Part Number Simple comparison.
Pitch Simple comparison.  Pitch is the forward/back angle of the effect.
Position Simple comparison.
Rack Number Sorts items based on the racks they fit into, enabling you to do Addressing based on layout of racks.  Generally speaking, this sort criterion causes racks to be filled in order, by their rack number.  There are circumstances in which that will not be the case, based on the actual definition of this sort term.

The actual definition of this sort term is: this term gives highest priority to items that “fit” in the same rack as the first effect of the last assignment (chains and flights may have multiple shells in different racks), next highest priority to items that fit in the same rack as the last effect of the last assignment (which may matter for chains),  next highest priority to items that fit in the first non-full rack after the last effect of the last assignment (first according to rack number), and finally next highest priority to items that fit in the lowest numbered rack in the position.

The term “Fit” means that a) the item’s properties like Size and Type and Rack Type, taking into consideration sleeving and Rack Type Part Numbers, are compatible with the rack’s definition, and b) if the item is a chain and the pin addressing constraints include Rack (which forces chains to fit in single racks) then the number of shells in the chain does not exceed the number of remaining unused tubes in the rack.  “Fit” does not take into consideration any other addressing constraints from the addressing dialog or blueprint.  “Fit” does not take into consideration pre-wired pin constraints.  Thus it is possible for the Rack Number sorting criterion to give priority to an item that fits into the next rack by this definition of “fit” but that ultimately gets assigned to a different rack on account of addressing constraints.

If none of the items in a position fit in the position’s lowest numbered rack, then the Rack Number sort criterion for the position offers no priority to any of the items for the first assignment in the position; and thus the first assigned item may be in any rack, not necessarily the lowest numbered rack for which an item fits.

Rack Type Simple comparison.
Rack Type — Cake Yes Cake items first in order of Rack Type by simple comparison; then non-cake items in original order.
Rack Type — Candle Yes Candle items first in order of Rack Type by simple comparison; then non-candle items in original order.
Rack Type — Mortar Item Yes Mortar items (shells, mines, comets) first in order of Rack Type by simple comparison; then non-cake items in original order.
Rack Type — Single-Shot Yes Single-shot items first in order of Rack Type by simple comparison; then non-single-shot items in original order.
Reverse Angle Yes Reverse of the angle comparison.
Reverse Size Yes Reverse of the size comparison.
Reverse Size — Cake Yes Cake items first in reverse order by size comparison; then non-cake items in original order.
Reverse Size — Candle Yes Candle items first in reverse order by size comparison; then non-candle items in original order.
Reverse Size — Mortar Item Yes Mortar items (shells, mines, comets) first in reverse order by size comparison; then non-mortar items in original order.
Reverse Size — Non-Cake Yes Non-cake items first in reverse order by size comparison; then cake items in original order.
Reverse Size — Single-Shot Yes Single-shot items first in reverse order by size comparison; then non-single-shot items in original order.
Reverse Tilt Yes Reverse of the tilt comparison (angle difference from up).
Reverse Tilt — Cake Yes Cake items first in reverse order by tilt comparison; then non-cake items in original order.
Reverse Tilt — Candle Yes Candle items first in reverse order by tilt comparison; then non-candle items in original order.
Reverse Tilt — Mortar Item Yes Mortar items (shells, mines, comets) first in reverse order by tilt comparison; then non-mortar items in original order.
Reverse Tilt –Non-Cake Yes Non-cake items first in reverse order by tilt comparison; then cake items in original order.
Reverse Tilt — Single-Shot Yes Single-shot items first in reverse order by tilt comparison; then non-single-shot items in original order.
Roll Simple comparison.  Roll is the left/right angle of the effect; blank value is equivalent to zero.
Same Rack Yes Yes Gives priority to items that “fit” in the rack of the tube allocated in the previous assignment; obviously assigns no priority if the previous assignment assigned the last tube in a rack (because the rack would have no remaining available tubes).

The term “Fit” means that a) the item’s properties like Size and Type and Rack Type, taking into consideration sleeving and Rack Type Part Numbers, are compatible with the rack’s definition, and b) if the item is a chain and the pin addressing constraints include Rack (which forces chains to fit in single racks) then the number of shells in the chain does not exceed the number of remaining unused tubes in the rack. “Fit” does not take into consideration any other addressing constraints from the addressing dialog or blueprint.  “Fit” does not take into consideration pre-wired pin constraints.  Thus it is possible for the Same Rack sorting criterion to give priority to an item that fits into a rack by this definition of “fit” but that ultimately gets assigned to a different rack on account of addressing constraints.

The Same Rack sort term is useful in combination with “Same Row In Rack” or “Next Tube In Rack” for encouraging sequential pin numbers in rack tubes or rack row tubes with pre-assigned angles.

The Same Rack sort term can also be used in front of “Chains First” as in “Same Rack > Chains First” to fill racks with as many chains as can fit in each rack and then to fill the remaining tubes in the rack with single shells before going forth to fill chains in the next racks, resulting in naturally incrementing pin numbers for the chains and shells in the racks while at the same time ensuring the single shells don’t fill up a rack that would be better suited for chains.

Same Row In Rack Yes Yes Gives priority to items that are compatible (angle, size, and rack type) with any remaining tube in the rack row of the tube allocated in the previous assignment; obviously assigns no priority if the previous assignment assigned the last tube in a rack row.   This sort term is useful in combination with “Same Rack” or “Next Tube In Rack” for encouraging sequential pin numbers in rack tubes or rack row tubes with pre-assigned angles.
Single-Shots First Yes Single-shot rows before non-single-shot rows.
Size Simple comparison.
Size — Cake Yes Cake items first in order by size comparison; then non-cake items in original order.
Size — Candle Yes Candle items first in order by size comparison; then non-candle items in original order.
Size — Mortar Item Yes Mortar items (shells, mines, comets) first in order by size comparison; then non-mortar items in original order.
Size — Non-Cake Yes Non-cake items first in order by size comparison; then cake items in original order.
Size — Single-Shot Yes Single-shot items first in order by size comparison; then non-single-shot items in original order.
Size >= 35MM — Single-Shot Yes Single-shot items of size >= 35MM first, in their original order; then other single-shot items in their original order; then non-single-shot items in their original order.  This family of sort terms is useful when a position contains single-shot racks with different holder sizes.  If the larger holders can house both large and small effects, but the smaller holders can house only the smaller effects, then it can be important to sort larger effects first so the larger holders don’t get used up by the smaller effects.
Size >= 40MM — Single-Shot Yes Single-shot items of size >= 40MM first, in their original order; then other single-shot items in their original order; then non-single-shot items in their original order.
Size >= 45MM — Single-Shot Yes Single-shot items of size >= 45MM first, in their original order; then other single-shot items in their original order; then non-single-shot items in their original order.
Size >= 50MM — Single-Shot Yes Single-shot items of size >= 50MM first, in their original order; then other single-shot items in their original order; then non-single-shot items in their original order.
Size >= 55MM — Single-Shot Yes Single-shot items of size >= 55MM first, in their original order; then other single-shot items in their original order; then non-single-shot items in their original order.
Size Or Sleeve Comparison of the items’ size or sleeve (if present).
Storage Location Simple comparison.
Tilt Simple comparison (signed angle difference from up); blank value is equivalent to zero.
Tilt — Cake Yes Cake items first by tilt comparison; then non-cake items in original order.
Tilt — Candle Yes Candle items first by tilt comparison; then non-candle items in original order.
Tilt — Mortar Item Yes Mortar items first by tilt comparison; then non-mortar items in original order.
Tilt — Non-Cake Yes Non-cake items first by tilt comparison; then cake items in original order.
Tilt — Single-Shot Yes Single-shot items first by tilt comparison; then non-single-shot items in original order.
Track Simple comparison.
Type Simple comparison.