Version 0.5.0: Skin Installer

  • Moin,

    wie vor einiger Zeit diskutiert habe ich im Skindesigner einen "Skin Installer" implementiert. Im Skindesigner Setup Menü besteht nun die Möglichkeit, Skins nachzuinstallieren und bereits installierte Skins aus dem Git zu aktualisieren.

    Die vom Skindesigner installierten Skins werden in einem separaten Verzeichnis installiert, in dem der User, unter dem der VDR läuft, Schreibrechte haben muss. Neben dem bereits existierenden Startparameter "-s <SKINPATH>, --skinpath=<SKINPATH> Set directory where xml skins are stored by Package Manager" gibt es einen neuen Startparameter "-i <INSTALLERPATH>, --installerpath=<INSTALLERPATH> Set directory where xml skins are stored by Installer". Ist dieser Parameter nicht gesetzt, wird <ConfigDirectory>/installerskins benutzt.

    Im Skindesigner wird jetzt nur noch metrixHD als "Referenzskin" mit ausgeliefert. Alle weiteren Skins, die man nachinstallieren kann, sind in einem XML File hinterlegt. Ich habe mal alle Skins, die mir jetzt so bekannt sind, aufgenommen. Sollte etwas fehlen oder der jeweilige Autor sich die Vorschau etwas anders wünschen, einfach bescheid geben, dann kann ich das anpassen.

    Das beste ist es, das bestehende skins Verzeichnis komplett zu löschen und (für Selbstbauer) per "make install" neu und "sauber" zu installieren. Die Paketbauer müssten mal schauen, wie man das am besten macht, aus meiner Sicht wäre es am sinnvollsten, wenn nur der Skindesigner ausgeliefert wird und die Skins dann über den Skindesigner installiert werden. Es funktioniert natürlich auch weiterhin, Skins in den "skinpath" zu installieren.

    Jo...dann testet mal fleissig. Da sind sicherlich noch ein paar Bugs versteckt ;)

    Achtung: bitte wie im README beschrieben manuell einen Symlink auf das "dtd" Verzeichnis anlegen in dem Verzeichnis, in dem auch die vom skindesigner installieren Skins liegen. Wenn also z.B. das dtd Verzeichnis unter /etc/vdr/plugins/skindesigner/dtd liegt und die Skins nach /bla/fasel/ installiert werden, dann den Symlink "ln -s /etc/vdr/plugins/skindesigner/dtd /bla/fasel/dtd" anlegen.

    Ciao Louis

  • PS: was ich vergessen habe: es gibt ein neues Template plug-setup-skinpreview.xml, die für das Skin Preview genutzt wird. Ist dieses Template in einem Skin nicht vorhanden, werden keine Screenshots im Preview angezeigt, es wird nur ein Standard Text ausgegeben.

    Also sollten die Skinautoren dieses Template möglichst erstellen... ;)

    PPS: was ich auch noch vergessen habe: die libskindesignerapi Version hat sich auf 0.0.2 erhöht, da ich eine kleine Änderung einbauen musste, damit ich die Schnittstelle für die Ausgabe des SKin Previews nutzen konnte. Also sollten mit dem Update vom Skindesigner auch alle die API nutzenden Plugins gegen die neue API gebaut werden.

    Ciao Louis

  • Ja coole Sache. Muss ich mal testen. BTW: Bei den Screenshot sehe ich auch das ich den Font DS-Digital noch rauswerfen muss. Den gibt's in glasslike nicht ;)
    Danke fürs Update
    Gruß Patrick

    Gruß Patrick

    [size=8]* Meine NeverEndingProjects ;) *

    Meine VDR's

    1x Dell Optiplex GX620 VDR 2.2.0 / 4x DVB-S2 (DD Cine S2 Flex) / 1x Sundtek DVB S2 USB auf Debian Jessie als Headless-Streaming-Server
    4x RaspberryPi1/2/3 VDR 2.2.0 / rpihddevice-Frontend und KODI auf Raspbian Jessie eigenkonstruktion als Mediacenter und Streaming-Client


    vectra --- glasslike ---

  • Hallo Louis,

    da hast du mal wieder den Zauberstab geschwungen ;) feine Sache :tup


    Zwei Kleinigkeiten sind mir aufgefallen.

    Bei der Installation mit 'make install':

    Code
    cd /usr/local/lib ; if [ ! -e libskindesignerapi.so ] ; then ln -s libskindesignerapi.so.0.0.2 libskindesignerapi.so; fi


    Wenn man hier vorher nicht händisch den alten link (und lib) gelöscht hat, sieht das dann so aus:

    Code
    libskindesignerapi.so -> libskindesignerapi.so.0.0.1
    libskindesignerapi.so.0 -> libskindesignerapi.so.0.0.2
    ibskindesignerapi.so.0.0.1
    libskindesignerapi.so.0.0.2


    Keine Ahnung, ob du das ändern willst oder denkst, wer händisch installiert, sollte auch wissen, wie er das selbst hinbiegt...

    Beim Herunterladen der Screenshots sollte man evtl einen timeout oder.... einbauen. Beim Testen war die shady-Seite vorübergehend nicht erreichbar, in so einem Fall bleibt das OSD 'hängen' bzw ist nicht mehr bedienbar.


    Ich bekomme immer nur "Skin NICHT installiert"
    Das sagt mega viel aus

    'Nix für Ungut' .... vielleicht so 'mega viel' wie dein Post? Ich verstehe zumindest nur Bahnhof ;)

    Wenn du das Installieren und Aktualisieren übers OSD meinst, das ist hier kein Problem....z.B.:

    Display Spoiler

    --2015-05-30 21:48:31-- https://dl.dropboxusercontent.com/u/75246204/bla…Perlbo13-03.zip
    Auflösen des Hostnamens »dl.dropboxusercontent.com (dl.dropboxusercontent.com)« … 54.243.137.185, 54.235.101.248, 54.225.210.31, ...
    Verbindungsaufbau zu dl.dropboxusercontent.com (dl.dropboxusercontent.com)|54.243.137.185|:443 … verbunden.
    HTTP-Anforderung gesendet, auf Antwort wird gewartet … 200 OK
    Länge: 1500481 (1,4M) [application/zip]
    Wird in »»/tmp/blackholePerlbo13-03.zip.2«« gespeichert.

    blackholePerlbo13-03.zip.2 100%[====================================================================================================================================================>] 1,43M 960KB/s in

    2015-05-30 21:48:33 (960 KB/s) - »»/tmp/blackholePerlbo13-03.zip.2«« gespeichert [1500481/1500481]

    Archive: /tmp/blackholePerlbo13-03.zip
    creating: /home/tomsax/video/plugins/skindesigner/skins/blackholePerlbo/
    inflating: /home/tomsax/video/plugins/skindesigner/skins/blackholePerlbo/globals.xml
    inflating: /home/tomsax/video/plugins/skindesigner/skins/blackholePerlbo/setup.xml
    ......
    ......

    Gruß,
    Tomas

    shady, a skin for skindesigner: Screenshots, Git :|:|:|:|:|: shady_KISS Git :|:|:|:|:|: a little bit outdated but still running: anthra-skins for text2skin

  • louis
    Ein erster Bug ist im README dort fehlt bei den Requirements libcurl . :D

    Gruß
    Frodo

    Meine VDR Hardware

    YaVDR 0.6: Intel DQ67SW, Digital Devices Octopus Duo CI, 2x DD DuoFlex S2 V4, NVIDIA GT 610 (GF119), IMON VFD

    YaVDR 0.6: Asus Z170I PRO GAMING, NVIDIA GT 1030 (GP108-A), SilverStone ML02B-MXR, IMON LCD

    YaVDR 0.6: Intel DH67CF, TT S2-6400, NVIDIA GTX 1050 (GP107-A)

    YaVDR 0.5: Intel DH67BL, TT S2-6400, TT S2-3200, NVIDIA 210 (GT218)

    YaVDR 0.6: Zotac D2550ITX, NVIDIA GT 610 (GF119) onboard, IMON VFD

  • Copperhead
    Also ich bekomme auch die "nicht installiert" Meldung. Nach einem Restart des VDR ist der Skin dann allerdings da und auswählbar.

    louis
    Kann man die Skins auch wieder übers OSD löschen?

    Gruß Patrick

    Gruß Patrick

    [size=8]* Meine NeverEndingProjects ;) *

    Meine VDR's

    1x Dell Optiplex GX620 VDR 2.2.0 / 4x DVB-S2 (DD Cine S2 Flex) / 1x Sundtek DVB S2 USB auf Debian Jessie als Headless-Streaming-Server
    4x RaspberryPi1/2/3 VDR 2.2.0 / rpihddevice-Frontend und KODI auf Raspbian Jessie eigenkonstruktion als Mediacenter und Streaming-Client


    vectra --- glasslike ---

  • Moin,

    Ich bin mir sicher, louis weiß worauf ich hinaus will.


    da überschätzt du mich aber ;) Ich habe jetzt mal ein bisschen Debug Output beim Installieren eines Skins im aktuellen Git eingebaut, also bitte nochmal neu ziehen und bauen. Es wird aber auch pro Aktion ein Logfile in /tmp/ geschrieben, das auch entsprechend benamst ist. Da findet man dann die Ursache, falls ein Fehler aufgetreten ist.

    Wenn es das Repository z.B. schon gibt, dann gibt es auch einen Fehler...müssen wir mal schauen was da bei euch schief läuft.

    Ciao Louis

  • Beim Herunterladen der Screenshots sollte man evtl einen timeout oder.... einbauen. Beim Testen war die shady-Seite vorübergehend nicht erreichbar, in so einem Fall bleibt das OSD 'hängen' bzw ist nicht mehr bedienbar.


    Stimmt, ich hab mal nen Timeout von 5s pro Bild eingebaut.

    Ciao Louis

  • louis
    Kann man die Skins auch wieder übers OSD löschen?

    Nein das ist nicht vorgesehen...finde ich auch unnötig irgendwie, die paar MB die ein Skin hat tun doch nicht weh ;)

    Ciao Louis

  • Wenn ein Skin installiert wurde, dann ist es nicht mehr möglich den Preview zu sehen.

    Ich finde den Preview jedoch sehr hilfreich um zu sehen, welche Fonts verwendet werden. Wäre daher gut, wenn die Funktion auch bei installieren Skin erhalten bliebe.
    Dann sollte die Bedienung aber einheitlich sein und der Preview z.B. auf Taste Blau und nicht auf OK, da bei installiertem Skin hier die Einstellungen vorgenommen werden.

    Gruß und herzlichen Dank für die tolle Arbeit
    eurofinder

    Hardware: Linux4Meida cine S2 DVB-S2 * M3N78-VM *Athlon64 X2 4850e AM2 * 2 GB Ram* WD10EADS Caviar Green 1TB
    Software : gen2vdr

  • Moin,

    Was hat sich an der libskindesignerapi geändert? Neue tolle Sachen die man brauchen kann?


    das habe ich ganz übersehen...es sind eigentlich keine neuen Features dazugekommen, ich habe nur eine Erweiterung eingebaut, dass die Lib auch damit zurechtkommt, wenn das Menü bei der Anzeige erst mal geschlossen und dann wieder geöffnet wird, da das im Setup Menü ganz gerne mal passiert ;)

    Ciao Louis

  • Moin,

    Sehe ich das richtig, dass du bei der libskindesignerapi eine vorhandene Klasse mitten drin erweitert hast?
    http://projects.vdr-developer.org/git/vdr-plugin…340aa21bb64e06e

    Dann reicht es nicht, nur hinten die minor-version hochzuzählen. Sowas ist ein Grund, um die major-version hochzuzählen, weil das ABI nicht mehr kompatibel ist. Wenn du z.B. eine neue Klasse hinzufügst, die nichts an den alten ändert, dann reicht es, die minor-version hochzusetzen.
    Und es spielt keine Rolle, dass es im private-Bereich ist, das Layout des Objekts ändert sich trotzdem.

    Ich bin jetzt aber nich nicht am PC, muss das noch genauer untersuchen.

    Lars.

    vdr2: yaVDR 0.5/softhddevice @ G540, Intel DH67BLB3, Asus GT610/2GB, DDBridge + 2x DuoFlex C/T
    hdvdr: yaVDR unstable/softhddevice @ E8400, Asus P5Q SE Plus, 1x L4M-TwinCI + Flex C/T, 1x Sundtek MediaTV Pro, GT520
    Plugins: | avahi4vdr | dbus2vdr | dynamite | epg2timer | noepg | pvrinput | sundtek |

  • @ louis

    Wenn ich mir die Skins z.B. nach

    Code
    --installerpath=/media/sda5/vdr-share/skindesigner/skins

    installiere klappt das nicht immer. Ziehe ich glasslike oder vectra schmiert nach kurzer Zeit der VDR ab, die Verzeichnisse sind dort erstellt mit dem Ordner ".git". Installiere ich blackhole zeigt er mir an dass dieser Skin "kein Setup" hat.

    Gruß utiltiy

    meine VDR

    vdr03: Antec Remote Fusion, Intel DH67BL, Celeron G1620, GT630, 2x 2GB DDR3 - Hynix, SDA SATA 40GB, SDB SATA 1.5TB, L4M Cine S2 [yaVDR/vdr4arch]
    vdr04: Antec Remote Fusion Micro, Intel DH67BL, Celeron G550, GT630, 2x 2GB DDR3 - Kingston, SDA SATA 160GB WD, SDB SATA 3TB WD Red, L4M Cine S2 [yaVDR/vdr4arch]


    VDR Projects

  • @utility: hm, seltsam...poste doch bitte mal das log beim Start (auf "skindesigner" greppen) und wenn du versuchst einen Skin zu installieren...

    Ciao Louis

  • Sehe ich das richtig, dass du bei der libskindesignerapi eine vorhandene Klasse mitten drin erweitert hast?

    Jo, was muss das muss ;) Hm, ich dachte nur bei nicht kkompatiblen Änderungen muss die Major Version hochgezählt werden...

    Ciao Louis

  • Die Änderung ist ja inkompatibel, weil mitten drin Felder hinzugefügt wurden. Damit ändert sich das binäre Layout des Objekts.

    Lars

    vdr2: yaVDR 0.5/softhddevice @ G540, Intel DH67BLB3, Asus GT610/2GB, DDBridge + 2x DuoFlex C/T
    hdvdr: yaVDR unstable/softhddevice @ E8400, Asus P5Q SE Plus, 1x L4M-TwinCI + Flex C/T, 1x Sundtek MediaTV Pro, GT520
    Plugins: | avahi4vdr | dbus2vdr | dynamite | epg2timer | noepg | pvrinput | sundtek |

  • Änderungen sind ja auch kein Problem, das darf man. Es ist dann nur eine neue lib. :)
    Wenn man sowas nicht richtig beachtet, kann es hier und da knallen.

    Shared libs sind nicht einfach und es gibt leider auch viel zu viele große Projekte, die das immer mal wieder falsch machen. Deshalb versuche ich auch immer pauschal alle Plugins neuzubauen, wenn eine Basis-lib sich ändert. Sicher ist sicher...

    Lars

    vdr2: yaVDR 0.5/softhddevice @ G540, Intel DH67BLB3, Asus GT610/2GB, DDBridge + 2x DuoFlex C/T
    hdvdr: yaVDR unstable/softhddevice @ E8400, Asus P5Q SE Plus, 1x L4M-TwinCI + Flex C/T, 1x Sundtek MediaTV Pro, GT520
    Plugins: | avahi4vdr | dbus2vdr | dynamite | epg2timer | noepg | pvrinput | sundtek |

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!