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;
Code language: PHP (php)