Plugin Ressources - Standards

  • Moin,


    da z.B. das Thema channellogos und deren Ablage regelmäßig als Thema auftaucht und regelmäßig darüber gemosert wird, dass das alle Plugins unterschiedlich handhaben, weil sich die Entwickler einen Dreck drumm scheren, wo sie ihr Zeugs hinlegen, hier mal ein Vorschlag (der wahrscheinlich nicht neu ist, aber vielleicht klappt es ja diesmal ;) )


    Warum definieren wir nicht einen einheitlichen Standard und dokumentieren den auch Vernünftig in der Plugin Doku vom VDR? Dort sollte alles wesentliche bezüglich Plugin Ressourcen geregelt sein, ich denke, dann würde sich auch jeder Entwickler gerne daran halten und ältere Plugins könnten auch entsprechend angepasst werden.


    Ein Plugin könnte benötigen:


    - Config Dateien
    - Channel Logos
    - Graphiken allgemein
    - Themes
    - ...


    Evtl. fehlt noch was...


    Was hier erarbeitet werden müsste:


    - in welches von der vdr.pc zur Verfügung gestellte Verzeichnis kommt was?
    - was muss im Makefile noch beachtet werden?
    - wie bekomme ich im Plugin diese Infos?
    - ...


    Evtl. fehlt noch was...


    Sollte doch möglich sein, das mal einheitlich hinzukriegen, damit jeder glücklich ist... ;)


    Ciao Louis

  • Hier tut sich ja gar nichts...
    Mir wird zwar schon nachgesagt, dass ich zu viele Entscheidungen treffe. Wenn ich aber nichts entscheide, scheint auch nichts vorwärts zu gehen.


    Keiner reagiert im Vorfeld und nachher wird dann wieder geschimpft. Also los jetzt.

  • Gabs schon mal einheitliches Schema fuer images/icons/symbols/...


    Fein, jetzt sinds schon zwei Entwickler die fürs Thema offen sind, so langsam wirds ;)


    cu

  • Ich bin auch für einen Standard und vorallem auch für einen einheitlichen Look. D.h. wenn ich Skin-xy ausgewählt habe, dann sollte auch alles(!) gleich angezeigt werden.
    Das mit den Channellogos ist ein schlechtes Beispiel, da jede Skin (leider) eine andere Größe und ein anderes Grafikformat verwendet.

  • da jede Skin (leider) eine andere Größe und ein anderes Grafikformat verwendet.


    Das hat aber keine technischen Gründe. PNG wäre für Logos Ideal, das kann Palettenbasiert 1, 2, 4, 8 Bit (mit Transparenz) und TrueColor mit Transparenz und Antialias im AlphaChannel (also von der Hintergrundfarbe unabhängig). Und die Gröse kann on the Fly Scaliert werden.
    Ferner sollten die Logos keine Rahmen, Hintergrundfarbe oder ähnliches haben, das kann das Plugin bei der Anzeige druntersetzen. Wäre also kein Problem einen Logosatz zu haben der für alle passt. Oder zwei (4:3; 16:9). Und wenns nur einen Satz gibt bekmmt man evtl. auch irgendwann mal nen vollständige Satz fertig ;)


    Es braucht halt mehere Styles (die dann halt im jeweiligen Plugin vom User gewählt werden), also z.B.
    /use/share/vdr/channelogos/bigblackwhite
    /use/share/vdr/channelogos/smallblackwhite
    /use/share/vdr/channelogos/color43
    /use/share/vdr/channelogos/color169
    um generell auf die Bedürfnisse der Anzeige (z.B. ein kleines LCD Display) einzugehen.


    cu

  • Es gibt ja schon einen guten Logosatz, der auch beim DVB Viewer benutzt wird.
    http://www.dvbviewer.tv/forum/topic/21378-logopacks/


    Sehr schön, der scheint (hab nur gerade einige Stichproben geschaut) wirklich hochwertig.



    Alledings müssten Skins ohne True Color Support diese auf nen Hintergrundrahmen (und sei es nur ein einfarbiges Rechteck in Logogrösse) rendern, Freistehend übers TV Bild geht nicht.
    Ist also die Frage: Sollte man 8bpp Skins und TrueColor Skins bei dieser Frage berücksichtigen? D.h. braucht es zwei Logosätze für Skins?


    cu

  • Moin,


    warum überrascht mich das nicht? Rummosern ist halt doch einfacher als das Hirn anstrengen :motz4


    Dann werde ich halt auch in Zukunft irgendwelche Verzeichnisse nehmen, die mir gerade so in den Sinn kommen...


    @3P0: Themaverfehlung, setzen sechs! Was bitte hat ein einheitlicher Look mit standardisierten Verzeichnissen zu tun? Mann Mann Mann...


    Ciao Louis

  • Frage ist hier wohl, wo die Logos thematisch einzuordnen sind.


    Wenn du sie bevorzugt zu deinem Theme relevant siehst, dann ist


    Code
    /usr/share/vdr/plugins/$YOURPLUGNAME/channellogos


    der richtige Ort. Nachteil hier natürlich: Wenn von zwei Plugins genutzt, dann muss der Distributor entweder Symlinks platzieren oder Plugin-Parameter übergeben.


    Zweiter Fall wäre, dass du die Logos als "für den VDR relevant" bezeichnest. Hier würde ich


    Code
    /usr/share/vdr/channellogos


    vorschlagen. Besser vielleicht noch "/usr/share/vdr/channellogos/truecolor". Das lässt Raum für Channellogos für Plugins, die kein TrueColor nutzen. Der "plugins"-Unterpfad sollte meiner Ansicht nach immer nur mit zum Pluginnamen passenden Unterverzeichnissen gefüllt werden. Zudem macht das ResourceDirectory irgenwie keinen Sinn, wenn es dort nur das Unterverzeichnis "plugins" geben darf.


    Dritter möglicher Fall wäre, dass man die Kanallogos als so allgemein betrachtet, dass sie möglicherweise nicht nur vom VDR genutzt werden könnten. Zudem kommen sie ja "irgendwie" aus dem dvbviewer-Kontext. Also dann möglicherweise:


    Code
    /usr/share/dvbviewer-channellogos


    ... oder halt einen beliegigen anderen Pfad direkt unter /usr/share

  • Moin !


    Die Channellogos in ein Verzeichnis unterhalb des Plugin Verzeichnis abzulegen wäre absurd. Das führt vernichtet die ganze Idee dahinter.
    Die Channellogos in ein Verzeichnis abzulegen, die dem Namen der Sammlung entspricht ist genauso absurd. (Es sei denn es ist ein Unterverzeichnis und man hätte eine Stelle an der man so ein "Theme" konfigurieren kann).


    Die Idee, das die Kanallogos Anwendungsneutral sind gefällt mir. Da bin ich vorher nicht drauf gekommen. Im Prinzip ist es das aber ... auch XBMC braucht soetwas.


    Vielleicht ist das: http://standards.freedesktop.o…on-theme-spec-latest.html interessant für das Thema. Könnte aber sein, das es die Diskussion nur ins Nirvana führt (zu komplex ? ).
    Für allgemeine Grafiken (was ja am ehesten Icons entspricht) - gilt das selbe.
    Themes hingegen sind doch recht speziell und wahrscheinlich nur für das jeweilige Plugin lesbar.


    Da man eine Einigung über den Pfad sicher nicht hinbekommt, sollte man überlegen wie man den Pfad systemweit zur Laufzeit oder beim Kompilieren hinterlegen kann, so das entsprechend der Pfad nur einmal gesetzt werden muss. Muss das im VDR hinterlegt werden, oder kann man sich auf eine Makefile-Variable einigen die, wenn sie gesetzt ist, von allen gezogen wird ?


    Dann wären da noch EPG-Images, Recording-Images usw

    VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

  • "Makefile-Variablen" gibt es nicht. Der VDR kennt seine Verzeichnisse und wenn jemand Channellogos separat paketieren will, dann muss er den Pfad dafür schon selber festlegen. Wenn es durch die VDR-Konfiguration gesteuert werden soll, dann bleibt nur das "ResourceDirectory", bzw. ein Unterverzeichnis davon. In allen Varianten steht es dem Distributor letztlich frei statt einem Verzeichnis mit "Füllung" dort auch einen Symlink zu platzieren...

  • "Makefile-Variablen" gibt es nicht.


    Es ist nicht verboten einfach eine festzulegen auf die alle Plugins reagieren die Channellogos verwenden. So kann das jede Distribution zentral für sich festlegen.


    Und wenn eine Distribution Kanallogopakete anbietet die /usr/share/channellogos nutzen, dann wäre die Makefilevariable für die VDR/VDR-Pulginpakete natürlich zentral passend dazu gesetzt. Und dann würde automatisch alles passen.


    BTW: Pakete (hier mal aus Debian Blickwinkel) und Kanallogos... Ein Logopack sollte sich nach /usr/share/<logopackname> installieren und dann update-alternative nutzen um sich nach <distributationsspezifischer Logopfad> zu verlinken. Dann würden sich verschiedene Pakete nicht in die Quere kommen und der Nutzer könnte sich per update-alternative den gewünschten einstellen.


    cu

  • Stimmt. Wenn letztlich ein halbwegs allgemeingültiger Konsens gefunden wurde, dann kann dieser im Makefile in eine Variable geschrieben werden und es steht dann jedem frei die ggf. beim Kompilieren zu überschreiben.


    Wobei natürlich auch die Frage besteht, wie "allgemeine Channellogos" aussehen sollten. Es gibt ja noch einige andere Plugins (teilweise ohne TrueColor-Support), die ihre Channellogos teilweise in einem ganz anderen Schema erwarten.

  • Es gab mal die Idee, dass man eine Logo immer im SVG-Format vorliegen hat (flexibelste Ausgangsbasis) und dann daraus Varianten generiert - evtl .über ein fuse-Dateisystem, so dass dynamisch via imagemagick o. ä. eine Datei generiert wird bei Erstbenutzung/ erster Anforderung.


    EDIT: Schaut Euch mal wikimedia an, dass hat einen eingebauten Grafikserver, der aus einem SVG automatisch beliebige PNGs generieren kann in verschiedenen Formaten.


    Gruß
    hepi

  • Wobei natürlich auch die Frage besteht, wie "allgemeine Channellogos" aussehen sollten. Es gibt ja noch einige andere Plugins (teilweise ohne TrueColor-Support),


    Wegen True Color <-> 256 Farben hatte ich ja weiter oben schon was geschrieben. Genauso die Sonderbedürfnisse einiger Plugins (z.B. einige Graphlcd Skins mit 64x64 Pixel ins S/W)


    die ihre Channellogos teilweise in einem ganz anderen Schema erwarten.


    Genau das ist ja das Problem.


    Es gab mal die Idee, dass man eine Logo immer im SVG-Format vorliegen hat (flexibelste Ausgangsbasis) und dann daraus Varianten generiert - evtl .über ein fuse-Dateisystem, so dass dynamisch via imagemagick o. ä. eine Datei generiert wird bei Erstbenutzung/ erster Anforderung.


    Wobei automatisches rendern aus SVG nur bei TrueColor mit hoher Auflösung geht. Und SVG -> Bitmap ist nicht so ganz trivial, da müsste mal jemand richtig forschen.


    Wobei wir dann immer noch das Grundproblem haben das es von den Pluginauthoren auch angenommen werden muss ;)


    cu

  • Ok - Butter bei die Fische ...


    Der Variablenname sollte einheitlich sein, damit die Plugin-Makefiles dies auswerten können. Wie soll sie heissen - oder ist da noch kein Konsens das dies der Weg zu gehen wäre ?


    Wäre ja der perfekte Zeitpunkt da das ganze Makefile-Geraffel eh angefasst werden muss. Oder kann das in der vdr.pc hinterlegt oder inkludiert werden ?

    VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

Jetzt mitmachen!

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