Skindesigner 0.0.3

  • Moin,


    nachdem nun viele initiale Probleme gelöst sind, habe ich mal eine Version 0.0.3 vom skindesigner released. auf vdr-developer.org liegt auch das passende dist File. Weitere Bugmeldungen oder Feature Requests bitte immer aufbauend auf dieser Version.


    Hier nochmal alle Änderungen seit dem initialen Release:



    Ciao Louis

  • Danke, Danke...

    Code
    added token {nummenuitem} as number of item for every list, value starts with 1


    Das funktioniert übrugens, wie es soll ...


    [size=10]nOpacity: Icons
    [size=10]skindesigner: tryoutsglassy

  • Ich versuche gerade den Text für "devices" auszurichten, jedoch will das leider nicht so recht klappen: :(


    Mache ich es so,



    dann sieht es so aus.


    [Blockierte Grafik: http://imagizer.imageshack.us/v2/280x200q90/631/RmAdxe.jpg]



    Mache ich es so,


    Code
    <devices>
            <area x="41%" y="95%" width="70%" height="4%" layer="3">
                ....
            <area x="41%" y="97%" width="70%" height="4%" layer="3">
                ....
        </devices>


    dann sieht es so aus:


    [Blockierte Grafik: http://imagizer.imageshack.us/v2/280x200q90/673/phEGOE.jpg]


    Die Frage ist nun, wie ich das "pixelgenau" ausrichten kann?

  • Das hier:


    Code
    - if a subview is completely not set in a skin, the default menu is used


    sollte ich vielleicht noch ein bisschen betonen: wenn man einen Subview (z.B. die Kanalliste oder die Timerliste) einfach "VDR Standard" ausgeben will, kann man die entsprechende Entity in displaymenu.xml einfach löschen. Dann wird die default Menü Liste benutzt, die Anordnung der Infos wird vom VDR übernommen.


    Ciao Louis

  • 3PO: benutze nur einen loop mit einer area und positioniere die Elemente innerhalb dieser Area entsprechend. Dann kannst du für die zweite Zeile z.B. y="{height(zeile1)}" benutzen (das drawtext, das die erste Zeile zeichnet, musst du dann per name="zeile1" natürlich passend nennen). Was du in welcher Zeile ausgibst, kannst du ja über entsprechende Conditions steuern.


    Ciao Louis

  • ich glaube er will sich anzeigen lassen welcher tuner grade welches cam benutzt


    nur sehe ich an den screenshots das der da eine 1 und eine 2 überlagert


    und ich denke mal es soll auf die gleiche höhe wie die signalstärke ausgabe

  • Also ich und XML werden wohl nie gute Freunde werden. :P


    Habe es jetzt mal so abgeändert:


    Code
    <devices>
            <area x="41%" y="95%" width="70%" height="4%" layer="4">
                <loop name="devices" x="0" y="0" orientation="absolute" columnwidth="{areawidth}" rowheight="{areaheight}">
                    <drawtext condition="{devices[livetv]}" name="row1" x="5" y="0" font="{vdrOsd}" fontsize="65%" color="{clrGray}" text="{devices[source]}" />
                    <drawtext condition="{devices[livetv]}" name="row2" x="5" y="{height(row1)}" font="{vdrOsd}" fontsize="65%" color="{clrGray}" text="Adapter{devices[num]} {devices[type]}" />
                    <drawtext condition="{devices[hascam]}" x="{width(row1)}" y="{height(row1)}" font="{vdrOsd}" fontsize="65%" color="{clrGray}" text="[CAM {devices[cam]}]" />
                </loop>
            </area>
        </devices>


    Allerdings ist das nur C/P mit viel try and error.


    Das ganze sieht jetzt so aus:


    [Blockierte Grafik: http://imagizer.imageshack.us/v2/280x200q90/537/zmC7RJ.jpg]

  • 3PO: beschreibe doch mal was du ausgeben willst...wenn du condition="{devices[livetv]}" und condition="{devices[hascam]}" mischt, macht das nicht so wirklich Sinn. Die erste ist für den Tuner erfüllt, der gearde das liveTV anzeigt, die zweite für jeden Tuner, der gerade einen verschlüsselten Kanal empfängt. Das wird ja bei jedem Schleifendurchlauf (also für jeden Tuner) neu passend gesetzt.


    Ich habe den Eindruck, du hast das Prinzip noch nicht so ganz verstanden...bevor du jetzt ewig rumprobierst ;)


    Ciao Louis

  • [...] noch nicht so ganz verstanden...


    "Noch nicht ganz" ist gut, ich habe überhaupt nichts verstanden. Mit dem XML Zeugs werde ich nicht warm.. :)


    So.


    Code
    <devices>
            <area x="41%" y="95%" width="70%" height="4%" layer="4">
                <loop name="devices" x="0" y="0" orientation="absolute" columnwidth="{areawidth}" rowheight="{areaheight}">
                    <drawtext condition="{devices[livetv]}" name="row1" x="5" y="0" font="{vdrOsd}" fontsize="65%" color="{clrGray}" text="{devices[source]}" />
                    <drawtext condition="{devices[livetv]}" name="row2" x="5" y="{height(row1)}" font="{vdrOsd}" fontsize="65%" color="{clrGray}" text="Adapter{devices[num]} {devices[type]} [CAM {devices[cam]}]" />
                </loop>
            </area>
        </devices>


    ist es aber auch nicht besser.


    Angezeigt werden soll es so, wie in meinem ersten Posting im Thread, nur halt passend zur Signalanzeige.


    Mich interessiert in dieser Ansicht auch nur dass, was das "livetv device" gerade macht.



    Ich hänge mal meine ganze displaymenu.xml an. ;)

  • 3PO: Dein <signalquality> ist ziemlicher Murks...räume doch da erst mal auf. Verusche doch erst mal im Wiki die Bedeutung der einzelnen Parameter nachzulesen, man merkt, du hast die noch nicht alle verstanden. In <signalquality> würde ich für die Signalwerte auch nur eine area verwenden, die genau so hoch und genau so ausgerichtet ist wie die area in <devices>, in die du die device Info zeichnest. Dann kannst du auch die Texte von der Höhe her gleich ausrichten.


    Ciao Louis

  • Wenn du willst, darfst du deine Releases auch gerne im git taggen, dann kann man schöne Versionsnummern mit "git describe" erstellen. :)


    Lars.

  • Moin,

    louis: Ich möchte in displayreplay gerne etwas anderes darstellen, wenn die Schnittmarke gerade ausgewählt ist.
    Gibt es dafür schon eine Condition. Im SkinSkeleton konnte ich nichts finden.


    was genau verstehst du unter "Schnittmarke gerade ausgewählt"? Wenn man mit 7 / 9 eine Schnittmarke angesprungen hat? Das gibt es aktuell noch nicht, könnte ich aber einbauen. Gute Idee...


    Ciao Louis

  • Moin Lars,


    Wenn du willst, darfst du deine Releases auch gerne im git taggen, dann kann man schöne Versionsnummern mit "git describe" erstellen.


    das ist aber nett dass ich das darf ;) Spass bei seite...hast du mal nen Link wo das ein bisschen genauer beschrieben ist? Bin nicht so der Git Profi, zu mehr als commit und push reicht es nicht ;)


    Ciao Louis

  • yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Die einfache Variante ist

    Code
    git tag 0.0.3 <commitid>
    git push --tags


    Die schöne Variante ist mit Text.

    Code
    git tag -a 0.0.3 <id>


    Tags werden nicht automatisch gepusht, das muss man wie oben manuell machen (warum auch immer).
    Kann auch sein, dass man einen einzelnen Tag direkt pushen kann

    Code
    git push origin <tag>


    Das Tag müsste dann auch online sein, hab ich aber noch nie getestet, ich nimm einfach "--tags".


    Das Schöne ist dann, dass man direkt den getaggten Stand auschecken kann bzw. schöne fortlaufende Versionsnummer mit "git describe" erstellen kann (geht am besten mit annotated tags).
    http://git-scm.com/docs/git-describe


    Das git-Buch ist aber auch ansonsten empfehlenswert. :)


    Lars.

Jetzt mitmachen!

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