Music scheduling in mAirList 5

I have been playing with the templates and I have question: For example I would like to run 80’s sweeper into an 80’s song. Can i do that automatically using atributes? For example assing 80’s attribute to all 80’s songs and assign 80’s attribute to all 80;s sweepers. How would I get the system to match the automatically?
Is there another way to do this without having to manually schedule sweepers?

Depends on how your 80s tracks are identified.

If they are tagged with an attribute (e.g. “Genre=80s”), you can go to the Music Template, “Transitions” tab, and add a new transition rule that will pick the correct sweeper based on that attribute.

I’ve been playing around with the new playlists and scheduler too lately and have come across some problems with my hourtemplates from the previous version of mAirlist.
As you can see on the attached screenshot, I have backtimed my playlists for approximately the last 30 minutes of the hour. This way the necessary cut is somewhere in the middle and that worked like a charm. (File 20126 is a 5 second silence file so the previous song fades out)
But in v5 the optional option has been left out. I can understand this from your point of view with the Fill with Music option but my former templates don’t work anymore.
Is there a possibility to restore the Optional option again? I would me more than grateful!


mAirlist005.jpg

I’m afraid I cannot bring back the optional flag, because the new scheduling algorithm works siginifcantly different from the old one when it comes to filling gaps in the playlist. I’m sorry of this breaks existing hour templates, but you should really look at the new “way you do it” - you will love it.

The whole point of the optional flag was to avoid overflows, by selecting only the amount of songs that was required to fill up the space up to a particular fixed time item (often the end of the hour marker). The major drawback was that you could only handle overflows, not underruns, and it wouldn’t work quote well when you used it in the middle of the hour before a “floating” fixed time element, e.g. a news break timed t 00:30:00 - it could easily happen that you ended up with an overflow before the news break, and an underrun after it, or vice versa.

mAirList 5 introduces the new “fill with music” items, that handle these situations much smarter. You just leave gaps for the music in your hour templates by placing “music block” or “fill with music” items between the fixed items, and then define the respective music blocks in the music templates. One more step for setup, but so much easier to maintain afterwards.

Looking at your template, it appears that you have the following music blocks:

  • Block 1: item 4-7
  • Block 2: item 9-14
  • Block 3: item 16
  • Block 4: item 18-21
  • Block 5: item 23-25

Block 1 and 2 have normal timing, so you can just use a “music block” item in the hour template.

Block 3, 4, and 5 can also use a “music block” item, with timing set to backtimed.

Block 2 is only to fill up the space between the other blocks, so you would use a “fill with music” item for that.

Torben thanks for your comprehensive answer. For most of my hour templates I’m sure the new way will work, I will just have to learn and get used to it and will love it at the end :wink:

One problem remains: how to define our weekly Top 20 Charts? Below you will see two screenshots of my top 20 template which I simplified a little for clarity reasons, the original template has over 110 rules.

The only thing I will have to do each week is to adjust the rank-attribute and the mini scheduler produces a nice chart with the right jingles at the right time. Only some minor changes have to be made by hand. Songs 1 to 13 are backtimed and are always played, songs 14-19 are optional and are only picked in case of an underrun but are always in the right order. Song 20 is always scheduled.

I have been thinking all day how to do this with the new scheduler and I’m afraid I’m stuck. The top 10 has to be played entirely, the order of the songs has to be right and the right jingle has to be played with the right song. Could you point me in the right direction?


Top40-001.jpg

Top40-002.jpg

Ok, here’s what I would try. Screenshots are from the latest snapshot 2534 which I just uploaded. Older versions hat some issues with the correct display of filters and durations.

Create a music template “Top 20” with three blocks. Block 1 is position 20, Block 2 is position 19 through 11, Block 20 is position 10 down to 1.

Adjust the filters just as you did in the original template. See screenshots.

Then in the hour template, you only need five items:

  • Start of hour
  • Music block 1
  • Fill with music block 2
  • Music block 3 (backtimed)
  • End of hour

We haven’t added the jingles yet at this point. First of all, please note that you cannot use the “specific item” method inside music templates at this time. This is a flaw in v5.0, we might fix that later. Instead, make 20 folders for the jingles and put one jingle into each folder.

Now you have to options:

  1. Add the jingles (jingle folders) in between the music items, just like you did in the original template.

  2. Use mAirList 5’s great new transition feature - see the screenshot as an example for position 7. You can specify the folder to pick the transition jingle from, based on the attributes of the songs.


sshot-1.png

sshot-2.png

sshot-3.png

sshot-4.png

(more screenshots)


sshot-5.png

sshot-6.png

Thanks for another more than comprehensive answer!
I’m beginning to understand how to make the new hourtemplates and I’m sure I will manage in the end.

Two remarks though:

1. I do hope that you will re-implement the Specific Item soon. Below you will see two screenshots from a part of our UK Chart Top 40 and we’re using loads of Specific Items (Jingles, Openers, Closers etc.) in this template. It’s going to be an enourmous task to do it the way you described with folders for every jingle.

2. Please reconsider implementing the Optional Flag in v5. It’s a very powerful tool, not only to prevent overflows in the playlist but for loads of other tasks. As you can see in the below screenshots, we are using the optional flag in many ways. Zum Beispiel: when a song is in the High Rotation virtual folder it will not be played in the chart because it will be played several times during the day already. Another example: sometimes stationjingles will be aired together with chartjingles, sometimes it won’t because of the optional flag.

Ed


BBC1.jpg

BBC2.jpg

The latest build 2539 supports a “specific item” setting in the music block configuration now. Just click Add to add a new item to the block, then check “specific item” and click the text field to browse for the item. Please give it a try and report back.

Regarding, the Optional flag, I can’t quite see how the flags helped you in the examples you gave. The semantics of the flag was: “Do not schedule this item if the total duration of the playlist is already greater than 60 minutes” (or whatever was set as the target duration for that particular subplaylist). The same thing can now be done, much more conveniently imho, with the Fill With Music item type and a proper block definition.

Perhaps you can clarify your point.

Thanks Torben for implementing the “Specific Item”, really appreciated.

I will try to explain the way I’m using the Optional flag in the Top 20 playlist:
As 20 songs will not fit in one hour, some songs will have to be skipped. Sure, this can be done the way you described above with the Fill with Music possibility:
Let’s assume songs 19-11 are in block 2 like you suggested, block 3 is backtimed (so the number one song is always played) and block one only contains song 20. This way it is very likely that songs 11, 12, 13 and probably 14 will be skipped as they won’t fit in one hour.

The problem is that songs 11, 12, 13 and 14 will never be played. Not this week, not next week. (or am I overlooking something?)

If you look at the first screenshot from my post of October 7th, you see that the Mini Scheduler will have to look for a song in 4 virtual folders: 1. Uitzoeken (still to be sorted), 2. Hits High Rotation, 3. Hits Slow Rotation and 4. Unsorted. The song can only be in one folder at the time. So if song 20 is in the Slow Rotation folder, the song will not be played (if there is an overrun), song 19 will not be played if it’s in the High Rotation Folder.

This way the chart is less predictable, not the same positions will be skipped every week.

I hope you see my point. Maybe you could consider a different flag: “Random”, sometimes an item will be picked, sometimes it won’t. It would do the same trick and might be easier to implement?

Just tried to make the musictemplates as you described before and ran into the following problem:

The first item is scheduled correctly (specific item 20133); but then an error occurs as song 20 is not found in the first virtual folder “Uitzoeken”, it does exist in the virtual folder “Hits High Rotation” though but after the error nothing else is scheduled in this block.

When the song is moved to the folder “Uitzoeken” it will be scheduled correctly, but then the error occurs again because the song is not found in the next folder and scheduling stops again. Could you please have a look at this?


mA001.jpg

Well, you’re telling the scheduler to look for a song with attribute “Top40=20” in the folder “Uitzoeken”, but it’s not there, so it can’t find it. Actually this has always been this way. Looking at your original v4 template (in reply #24 above), all songs had to be located in the “Unsorted” folder - if they had been moved, it would have resulted in the same error.

Possible solution: Make another folder “Top40” where you gather all Top 40 songs, then use that folder throughout the template. (Remember that in mAirListDB each song can be assigned to multiple folders - use the checkboxes in the item properties dialog, or hold down Ctrl while moving them in the Library, this will create a “copy” in the target folder.)

Generally, I think you’re tricking the scheduler into doing things that it was not designed for. You have been using side effects of the old algorithm that, by coincidence, led to the desired result. Now the algorithm has changed a bit, and the side effects have gone. So let’s find a solution where the scheduler predictably does what you want.

I think the problem about your block 2 is the “use exact order” setting which will always pick songs from the top of the list, but leave out those at the end when the block is full. So we will need another setting “use random order” which makes sure that each item is only used once, but randomizes the list.

What happens to the jingles then? They will also be randomized. Very bad idea. Solution: I’ll add an Opener/Closer setting to the music block items. Then you don’t schedule the “19” jingle as a separate item before song #19, but set it as the opener for song #19 instead. Then the jingle is only scheduled when song #19 is played.

This may sound very complicated - but what you’re trying to achieve there is a very complex scheduling task, and not something that is original functionality in a “Mini Scheduler”. Actually I don’t think the big 3rd party schedulers can handle this situation out of the box. Most charts shows are probably scheduled by hand.

So basically you outperformed yourself in writing a very sophisticated Mini-Scheduler which is capable of producing a complicated chart where big 3rd party schedulers cannot perform this task :slight_smile: :wink:

I do understand that I stretched to possibilities of the scheduler a little and I do understand that an error occurs when the scheduler is looking for a specific file which isn’t there. But you are partly wrong that this has also been the case in v4.

In reply #24 I showed a simplified template (which I mentioned in the same reply), the actual template I am using is shown in reply #27, in this template the scheduler is looking in 4 folders for every song, and you are right, I do get loads of errors when the template is executed but the scheduler still continues and produces in no time a Top 20 Chart. With very little effort I might add.

So it would be great if there was a way that the scheduler does continue even after an error like it did in v4. Maybe you would want the scheduler to continue anyway after an error?
Putting all songs in a new virtual folder might work too, I’m aware that songs can be in several folders at the same time, but the songs cannot be in the Top 40 folder and the unsorted folder at the same time. So there is a small hickup.

Your solution for randomizing songs 19-11 is what I was looking for, thanks! And putting the Jingle as an Opener is also a great idea.
BTW, I’m beginning to appreciate v5 more and more, some great new features and in my opinion it’s much faster than v4. If it would be possible to let the Scheduler continue after an error I am more than happy!

Thanks for your time and effort Torben.

Ed

Tried some things tonight, I have put all the songs in a new folder Top 40.

No more errors now although I still would like the scheduler to continu after an error. In some of our templates a song is picked from the virtual folder Album High Rotation which is sometimes empty. In v4 no problem, the item was just skipped when the folder was empty, in v5 an error occurs and the rest of that music block is skipped, the next musicblock is still scheduled thus resulting in an underrun.

OK, songs are in the top 40 folder now, block 2 is set to “Randomly pick from the list of folders/items” which it does. It also randomizes the order of the songs which in case of a chart is not what we want. Is it possible to make a new option “Randomly pick from the list of folders/items but don’t change the order”?

One last thing for tonight :wink: You suggested to put jingles in the Opener/Closer setting in the Music Block Items (for Block 2). I can not find this option though in the Configure Music Block Item. Am I overlooking something? I’m using Build 2539.

The opener/closer thing hasn’t been implemented yet. Was just an idea until now.

I will consider your points and get back to you later.

Can you please check out the new build 2540?

  • The scheduler should now be “failsafe”, it should never stop on any error but rather add a dummy item to the playlist with an appropriate error message whenever something went wrong (folder empty, no matching item, …). I have also added a 240 playlist item limit for the “Fill with…” items so that the scheduler won’t be stuck in an endless loop, adding error dummies when all folders fail…

  • In the music block settings, there is a new mode “Maintain order, allow random selection” that should exactly do what you need for your charts.

In that new mode, when used with “Fill with music”, the scheduler pick as many items as it needs, maintaining the order specified in the block config, but possibly leaving “holes” in the selection.

I carried out a few tests and everything should be working fine, and I hopefully did not break the existing methods, but it would be good to have some feedback from you guys ASAP nonetheless.

Will do Torben! I’m going to give it a good try this weekend and will keep you informed. In the meantime I would like to thank you for your amazing support!

I have checked the latest build (2540) for several hours now and have been given the Scheduler a pretty hard time. I did come across some minor things which might need your attention. But in general it’s a big improvement. The new setting “maintain order, allow random selection” does the job perfectly. Also happy with the opener/closer option in the music template section.

I’m even starting to think of exploring all new possibilities again in ways they were not designed for, so we will have this discussion again when v6 is released :wink:

I have noticed that when a song is scheduled from a folder which is empty, the opener of closer jingle which is set in the Music Block does get scheduled while the song is not. Not a big deal but you might want to have a look at it. (See second screenshot, Jingle 10 FX is the opener jingle of item 6)

The biggest problem I noticed happened in scheduling the same chart: as you will remember you advised three music blocks, block 1 with song 20, block 2 fill with music (songs 19-11) and block 3 backtimed with songs 10-1. On purpose I told the scheduler to pick song 10 from a folder not containing that song. This resulted in an error message and in music block 2 not being scheduled at all.

Furthermore I can’t get the transition jingles to work, this might be my own mistake but if you look at the screenshot below I would expect a jingle between every song (in the music blocks or the fill with music blocks) but no jingle is scheduled at all.


mA01.jpg

mA02.gif

Opener/closer scheduled even if item fails: Fixed in b2542.

Block 2 missing: You actually found a bug in the backtiming algorithm that made the “backtimed chain” calculation stop at non-playable (dummy) items. As a result, the underrun was assumed to belong to the error dummy rather than the “fill with music” block, and when there’s no underrun, there’s nothing to fill. Also fixed in b2542.

Transitions: I think the “problem” is that you already have the FX jingles, so there are no “back to back” music items. The transition algorithm will only look for items of type “Music” which are played in a row with no jingle in between (yet).

All problems solved but one, I still can’t get the transitions jingles to work. I appreciate when there is already a jingle scheduled that another jingle will not be picked. But in musicblock 2 (#2 to #13) I would have expected jingles in between #3, 4, 5, 6 and 7 but none are scheduled. Musicblock 2 is set as "Fill with Music"and with “Maintain order, allow random selection”.
I have tested this with other settings and with new templates but no jingles are scheduled. Could you please have a look at this?


mA05.png