Live365 - PAL Script to play eight, 30-second adverts per hour

For customers using Live365 who need to play four minutes of adverts per hour, we have created a number of PAL scripts which can easily facilitate this.

Firstly, you should download the files Live365 will replace with live adverts, these are available here:

You should download these files, unzip them and add them to your SAM Broadcaster library.  For this script to work, you should create a playlist entitled 'Live365-30' and drop all of the tracks from the file into this playlist.  You should also ensure these tracks are categorized as adverts.  To achieve this, right-click on each track, select Song Info and ensure the Type is set to A.

Follow the instructions in this Help Center guide to create a new PAL Script.  If you are planning on using different advert options, you might want to give this PAL script a meaningful name to help identify the script, for example, 'Live365-30.pal'.

Once you have created the PAL script, copy and paste this code into the script and don't forget to save the script:


                Live365 60-Second Advert Script
  PAL Script to play four 60-Second Adverts for Live365 Broadcasters
  This will only work when the adverts provided by Live365 are added
       to a Playlist entitled Live365-60 and categorized as Adverts

  One, 60-second adverts will be added to the top of the queue at the
      following numbers of minutes past the hour: 10, 20, 40 & 50

    Live365 customers must include 4 minutes of adverts each hour
No support is provided with this script which is used at your own risk


PAL.Loop := True;                              // Loop the PAL Script

// Variable Declarations **************************************************************************
var Player1 : TPlayer;                         // Declare an instance of TPlayer for the Active Player
var Player2 : TPlayer = DeckB;                 // Declare an instance of TPlayer for the Idle Player

var CountRep : integer;
var AdBreakTotal : integer;
var AdCount : integer;                         // Used to count the number of adverts
var P1Track, P2Track, P3Track : TSongInfo;     // Declare the TSongInfo Containers
// End Of Variable Declarations ********************************************************************

// Declare Adjustable Variables ********************************************************************
CountRep := 1;
var AdTotal : integer = 1;                     // Set the number of adverts to play
// End Of Declare Adjustable Variables **************************************************************

While Countrep <5 do
    case CountRep of
      1 : PAL.WaitForTime ('XX:10:00');
      2 : PAL.WaitForTime ('XX:20:00');
      3 : PAL.WaitForTime ('XX:40:00');
      4 : PAL.WaitForTime ('XX:50:00');
    CountRep := CountRep + 1;

    PAL.LockExecution;                         // Speed up the Script processing

    // Check for the Active Player
    Player1 := ActivePlayer;                   // Assign the Active Player to Player1
    If Player1 = DeckB Then Player2 := DeckA;  // Assign the Idle Player to Player 2

    // Add the required number of adverts to the top of the queue
    for AdCount := 1 to AdTotal do

    // Capture the Track Information from the Active Player
    P3Track := ActivePlayer.GetSongInfo;

    // Count the Adverts before reducing the Player Volume
    while (AdCount < AdTotal) AND (P3Track['songtype'] <> 'S') do
      PAL.WaitForPlayCount(1);                 // Wait for the Advert to Play
      P3Track := ActivePlayer.GetSongInfo;     // Capture the next Track Information
      end;                                     // end for the While loop

    PAL.UnLockExecution;                       // Return PAL Script processing to normal speed

// Housekeeping

The PAL script is also available to download below.

If you would like to adjust the times that the adverts are added to the queue then you should alter the minutes in this section:

      1 : PAL.WaitForTime ('XX:10:00');
      2 : PAL.WaitForTime ('XX:20:00');
      3 : PAL.WaitForTime ('XX:40:00');
      4 : PAL.WaitForTime ('XX:50:00');

 This PAL script is offered as-is and no support can be provided.  Whilst this script has been thoroughly tested, use of this script is at your own risk.


Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request