Moin,
im Git ist nun die Version 0.0.4 vom Skindesigner. Alle Änderungen seit der Version 0.0.3 finden sich in der History.
Neben vielen Fixes ist die wichtige Neuerung das Plugin Interface. Es ermöglicht anderen Plugins, die Template Engine vom Skindesigner mit zu benutzen. Plugins können somit eigene Menülisten (wie bei Schedules, Channels, Timers, Recordings) und eigene Detailansichten darstellen, die auf Skindesigner Templates basieren. Dabei können natürlich alle Features vom Skindesigner benutzt werden. Das Plugin funktioniert natürlich auch mit Nicht-Skindesigner-Skins und mit Skindesigner Skins, die keine dedizierten Templates für das Plugin zur verfügung stellen. In diesen Fällen werden die Standardansichten vom VDR benutzt.
Ich habe in den Skindesigner Sourcen ein Beispiel Plugin skindesclient-0.0.1 hinterlegt, das die Funktionsweise demonstriert. Ein Plugin, dass das Skindesigner Interface benutzen will, muss das libskindesigner Verzeichnis beinhalten und im Makefile libskindesigner/skindesignerosdbase.o als Objekt inkludieren. Dadurch werden die Klassen cSkindesignerOsdMenu und cSkindesignerOsdItem zur Verfügung gestellt, von denen nun die entsprechenden Objekte im Plugin anstelle von cOsdMenu bzw. cOsdItem erben müssen. Im Beispielplugin ist eigentlich alles notwendige demonstriert...über das Interface müssen dann einfach nur zusätzlich Tokens an den Skindesigner übergeben werden, die dann in den Templates zur verfügung stehen und benutzt werden können.
Beim Start des Plugins müssen Skindesigner per Servicecall die zu benutztenden Templates bekannt gemacht werden. Die Templates müssen im "xmlfiles" Verzeichnis des jeweiligen Skins vorhanden sein. Als Namenskonvention wird "plug-<pluginname>-<templatename>.xml" benutzt.
Ich denke, das neue Plex Plugin möchte das gerne nutzen Es spricht aber auch nichts dagegen, bestehende Plugins dahingehend zu erweitern, dass optional Templates benutzt werden. Das Mail Plugin böte sich z.B. an, da könnte man dann eine Vorschauansicht für die Mails in der Liste der Mails (wie in Outlook) basteln. Ich habe da mal kurz reingesehen, das war mir aber ehrlich gesagt zu "komisch" implementiert, als dass ich das auf die schnelle hätte umstellen können Vielleicht mag sich das ja mal jemand anschauen, der Lust darauf und Bedarf daran hat.
Ciao Louis