openbroadcaster / observer

:radio: OBServer Automation, Scheduler, Media Library and Player Manager
https://openbroadcaster.com
150 stars 44 forks source link

Fuzzy Overlap Scheduling #67

Open alphabitnz opened 2 years ago

alphabitnz commented 2 years ago

Current behaviour of OB Server is for a show to always start precisely on time, thereby causing any currently in-progress media to be abruptly interrupted.

Considering many use cases where content is not always (or maybe ever) pre-produced to a stringent running time, particularly those using Dynamic Playlists, there is a significant need for the ability to allow shows some leeway around start/end times.

My idea to solve this would be adding the following settings:

Notes:

btelliot commented 1 year ago

This issue is one of the biggest complaints I hear about CJUC FM from the community. The hard cut at the top of the hour when a show changes is very jarring for listeners.

ltyndale commented 1 year ago

Most radio automation systems handle this by being able to set each timed entry in a log as "Start Immediately", "Make Next", or "Wait as much as xxx" where xxx can be set to a number of minutes/seconds.

For start early, if a log is underfilled then some systems can grab content from a "fill" category to fill out the remaining time, others will just allow the log to continue to run underfilled. Either way there is usually a timer indicator on the screen to indicate if the log is underfilled, overfilled, or right on time (rare that happens). Underfilling (or overfilling) a log is more of a programming / scheduling issue as opposed to an automation system issue.

If a logged item gets tagged as "Make Next", then once the time of the timed log entry is hit, it'll dump anything left between what is currently playing and the timed item, allowing the currently playing item to finish playing and then it'll go into the timed log entry.

If an item is tagged as "Start Immediately", once the time for the log entry is reached it'll either fade out the currently playing item and go into the particular log entry, or it will hard-stop the currently playing item and start the next. Fade out or hard stop is usually an option that can also be set.

And finally if the "Wait up to xxx" is selected it works just like the "start immediately" only it'll delay the start for up to whatever it is set for in the log.

Of course these rules usually only take effect in the event that something is put in the log with a hard-time setting.

radiorob commented 1 year ago

Some of this was already done in Develop that ties in with Fading in\out. We have these fields in DB and workflow when to fade in\out (do not do this on spoken word) and to figure this all out dynamically (without having to set fields) This was done first because it affects timeline for playback so the player can get instructions when to play at top of hour. Version 1 would play until end of media, then we had volunteers, schedule one of their long 20 minute media to play at end of hour, cutting into next persons show. We then made it strict on top of hour scheduler. Agreed this is a much needed feature, I hate when my favorite part of song gets cut at top of hour.