Plugin: Musik Player Daemon VDR Client

  • Das Plugin Musik Player Daemon VDR Client,


    dass gibt leider noch nicht. Aber damit könnte man einen tollen Musicplayer mit Musikverwaltung machen, der auch mit mehreren Endgeräten (auch gleichzeitig) zusammenarbeitet:
    Display o.a. für Musik-Server, und Display o.a. für Musik-Server


    Deshalb auf auf Ihr tapferen Recken der Programmierkunst. Ich habe mir mal die Konsolen-Clients angeschaut und im Prinzip müsste nur die ncurses Ausgabe auf das vdr OSD umgebogen werden. Ich weiß, dass das nicht so einfach möglich ist. Wahrscheinlich ist es leichter mit der libmpdclient neu anzufangen. Ich habe mal ein kleines Testplugin ohne OSD geschrieben, das nur play, prev, next implementiert. das ging recht gut. Um aber ein richtiges Plugin daraus zu machen mit den Funktionen des mpd Clients Ncmpcpp

    • playlists editor
    • easy to use search screen
    • media library screen
    • tag editor


    habe ich leider nicht das Fachwissen und die nötige Zeit.


    Aber vielleicht sucht ja jemand noch eine Herausforderung für den Sommerurlaub ;). Ich biete natürlich meine volle Unterstützung an.


    LG


    Joachim


    PS: Ich habe mal das TEST-Plugin angehängt.


    [edit] neue Version mit Playlist anzeige [/edit]
    [edit] neue Version mit Trackinfo, extra Player [/edit]

  • Auch sehr interessant ist diese Lib (The main goal of libmpd is to provide a higher level access to mpd functions):


    Beschreibung http://mpd.wikia.com/wiki/ClientLib:libmpd
    Dokumentation http://api.sarine.nl/libmpd/
    Download http://gmpc.wikia.com/wiki/LIBMPD_0.17.0

    Mein VDR: Digitainer II Gehäuse, Asus M85M-US2H, AMD Sempron 140, 2 GB RAM, 1 TB WD Festplatte, Satelco Easywatch / Terratec Cinergy DVB-C, IR- Fernbedienung mit Atric-Einschalter, yavdr-0.5.0a

  • Jaja diese Monolog-Thread wirken immer etwas traurig...


    Trotzdem will ich hier nochmal mein proof of concept plugin vorstellen: vmpc
    Das Plugin verbindet sich zum mpd (nur Standard Einstellungen) und hat folgende Funktionen:


    Red: previous song
    Green: play song
    Yellow: stop song
    Blue: next song
    Up: volume uo
    Down: volume down
    Left: fast backward
    Right: fast forward
    Ok: exit plugin


    Benötigt wird die libmpd s.o.


    Vielleicht bekommt jetzt ja jemand Lust weiterzumachen.


    LG


    Joachim


    [edit] neue Version im ersten Posting [/edit]

    Mein VDR: Digitainer II Gehäuse, Asus M85M-US2H, AMD Sempron 140, 2 GB RAM, 1 TB WD Festplatte, Satelco Easywatch / Terratec Cinergy DVB-C, IR- Fernbedienung mit Atric-Einschalter, yavdr-0.5.0a

    Einmal editiert, zuletzt von gnapheus ()

  • Im ersten Posting ist mal eine Version angehängt, die auch die Songs der Playlist anzeigt und auswählbar macht.


    Möchte wirklich keiner, der sein Handwerk versteht, hier weitermachen ?

    Mein VDR: Digitainer II Gehäuse, Asus M85M-US2H, AMD Sempron 140, 2 GB RAM, 1 TB WD Festplatte, Satelco Easywatch / Terratec Cinergy DVB-C, IR- Fernbedienung mit Atric-Einschalter, yavdr-0.5.0a

  • Bin auch begeisterter MPD Anwender :-).
    Wär super wenn sich jemand finden würde.


    @joachim: danke für den ersten Versuch :-).


    Gruß
    Fux

    Hardware: Asus M3N78-EM µATX GF 8300 | AMD Sempron 140 | Display VFD USB MDM166A | DVB-S2 TT-3600 USB | RAM 1 GB | WD20EARS 2 TB
    Software: yaVDR 0.5

  • Sind wahrscheinlich alle glücklich mit dem mp3-plugin & Co. ;)


    @joachim: Sie funktioniert offenbar, die Verbindung PDA -> VDR?

    LG
    Jochen


    Rpi4 headless mit MLD 5.4 als Server via satip-Plugin hinter einem Telestar Digibit Twin, ein Rpi3 als Streamdev-Client mit MLD 5.4

    Rpi3 auch hinter Telestar Digibit Twin und mit MLD 5.4

  • Zitat

    Original von foobar42
    Sind wahrscheinlich alle glücklich mit dem mp3-plugin & Co. ;)


    Also ich komme mit dem mp3 plugin nicht so gut klar. Außerdem mag ich die Idee, die Musik auch ohne vdr steuern zu können.


    Zitat


    @joachim: Sie funktioniert offenbar, die Verbindung PDA -> VDR?


    Nee, leider nicht so ganz wie ich mir das vorstelle. Zur Zeit geht die Verbindung nur über wlan, bluetooth will immer noch nicht. Da Ubuntu so rumzickt, wollte ich es direkt am vdr probieren. Dort hatte ich aber den ganzen BT-Kram aus dem Kernel geschmissen. Also neuen Kernel etc. und dauert noch etwas. Darunter leidet der WAF leider erheblich ;). Jetzt habe ich auch noch einen neuen BT-Dongle, der nicht mal mit Ubuntu normal zusammenarbeiten will. Baustellen über Baustellen...


    LG


    Joachim

    Mein VDR: Digitainer II Gehäuse, Asus M85M-US2H, AMD Sempron 140, 2 GB RAM, 1 TB WD Festplatte, Satelco Easywatch / Terratec Cinergy DVB-C, IR- Fernbedienung mit Atric-Einschalter, yavdr-0.5.0a

  • Zitat

    Original von Fux
    Wär super wenn sich jemand finden würde.


    Eigentlich ist ja auch schon alles programmiert im amarok-plugin. Ich habe mal in den scource code geschaut und festgestellt, dass der Bereich, der für die Kommunikation mit Amarok zuständig, ist relativ sauber vom Rest getrennt ist. Zumindest habe ich den Sourccode so aushöhlen können, das nur das Menü und die Datenstrukturen über sind. Das Plugin kompiliert noch und müsste nun wieder mit den Funktionen der libmpd gefüllt werden. Aber leider steig ich durch diesen c++ Vector -Kram nicht durch (ich bin halt kein Programmierer), in dem die ganzen Daten gespeichert sind.


    LG


    Joachim

    Mein VDR: Digitainer II Gehäuse, Asus M85M-US2H, AMD Sempron 140, 2 GB RAM, 1 TB WD Festplatte, Satelco Easywatch / Terratec Cinergy DVB-C, IR- Fernbedienung mit Atric-Einschalter, yavdr-0.5.0a

  • Also Interesse hätte ich ;)


    Zum Amarok Plugin:
    MPD als weitere Möglichkeit zum Amarok Plugin hinzuzufügen? Dann müsste man nicht zwei Pluins warten, sondern nur zwei Schnittstellen in einem Plugin.


    Gruß,
    Hendrik

  • amarok - hm, da muss man ja 'n Desktoprechner aus der VDR-Kiste machen, sprich KDE -> X. Oder?

    LG
    Jochen


    Rpi4 headless mit MLD 5.4 als Server via satip-Plugin hinter einem Telestar Digibit Twin, ein Rpi3 als Streamdev-Client mit MLD 5.4

    Rpi3 auch hinter Telestar Digibit Twin und mit MLD 5.4

  • Dann bin ich ja beruhigt. ;)

    LG
    Jochen


    Rpi4 headless mit MLD 5.4 als Server via satip-Plugin hinter einem Telestar Digibit Twin, ein Rpi3 als Streamdev-Client mit MLD 5.4

    Rpi3 auch hinter Telestar Digibit Twin und mit MLD 5.4

  • Mal ganz allgemein: Schafft man es denn den MPD irgendwie nach MPEG2 rekodieren zu lassen, sodass über die Audio-Ausgabe der Full-Featured-Karte ausgegeben wird? Wenn das geht, dann würde ich mich eventuell mal an dem Thema versuchen. Ausgabe über die Soundkarte ist für mich nicht interessant, denn auf die billige analoge Soundkarte meiner Scovery verzichte ich doch lieber.

  • Ich habe mich mit dem Thema nie intensiv beschäftigt: Wenn aber alsa mit dem Audioausgang der FF zusammenarbeiten sollte (ob das geht, weiß ich wie gesagt nicht), sollte das Ganze kein Problem sein, weil der MPD seine Ausgabe über alsa machen kann. Ob's auch direkt geht, keine Ahnung. Jedenfalls kann der MPD z.B. spdif via alsa.

    LG
    Jochen


    Rpi4 headless mit MLD 5.4 als Server via satip-Plugin hinter einem Telestar Digibit Twin, ein Rpi3 als Streamdev-Client mit MLD 5.4

    Rpi3 auch hinter Telestar Digibit Twin und mit MLD 5.4

    Einmal editiert, zuletzt von foobar42 ()

  • Zitat

    Original von henfri
    Zum Amarok Plugin:
    MPD als weitere Möglichkeit zum Amarok Plugin hinzuzufügen? Dann müsste man nicht zwei Pluins warten, sondern nur zwei Schnittstellen in einem Plugin.


    Ich denke das ein neues Plugin, das vielleicht auf amarok aufbaut, besser ist.


    Zitat

    Original von henfri
    Hallo,


    Man nehme das amarok Plugin und ersetze alle Kommandos die an Amarok gehen durch Kommandos die zu MPD gehen.


    Jup, so habe ich mir das auch gedacht. Bei den einfachen Befehlen play, stop, next, prev ist das auch recht simpel. Leider muss für den Rest auch die Datenstruktur angepasst werden und da steige ich dann aus ;).


    Zitat

    Original von Mreimer
    Mal ganz allgemein: Schafft man es denn den MPD irgendwie nach MPEG2 rekodieren zu lassen, sodass über die Audio-Ausgabe der Full-Featured-Karte ausgegeben wird? Wenn das geht, dann würde ich mich eventuell mal an dem Thema versuchen. Ausgabe über die Soundkarte ist für mich nicht interessant, denn auf die billige analoge Soundkarte meiner Scovery verzichte ich doch lieber.


    Dafür ist mpd eigentlich nicht ausgelegt. Die Ausgabe über die Soundkarte ist für mich interessant, um die Soundausgabe vom vdr zu trennen. Aber vielleicht hast du ja trotzdem Lust.


    LG


    Joachim

    Mein VDR: Digitainer II Gehäuse, Asus M85M-US2H, AMD Sempron 140, 2 GB RAM, 1 TB WD Festplatte, Satelco Easywatch / Terratec Cinergy DVB-C, IR- Fernbedienung mit Atric-Einschalter, yavdr-0.5.0a

  • Ich habe mal wieder ein bisschen verschlimmbessert. Neue Version im ersten Posting. Nachwievor ist dies nur eine DEMO.

    Mein VDR: Digitainer II Gehäuse, Asus M85M-US2H, AMD Sempron 140, 2 GB RAM, 1 TB WD Festplatte, Satelco Easywatch / Terratec Cinergy DVB-C, IR- Fernbedienung mit Atric-Einschalter, yavdr-0.5.0a

  • Hi,


    super Idee! Fände ich klasse, wenn es hier in irgendeine Richtung weiter ginge. Gibt es was neues? Das würde auch dieses lästige umstricken von music für meine PVR-350 überflüssig machen


    Gegen welche Version von VDR hast Du deine hochgeladene Demo kompiliert? Ich habe es gerade mal gegen vdr-1.4.7-shutdown-rewrite-extp44 (installiert von live CD 0.6.08_beta) versucht und musste ein paar kleine Änderungen in setup-c und setup.h vornehmen, damit es klappt. cMenuEditStrItem::cMenuEditStrItem erwartet andere Übergabeparamter.


    Dann kompiliert es zwar, aber wenn ich es aktivierte stand im log ein Error

    Code
    Dec 27 22:46:32 (none) user.err vdr: [6346] ERROR: /usr/local/src/VDR/PLUGINS/lib/libvdr-vmpc.so.1.4.5: undefined symbol: mpd_playlist_get_song_from_pos


    Da ich annehme, das das von der uralt libmpd die das Debian System mitliefert kam, habe ich die per apt installierte Version deinstalliert und die Version 0.17 (gegen die ich auch kompiliert habe) in /usr/lib verlinkt. Dadurch bekomme ich zwar die Fehlermeldung weg, aber der VDR hängt in einer restart-Schleife...


    Ich nehme einfach mal an, du hast das gegen den VDR 1.6 getestet, oder habe ich was anderes übersehen?


    Grüße,
    Alex

    VDR:EasyVDR 0.6.08, PVR-350, ASRock GE Pro-HT, Intel Celeron 2,4 GHz, Samsung HD400LD HDD

  • Hi Alex,
    deinen Vermutungen stimmen alle. Ich habe die Demo unter einem vanilla vdr-1.6.0 programmiert und die libmpd version war auch was mit 0.17 http://api.sarine.nl/libmpd/. Hast du mit der libmpd auch einen aktuelleren mpd installiert.? Ältere mpd Versionen haben noch nicht alle Features.


    LG


    Joachim

    Mein VDR: Digitainer II Gehäuse, Asus M85M-US2H, AMD Sempron 140, 2 GB RAM, 1 TB WD Festplatte, Satelco Easywatch / Terratec Cinergy DVB-C, IR- Fernbedienung mit Atric-Einschalter, yavdr-0.5.0a

    Einmal editiert, zuletzt von gnapheus ()

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!