Automation Rules

Automation Rules

Programs can have rules assigned to them. The rules serve as a guide for the automation logic to select songs matching the criteria for the rules you set.

If you associate more than one rule to the program element, the system will pick one at random each time the program element is referenced for automation.

For program elements that have a link to a song or commercial break, the automation engine will ignore any rule set for that program element and will move on to the next program element when playback is complete.

If the automation engine can't find any program element to base its playback decision on, it will randomize the playback.

This part of the automation engine is tagged for an upgrade where you will see an adaptive logic applied where the system will learn from your programming and extrapolate song selection rather than simply randomize.
We suggest that you experiment rigorously with this section.

Program Rules
Note: Please refer to the Program section first before proceeding if you haven't covered it.

Right click on a program and select "Set Program Rules...".

A new dialog box pops up.

As you can see in the window above, I currently have two rules defined.

You can drag and drop rules from the left list to add them to the right list. Once a rule is in the right grid of selected rules for this program, you can double click on the rule to define the number of songs matching the rule criteria the system should return when in automation.

To define additional rules, click on the Add button. The Add button allows you select a program rule and add it to the list of rules for the selected program. However, you can click on the button to the right of the drop down combo in the program rule selection dialog to create a new rule.


You can select an existing rule from the list or click on the button to the right of the element rule drop down box to add a new rule.

The element rule dialog box will display.

Click on the New button to create a new rule and fill in the details as shown below. Click on Save when done to persist the newly created element rule to the database.


Select the newly created element rule from the list to the right of the form and double click to edit it.


The rule criteria dialog box will pop up. You use this dialog box to specify the criteria the system should associate with the element rule. The element rule specified the mix settings, artist separation, etc... The rule criteria allows you to specify the particular audio properties which the automation engine will use to select the audio media files for playback

As of the time of this writing, the following search fields can be used to filter the selection of media files.


If you have more than one search field defined, the automation engine will look for any media records matching all criteria defined.

For this example, we have defined the following as our criteria.


That's all there is to defining or creating new element rules.

To complete the cycle, let's now close the rule criteria dialog box and then the element rule dialog box which brings us back to the program element rule selection dialog box. Select the newly created element rule from the drop down box and click on the OK button to accept the selection.


Your element rule selection now associated with the currently selected program element.


To test your newly created program and program elements, simply click on the automation button on the Players menu.


Note: Automation will start playing programs and program elements from the current date and time of your system onwards. If your created program or program element's end time is in the past, it will not be played. Make sure that the program element's time is equal or falls after the current date and time. If it is after the current date and time, you'll have to wait for the playback to reach it.

Song Generation Logic

Below is a short description of some of the major rules considered while selecting songs matching automation rules.

Playback Criteria

Songs can have playback criteria assigned to them. The default playback criteria allows songs to be played any time any day.

The automation rules will first filter out any songs with playback criteria prohibiting playback during the program set time.

Song Separation

Song separation will match scheduled program elements for songs matching the rule that fall within the song separation interval to filter them out of the criteria matching songs.

For example, if song separation is 60 (mins), then the system will exclude songs matching the criteria and falling 1 hour before the current program time and 1 hour after the current program time.

This ensures that songs are properly separated.

However, if you do not have enough songs matching the automation rule / criteria, the system will return random songs, in which case one them might have been played within the song separation interval, by mere fact it is random.

It's better to get a random song to have no songs at all to play when in automation mode.


The automation rule will also select media from the database matching the rule criteria selected by the user for the automation rule under consideration.

Artist (Performer) and Style Separation

Artist and style separation rules are applied within the program time in which the automation rule is being applied.

The system will randomly select a song from the ones matching the automation rule, provided the artists and styles are separated. If the song falls within the performer or style separation mins, the system will select another random song. After 20 attempts to retrieve a random song which matches the automation rules but fails the performer and style separation, the system will chose the next available random song, even if the style or performer repeats.

If the song generation routine is called live, when the user presses the automation button, where the program retrieved has rules but songs were not generated ahead of time, the automation rules will be loosened.

Copyright 2011, Emile Bassil

Created with the Freeware Edition of HelpNDoc: Free CHM Help documentation generator