Occasional Underrun's

Occasionaly I do notice underrun’s in my playlists but I wasn’t able to pinpoint the origin.

This morning I caught the underrun in the middle of the act! 8)

As you can see on the first screenshot the third song is scheduled but will be skipped resulting in an underrun.
The second screenshot is from the playlist in the database: when checking the playlists everything is normal, the third song is scheduled to start at 11:29:36.
I have also attached screenshots from the hour and musictemplates. Basically 2 musicblocks fill with music, second block is backtimed. In the second block 9 songs are scheduled, in this particular case 8 were selected. The opener of block 2 is 5 seconds silence in order to get a smooth fade.

More screenshots in the next post.

EDIT:
Come to think of it, could it have something to do with the hookcontainer which is started by a script right after the Top of the Hour? This container lasts usually around 30 seconds. Still the underrun should not occur in my opinion.


001.png

002.png

003.png

004.png

Two more screenshots


005.png

006.png

I have been testing this issue and it seems to be related to the hookcontainer indeed.
The moment the playlist is loaded (00:55:00) all is fine. At 00:00:03 the hookcontainer is created and in this particular case the container lasted 32 seconds. The moment the container is inserted, the last song of block 1 is skipped thus resulting in an underrun.
I hope you can think of some sort of sollution Torben.

I don’t think it’s a bug - it’s just a consequence of “layout” of your template, and the way you “break” it by inserting the hook container later.

The dummy item (#3 in your template) is scheduled “soft” at 00:30:00. That means that the scheduler picks just over 30 minutes of music for block 1, then adds the dummy.

In your example, the length of music block 1 was 00:33:10 (I’m following that from the start time and duration of item #12: 00:29:36 + 3:34).

The end of hour jingle is scheduled at 00:59:54, so the target duration for music block 2 is 00:59:54 - 00:33:10 = 00:26:44 - so the scheduler picks a set of songs that are just over 26:44 long in total - but possibly longer than that, our example 00:28:34 (again I can tell that from the start time of the first song in the block: 00:31:20).

So you ended up with two blocks: 00:33:10 and 00:28:34 - which is obviously much longer than the target length of 00:59:54. The “backtimed” flags of block 2 propagate the fixed time of the end of hour to the beginning of the block. This makes the block “overlap” in the middle of the hour, and “eat up” your dummy jingle in between.

(Thumb rule: Normal timing makes the last song being cut off; backtimed timing makes the first song cut the item before it.)

When you look at the playlist in the DB editor, you can just see that effect: Block 1 and block 2 are played in full, but the dummy is not played at all because it is capped by the first song of block 2.

Now what happend when your script inserted the hook container?

All songs of block 1 started about 30 seconds later than scheduled. And also ended 30 seconds later. In particular, “We Belong” now ends just after 00:30:00 - this is when the soft fixed time of the dummy kicks in, now skipping the last song of block 1!

But as the dummy is now playing much earlier than expected, at 00:30:07, the remaining duration 00:28:34 of block #2 is too short to fill the rest of the hour, and you receive the underrun warning.

I think you should reconsider your template. The soft fixed time of the dummy in the middle doesn’t make much sense to me.

At least add a dummy of length 00:00:30 before the first music block to account for the hook container.

Thanks again Torben for this comprehensive answer!

I’m using this hourtemplate with several musictemplates and that’s why I added the dummy in the middle with a soft fixed time. Some musictemplates have blocks with just one item which is repeated if necessary. If there wasn’t a dummy in the middle, one block would be completely filled and the other left empty (as you explained yourself in another Topic: Template not acting as it should, October 6th 2014).

I don’t want the last song to be cut off because that always stands out just in front of the Top of the Hour. In my opionion it attracts less attention if the last song of block 1 is cut by a gentle fade. That’s why block 2 starts with a file (not a dummy) of 5 seconds silence which forces a nice fade before the next song is started.
That’s why I created the Hour Template the way I did.

Now about the Hook Script. At night the script is not scheduled, sometimes the script can’t find a hook and only the closer jingle of the hook is played, sometimes there are 3 hooks. So the length may vary from zero to about 30-35 seconds. I tried to make the dummy in the middle 00:00:30 but that didn’t do the trick. Now I have a dummy of 00:00:30 at the beginning of block 1 as you suggested and will see what happens. I also made a new Hour Template for the night.

I appreciate your explanation but I still think that the dummy with the soft fixed time should not kick in once the songs of block one are shifted due to the hookscript with 30 seconds or so. That’s why it’s a soft fixed time? What about a news item which is inserted with variable length?

Soft fixed time means:

  • Wait until the specified time arrives.
  • Wait for the current item to finish.
  • Skip any item that sits in between the current item and the fixed time item.
  • Then play the fixed time item.

That’s the way it should work, and that’s what it does. Nothing wrong about it.

The problem is that you insert another item into the block before the fixed time item, which delays the start and end of all items in the block, and makes the last song being skipped by the fixed time.

Without the hook container, the song before the last song would have ended after xx:30:00, so the last song was going to be playerd. Now with the container, the song before the last song ends after xx:30:00, so the fixed time item kicks in right after it, and the last song will be skipped. But now that the fixed time item plays earlier than expected, music block 2 is too short.

Got it?

What you are actually looking for is a way to let the fixed time item “float” into the right position. In other words, change its position with the skipped song. Right?

Right! :smiley:

I have tried in many different ways to get a solution but so far without success.

Actually I’m using the Soft Fixed Time Dummy only for scheduling purposes. If no dummy was inserted, block 2 would fill the entire hour leaving block 1 empty. I don’t need the Dummy at playtime. Maybe it’s easier to make a new Dummy for Scheduling only which is erased once scheduling is complete?

I still haven’t found a solution for the problem above.
This is basically what I would like to achieve: Two blocks “Fill with music” lasting approximately 30 minutes each. Second block is backtimed.

If it’s done as shown in the screenshot, block 2 will fill the entire hour leaving block 1 empty.
If it’s done like I did before, with a dummy with soft fixed time around 00:30:00, we do run in an occassional underrun due to the hookscript.
To avoid the underrun and to avoid block 2 filling the entire hour, block 1 has to be a music block. This works reasonably but when some long songs are scheduled in block 1, block 2 sometimes only consists of 1 song.

Problem would be solved too when the Duration of the Music Blocks would be taken into account by the Mini Scheduler. Maybe you could have a look at this again Torben?


ma0001.jpg

Besides the occasional underrun problem, which is still giving me problems, a new problem has come up.

The last song of the first block is supposed to be cut short by the first song of the second block which is backtimed. (in order to get a smooth fade-out, the second block starts with 5 seconds silence, forcing a fade-out of the previous song)

This has worked without problems since v4. Although nothing has changed, since the new year (?) the last song of the first block just keeps on playing, the 5 seconds silence is played and then the first song of block 2 starts while the previous song is still on air. With a bit of bad luck, two songs will be heard for several minutes.

Could you please have a look at this Torben?

Edit: enclosed picture is taken on 19:35:42, “Cuba” has started 12 seconds before while Grandmaster Flash is still on air and will be for another 28 seconds.


ma1.png

So player A is saying “FADE”, but it is not fading, but playing at full volume until the end of the track?

I’m not aware of any “year 2015 bug” that could cause this. If you think that the behavior has changed recently, it must be related to a configuration change, or version update.

Exactly, as you can see on the screenshot (same time taken), Player A indicates “FADE” but it’s not. Song remains at full volume untill the end of the track.

I have not changed anything lately, same build for several weeks now. Noticed this for the first time yesterday. Now I’m paying attention and it seems to be happening every hour. I will restart my PC and see if it’s still on. I’ll keep you informed.


ma3.png

Does it always happy with any item, or only with some? And also when you click the FADE button manually during live assist?

After a system-restart the problem has not occured anymore Torben. I know you like problems which are solved all by itself :wink: (Sorry for taken up your time)

About the occasional underruns: is there a way to use the dummy only at scheduling and not at playback? That would solve the problem too.