"native" plugins

  • Ich plane ein neues plugin zu entwickeln und versuche gerade mir einee Umgebung aufzubauen um zunächst mal fremde plugins übersetzung und einbinden zu können.


    Nachdme ich das Beispiel plugin "hello" auf meinem VDR übersetzt habe und in das Verzeichnis in dem sich die anderen plugins befinden hineinkopiert habe, wird das plugin in der vdr-info list zwar angezeigt, allerdings mit einem vorangestellten N, was "native" bedeuten soll.


    Ich sehe im OSD keinen neuen Eintrag für das plugin und auch unter Einstellungen/Plugins ist nichts neues hinzugekommen.


    Was mache ich falsch? Woran kann's liegen.


    Vielen Dank im Voraus!

  • Ich habe inzwischen herausgefunden, dass die plugins, die im vdrinfo output mit "N" markiert sind NICHT geladen sind. Wenn man von der Konsole ein /etc/init.d/vdr restart absetzt bekommt man eine entsprechende Meldung, dass die entsprechenden Module wegen möglicher Inkompatibilität nicht geladen werden.


    Der Grund:


    Im entsprechenden Script wird für jedes gefundene Modul im plugins-Verzeichnis geprüft, ob es ein entsprechendes Paket in der Paketverwaltung mit gleicher Versionsnummer gibt. Ich hab' mal so zum Testen den Code im Skript auskommentiert und schon werden meine Plugins geladen.


    Fazit:
    1. Variante: Man müsste schon zu Beginn eines neuen plugin Projekts alles "debianisieren", damit man es überhaupt erstmal zum laufen bekommt.


    2. Man vergewissert sich, dass man nur kompatible plugins einbindet und macht den Teil des Ladeskripts für die Entwicklungsumgebung "unschädlich".


    Meiner Meinung nach gibt's momentan ziemlich viele Hürden, die man erstmal mühevoll nehmen muss, um überhaupt erstmal mit dem Entwicklen von plugins starten zu können, selbst wenn man in C++ fit ist. Diese Zeit könnte man besser investieren - z.B. plugins entwickeln ;)


    Im Interesse der VDR Gemeinde sollten wir uns was überlegen, um den Einstieg in die Pluginentwicklung zu erleichtern (besseres Tutorial, Glossar mit VDR spezifischen Begriffserklärungen, etc.).


    Ich seh's so: leichterer Einstieg -> mehr Plugins -> mehr VDR features für alle! :]

  • Das Problem mit der Debianisierung hatte ich auch. Guckst Du ma hier.
    N biserl mehr Info zu Deinem VDR/Entwicklungssystem (z.B. in Deiner Signatur) wäre hilfreich!

    yaVDR 0.6.2; H61M/U3S3 / G530 / 4GB / GT 520 (passiv) / Cine S2 (Rev. V5.5) + DuoFlex S2 / 120GB SSD (System; SATA>USB) + 3TB SATA 6Gb/s; LCD-TV Toshiba 42VL863G; AVR Yamaha RX-S600...

  • Zitat

    Original von Harp
    Im entsprechenden Script wird für jedes gefundene Modul im plugins-Verzeichnis geprüft, ob es ein entsprechendes Paket in der Paketverwaltung mit gleicher Versionsnummer gibt. Ich hab' mal so zum Testen den Code im Skript auskommentiert und schon werden meine Plugins geladen.


    Es gibt einen Schalter in /etc/default/vdr, um diesen Test auszuschalten:
    PLUGIN_CHECK_PATCHLEVEL="no"
    Das Auskommentieren ist also nicht nötig.


    Zitat

    1. Variante: Man müsste schon zu Beginn eines neuen plugin Projekts alles "debianisieren", damit man es überhaupt erstmal zum laufen bekommt.


    Was ist so schwer daran, einmal "debianize-vdrplugin" aufzurufen, nachdem du mit "vdr-newplugin" das Skelett eines neuen Plugin erzeugt hast? Die Übersetzung erfolgt dann debian-like mit "debian/rules binary" oder besser mit "dpkg-buildpackage".


    Das erzeugte Plugin-Paket passt dann genau zu deinem installierten VDR-Paket - insbesondere was die im VDR-Paket integrierten Patches betrifft, so dass du auch den Patchlevel-Test drin lassen kannst.


    Tom

  • TomG
    Na ja, für'n Anfänger ist das schon alles recht kompliziert. Bis man das raus hat, ist der halbe Elan schon verbraucht. Die fünf Codezeilen meines neuen Plugin könnten auch schon lange gebacken und publiziert sein...
    Du meinst 'newplugin' im VDR-Source-Verzeichnis? Oder gibt's da noch was, von dem ich wissen sollte?

    yaVDR 0.6.2; H61M/U3S3 / G530 / 4GB / GT 520 (passiv) / Cine S2 (Rev. V5.5) + DuoFlex S2 / 120GB SSD (System; SATA>USB) + 3TB SATA 6Gb/s; LCD-TV Toshiba 42VL863G; AVR Yamaha RX-S600...

  • TomG


    Interessant was es da so alles gibt. Ich hab' mir als newbie erstmal die files angesehen, die mit den sourcen kommen, vor allen Dingen natürlich die plugins.html. Da steht zwar was von newplugin (hab' ich auch benutzt), aber leider nichts vom debianisieren. Ich finde eine kleine Zeile als Hinweis würde es den Einsteigern schon wesentlich leichter machen.


    Zitat

    Was ist so schwer daran, einmal "debianize-vdrplugin" aufzurufen, nachdem du mit "vdr-newplugin" das Skelett eines neuen Plugin erzeugt hast? Die Übersetzung erfolgt dann debian-like mit "debian/rules binary" oder besser mit "dpkg-buildpackage".


    Nichts - wenn man es weiß ;)


    Auf jeden Fall aber danke für die Info! :tup


    habichthugo
    OK, werd' ich baldmöglichst nachholen...

  • Zitat

    Original von habichthugo
    Na ja, für'n Anfänger ist das schon alles recht kompliziert. Bis man das raus hat, ist der halbe Elan schon verbraucht. Die fünf Codezeilen meines neuen Plugin könnten auch schon lange gebacken und publiziert sein...
    Du meinst 'newplugin' im VDR-Source-Verzeichnis? Oder gibt's da noch was, von dem ich wissen sollte?


    Das Wichtigste habe ich schon in dem anderen Thread geschrieben.


    Ein Plugin für den VDR ist eine Shared-Library, die eine ganz bestimmte Struktur haben muss, d.h. das ist natürlich kompliziert. Aber durch die mitgelieferten Skripte werden die komplizierten Sachen versteckt. Um das Lesen der Docus kommt man trotzdem nicht drumrum.


    Tom

  • TomG
    Hey, ich les mir ja den Wolf...! Nimms mir (uns) Dummys bitte nicht übel, wenn wir's nicht gleich alles kapieren...

    yaVDR 0.6.2; H61M/U3S3 / G530 / 4GB / GT 520 (passiv) / Cine S2 (Rev. V5.5) + DuoFlex S2 / 120GB SSD (System; SATA>USB) + 3TB SATA 6Gb/s; LCD-TV Toshiba 42VL863G; AVR Yamaha RX-S600...

Jetzt mitmachen!

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