mpd - Ausgabe von Titel und Cover-Art auf dem LCD

  • Hallo,


    mpd ist ein Musik-Player-Daemon, der inzwischen recht stabil auf der Dreambox läuft. Dazu gibt es viele Clients für die Steuerung (u.a. iOS, Android). Damit kann man sich eine schöne Musik-Streaming Lösung bauen.
    Ein Problem bei mpd war, dass der laufende Service unterbrochen werden musste, da sonst die Audio-Spuren überlagert wurden. Das ist mit einem Skript von Dr.Best gelöst, das beim Start der Musikwiedergabe über einen http-request gestartet wird. Ich möchte gerne dieses Skript aufbohren, damit beim Start der Musikwiedergabe der Titel und Cover-Art im LCD angezeigt werden.
    Die Grundidee ist folgende:

    • Aufbohren des WebStartStopServices von Dr. Best
    • Abgreifen der mpd-Infos mittels dem mpd python paket (muss erst eingespielt werden). Quasi als leichtgewichtiger Client, der am localhost horcht.
    • Ausgabe auf dem LCD


    Angefangen habe ich mit der Ausgabe, und da komme ich schon nicht weiter (bin Python-Neuling & über 10 Jahre aus der Programmierung raus ....). Ich erhalte die Fehlermeldung "skin is missing Element Title". Im widget Title will ich probeweise was reinschreiben. Der Fernseher (Haupt-Screen) und das LCD werden Schwarz. Es erfolgt keine Ausgabe. Eine Eingabe per FB ist nicht mehr möglich (klar, da noch kein Action-Handling drin). Immerhin schmiert es nicht ab.


    Bin mir auch mit dem Handling des Fensters in der WebSession nicht so sicher, vielleicht kann mir jemand mit Erfahrung einen Tipp geben.


    Hier ist der Code:


  • ich habe inzwischen weitere Versuche mit einem Test-Plugin unternommen, um das Summary zu meinem Haupt-Screen in den Griff zu bekommen. Funktioniert leider immer noch nicht:


    - Wenn ich KEIN eigenes Summary einfüge, dann wird automatisch das SimpleSummary verwendet und dort der Titel des Haupt-Screens angezeigt. Das hat gutemine mal beim FantasticLCD benutzt, um eine Ausgabe auf dem LCD zu bekommen. Für Cover-Art reicht das leider nicht.


    - Sobald ich versuche das Summary selbst anzulegen, bleibt der OLED schwarz. Ich habe die Klasse SimpleSummary fast 1:1 in das Test-Plugin kopiert, oder mich am MediaPlayer orientiert. Nichts zu machen.


    In SimpleSummary gibt es einen Code-Schnipsel, der vielleicht hilft, dem SimpleSummary einen anderen Skin unterzujubeln, um damit eine eigene Ausgabe zu steuern


    Code
    # if parent has a "skin_summary" defined, use that as default
    self.skin = parent.__dict__.get("skin_summary", self.skin)


    Leider habe ich es nicht geschafft ein eigenes "skin_summary" zu definieren. Die Suche nach Beispielen (find . -exec ...) war leider erfolglos. Hätte jemand einen Tipp?


    Ich kann mir nicht vorstellen, dass sich noch keiner an der Ausgabe von Cover-Art auf dem LCD/OLED versucht hat. Es gibt ja einen Markt für Musik-Streamer (Squeezebox u.a.).