Mini Scheduler Algorithm for selection from a Folder

As suggested in another thread, this thread was started to discuss/note an algorithm for selecting items froms Folders using the Mini Scheduler in mAirListDB.

I’ve e-mailed Torben a suggested and hopefully improved method (algorithm) for doing this.

If all I’ve suggested is implemented (and obviously not everything may be possible), the Mini Scheduler will select items from Folders in a similar way to the Tobasco’s Amazing Clockwheel (TAC) application:

[ul][li]User option to ‘shuffle’ all named Folders at the start of the Generate run. (‘Shuffle’ if you want to select from all Folders afresh when Generating your Playlists—this is what TAC does; don’t ‘shuffle’ if you tend to Generate your Playlists in batches and you want them to ‘follow on’ naturally.)[/li]
[li]Every Folder is ‘shuffled’ when no possible selections remain other than those banned by Artist or Song separation. (So when you Generate several hour slots, any Folder which ‘runs out’ will go into a NEW random order next time around, instead of the the same order each time it is ‘empty.’)[/li]
[li]User option to implement simple song and/or artist separation globally. (Two ‘on/off’ checkboxes plus two fields to enter the time in hours/minutes: one of each for each separation type.)[/li]
[li]User option (for both Song and Artist separation) for preference when a separation rule prevents scheduling: a) leave the rejected item at the ‘top of the list’ (hence first for selection next time around) OR b) remove the rejected item from the current rotation (won’t be selected again until the Folder is ‘shuffled’). In either case, the algorithm will keep going through the Folder until it either finds an eligible item, or is forced to ‘shuffle’ the Folder and then select one.[/li]
[li]User option on each Hour Template Folder item to ignore Song and/or Artist separation. (This allows ads., jingles, etc. to be rotated without separations; and also allows ‘multiplays’ of the same artist or song if you wish, for feature spots.)[/li]
[li]Separation processing takes into account both the existing Database Playlist entries (the ones you’ve already created) AND the entries being generated, to ensure correct separation.[/li]
[li]Artist separation implemented by LIKE matching. (This will ‘catch’ and match (for example) Diana Ross and Marvin Gaye and Diana Ross, or ‘featuring’ Artists.)[/li]
[li]Song separation implemented by exact match on Title. (If you have two similarly-named but different songs, like Stevie Wonder - Happy Birthday To You and Children’s Party Songs - Happy Birthday To You, use the BBC and Guinness Book Of UK Hit Singles ‘trick’ of renaming them as follows: Stevie Wonder - Happy Birthday To You [2] and Children’s Party Songs - Happy Birthday To You [1].)[/li]
[li]Messages in Progress Log when Artist or Song separation means an item has to be skipped.[/li]
[li]Messages in Progress Log when Artist or Song separation means Folder has forcibly to be re-shuffled to get a valid selection. (Put another way, this means not every item in the Folder was scheduled.)[/li][/ul]

If anyone has anything vital to add which they think I’ve missed from this feature list, please post a reply and we’ll discuss it. As I say, my aim was to replicate the same kind of simple ‘list-picking’ processing which TAC does, not to implement sophisticated stuff like dayparting, no repeats within same quarter-hour of the day for n days, and so on. If you need that kind of detailed scheduling ability, buy SPC or Music1 or RCS or Powergold!


I wonder how automatic time anouncement could be realized within mAirList.
We currently use another playout software for unattended studio that does this.
It would be nice to have this feature also in mAirList during Liveshows.

In order to implement this, the mAirList playlist should be able to hold a “time” entry.
If the player gets to this entry it should load the corresponding “time anouncement file” on player start.