Plugin Last.fm pour SAM Broadcaster (Windows)

Je vous ai parlé dernièrement de mon adhésion à last.fm et de l’absence regrettable d’un plugin last.fm pour SAM Broadcaster.

Et bien, cela y est, j’ai réuni tout ce qu’il faut pour pouvoir scrobbler en toute quiétude, tout en laissant tourner votre webradio !

SAM Broadcaster & Last.fm

Contrairement aux autres lecteurs audio classiques, il ne s’agit pas d’une extension toute compilée à installer mais d’un script PHP qui va se charger de mettre à jour votre profil last.fm via CURL.

Installation et configuration prennent moins de 10 minutes.

Étape 1 : PHP

Vous avez besoin de l’exécutable PHP (php.exe) ainsi que des librairies CURL. Si PHP est déjà installé sur votre machine, aucun souci.

S’il ne l’est pas, téléchargez et lancez l’installateur PHP et sélectionnez l’installation sans serveur web (inutile dans notre cas).

Important ! Copiez les fichiers :

  • c:\php\ext\php_curl.dll vers c:\php\php_curl.dll
  • c:\php\ext\php_mysqli.dll vers c:\php\php_mysqli.dll

Étape 2 : installation du plugin last.fm pour SAM Broadcaster

Téléchargez le plugin last.fm pour SAM Broadcaster.

Copiez le fichier _lastfm.html dans le répertoire \samHTMweb\ du répertoire d’installation de SAM. Par défaut, c’est C:\Program Files\SpacialAudio\SAMBC\samHTMweb\.

Dans SAM, allez dans Config > HTML Output et cliquez sur le bouton “+”. Puis, complétez comme ceci :

SAM HTML output for Last.fm plugin

Input : C:\Program Files\SpacialAudio\SAMBC\samHTMweb\_lastfm.html

Output : C:\Program Files\SpacialAudio\SAMBC\samHTMweb\lastfm.html

Notez l’underscore dans le premier nom de fichier, que l’on ne retrouve pas dans le second.

Éditez maintenant le fichier lastfm.php et modifiez les informations avec l’identifiant et le mot de passe de votre compte last.fm. Vérifiez également le chemin du fichier lastfm.html.

Le plugin est désormais réglé. Il ne vous reste plus qu’à le lancer via un raccourci sur le bureau avec la commande :

Last.fm : raccourci

c:\php\php.exe "c:\*chemin*\lastfm.php"

Étape 3 : améliorations

L’amélioration indispensable à apporter à tout ceci, c’est un gestionnaire de service afin de cacher cette vilaine fenêtre MS-DOS lorsque l’on lance le plugin.

Sous Windows XP, la solution est d’utiliser FireDaemon Lite, qui va se charger de lancer le plugin de manière silencieuse.

  1. Téléchargez et installez FireDaemon Lite
  2. Ajoutez un nouveau service en allant dans Service > New puis complétez avec les mêmes informations que le raccourci proposé précédemment :
    Last.fm : Fire Daemon
  3. Validez en cliquant sur Install puis démarrez le service.
  4. Terminé ! Les titres joués sous SAM Broadcaster sont automatiquement notifiés sur votre profil last.fm.

Sous Windows 7 à 11, je vous conseille d’utiliser WinSW (Windows Service Wrapper), avec la configuration suivante pour myapp.xml :

<service>
  <id>lastfm4sam</id>
  <name>LastFM 4 SAM</name>
  <description>This service scrobbles SAM Broadcaster tracks to last.fm</description>
  <executable>C:\php\php.exe</executable>
  <arguments>"C:\webroot\lastfm.php"</arguments>
  <log mode="roll"></log>
</service>

Code language: HTML, XML (xml)

Fonctionnement du plugin

Voici le principe du plugin : dans la configuration de SAM, nous définissons un fichier maquette (_lastfm.html) dont SAM se servira pour créer un fichier à chaque changement de chanson (lastfm.html).

Le plugin PHP (lastfm.php), lancé via l’interpréteur PHP, va alors rechercher ce fichier et contacter les serveurs last.fm afin de procéder à une mise à jour du profil membre.

Une manière simple et efficace d’automatiser le scrobbling avec votre webradio !

Vous avez un projet WordPress ou WooCommerce en tête? Transformez votre vision en réalité avec mon expertise reconnue.

Parlons de votre projet dès aujourd'hui »

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 !

19 pensées sur “Plugin Last.fm pour SAM Broadcaster (Windows)”

  1. pas mal comme info mais il existe rien pour que cela soit compatible avec wanastream.com ?

    Avoir une liste des titre deja diffusé via une page php et un player plus jolie que classique style un bouton play et stop ?

    Merci d’avance pour vos futures réponses.

    J’ai Sam brocaster pour infos

    Reply
  2. Bonjour et merci de la reponse mais je suis hyper novice dans ce genre de chose
    pour les titres moi j’ai ceci:

    $fp = fsockopen ("wanastream.com", 38500, $errno, $errstr, 30);
    if (!$fp) {
        echo "$errstr ($errno)n";
    } else {
        fputs ($fp, "GET / / HTTP/1.0rnUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)rnHost: wanastream.com:14800rnrn");
        while (!feof($fp)) {
            $line = fgets ($fp,21048);
        eregi( "Current Song: (.*)", $line, $regs );
        $currentsong = htmlspecialchars($regs[1]);
         }
    fclose($fp);
    }
    echo "$currentsong";

    et pour le player j’ai ceci:

    object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="40" height="20" align="right" >
                                < param name="movie" value="webplayer.swf?fichier=http://wanastream.com:38500" />
                                < param name="quality" value="high" />
                                < embed src="webplayer.swf?fichier=http://wanastream.com:38500" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="40" height="20">< /embed>
                              /object
    

    Pour une liste des titres deja diffusé j’ai rien trouvé, peux tu me préparer ce genre de chose ?

    Amicalement

    Reply
  3. Salut Ludovic,

    Si vous utilisez SAM, il suffit d’installer le binaire PHP et de configurer le script. Cela devrait fonctionner même avec votre hébergement wanastream.

    Pour la liste des titres déjà diffusés, cela peut faire l’objet d’un script à part (ou alors utiliser le plugin et aller chercher l’historique chez last.fm, ce qui est assez simple).

    Reply
  4. bonjour ou bonsoir a tous

    je nomme dj sash

    objet : demande d aide urgente

    voilà je suis en trin de me prendre la tete grave pour incorporer les images cd’s qui corespondent aux titres que je balance sur sam mais ne trouve pas la solution si quelqu un peut m aider c assez cool de çà part

    car cela fait 3 jours que je tourne en round et çà commence serieux a me gonfler

    merci a lavance pour la moindre reponse ou aide

    Reply
  5. Salut,

    Ludovic > pour l’historique des titres déjà joués, je ne me suis pas embêté : j’ai pris le widget historique de last.fm – pratique et la présentation est pas mal.

    djsash > je ne possède pas un tel script sous la main. J’y ai songé un temps puis laissé tomber : cela demande de faire des requêtes sur un site comme Amazon pour identifier la pochette ou alors d’uploader soi-même les pochettes…

    Vous pouvez voir un exemple des widgets last.fm sur Thunderstruck Radio.

    Reply
  6. Mise à jour de l’étape 1 du tutoriel : il faut copier les librairies php_curl.dll et php_mysqli.dll sous c:\php, à côté du binaire php. Testé avec succès avec PHP 5.2.5

    Reply
    • Hi Jerry,

      Have a look at the google translated version of this page.

      You mainly have to complete step 1 and 2. Step 3 is a bonus really. Let me know how it goes, I’ll help you out if need be.

      Cheers

      Reply
      • Hello Matt, Thank you for your response. I would love if you could assist me further. I am able to get as far as step 2. When the directions explain to edit files I am completely lost. I would really be thankful if you could explain this further. I would even allow you to remote into my PC via Live MSGer to help me. I would gladly pay you 10 dollars or euros via paypal.

        Thank you
        Jerry
        Bigwong36@hotmail.com

    • Hi Jerry,

      Sorry for the delay. Here are the directions in English :

      1- download the last.fm plugin for SAM Broadcaster.

      2- copy _lastfm.html in C:\Program Files\SpacialAudio\SAMBC\samHTMweb\.

      3- In SAM, go to Config > HTML Output and click the “+” button. Then complete as follows :

      Input : C:\Program Files\SpacialAudio\SAMBC\samHTMweb\_lastfm.html
      Output : C:\Program Files\SpacialAudio\SAMBC\samHTMweb\lastfm.html

      Important: note the underscore in the filename in the first path. There is no underscore in the output filename.

      4- Now edit lastfm.php and modify the file with your lastfm username and password. Check the path to lastfm.html as well

      5- Plugin is now set up. All you have to do now is launch it. Create a shortcut on your desktop with this command :

      c:\php\php.exe "c:\*chemin*\lastfm.php"

      Hope that helps :)

      Reply
  7. Thanks you for this wonderfull plugin :).
    I got it working… But a few minor changes…

    CURL would not be able to start with just those few core files.
    I copied the files from a XAMPP installation like above.
    but that didnt work . So I tried using the php.exe directly from my xampp directory and my installation worked perfectly cause of the php.ini file.

    No Idea how to make a stand alone version small enough to carry around or copy fast enough. if you can make a small zip file with all the core files it would be handy for all the people :).

    Reply
    • Hi,

      It will most probably fail if you use the files from a XAMPP install. You need to download PHP and choose the install without webserver. That’s enough for what we need.

      Reply
      • After 2 years I stumbled upon your site again thinking. last.fm 4 sam still no updated tutorial?
        Well I made my own tutorial based upon your site.

        I Made everything simpler and pointed it towarts c:\lastfm4sam folder for a easier installation.
        Xampp files can be used but just requires php.ini and some more dll files :).

        I Also made a small FAQ which seems to answer the most questions people have.

        There issnt anything changed in the scripts.
        Other as locations.

        I credited your work in a link below on the website.

  8. Hello, thanks for the translation. Where do I get php.exe anc Curl for Windows 7? Can not figure it out.
    Is it also possible to put more than one song into the playlist so that I can scrobble what I play as a offline DJ in a club through the night and scrobble it all the next morning?

    Thank you

    Reply
  9. I understand about offline scrobbling, but is it not possible to loop the lastfm.html so that ir records like 100+ songs and then they get scrobbled anyhow once you go online and have the service through firedemon running?
    `
    Would alter the _last.html file myself but lacking the knowledge

    Reply
  10. Thank you Matt, I get an error saying:

    11-10-05 08:47:44 | Logging in…
    11-10-05 08:47:49 | Logging in…
    11-10-05 08:47:54 | Logging in…
    11-10-05 08:47:59 | Logging in…
    11-10-05 08:48:04 | Logging in…
    11-10-05 08:48:09 | Logging in…
    11-10-05 08:48:14 | Logging in…

    Supposed its the firewall in the office, gotta try at home.

    By offline I meant to append the entries into one HTML file instead of scrobbling them one by one. The last.fm up can do so too, but this is not in question here.

    I would just need to either have last.fm writing every song into the same file until I stop it or a certain limit is reached or alternatively grab each file rename it somehow and then upload them all later. Any ideas?

    Reply

Opinions