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)
Vous n’avez plus qu’à vous pencher sur le contenu de l’émission !
Vous voulez un site WordPress ou WooCommerce qui soit à la fois rapide et performant? Vous êtes au bon endroit.
Bonjour,
J’ai essayé mais ça me met toujours compiler errors
Donc un dossier dans playlist qui est sous le nom Mix, RadioMP3 et un sous sabbath.
Le fichier pal est demandé de se lancé le mercredi chose que j’ai testé 10 minutes avant pour voir si cela execute, et j’ai toujours le message d’erreur.
En haut du fichier pal ceci (var D : Integer ;) veut il dire qu’il va chercher dans D:( disque dur ) ou c’est comme ça ?
Pose cette question car je debute dans la chose et que j’y connais pas grand chose et bien dommage qu’il y a pas plus de fichier pal proposé et bien utile.
Merci d’avance pour vos futurs réponses.
Amicalement
Salut Ludovic,
Je n’ai pas de problèmes de compilation sur ce script.
var D : Integer;
est une définition de variable. Rien à voir avec la lettre du disque dur. As-tu essayé de ne pas changer le script mais d’utiliser les mêmes noms de catégories ?ca c’est ton script que j’ai modifié et j’ai creer dans sam les cat=zic-cool et cat=clubbing
je ne vois pas comment je peux mixé les deux pour arrivé a faire se que je veux.
merci de ton aide matt
je viens de corigé ca, desolé je suis allé trop vite lool
merci encore
et si j’utilisais le script “style de musique par créneau horaire”
et le script “Un jingle toutes les 5 chansons”
c’est jouable ca??? lool
je vous tiens au courant des que j’ai fait les tests ;)
Bonjour, moi j’a essayé dans tout les sens, ma playlist ne s’introduit pas dans la liste de queue :/
Help me please
Salut Matt,
Et bien ça fait déjà plus de 2 semaines que j’me bas avec Sam…
J’ai l’impression que le script ne s’excute pas.
Voici mon script, enfin le tien que j’ai adapté!
PAL.Loop := True;
var mytime : DateTime = now;
var D: Integer;
var DebutSmoothJazz, FinSmoothJazz : DateTime;
var DebutZouk, FinZouk : DateTime;
var DebutLatine, FinLatine : DateTime;
var DebutDivers, FinDivers : DateTime;
DebutSmoothJazz := date + EncodeTime(00,00,00,0);
FinSmoothJazz := date + EncodeTime(08,00,00,0);
DebutDivers := date + EncodeTime(08,00,00,0);
FinDivers := date + EncodeTime(13,00,00,0);
DebutLatine := date + EncodeTime(13,00,00,0);
FinLatine := date + EncodeTime(18,00,00,0);
DebutZouk := date + EncodeTime(18,00,00,0);
FinZouk := date + EncodeTime(00,00,00,0);
IF( mytime >= DebutSmoothJazz) AND (mytime = DebutDivers) AND (mytime = DebutLatine) AND (mytime = DebutZouk) AND (mytime <= FinZouk) Then
begin
Cat['Zouk'].QueueBottom(smLRP,EnforceRules);
PAL.WaitForQueue(1);
end;
J'ai donc 4 Dossiers SmoothJazz, Latine, Divers, Zouk, dan sle dossiers PlayList
Et le script ne fonctionne pas sniffffffff!
J'espère que tu pourras m'aider!
Euh, la file d'attente se remplit très aléatoirement. Parfois ça va fonctionner sur 2 morceaux et puis hope, ça va s'arrêter!
Merki à toi!
Salut tout le monde,
@neteyes, @RMS et @Etann86 : le script est un peu complexe et je pense qu’on peut arriver au même résultat comme ceci :
– solution 1 : classer les chansons dans une catégorie. Sauver cette catégorie en playlist (.m3u). Utiliser l’Event Scheduler pour charger cette playlist à l’heure désirée.
– solution 2 : classer les chansons par catégories. Planifier une clockwheel pour piocher dans cette catégorie à l’heure de vos programmes. Planifier votre clockwheel habituelle pour le reste du temps.
Je suis en vacances et je n’ai pas SAM sur cet ordinateur mais cela devrait fonctionner et être plus simple à mettre à jour. J’écrirai un article à ce sujet lorsque je testerai tout ça.
Salut Matt,
Merci pour ta réponse.
Ce que tu proposes à l’air plus simple.
Mais, j’aurai bien aimé savoir pourquoi ça ne fonctionne pas.
Et puis, si je veux intégrer des jingles, des bips horaires?
J’attendrai ta rentrée de vacances pour en savoir plus !
En attendant, les playlist m3u seront une roue de secours!
Salut Etann86,
C’est ) la fin de ton script que ça coince – tu as mis :
La première ligne fait que le script ne peut se lancer : il faut que l'heure soit supérieure à DebutSmoothJazz, égale à DebutDivers/DebutLatine/Debut Zouk et inférieure à FinZouk. Impossible !
Il aurait fallu mettre :
Pour les jingles : Script PAL pour SAM Broadcaster : diffuser une publicité ou un jingle toutes les 5 chansons
et pour les bips horaires : Script PAL pour SAM Broadcaster : jouer un bip horaire
A+
Ouhla,
Oui, j’ai copié coller un truc un peu bizarre…
Bon j’ai repris ton script et à l’heure où j’te parle, ça tourne et la file d’attente se remplie mais 2 titre maximum… donc, ça semble normal pour le moment.
J’vais laisser tourné ça cette nuit et on verra demain à 08H si ça joue enocre et surtout si ça change de catégorie…
Merci pour ton aide!
Salut Matt,
J’ai laissé la radio toute la nuit tournée et j’ai eu la surprise que ça c’état arrêté ce matin et en fait, mon erreur a été de ne pas avoir mi assez d’artiste différents dans mes playlists et d’avoir mi surtout l’attribut EnForceRules
Voilà…
Un grand merci pour ton aide!
Salut Etann86,
Je t’en prie, je suis content que cela fonctionne :)
HELP Matt, j’suis dans la m… totale, je suis scrupuleusement ton script et je ne comprend pas pourquoi lorsque je lance le Scrpit file il programme que la 1ère chanson et ensuite c fini il programme plus la suite. Lorsque j’édit le script il me surligne la 1ère phrase que que g mise en gras et en même temps il est écrit dans le pal script : “waiting for queue to reach 1 item”.
Peut tu m’aider s’il te plait. Merci
bonjour,
Merci pour le script pal: Apres 5 chansons un jingle. Pour mon cas la 5e chanson n’est jamais jouée, elle commence elle fait fadeout pour laisser place au jingle. Je perds donc toujours une musique. Merci pour votre aide.
Bonjour j’ai eu le même problème. Essaies ce code :
avec “jingle” c’est le nom d’une catégorie dans le dossier playlist par exemple.
J’espère que ça puisse t’aider.
bonjour
je voudrais utiliser ce script mais pour une fonctione journaliere , tous les jours a la meme heure programmé une playlist special
je dois modifier quoi exactement
cdt
Salut SAM,
J’ai copié et collé ton script et j’ai ensuite changé les dossiers en “rotsirosty1”, “rotsirotsy2” et “rotsirotsy3”
PAL.Loop := True;
var mytime : DateTime = now;
var D: Integer;
var start_time_rotsirotsy1, end_time_rotsirotsy1 : DateTime;
var start_time_rotsirotsy2, end_time_rotsirotsy2 : DateTime;
var start_time_rotsirotsy3, end_time_rotsirotsy3 : DateTime;
start_time_rotsirotsy1 := date + EncodeTime(00,45,00,0);
end_time_rotsirotsy1 := date + EncodeTime(02,45,00,0);
start_time_rotsirotsy2 := date + EncodeTime(02,45,00,0);
end_time_rotsirotsy2 := date + EncodeTime(04,45,00,0);
start_time_rotsirotsy3 := date + EncodeTime(04,45,00,0);
end_time_rotsirotsy3 := date + EncodeTime(05,45,00,0);
if DayOfWeek(Now) = Thursday then
begin
if( mytime >= start_time_rotsirotsy1) and (mytime = start_time_rotsirotsy2) and (mytime = start_time_rotsirotsy3) and (mytime <= end_time_rotsirotsy3) Then
begin
cat['rotsirotsy3'].QueueBottom(smLemmingLogic,EnforceRules);
PAL.WaitForQueue(1);
end;
end;
Puis, j'ai attendu les 15 minutes après je n'ai rien obtenu de satisfaisant. Le script s'active mais les musiques dans ces catégories ne sont pas diffusées.
J'utilise en parallèle le script des jingles :
PAL.Loop := True;
CAT['Tracks'].QueueBottom(smLemmingLogic,EnforceRules);
CAT['Rock'].QueueBottom(smLRP,EnforceRules);
CAT['Blues'].QueueBottom(smLRP,EnforceRules);
CAT['Station IDs (All)'].QueueBottom(smLRP,NoRules);
{#2# Pause le temps que quelques chansons soient jouées pour éviter de surcharger la file d'attente}
repeat
PAL.WaitForPlayCount(1);
until Queue.Count < 3;
Je ne sais pas s'il y a un rapport.
Un coup de pouce de ta part serait la bienvenue.
Merci d'avance
Bonjour Matt,
Cela fait longtemps que je t’ai pas écris j’espère que tu es toujours là , alors mon problème est souvent le morceau qui joue coupe avant la fin de la musique ou de celui qui parle pour passer au suivant , et cela me dérange. Alors comment configurer cela et où on fait cela ?