Skindesigner 0.8.8

  • Zitat von Louis

    Mache einfach die Schrift etwas kleiner, damit der Inhalt auf 8192px Höhe passt. Ist nicht besonders schön, aber aktuell der einzige Workaround. Im Hintergrund in einem solchen Fall mit mehreren Pixmaps zu hantieren und die dann "zusammenzukleben" ist sehr umständlich...ich denke nicht das ich das implementiere.


    Hm das funktioniert so bei mir nicht. Hab zuerst die Schrift verkleinert und danach mal testweise alle Zeilen mit "drawtext" oder "drawtextbox" in plug-weatherforecast-weatherforecastdetailhourly.xml gelöscht. Selbst dann bleibt das Menü -wie im Screenshot- schwarz. Es geht um das Menü, das man erreicht, indem man im weather-Plugin auf "Die nächsten 48 Stunden" geht und dann OK drückt.
    Wird es denn bei jemandem korrekt angezeigt (mit blackhole Skin oder bluestyle Skin)?

    Meine VDRs:
    >>>Mac mini 2010 mit 2x Sundtek SkyTV Ultimate III, Logitech Harmony 300i, yavdr-0.5a mit softhddevice<<< >>>ZOTAC D2550 ITX-WIFI Supreme mit DD Cine S2, Gehäuse OrigenAE M10, Logitech Harmony 300i, yavdr-0.5a mit softhddevice<<< >>>Raspberry Pi
    2 mit Sundtek SkyTV Ultimate IV, raspbian, rpihddevice-Plugin, Logitech Harmony 200<<<

  • Moin maz,

    Hm das funktioniert so bei mir nicht. Hab zuerst die Schrift verkleinert und danach mal testweise alle Zeilen mit "drawtext" oder "drawtextbox" in plug-weatherforecast-weatherforecastdetailhourly.xml gelöscht. Selbst dann bleibt das Menü -wie im Screenshot- schwarz. Es geht um das Menü, das man erreicht, indem man im weather-Plugin auf "Die nächsten 48 Stunden" geht und dann OK drückt.
    Wird es denn bei jemandem korrekt angezeigt (mit blackhole Skin oder bluestyle Skin)?


    naja, sinnvoll wäre es, die loop Definition anpassen:


    Code
    <loop name="hourly" ... rowheight="{areaheight}/4">


    Dadurch wird natürlich, egal was sich im loop befindet, pro Loopelement eine Höhe von areaheight/4 berechnet, was bei 48 Stunden 12 mal die areaheight ausmacht...bei ca. 800px ist das ein bisschen mehr als 8192 ;)


    Du musst schon ein bisschen mitdenken und nicht alles zu 100% als bare Münze nehmen, was ich hier so ungeprüft ablasse :D


    Ciao Louis

  • Hi Chris,

    Also alles in allem läuft das neue Gespann mit Skindesigner und dem OpenGL Softhddevice echt gut. Gerade auf meiner "lahmen Gruke" läuft mein Plex Plugin deutlich besser,


    das freut mich zu hören. Die "lahme Gurke" konnte ich ja nicht auf mir sitzen lassen ;)


    Jetzt könnte man ja mit ein paar "Eye-Candys" beginnen. Zum Beispiel mit "Soft Scrolling" ;)


    Wie genau meinst du das? Das das eben noch aktive Listenelement beim Scrollen "ausgefadet" wird und das neue aktive Listenelement "eingefadet" wird? Das habe ich mir auch schon überlegt, käme sicherlich edel. Ist allerdings ein bisschen tricky zu implementieren...muss ich mal bei Gelegenheit testen. Als nächstes wollte ich erst mal den Skindesigner und den TVGuideNG für den VDR 2.3.1 lauffähig machen...


    Ciao Louis

  • Moin,

    ch mein das so, das die listen bzw. Grid Elemente nicht als ganzes erscheinen und verschwinden. Sondern pixel für pixel eingefahren werden. Erst schnell beschleunigt und zum Schluss abgebremst.
    Das sähe schon geil aus ;)


    Hm, das kann ich mir jetzt irgendwie nicht so wirklich vorstellen. Meinst du, dass die komplette Liste / das komplette Grid eingefahren werden? Oder doch die einzelnen Listenelemente beim Scrollen? Die einzelnen Elemente sind beim Scrollen doch schon da, was willst du denn da pixelweise einfahren? Oder meinen wir das gleiche und sprechen verschiedene Sprachen? ;)


    Hast du vielleicht ein Beispiel, wo ich mir das anschauen könnte?


    Ciao Louis

  • Na so wie zum Beispiel beim scrollen auf dem Smartphone...
    Nur das der scrollvorgang nicht mitten in einem Listenelement stopt, sondern zum nächsten "schnappt".


    Sorry...ich verstehs immer noch nicht. Erklär das doch mal so, dass es auch ein Ü40 versteht :D


    Ciao Louis

  • bis das nächste Menüelement in der Mitte ist.


    Hm, genau das geht beim VDR leider nicht...also dass das selektierte Listenelement immer in der Mitte ist. Wenn man mal durch ein VDR Menü scrollt sollte man das auch ziemlich schnell merken ;) Da habe ich im Skindesigner auch keinen Einfluss drauf, das gibt mir der VDR so vor.


    Ciao Louis

  • So meinte ich das nicht... hmm, ich versuch es nochmal anhand eines Beispiels:


    Annahme: Es gibt ein Grid mit 10 Zeilen, davon können 3 dargestellt werden. Jetzt wird nach unten navigiert damit die aktuell angezeigten Zeilen Verschwinden und die nächsten 2 dargestellt werden können. Das geschieht ja mehr oder weniger "abrupt"
    Nun könnte man diesen "Scrollvorgang" ja animieren, also die aktuell dargestellten Zeilen "Pixelweise" nach oben schieben und gleichzeitig die neuen Zeilen von unten nachschieben.


    Anderst ausgedrückt: du stellst zwei Zeilen dar, das "Pixmap" hat aber noch 2 Zeilen oben und unten, so das du im Prinzip nur den sichtbaren Bereich langsam verschiebst.


    Ich weiß nicht wie ich es sonst noch erklären soll ...

  • Zu deiner Beruhigung: ich hab verstanden, was du willst, hab aber leider keine Ahnung vom skindesigner.


    Es sollte bloß so implementiert sein, dass die Bedienung nicht ausgebremst wird. Wenn man das Ende einer Animation abwarten muss, wird sie irgendwann nervig, auch wenn sie schick ist. :)


    Lars.

  • In Kodi ist es auch animiert gelöst: Video
    wobei da der Cursor standardmäßig erst bis zum Ende der Liste springt und dann zeilenweise weiter... bin mir nicht sicher ob das die optimale Lösung ist.

    Meine VDRs:
    >>>Mac mini 2010 mit 2x Sundtek SkyTV Ultimate III, Logitech Harmony 300i, yavdr-0.5a mit softhddevice<<< >>>ZOTAC D2550 ITX-WIFI Supreme mit DD Cine S2, Gehäuse OrigenAE M10, Logitech Harmony 300i, yavdr-0.5a mit softhddevice<<< >>>Raspberry Pi
    2 mit Sundtek SkyTV Ultimate IV, raspbian, rpihddevice-Plugin, Logitech Harmony 200<<<

  • chriszero: jetzt habe auch ich es verstanden ;)


    Hm, das müsste man mal ausprobieren, wie das kommt. Wenn dann muss das relativ schnell gehen, ansonsten gebe ich Lars recht, dass die Verzögerung nerven könnte. Muss ich mir mal genauere Gedanken darüber machen, wie man das am besten implementiert...
    Wenn ich dann aber schon dabei bin, werde ich auch mal den von mir beschriebenen Effekt ausprobieren :D


    Sollten Features sollten dann wohl optional in die Skins eingebaut werden...zum einen könnte ich mir vorstellen, dass das ohne High Level OSD nervt, zum anderen gibt es bestimmt genug, die das nicht wollen.


    tomas: scrollende Pixmaps benutze ich ja auch schon z.B. in <areascroll>. Der Unterschied ist jedoch, dass "normalerweise" erst der komplette Inhalt der Pixmap auf den Drawport gezeichnet wird. Eine Pixmap besteht aus einem ViewPort und einem Drawport. Der ViewPort ist quasi das "Gucklock", der DrawPort ist das Blatt Papier, auf dem gezeichnet wird. Wenn die Animation läuft, wird der DrawPort dann entsprechend verschoben. In chriszeros Vorschlag wäre es aber uneffizient, sofort das komplette Grid (auch den nicht sichtbaren Teil) zu zeichnen und dann nur den Drawport zu verschieben...insbesondere weil man ja nicht weis, wie viele Elemente das Grid hat. Wird also ein bisschen komplizierter ;)


    Ciao Louis

  • Nunja, ich würde auch nicht das ganze grid zeichnen.
    Ich würde vom libskindesignerapi Plugin aus managen. Positionsangaben kleiner 0.0 und größer 1.0 sind außerhalb des sichtbaren.
    So könnte man, je nach dem wieviel Zeilen gescrollt wird, immer die Anzahl Zeile/Reihen die nötig sind vorhalten vorhalten.
    Des weiteren würde ich die Animation entweder beschleunigen oder abbrechen sobald ein weiterer Input vom Nutzer kommt, also wiederholtes drücken. Beim key_repeat könnte man auch in eine fortlaufende etwas langsamere Animation über gehen.


    Für die Animationen im code könnte man eine Schnittstelle definieren. IScrollAnimate(...) so wäre es möglich verschiedene Animationen zu wählen, "Slide", "Gummiband", "Feder" ...

  • Moin Chris,


    ich fände es unschön, wenn für ein solches Feature eine Abhängigkeit zu einem Plugin (wie deinem Plex Plugin oder dem TVGuideNG) bestehen würde. Aus meiner Sicht muss das rein über den Skin bestimmt werden können...und das steht im Widerspruch dazu, dass das Plugin diesen Effekt "vorgibt".


    Generell blöd ist die Tatsache, dass ich im Skindesigner selbst nichts über Tastendrücke weis. Ich bekomme lediglich die Info, welche Listenelemente bzw. Gridelemente dargestellt werden sollen. Ob der User jetzt die "down" Taste oder die "right" Taste für Seitenweises blättern gedrückt hat, kann ich nicht herausfinden. Im einem Plugin weis man das, da hat man die volle Kontrolle. Wie gesagt würde ich die "Softscroll" Features gerne ausschließlich im Skindesigner implementieren...


    Ciao Louis

  • Hallo Louis,
    ich versuche gerade meinen Skin an die neue Version anzupassen.
    Dabei gibt es folgendes Problem im displaychannel.xml.


    Wenn ich diese Sektion einbinde bleibt das OSD beim ausfaden hängen (siehe Bild).
    Ohne diese Sektion flutscht es ganz gut rein und raus,
    Hast Du eine Idee dazu?


  • Moin,


    hast du mal getestet, dem <devices> ein delay und eine shifttime zu geben (ggf. auch 0). Du kannst ja mal ein bisschen mit den Werten spielen.


    Btw...die condition sollte auch in das <devices> Element.


    Ciao Louis

Jetzt mitmachen!

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