Type any phrase to search documentation

Software Documentation

AddressingDocumentation

BasicLast updated: August 30, 2021

5 Special constraints

Most of the constraint terms in the addressing dialogs for a module, slat, pin or rack are attributes of effects. The standard meaning of a constraint of the form “Module restricted to single X” is that every effect fired from a specific module must have the same value for the attribute X, whatever X is — Size, Part Number, Position, etc. Loosely speaking, this standard meaning applies to all the constraint terms, but there are are few constraint terms that are not attributes of the effects or that work slightly differently. These are the “Special” constraint terms. They have meanings that are consistent with the standard meaning but require a customized implementation to do what people expect. These special terms are listed in Table 1.

 

Table 1 – “Special” constraint terms in the addressing dialogs

ConstraintMeaning
SectionThe module constraint row in the addressing dialogs includes the term “Section” as a required option, meaning that modules are never shared across different sections. It follows that slats and pins are also never shared across different sections, since it would be impossible to share a slat or pin without also sharing its associated module. There are a few other terms that modules implicitly cannot be shared across. The full list is: Universe, Firing System Type, Section, Addressing Blueprint, Start Module, and Module Type. See Sorting positions across multiple blueprints or sections for more information.
Rack ClusterRack clusters are collections of racks in a position that are snapped together in the rack layout view. It is natural to constrain modules or slats or pins to rack clusters to avoid unwieldy wiring.
AngleLoosely speaking, this constraint requires that the effects have the same orientation. The orientation of an effect is defined by Euler angles Pan, Tilt, and Spin. All three Euler angles must be the same for the Angle constraint to be satisfied.
Angle-Or-NotLoosely speaking, this constraint requires that effects are all straight up, or all angled, though the specific angles can vary. Ignoring Pan, an effect is considered to be “at an angle” if its Tilt or Spin Euler angle is non-zero. The constraint is satisfied for collections of effects that are either all at an angle or all not at an angle (independent of what the angle is).
Angle-Plus-MinusLoosely speaking, this constraint requires that angles are leaning in one direction or the other or are straight up, though the specific angles can vary. The first Euler angle (Pan, Tilt or Spin) that has a non-zero value for an effect determines its “angle plus/minus/zero,” based on the sign of the angle. If all the Euler angles are zero, then the “angle plus/minus/zero” is zero. The “Angle-Plus-Minus” constraint is satisfied for a collection of effects if all of them have the same “angle plus/minus/zero.”
ChainThis constraint requires that all effects are in the same chain, or all effects are not in a chain.
Chain-Or-NotThis constraint requires that all effects are in chains (not necessarily the same chain), or all effects are not in a chain.
FlightA “flight count” is the number of devices at the same event time and same position. A chain of five, by itself, has a flight count of 5 for all five devices in the chain. Two chains of five shot together have a flight count of 10 for all ten devices. Five shells unchained but shot together also have a flight count of 5. The Flight constraint requires that effects have the same flight count.
Flight-Or-NotThis constraint requires that all effects have a flight count > 1, or all effects have a flight count = 1, though other than that the effects do not need to have the same flight count.
PairThis constraint requires that all effects have a flight count of 2.
Pair-Or-NotThis constraint requires that all effects have a flight count = 2, or all effects have a flight count != 2.
GroupThis constraint relates to the Group attribute but also takes into consideration the Chain attribute and treats blank values unusually. The constraint is satisfied if all events are in the same group (and are in fact in a group!), or if all events are in the same chain (and are in fact in a chain!). The Group constraint is useful for manually specifying what effects are to be e-matched together. Adding the Group constraint to pins will prevent events from being e-matched together unless you specifically give them a group identifier, like “TOGETHER” for example. You don’t need to come up with unique identifiers for different groups of events because events can never be combined onto the same pin if they are at different times.
Rack Part Number, Rack Category, Rack Custom Part Field, Rack Custom FieldThese constraints refer to properties of the rack used for the effect. The constraint “Module restricted to single RACK CUSTOM FIELD” means that every event fired from a specific module must use a rack with the same Custom Rack Field. The Custom Rack Field is a field in the Racks window that can be edited for every rack instance in the show. The constraint “Module restricted to single RACK CUSTOM PART FIELD” means that every event fired from a specific module must use a rack with the same Custom Part Field. The Custom Part Field for the rack is part of the rack’s definition, which is editable in the Effects window and which applies to all instances of the rack definition used in the show.

Effects also have a Custom Part Field in their definition in the Effects window, so there is a possibility of confusion. The constraint names are precise: the constraint Custom Part Field refers to the effect’s Custom Part Field; the Rack Custom Part Field constraint refers to the rack’s Custom Part Field — both in the Effects window. The constraint Custom Script Field refers to the effect’s Custom Script Field in the Script window; the Rack Custom Field refers to the rack’s Custom Rack Field in the Racks window.

Custom Script Field, Custom Part Field, Custom Numeric Field, Custom Position FieldThese constraints refer to properties displayed in the Script window for which blank values can be interpreted as wildcards. In the addressing dialog, if you select, “Treat blank values for script custom fields as wildcards” then blank values for any of these properties will not constrain possible assignments. For example, if three events have Custom Script Fields of “A”, blank, and “B”, then a Custom Script Field constraint will prevent the “A” and “B” events from being assigned to the same module or slat or pin, but the event with a blank Custom Script Field could be assigned to the same module or slat or pin as either of the others.

The Custom Part Field refers to a property of the effect definition in the Effects window. The Custom Position Field refers to a property of the position in the Positions window. The Custom Script Field and Custom Numeric Field both refer to properties of the event in the Script window.