Script PAL pour SAM Broadcaster : créer une playlist variée par rotation automatique

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).

Le script joue une chanson au hasard de la catégorie Tracks puis un jingle pour les auditeurs n’oublient pas quelle station ils écoutent. Bien évidemment, on peut ajouter plusieurs catégories, histoire de complexifier un peu les choses :


{PAL script : playlist variée par rotation automatique par Matt - www.skyminds.net}

{#0# Boucle qui reprend au début lorsque le script arrive à la fin}
PAL.Loop := True;

{#1# Insertion de chansons dans la file d'attente depuis plusieurs catégories}
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;
Code language: PHP (php)

Votre playlist est donc créée automatiquement, selon vos règles de rotation. Dès qu’il y a moins de 3 chansons dans la playlist, le script se charge de trouver les chansons les moins jouées et de les ajouter. Très pratique si vous ne voulez pas passer votre temps devant l’écran pour tout paramétrer à la main !

Rencontrez-vous des défis avec votre site WordPress ou WooCommerce? Laissez-moi les résoudre pour vous.

Discutons des solutions possibles »

Articles conseillés :

Matt

Matt Biscay est développeur WordPress et WooCommerce certifié chez Codeable, ainsi que sysadmin qualifié et enseignant-chercheur. Passionné par le code performant et les solutions sécurisées, je m'efforce d'offrir une expérience utilisateur exceptionnelle sur chaque projet.

Vous avez aimé cet article ? Vous avez un projet en tête et vous pensez que je pourrais vous aider à le concrétiser ? N'hésitez pas à me contacter, je serais ravi de discuter avec vous de votre projet !

20 pensées sur “Script PAL pour SAM Broadcaster : créer une playlist variée par rotation automatique”

  1. Maniant ce logiciel depuis plus d’un an, j’informe quand même que la rotation rules est bien qu’à une seule condition : avoir une très grosse playlist.

    Aussi, cette méthode n’est pas forcément la meilleure vu qu’il éxiste dans la fenêtre screenée un module vers le bas qui contient le module Configure.

    Dans ce module se trouve une interface de scripting où l’on met juste ces lignes :

    CAT[‘Tracks’].QueueBottom(smLemmingLogic,EnforceRules);
    CAT[‘Rock’].QueueBottom(smLRP,EnforceRules);
    CAT[‘Blues’].QueueBottom(smLRP,EnforceRules);
    CAT[‘Station IDs (All)’].QueueBottom(smLRP,NoRules);

    Revenez dans la fenêtre de config et mettez l’option “Keep X songs in the queue” et mettez-y 10.

    Appliquez, faites File > Save configuration (très important pour sauver dans la core de SAM pour être sûr de garder les paramètres au prochain démarrage).

    Et là, comme par magie SAM se débrouillera pour qu’il y ai toujours 10 éléments dans la queue. Lorsqu’un élément ou plus sont enlevés, il recomplète de telle sorte à ce que la queue fasse 10 éléments ;)

    Vous pouvez évidemment placer vos propres musiques manuellement en tête de queue. S’il y en a plus que 10 il ne supprimera rien ;)

    Tchaw

    Reply
  2. salut tout le monde
    Voila j ai beau essayer et rien a faire ca veut pas lire ou alors ca me fait une erreur.
    que faire.
    Merci

    Pour la soluce de kermi je comprend vraiment pas

    Reply
  3. @Sebbabas : selon tes réglages de playlist, il faut avoir pas mal de chansons dans ta playlist. Par exemple, si tu as mis qu’il ne faut pas jouer le même artiste ou le même album pendant 30 minutes, il faut avoir quelques albums/artistes différents dans ta playlist. Autrement, un titre sera joué seulement (et le reste 30 minutes après).

    Reply
  4. Merci Matt pour tes conseil il me sont très utile tu as une adresse mail ou msn pour te contacter ?

    Reply
  5. Salut,

    Je veux que SAM Broadcaster lise en boucle mes différentes playlists dans l’ordre mais pas les musiques dans ces dossiers de playlists, je suis un peu paumé, j’ai besoin d’un script PAL ou il y a déjà une fonctionnalité dans le logiciel ? Est-ce que c’est tout bêtement ce qu’offre le script dans l’article ?

    Reply
    • Bonjour,

      Désolé pour le retard, je n’avais pas vu votre commentaire.

      Il faut utiliser :

      Queue.AddList('C:\rock.m3u',ipTop); 
      Queue.AddList('C:\metal.m3u',ipTop); 
      Reply
  6. bonsoir pourriez vous me donné des renseignement sur sambroadcaster voici mon un message d’erreur voici se qui me dit warning clockwel rotation failed to pick track from la catégory please check separation rules or add more tracks merci

    Reply
    • Bonjour,

      Il faut que le nom de vos catégories soient les mêmes que dans le script (ou alors modifier le script avec le nom de vos propres catégories).

      Reply
      • pourtant j’ai la programmation débute a 16 heures jusqu’à 21 heures en arrivant a 20 heures cet là qui ma mis se message d’erreur et cet la seul catégory qui me le fait avez-vous teamviewer9

      • Salut,

        Je pense qu’il faut que tu vérifies tes règles Clockwheel : elles sont peut-être trop restrictives et ne permettent pas d’ajouter suffisamment de morceaux. Du coup, au bout d’un moment, le script ne peut ajouter de nouveaux morceaux dans la liste.

        Ps : non, je n’ai pas team viewer.

      • rebonjour je te remercie de ta réponse hier il a fonctionner impeccable j’ai ajouté des titres et sa fonctionner une deux autres question
        la 1ere comment on peut mettre un lecteur sur le site web de la radio et la deuxième je voudrais intégrer un top horaire peut tu me donner des renseignement je te donne mon adresse E-MAIL cet christian.viano@sfr.fr mercis pour ton aide

  7. salut et merci pour tes exemples et tutos

    j’ai une question voila dans mon script je peux utiliser et ajouter une piste avec Queue.AddFile(‘C:tophoraire.mp3’,ipTop);

    mais cela ne fonctionne pas avec Cat (je voulais dans ce scripts qu’il place une musics aléatoire dans la playlists COMBLAGE

    if (ActivePlayer.Duration>0) and ((ActivePlayer.Duration-ActivePlayer.CurTime) <Delta) then
    begin
    Cat['COMBLAGE'].QueueTop(smLRP, EnforceRules);

    voici le script pour mieux comprendre et il servira à d’autres en plus

    PAL.Loop := True;

    function ActivePlayer:TPlayer; forward;

    {Le test de la chanson commence à}

    const Debut = ‘XX:57:00’;

    {Durée de 57 jusqu’à 00: 60-57=03min en millisecondes !!!}

    const Delta = 180*1000;

    {Attendre la bonne minute}

    PAL.WaitForTime(T[Debut]);

    {Si le titre se termine dans les 3 minutes suivantes on place la musique d’attente}

    if (ActivePlayer.Duration>0) and ((ActivePlayer.Duration-ActivePlayer.CurTime) <Delta) then

    begin

    Queue.AddFile('C:comblage.mp3',ipTop);

    end;

    {On attend 00 on place le top horaire et on l'envoie en suivant}

    PAL.WaitForTime('XX:00:00');

    Queue.AddFile('C:tophoraire.mp3',ipTop);

    ActivePlayer.FadeToNext;

    function ActivePlayer:TPlayer;

    begin

    if DeckA.Status = psPlaying then

    Result := DeckA

    else

    Result := DeckB;

    end;

    merci d’avance

    Reply

Opinions