Tag

PAL

Browsing

Le script PAL suivant permet de créer une playlist automatique en se servant des règles de rotation indiquées dans Configuration > Playlist rotation rules :

SAM : rotation de playlist

Pour que le script PAL suivant fonctionne correctement, il y a quelques pré-requis :

  • placez vos fichiers dans les catégories du bloc Playlist de SAM. Pour les besoins de ce tutoriel, nous plaçons nos fichiers dans Playlist > Tracks.
  • si votre webradio a des jingles, placez-les dans Playlist > Content > Station IDs (All).

Ce script PAL permet de jouer un bip horaire au début de chaque nouvelle heure. Il faut pointer vers le fichier son qui contient les bips.


{Script PAL - Bip horaire par Matt - www.skyminds.net}
function ActivePlayer:TPlayer; forward;

{On attend la bonne heure}
PAL.WaitForTime(T['XX:00:00']);

{On ajoute le fichier bip}
Queue.Addfile('C:\bip.wav',ipTop);
ActivePlayer.FadeToNext;

{On lance le bon deck}
function ActivePlayer:TPlayer;
begin
if DeckA.Status = psPlaying then
Result := DeckA
else
Result := DeckB;
end;

Un script PAL un peu plus complexe cette fois qui concernera surtout les webradios qui ont des émissions bien déterminées, à heure fixe, avec un créneau horaire bien déterminé.

Les fichiers de chaque style de musique doivent être classés dans les différentes catégories de SAM (fenêtre Playlist > Catégories) : il suffit de créer différents dossiers (instrumental, contemporary et sabbath dans l’exemple suivant) et de placer les fichiers dans ces différents dossiers.


{PAL script : style de musique par créneau horaire par Matt - www.skyminds.net}

{*************************************************************
Définition des variables.
**************************************************************}
PAL.Loop := True;
var mytime : DateTime = now;
var D: Integer;

var start_time_instrumental, end_time_instrumental : DateTime;
var start_time_contemporary, end_time_contemporary : DateTime;
var start_time_sabbath, end_time_sabbath : DateTime;

{*************************************************************
A vous d'ajuster les heures ! Je lance le script 15 minute avant l'heure parce qu'il 
reste toujours 3 ou 4 chansons dans la file d'attente. Si vous souhaitez que cela 
commence à l'heure exacte, il vous suffit d'ajouter la commande Queue.Clear 
**************************************************************}
start_time_instrumental := date + EncodeTime(07,45,00,0);
end_time_instrumental := date + EncodeTime(08,45,00,0);

start_time_contemporary := date + EncodeTime(10,45,00,0);
end_time_contemporary := date + EncodeTime(12,45,00,0);

start_time_sabbath := date + EncodeTime(16,45,00,0);
end_time_sabbath := date + EncodeTime(20,45,00,0);

{*************************************************************
Le script est lancé le Samedi et obéit aux règles catégories/heures.
**************************************************************}
if DayOfWeek(Now) = Saturday then
begin
      if( mytime >= start_time_instrumental) and (mytime <= end_time_instrumental) Then
         begin
            cat['Instrumental'].QueueBottom(smLemmingLogic,EnforceRules);
            PAL.WaitForQueue(1);
         end;
      if( mytime >= start_time_contemporary) and (mytime <= end_time_contemporary) Then
         begin
            cat['Contemporary'].QueueBottom(smLemmingLogic,EnforceRules);
            PAL.WaitForQueue(1);
         end;
      if( mytime >= start_time_sabbath) and (mytime <= end_time_sabbath) Then
         begin
            cat['DemoTracks'].QueueBottom(smLemmingLogic,EnforceRules);
            PAL.WaitForQueue(1);
         end;
end;

Vous utilisez SAM Broadcaster et vous vous êtes amusés avec la multitude de fonctions qu’il propose ? Et bien sachez que vous pouvez faire bien plus, en automatisant des tâches avec le langage de script PAL (acronyme pour Playlist Automation Language), langage propre à SAM qui permet de contrôler quasiment tous les aspects de SAM et en particulier les différentes manières d’influencer la logique de rotation des playlists. En gros, nous allons nous simplifier la vie grâce à quelques scripts PAL.