Clone wiki

Shampoo / PlaylistManagement

Playlist Management

Accessible from the Playlists entry in the left sidebar.

Playlists represent the actual programme content that is broadcast on a specific timetable slot. A playlist is composed of multiple, independent playlist entries. A playlist is directly bound to exactly one programme, zero or one live, and zero or more timetable slots. A static playlist entry is directly bound to exactly one track.


Access rights (from roles in first row over objects in first column):

Administrator Channel Administrator Programme Manager Curator Contributor Animator Listener
Timetable slot R,UL,FU,A,D R,UL,FU,A,D R R,UL,FU,A,D

R: Read, UL: Update links to other objects, FU: Full update, A: Add, D: Delete


A playlist corresponds to the programmed sequence of tracks that is played when a timetable slot is broadcast on a channel. Even when a live transmission is broadcast (see below for switching between playlist mode and live mode) a playlist is still active for the timetable slot, it will then only be used if the live broadcast is off, for example when the live starts late or stops early, or if it is unexpectedly interrupted during its allocated time slot.

A playlist sequence follows a top-to-bottom order. The first (top) playlist entry is read as soon as the timetable slot it belongs to becomes active. Each entry can be configured to be played either only once or multiple times in a row. When an entry has been played up to this limit, the next entry is then read. Once the playing sequence reaches the end, the playlist is reset and the first entry is played once again. An entry can also be programmed to be played an infinite number of times in a row, the playlist sequence order is then effectively frozen to this item position once reached, and no other entry will be played during the lifetime of the current timetable slot. Even if it is strongly advised not to manipulate on-air playlists, you can still reorganise and change playlist entries on-the-fly if needed.

For ease of use, two types of entries can be programmed in a playlist: Static entries and Dynamic entries. A static entry is always bound to a specific track. When a static entry is read, the linked track is broadcast. At the opposite, dynamic entries are not bound to specific tracks but dynamic selection mechanisms. Once the entry is active, a random track is selected on-the-fly for broadcast, according to user-defined rules. Compared to static slots, a different track may then be played each time a same dynamic slot is read. The purpose of those selection rules is to limit and restrain the range and degree of freedom of the random algorithm, and, as such, to build complex and fine-grained track sequences. See below for the list of configuration options.

Add or edit playlists

If you're an Animator or Radio administrator you can bind new playlists to a channel timetable slot. Click the Create playlist link at the bottom of the window.


If you want a live broadcast to take over your timetable slot schedule then check the hookable live checkbox. If 'the hookable live checkbox is left unchecked, only the content of the playlist will be aired, and every attempt to connect a live stream during the timetable slot lifespan will be denied. As soon as an authorized live is detected and is actually streaming, the timetable slot automatically switches to live mode, where only the live stream is broadcast. Otherwise, the timetable slot goes into exclusive playlist mode and the playlist content is aired. Once hookable live is checked, you can configure how the live stream should connect to the streamer using the few fields below. Broadcaster name is an informational field only, it's the caption that will displayed in lieu of the track artist name in the channel queue, the archives, and the public webservices display info metadata. Live login and live password are the credentials one must provide to let the timetable slot relay the live stream. Please consult your streamer documentation of the Developer's guide for more info. If you use Liquidsoap as a channel streamer, live login and live password correspond to the Icecast credentials used to connect to Liquidsoap's mount point live login with password live password. Live login is unused with Shoutcast. The advisory rating combo box allows you specify a PEGI-compliant rating for this live show, it will be notified to listeners within the public webservices display info metadata, if available.

You can bind one or more timetable slots during creation time through the timetable slots list panel. It's not mandatory, and playlist and timetable slots can be linked together later on.

In the misc. options panel, the maximum number of user requests list box is used to limit the number of track requests per instance of the timetable slot if track requests are activated. Track requests are only available when the timetable slot is in playlist mode. You can combine this option with the related fields defined for the channel to fine-tune how track requests are handled. See below how to activate track requests for playlist entries. 0 means no track request is granted for this playlist. Check do not replay track until and type a threshold, in minutes, if you want to be sure no request will be selected if the corresponding track has already been played before this time limit. It doesn't matter whether the track was first played in another playlist and timetable slot. Alternatively, the do not replay track already played in playlist feature will only forbid a request if the corresponding track is planned for broadcast, or has already been played, within this same playlist.

If you check the global playlist tag set checkbox, display info metadata will be globally set for the whole timetable slot. It means that both live metadata (filled in from the hookable live panel) and individual track metadata for the playlist will be overridden by the ones you manually define in the fields below.

The rest of the options are related to the actual management of the playlist content and how to program the track sequence. See next section.

Finally, press the Add or "Edit" button when done.

Program track sequences

Playlist track content is defined using the playlist items panel. Each playlist entry definition is embedded within a row, called a slot. The current order of the playlist sequence is always visible through the index column and is read from top to bottom. You can change this order using the relevant buttons in the operations section of the panel in order to move slots up or down.


At the bottom of the panel, a special playlist item slot, called template slot, is where new slots are build and then pushed to the end of the playlist stack when you press the add button.


The repeat combo box helps you define how many times in a row this slot will be read and played.

The purpose of the request allowed checkbox is to activate or deactivate track requests on a playlist entry basis. When checked, the engine will read the current track request queue for the programme as soon as the entry position is reached. The first pending track request found in the queue will then be played instead of the slot content. This feature is compatible with the repeat option. A new track request will be de-stacked for each loop increment.

Static item

The left side of the slot actually stores the current playlist entry definition. Select static item to broadcast a fixed track for this slot. Press the add or change button located nearby. A new window will appear, featuring all tracks for the current programme that can be played. Press Select and the slot will be updated with the selected track info.


Dynamic item

Select dynamic item if you want to select a track using dynamic user-made rules instead. The selection algorithm is accessible from the selection combo box.

  • Random, just like the name says, blindly picks up a track at random. You can limit the range of the selection though, using the related options that have just appeared. All the options featured below can be combined in order to fine-tune the results even further.


The limit panel lets you define a sub-section only of all the available tracks for the programme that the selection algorithm can pick up. The boundaries of this selectable portion of the programme track pool are index-based. First choose how all the programme tracks must be sorted with the sort first option, and then enforce the limits for the sub-selection using the from and to fields. If from or to is left unchecked or if 0 is entered in the corresponding field, this specific limit will be disabled; the lower limit is the first track from the list if from is disabled, the upper limit is the total number of tracks for the programme if to is disabled. If both from and to are unchecked or left at 0, simultaneously, track sub-selection will be disabled. The track selection algorithm will elect a track to play from the whole programme track pool. to and from will be automatically downscaled to the maximum number of available tracks if their value is above this threshold. For example, if the track pool is sorted by the most recently submitted items order directive, and the to option is checked and the value equals 10, the streamer will play one of the last 10 tracks that have been linked to the programme.

You can also filter out the pool of available tracks based on either their tags or their type, using the filter panel. A new window will appear when you click the associated add button. You can combine as many filters as you like. Define them using the top section of the dialog box and press add to stack them in the actual filter list. The first field specifies the sort of filtering criterion you'd like to use. Depending on the type you've selected, the fields that can be used as a filter will be updated, along with the available conditional filtering operators. Values to filter can be free text if you've chosen an alphabetical filter, or some numeric values with the numeric filter option. Values are meaningless and thus unavailable when type is selected. The number of filters you've created will appear within the slot panel once you press ok.


In the misc. options panel, you can decide whether you accept the same tracks to be re-played and under which conditions. Check do not replay track until and type a threshold, in minutes, if you want to be sure no track will be re-played before this time limit is over. It doesn't matter whether the track was first played in another playlist and timetable slot. Alternatively, the do not replay track already played in playlist feature will only forbid a track that was already broadcast within this same playlist to be re-played, and is not based on any time limit.

  • Weighted random works almost like random, except that tracks that match the likeliness factor best are more likely selected. At the opposite, the tracks the most dissimilar to the likeliness factor have the lowest chances to be picked up for broadcasting.

For example, if you select the least played out items likeliness option, tracks on heavy rotation will be disadvantaged, compared to tracks that have been broadcast less often, during the track selection process.


  • Ordered sequence, as its name implies, does not feature randomness but a deterministic algorithm that will select tracks in an ordered fashion. This option is almost only useful in association with the repeat feature, as it works on a slot-only basis, like the other selection algorithms. The actual order for selection is defined by the sort first directive. Each time the loop increment for the slot is updated, the next track defined by the sort first directive is selected for playing. When the engine exits the slot, the current selection index is reset.

For example, if you choose to sort your tracks by best rated items and set the number of repeats to 10, the first time the playlist entry becomes active, the track with the best rating is elected for broadcast. Then, each time the slot is re-played in a row, the next best track is selected, up until the 10th best track, when the current playlist entry location index finally goes to the next slot.