Manual Loop Adjustments

As a complement to its rules-based and loop automation approach, Broadsign Core also offers the ability to manually adjust slot positions within loops to cope with cases where specific requirements for playback order are not fulfilled by the automatically generated loops.

To implement manual adjustments, we introduced a new transformation strategy: Manual Adjustments Transformation.

It needs to be enabled on the Loop Policy assigned to the frame on which manual adjustments are to be performed. The loop snapshot report will show a new “Adjust Loop” button for all the frames which assigned loops have the Manual Adjustment Transformation added to their list of transformations.  When the “Adjust Loop” is clicked, it will open a loop editor GUI allowing the reordering of the loop slots on every loop iteration.

The Manual Adjustments Transformation needs to be added to the Loop Policy and must be last in the list of transformations in order to enable the feature.  Otherwise, the “Adjust Loop” button will not appear.

This transformation strategy will not be added by default in newly created loops and the Loop Snapshot reports will only show the “Adjust Loop” button for the frames with loops that have it.

The Manual Loop Transformation

The only variation made to the Loop Snapshot Reports is that if a frame was assigned a Loop Policy with the Manual Adjustments Transformation strategy, then next to the frame’s id the “Adjust Loop” button will appear.


When clicked, a loop editor GUI will appear. Once the loop has been edited and the changes applied, the Loop Snapshot Report will be automatically regenerated to display the effects of the adjustments.

When the “Adjust Loop” button is clicked, a loop editor appears. The columns that appear in the loop editor reflect the all the information listed Loop Snapshot report. The loop editor presents a single loop at a time and allows for either drag-and-drop or the use of up/down buttons in order to reorder items. The ordering column shows if the slot was manually ordered or not. Clicking “Revert to Auto” will remove all manual adjustments made in the current loop.

Once OK is clicked, a prompt is presented to save the changes either locally “Apply to this loop only” or globally “Apply to every loop with this content” and the loop snapshot report will regenerate automatically to display the changes.

Selecting “Apply to this loop only” will make the manual loop adjustments only apply to the selected loop in the selected frame. Selecting “Apply to every loop with this content” will make the manual loop adjustments apply everywhere the adjusted slots are scheduled to play.

In order to apply the changes globally, all the concerned frames need to have their Loop Policies set up with the Manual Adjustments Transformation enabled.

When items in a loop are manually adjusted, the positions of all bundles in the loop are recorded in absolute terms (i.e: position 1,2,3,4,5) and not relative terms (i.e: before or after item X). This will ensure that the loop order specified by the user is respected exactly by the player, even if items move in and out of the loop over time.

If new campaigns are added to the loop after the manual ordering is done, these new slots will appear at the end of the loop, after the manually ordered block. The ordering type of these slots will be “Auto”. The results of the loop transformations that were applied to these slots will be broken by the manual ordering. It is possible that two or more different slots in the loop are both assigned the same absolute position. In this case, the conflict is resolved in a deterministic way: the bundle with the lowest resource id will always go first.

As an example,  the table below shows how manual ordering can affect a loop over time:

Manual Ordering Over Time

Manual Ordering Over Time