Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. Fehler in Squeezbox-Adapter

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    Fehler in Squeezbox-Adapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      mrMuppet last edited by

      Hallo,

      ich hab jetzt noch mal genau die Funktion des Squeezebox-Adapters studiert und auch herausgefunden wann die Cover-URL wechseln: wenn des Adapter gestartet wird, oder die aktuelle Playlist wechselt. Dann wird das erste Cover der neuen Playlist angezeigt. Um, wie eigentlich gewünscht, die Cover-URL des aktuellen Songs anzuzeigen, muss meiner Meinung nach erstmal in Zeile 374 aus

      device.player.runTelnetCmd('status 0 1 tags:K'); // get the artwork URL
      

      ein

      device.player.runTelnetCmd('status - 1 tags:K'); // get the artwork URL
      

      gemacht werden. Im Manual steht dazu:

      " <playerid>status <start><itemsperresponse><taggedparameters>The "status" query returns the complete status about a given player, including the current playlist. Set the <start>parameter to "-" to get the playlist data starting from the current song. "

      Diese Änderung führt schon mal dazu, dass auch bei jedem Songwechsel über das "Status - 1 tags:K" Kommando das aktuelle (!) Cover abgefragt wird. (zu sehen im Log wenn auf debug)

      Leider wird es noch nicht in das entsprechende Objekt geschrieben. Da bin ich leider auch nicht durchgestiegen, wie das genau funktioniert. Es kann je nach dem ob es ein lokaler song oder ein stream ist eine http-Adresse in der Rückgabe enthalten sein, oder die URL wird (bei lokalen songs) einfach generiert.

      Wäre wirklich spitzenmäßig wenn da noch mal jemand drüber schauen, der in JS fit ist. Leider gibts ja nicht mehr all zu viele Nutzer der Squeezebox hier…

      (ab Zeile 423)

      
          if (eventData[0] == 'status') {
              if (!device.searchingArtwork) {
                  return;
              }
      
              device.searchingArtwork = false;
              var last = eventData[eventData.length - 1];
              const ARTWORK_URL_PREFIX = 'artwork_url:';
              var artworkUrl = '';
              if (last.indexOf(ARTWORK_URL_PREFIX) === 0) {
                  artworkUrl = last.substr(ARTWORK_URL_PREFIX.length);
                  if (artworkUrl.indexOf('//') === -1) {
                      artworkUrl = 'http://' + adapter.config.server + ':' + httpPort + '/' + artworkUrl;
                  }
              }
              else {
                  artworkUrl = 'http://' + adapter.config.server + ':' + httpPort + '/music/current/cover.jpg?player=' + device.mac + '&t=' + (new Date().getTime() % 100000);
              }
      
              setStateAck(device.channelName + '.currentArtwork', artworkUrl);
          }
      

      Der ganze Code ist https://github.com/UncleSamSwiss/ioBrok … eezebox.jszu finden.</start></taggedparameters></itemsperresponse></start></playerid>

      1 Reply Last reply Reply Quote 0
      • M
        mrMuppet last edited by

        Ich habs gerade noch mal ausprobiert- Wenn die kleine Änderung, die ich oben erklärt habe, gemacht wird, dann funktioniert die Cover-Darstellung wieder wie sie soll.

        Ich werde es eben bei Github eintragen.

        …War vielleicht gestern abend doch zu spät... 🙂

        1 Reply Last reply Reply Quote 0
        • First post
          Last post

        Support us

        ioBroker
        Community Adapters
        Donate

        1.0k
        Online

        31.6k
        Users

        79.5k
        Topics

        1.3m
        Posts

        1
        2
        294
        Loading More Posts
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes
        Reply
        • Reply as topic
        Log in to reply
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
        The ioBroker Community 2014-2023
        logo