Software Documentation

Software Documentation

Firing System AddressingDocumentation

Intermediate Last updated: August 30, 2020

27 Fill down with “backfilling allowed” option

The “fill down” technique for assigning firing system addresses is based on the idea of arranging the rows in the script table in the ascending order of your desired addresses, and then quite literally starting with the address of the top row and filling down the addresses in the remaining selected rows, incrementing as you go.  The “Fill down addresses in script window…” dialog shown in Figure 1 has options for specifying the conditions that cause an auto-increment of the module, slat, or pin, making it convenient to select the whole show or a section of the show and then fill down all those selected rows at once, automatically incrementing when conditions change, such as incrementing the module upon change of position.

One wrinkle in the fill down technique for firing systems that support multiple effects on the same pin is that effect rows in the script that are supposed to have the same firing system address (i.e., same module, slat, and pin) need to be sorted contiguously, because if there were any other row with a different address separating them in the sequence, then the addresses would necessarily be incremented.   Since sorting the desired same-address rows contiguously may not be possible while maintaining the sort sorted order you are aiming for, the “Fill down addresses in script window…” dialog has a feature that comes to the rescue: the “Backfilling allowed” checkbox.


Figure 1 – The “Backfilling allowed” checkbox enables re-using pins from earlier in the fill down sequence.


Figure 2 illustrates a circumstance requiring backfilling.   If you want to sort addresses by “Position then Event Time” but allow effects at different positions to share pins if they are at the same time, there’s no way to do that without backfilling.  Figure 2 shows the result of filling down with addresses sorted by “Position then Event Time” and no incrementing conditions other than the implicit incrementing condition that pins have single event times.


Figure 2 – Sorted by “Position then Event Time”, every row has different event time from the previous row and therefore gets an incremented address.


You could avoid the problem of Figure 2 by sorting with Event Time first (e.g., “Event Time then Position”) but that might not be the sort you want, and usually isn’t since other sorting criteria like Angle and Size are generally more useful than Event Time.

Checking the “Backfilling allowed” checkbox allows you to use any sort you want, and each row will re-use earlier pins in the fill down sequence whenever possible, up to the “Max e-matches per pin” limit you set in the dialog (See Figure 1 again).  The result of addressing with backfilling is shown in Figure 3.


Figure 3 – With backfilling, the addresses increment according to the sort with the exception that earlier pins are re-used when possible.