Broadcast schedule for automation of professional broadcasting

A short description of the principles of the schedule for beginners or how not to mess things up.
Please note that this description can be changed or supplemented at any time.

The basis of the schedule is a set of tasks that are checked every minute and triggered when conditions match.
Rotation by folders - instead of playlists, for convenience, you can use folders - more details below.
Dynamic playlists - playlists made up of rotating folders or files - more details below.

Schedule Basis

We use our own unique scheduling system, which is very flexible and easy to set up. And so, let’s start with the basic rules and terminologies that should be followed:

1. A schedule is a list of tasks that are checked every minute and, if appropriate, launched. If the launch condition matches for several playlists at the same time, the launch will occur sequentially .

2. There are 3 types of launching playlists : on-air, inserting a playlist, inserting 1 track. It is important to understand that, according to priority, inserts of 1 track from the queue will be played first, then playlist inserts, and then there will be a return to the on-air playlist. If a playlist insert is playing, then according to the schedule it can be interrupted by another playlist insert by date/time . And the insertion of the playlist will not interrupt after N tracks or N minutes , but will wait for the end of the current insertion .

3. Set up on-air playlists first. Essential playlists are typically the main playlists that are played most of the time. For example: daytime, nighttime, weekday, holiday.

4. Then, if required, you can specify insert playlists . Insertions are playlists or tracks that temporarily interrupt the main broadcast. As a rule, these are short playlists or jingles that are inserted throughout the day. For example: jingles, screensavers, advertising, hourly clips, stories, mini-playlists.

5. When specifying a task in the schedule, you should indicate how to include the playlist . For on-air playlists, you must always indicate inclusion by time/date , and you can set several time conditions at once. The on time is set in CRON style, where an unspecified value takes on "any value". Let's consider options for skipping asterisks:
****-**-10 **:00 Monday - the playlist will start every hour at 00 minutes, but only on the 10th on Monday, is that normal?
****-**-** 10:00 Monday - 10 am on Mondays, this is already normal
****-**-** 20:15 - every day at 20:15
****-**-** **:00 - every hour
****-06-20 15:00 - June 20th at 15:00
****-**-01 15:00 - 1st at 15:00

6. Insertions can be specified not only by time , but also included every N minutes or after N songs . Those. if you want to start jingles every 15 minutes, or for example every 5 songs played, then these conditions are for you. It is better not to use such conditions too much.

7. In addition to the inclusion methods, there are additional options. You can change the queue of on-air playlists at any time. The fact is that if your on-air playlists are not very long, then they will play in a circle until another one is launched. If you specify a queue, then after the launched playlist the next one in the queue will start. The current queue can be seen and changed at any time in the files section - sometimes this is useful.

8. The next option is the way the playlist is played ; the playlist can be played in order, either scattered, or in order with shuffling at the beginning/end. The mode of the current playlist can be changed at any time in the Auto-DJ control.

9. A very interesting option is to indicate the number of the song with which the playlist will start. If not specified, the playlist will play from the beginning, and if you specify not a number, but -1 , then the playlist will start from the position at which it ended before. This option is very interesting, for example, for inserting jingles. In this case, jingles will be inserted one at a time, but continuing the order of the playlist.

10. Well, probably the most popular option is to wait for the end of the current song. By default, the playlist will be turned on exactly when the schedule is triggered, this is useful for precise playlists or hourly clocks. Otherwise, it is better to specify the option to wait for completion, then the new playlist will be turned on after the current song is completed without interrupting playback.

11. For PRO tariffs it is also possible to insert a jingle over the stream . In addition, in the settings you can specify the % volume of the music at the time the jingle is placed on top.

Folder rotation without playlists

It is most convenient to use folder rotation without creating playlists. If you need folder rotation without repeating artists, this is what you need. No more bothering with playlists. Just upload the files and set a new folder in the schedule. The system will select the coolest tracks from it without repeating the performers - everything is automated. Cold or cooled tracks are tracks that have not been aired for the longest time.

How folder rotation works. The system checks which artists and tracks have been played recently, and then tries to select an artist from the folder that has not been played on air for a long time. In this case, the rotator’s task is to play all the tracks in the folder, if possible. If there are few tracks in a folder or a small number of artists, the system will try to evenly distribute the tracks as much as possible. If a folder contains tracks with the same names, the system will try to play them all, but at the same time keeping them as far apart as possible. You must upload tracks with the correct artist names. If you want complete variety, don't upload a large number of tracks from one artist.

Algorithm in numbers. There are selections with limits and dynamic % from which number of tracks to randomly select the next track. This is necessary so that the folder does not always play in the same order. The system initially considers artists from the last 30 tracks, and then, without repeating the artist, tries to select a track from the 50 coldest tracks in the folder. If there are less than 100 tracks in the folder, then the system selects from the 50% of the coldest tracks. These are the basic conditions for selecting tracks for various folders. For small folders, other conditions and limits apply. This algorithm has been refined for several years to suit various tasks of our clients and it makes sense to delve into the intricacies. If you think something is not working correctly, just let us know.

Important! If you specify a folder that has subfolders, then they will also be used by the system during rotation. Accordingly, if you specify the root folder "/" , the system will use absolutely all downloaded files. Please write about problems with folder rotation via contacts.

Dynamic playlists with folder rotation (analogous to hour rotation)

If the task arises is to create dynamic playlists similar to hour rotation, then this is also possible with us. Just create an empty playlist, and then add both regular tracks and folder rotations to it. Such a playlist will play like a regular playlist, but where the folder is added, it will play 1 cold track from this folder. Let's create a playlist for rotating an hour or several hours:
1. Jingle1
2. Advertising1
3. /Popular/***
4. /Popular/***
5. /New/***
6. /Jingles/***
7. /Advertising/***
8. /Popular/***
9. /Popular/***
10. /New/***
Jingles and advertisements for example are added as tracks and as folders. We can launch this playlist as an on-air playlist, for example at 12:00, and the specified 10 tracks will play in a circle until a new condition from the schedule is triggered. For example, at 13:00 you can simply start another on-air playlist. Dynamic playlists are convenient because you can create them once, specify their launch in the schedule, and then work only with folders and files. In this case, we get both the convenience of working with folders and the flexibility of playlists.

Well, that’s basically all the basics of the schedule for now. Perhaps you will find other hidden features :)