Playlist handling for spins logged by automation

This page explains the theory behind Spinitron's processing of information it receives from automation systems. The page on playlist mode control explains the features Spinitron offers that allow control over the processing.

Spinitron has two playlist modes:

which affect how Spinitron puts songs into playlists.

Live assist mode

Use this mode when the automation system is under manual control of an DJ doing a show live and live-logging the show's playlist in Spinitron.

The DJ will manually enter into the Spinitron playlist any spins not played out from the automation system. But when the DJ plays a song from the automation system, the system sends a message to Spinitron and the song is inserted into the DJ's open playlist.

For this to work, there must be one DJ with a playlist open for "live on-air" logging (i.e. not "before the show" or "after the show"). Normally this is not usually a problem when DJs follow typical procedures. Spinitron is designed to cope with typical situations, for example the hand-over when one DJ opens a live on-air playlist on one computer when the previous DJ has not yet closed his or her playlist on another computer.

Full automation

When the station is running on automation and no DJ is manually playing the songs then there is no open "live on-air" playlist. In this case Spinitron creates playlists on-the-fly as needed. The rules Spinitron follows to create playlists are explained below.

The automation user

Every spin in Spinitron belong in a playlist. And every playlist belongs to a Spinitron user. And every playlist is an edition of a show, be it a regular, scheduled show or an irregular, one-off show.

When Spinitron needs to create a playlist, in which to log an automation spin, it assigns the playlist to the automation user. The automation user is the Spinitron user account that owns playlists generated for full automation logging.

How the automation user is determined depends a bit on the specific automation system you use. For most, you specify the automation system and password when you configure the automation system ( automation guide → ). For some others, such as Enco, iMediaTouch and WideOrbit, request Spinitron to do the configuration on the server side.

Full automation logging and playlist creation

Given that the automation user is established, Spinitron follows these rules every time an automation system message arrives:

  1. Authenticate the message ( access control → ) and check the automation username and password

  2. Validate the message content looking for required fields and sane looking values

  3. Figure the spin's timestamp either from data in the message or the current time in the station's time zone

  4. Look for an existing playlist for the spin:

    • The playlist must be owned by the automation user
    • Its date and on-air/off-air times must correspond to the timestamp of the spin
  5. If no suitable playlist exists, create one. Since every playlist is an edition of a show, Spinitron needs a suitable show in order to create a playlist.

    Look first in the schedule for a suitable regular show:

    • The show must have the automation user as (one of) its owner(s)
    • The show must have a day-of-week and on-air/off-air times corresponding to the spin timestamp

    If there is no such regular show in the schedule then create an irregular, one-off show with a generic name for a one-hour interval and assign it to the automation user.

    Make the newly created playlist an edition of either the found regular show or the created irregular show.

  6. Log the spin in the playlist.

The automation user's scheduled shows

A consequence of the above is that Spinitron creates irregular shows with generic names (e.g. "WXYZ 3am-4am") for automation playlists unless the automation user has shows in the schedule.

Hence, if you want the Spinitron playlists to look nice, and/or to fake the fact of automation, you can fill the hours of the program schedule when automation will run with shows belonging to the automation user.