Software Documentation

Software Documentation

Firing System AddressingDocumentation

Basic Last updated: October 10, 2020

3 Addressing with sorts and constraints and custom fields

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.