HowTo --> LCD/OLED Anzeige ändern/anpassen

  • phantasm hat mich angefragt, wie man die LCD/OLED Anzeige für StandBy beim NemesisGlassLine_Mod Skin ändern kann, damit es so aussieht wie bei ihm auf der DBox. (Siehe Bild unten im Dateianhang)
    Damit dies vielleicht auch mal anderen hilft, mach ich dies öffentlich in diesem Tread.


    OLED/LCD Anzeige im StandBy


    Der Font auf dem Bild, scheint ziemlich gleich zu sein wie der "ds_digital" der sowiso schon im Gemini für Enigma2 im Fonts Verzeichniss liegt. (CVS Images haben den Font NICHT "an Board".)
    Da der in diesem Skin noch nicht verwendet wird, müssen wir diesen erst da definieren.


    Und zwar in diesem Teil:
    [php] <!-- Fonts -->
    <fonts>
    <font filename="nmsbd.ttf" name="Regular" scale="90" />
    <font filename="lcd.ttf" name="LCD" scale="100" />
    <font filename="ae_AlMateen.ttf" name="Replacement" scale="90" replacement="1" />
    <font filename="tuxtxt.ttf" name="Console" scale="100" />
    <font filename="ds_digital.ttf" name="Digital" scale="100" />
    </fonts>[/php]
    Die letzte Zeile (<font filename="ds_digital.ttf" name="Digital" scale="100" />) habe ich da schon eingefügt.
    font filename= [Der Filename des Fonts]
    name= [Den Namen unter dem der Font im Skin angesprochen werden kann. Den kann man sich aussuchen er darf nur nicht schon verwendet sein.]
    scale= [Die GLOBALE Skalierung (grösse) des Fonts. Die jeweilige grösse wird dann aber an entprechender Stelle von dieser globalen grösse aus noch definiert.]



    Die LCD/OLED Anzeige für StandBy ist hier zu finden:
    [php] <!-- LCD/OLED StandBy-Clock-->
    <screen name="StandbySummary" position="0,0" size="132,64">
    <widget source="global.CurrentTime" render="Label" position="0,0" size="132,44" font="Regular;55" halign="center" >
    <convert type="ClockToText" />
    </widget>
    <widget source="session.RecordState" render="FixedLabel" text="record" position="0,44" size="132,20" font="Regular;20" halign="center" zPosition="1" >
    <convert type="ConfigEntryTest">config.usage.blinking_display_clock_during_recording,True,CheckSourceBoolean</convert>
    <convert type="ConditionalShowHide">Blink</convert>
    </widget>
    </screen>[/php]
    Hier erst mal überall den Font ändern. "Regular" durch "Digital" ersetzten, später dann beim ausprobieren noch die Grösse anpassen.



    Die Urzeit wird hiermit beschrieben. (Font, Grösse, und Position schon geändert):
    [php] <widget source="global.CurrentTime" render="Label" position="0,0" size="132,43" font="Digital;53" valign="top" halign="center" >
    <convert type="ClockToText" />
    </widget>[/php]



    Damit unten während einer Aufnahme der Text "Aufnahme" Blinkt brauchts das hier (Font, Grösse, und Position schon geändert):
    [php] <widget source="session.RecordState" render="FixedLabel" text="record" position="0,43" size="132,21" font="Digital;26" halign="center" zPosition="1" >
    <convert type="ConfigEntryTest">config.usage.blinking_display_clock_during_recording,True,CheckSourceBoolean</convert>
    <convert type="ConditionalShowHide">Blink</convert>
    </widget>[/php]
    Wer das nicht will, kann das in der Enigma2 Config ausschalten, oder aber diesen Teil einfach löschen, dann passiert auch nix wenn es in der E2 Config eingeschalten wird.



    Nun brauchen wir aber auch noch Wochentag und Datum.
    Dies müssen wir nun auch im selben Screen einfügen. (Der Screen beginnt mit: <screen name="StandbySummary"..... und endet mit: </screen> )


    Und dies machen wir mit:
    [php] <widget source="global.CurrentTime" render="Label" position="0,43" size="132,21" font="Digital;26" halign="center" >
    <convert type="ClockToText">Format:%a, %d.%b</convert>
    </widget>[/php]
    Wie das Format von "global.CurrentTime" aussehen soll, wird im converter "ClockToText" definiert.
    Und was da alles so möglich ist, findet man schlussendlich in dem Python file für den Converter.
    Und was da drinn steht, hat vali schon mal hier gepostet. ---> Woher bekommt man die Infos?



    Der ganze Screen für die LCD/OLED Anzeige im StandBy sieht dann komplett so aus:
    [php] <!-- LCD/OLED StandBy-Clock-->
    <screen name="StandbySummary" position="0,0" size="132,64">
    <widget source="global.CurrentTime" render="Label" position="0,0" size="132,43" font="Digital;53" valign="top" halign="center" >
    <convert type="ClockToText" />
    </widget>
    <widget source="session.RecordState" render="FixedLabel" text="record" position="0,43" size="132,21" font="Digital;26" halign="center" zPosition="1" >
    <convert type="ConfigEntryTest">config.usage.blinking_display_clock_during_recording,True,CheckSourceBoolean</convert>
    <convert type="ConditionalShowHide">Blink</convert>
    </widget>
    <widget source="global.CurrentTime" render="Label" position="0,43" size="132,21" font="Digital;26" halign="center" >
    <convert type="ClockToText">Format:%a, %d.%b</convert>
    </widget>
    </screen>[/php]Im Anhang auch die komplette skin.xml für Nemesis.GlassLine_Mod für Gemini 4.0 [VERSION 1.1.7] Der auch für GP4.1 verwendet werden kann.




    OLED/LCD Anzeige im MoviePlayer


    Da ich eine weitere Anfrage per PM bekommen habe wie man die OLED/LCD Anzeige im MoviePlayer ändert, hänge ich das gleich hier an meinen Tread an.
    Weil ich denke sowas soll nicht per PM geklärt werden, damit auch andere mit der selben Frage was davon haben.



    Die OLED/LCD Anzeige für den MoviePlayer ist im Screen "InfoBarMoviePlayerSummary" zu finden, und sieht in meiner skin_user.xml so aus:
    (Die hier verwendete skin_user.xml ist hier zu finden ---> her mit euren skin_user.xml :))


    [php] <!-- LCD/OLED Movie Player-->
    <screen name="InfoBarMoviePlayerSummary" position="0,0" size="132,64">
    <widget source="global.CurrentTime" render="Label" position="4,47" size="60,17" font="Swiss-MAD_UserSkinFont;20" halign="left" >
    <convert type="ClockToText">Default</convert>
    </widget>
    <widget source="session.RecordState" render="FixedLabel" text="R" position="63,47" size="11,17" font="Swiss-MAD_UserSkinFont;20" halign="center" zPosition="1" >
    <convert type="ConfigEntryTest">config.usage.blinking_display_clock_during_recording,True,CheckSourceBoolean</convert>
    <convert type="ConditionalShowHide">Blink</convert>
    </widget>
    <widget source="session.CurrentService" render="Label" position="4,0" size="125,39" font="Swiss-MAD_UserSkinFont;19" halign="center" valign="top" >
    <convert type="ServiceName">Name</convert>
    </widget>
    <widget source="session.CurrentService" render="Progress" position="4,41" size="125,6" borderWidth="1" >
    <convert type="ServicePosition">Position</convert>
    </widget>
    <widget source="session.CurrentService" render="Label" position="60,47" size="69,17" font="Swiss-MAD_UserSkinFont;20" halign="right" >
    <convert type="ServicePosition">Remaining,Negate,ShowHours,ShowNoSeconds</convert>
    </widget>
    </screen>[/php]


    - Die Uhrzeit wird hiermit definiert:
    [php] <widget source="global.CurrentTime" render="Label" position="4,47" size="60,17" font="Swiss-MAD_UserSkinFont;20" halign="left" >
    <convert type="ClockToText">Default</convert>
    </widget>[/php]Ist aber hier im ersten Post schon erläutert.


    - Damit in diesem Fall zwischen der Uhrzeit und der noch verbleibenden Spielzeit ein "R" blinkt wenn eine Aufnahme läuft, ist dies hier zuständig:
    [php] <widget source="session.RecordState" render="FixedLabel" text="R" position="63,47" size="11,17" font="Swiss-MAD_UserSkinFont;20" halign="center" zPosition="1" >
    <convert type="ConfigEntryTest">config.usage.blinking_display_clock_during_recording,True,CheckSourceBoolean</convert>
    <convert type="ConditionalShowHide">Blink</convert>
    </widget>[/php]Ist aber auch hier im ersten Post schon erläutert.


    - Den Namen der aktuell abgespielte Aufnahme wird hier definiert:
    [php] <widget source="session.CurrentService" render="Label" position="4,0" size="125,39" font="Swiss-MAD_UserSkinFont;19" halign="center" valign="top" >
    <convert type="ServiceName">Name</convert>
    </widget>[/php]Kann also für diese Anfrage einfach gelöscht oder auskommentiert werden.
    (Auskommentiert wird in XML alles was zwischen <!-- und --> steht.)


    - Die Progressbar (Fortschrittsbalken) ist so definiert:
    [php] <widget source="session.CurrentService" render="Progress" position="4,41" size="125,6" borderWidth="1" >
    <convert type="ServicePosition">Position</convert>
    </widget>[/php] um hier die Grösse 3 x so breit zu machen müssen wir einfach die Grösse in der Y Achse vergrössern, und damit die Progressbar nicht einfach nach unten vergrössert wird weil da haben wir ja die Uhrzeit, Aufnahmeanzeige und verbleibende Spielzeit stehen, müssen wir einfach die Position um das was wir vergrössert haben noch oben veschieben.
    [php] <widget source="session.CurrentService" render="Progress" position="4,29" size="125,18" borderWidth="1" >
    <convert type="ServicePosition">Position</convert>
    </widget>[/php]


    - Bliebt noch die Restzeitanzeige:
    [php] <widget source="session.CurrentService" render="Label" position="60,47" size="69,17" font="Swiss-MAD_UserSkinFont;20" halign="right" >
    <convert type="ServicePosition">Remaining,Negate,ShowHours,ShowNoSeconds</convert>
    </widget>[/php]


    Nun damit ist dem "Wunsch" hier leider noch nicht abgeholfen.
    Denn die Uhrzeit und Restzeitanzeige sollen ja den Rest des frei gewordenen Platzes ausfüllen.
    Einfach die Progessbar ganz noch oben schieben (von position="4,29" auf position="4,0" ändern) und bei Uhrzeit und Restzeitanzeige den Font vergrössern geht nicht, weil jetzt schon die volle Breite des OLED/LCD's ausgefüllt wird.
    Es bleibt also z.b. die Möglichkeit Uhrzeit und Restzeitanzeige übereinander darzustellen.
    Dafür einfach Position und Grösse ändern, und die Fontgrösse mit dazu vergrössern.


    Das ganze könnte dann z.b. so aussehen:
    [php] <!-- LCD/OLED Movie Player-->
    <screen name="InfoBarMoviePlayerSummary" position="0,0" size="132,64">
    <widget source="global.CurrentTime" render="Label" position="4,41" size="125,23" font="Swiss-MAD_UserSkinFont;25" halign="center" >
    <convert type="ClockToText">Default</convert>
    </widget>
    <widget source="session.RecordState" render="FixedLabel" text="R" position="105,41" size="18,23" font="Swiss-MAD_UserSkinFont;25" halign="right" zPosition="1" >
    <convert type="ConfigEntryTest">config.usage.blinking_display_clock_during_recording,True,CheckSourceBoolean</convert>
    <convert type="ConditionalShowHide">Blink</convert>
    </widget>
    <!-- <widget source="session.CurrentService" render="Label" position="4,0" size="125,39" font="Swiss-MAD_UserSkinFont;19" halign="center" valign="top" >
    <convert type="ServiceName">Name</convert>
    </widget> -->
    <widget source="session.CurrentService" render="Progress" position="4,0" size="125,18" borderWidth="1" >
    <convert type="ServicePosition">Position</convert>
    </widget>
    <widget source="session.CurrentService" render="Label" position="4,18" size="125,23" font="Swiss-MAD_UserSkinFont;25" halign="center" >
    <convert type="ServicePosition">Remaining,Negate,ShowHours,ShowNoSeconds</convert>
    </widget>
    </screen>[/php]
    Weitere Details für die erstellung/änderungen von Skin's findet man übrigens hier. ---> http://www.i-have-a-dreambox.com/wbb2/board.php?boardid=277


    //EDIT
    Zweites HoTo für die OLED/LCD Anzeige im MoviePlayer angehängt.

  • Zitat

    Original von Swiss-MAD
    Der Font auf dem Bild, scheint ziemlich gleich zu sein wie der "ds_digital" der sowiso schon in Enigma2 verwendet wird.


    nur eine kleine Anmerkung dazu.
    der Font ds_digital ist nicht standart im CVS sondern im Gemini, also diese Änderungen nicht mit einem anderen Image als dem Gemini versuchen, oder vorher prüfen ob in dem anderen Image der Font auch vorhanden ist.


    ansonsten, wie immer, klasse Arbeit Swiss-MAD :winking_face:

  • Zitat

    Original von Swiss-MAD
    kerni


    Danke für den Hinweis, ich hab das oben vermerkt.
    Da ich sowiso NUR Gemini's in verwendung habe, ist mir das wegen dem Font auch nie aufgefallen. :grinning_squinting_face:



    hi


    ersteinmal muß ich mich mal für die super schnelle umsetzung bei Swiss-MAD bedanken :winking_face:


    nachdem ich die sachen angepasst hatte läuft es jetzt auch in meinem lieblingsimage (LT Fifth with SP5) :) naja ich wollte jetzt keine werbung machen :winking_face:


    ich habe noch eine kleinigkeit die mir nicht im image gefällt ! und zwar wenn ich eine aufgenommene sendung mir mit den movieplayer ansehe dann wird nur die gesamtlänge des films angezeigt :face_with_rolling_eyes:
    ich würde es gerne so haben wie im gemini das einmal die gesamtlänge angezeigt wird und dann noch die gesamtlänge rückwärts (aber) wo kann ich die sachen finden und abändern ?


    mfg
    phantasm

  • Zitat

    Original von phantasm
    wenn ich eine aufgenommene sendung mir mit den movieplayer ansehe dann wird nur die gesamtlänge des films angezeigt :face_with_rolling_eyes:
    ich würde es gerne so haben wie im gemini das einmal die gesamtlänge angezeigt wird und dann noch die gesamtlänge rückwärts (aber) wo kann ich die sachen finden und abändern ?


    Schau dir das doch einfach in der skin.xml vom NemesisGlassLine_Mod von mir ab.
    Da ist das in der Infobar, sowie auch in der LCD/OLED Anzeige mit drinn.


    [php]<screen name="MoviePlayer" .........bla bla bla und so weiter ;-)....................



    <widget source="session.CurrentService" render="Label" position="455,90" zPosition="4" size="60,20" valign="center" halign="center" font="Regular;16" transparent="1" backgroundColor="#00002a" >
    <convert type="ServicePosition">Remaining,Negate,ShowHours</convert>
    </widget>[/php]


    Da ist mehr oder weniger schon dasselbe im Skin, jedoch bei (convert type= ) steht da nur [Position].
    Den Teil kopieren und position ändern damit es dort erscheint wo du das gerne hättest.
    Mit dem [Remaining] hast du dann die verbleibenede Zeit, mit [Negate] ein Minus zeichen davor, und mit [ShowHours] das ganze in hh:mm:ss ansonsten sind da nur Minuten.
    (Das mit [ShowHours] geht erst ab Gemini4.0 oder bei Images ab ca. diesem Datum, da erst dann die Option im Converter eingebaut wurde.)


    ACHTUNG: Keine Garantie das es beim LT all diese Optionen identisch so gibt, da im LT scheinbar einen eigenen Converter verwendet wird.
    Beim Gemini --> <convert type="ServicePosition"
    Beim LT --> <convert type="LTServicePosition"
    Will man wissen was der Converter vom LT kann, müsste man in die LTServicePosition.py unter /usr/lib/enigma2/python/Components/Converter/ schauen wenn die vorhanden ist. Ist da nur die LTServicePosition.pyc, gibt LT den Source nicht frei und du schaust in die Röhre. :winking_face:

  • Zitat

    Original von sash5000
    Endlich hat sich einmal jemand mit dem Thema befasst :)


    Naja muss eben erst mal einer danach fragen. :winking_face:
    Da habe ich mir gedacht, wenn ich das schon phantasm erklären soll mach ich das natürlich nicht per PN, sondern da sollen alle was davon haben.


    Ich weis ja nicht so recht was die Leute als erstes beschäftig, wenn sie was am Skin ändern wollen.


    Vieles ist ja sowiso schon im "Skin Workshop Enigma 2" beschrieben auch wenn es noch nicht ganz komplett ist.
    Das eine oder andere bin ich schon bereit etwas genauer zu erklären (sofern ich selber weis wie es geht :winking_face: ).


    Bringt eben mal Anregungen....


    Z.b. besteht den interesse welchen "screen" für was da ist ?
    Denn ich finde die meisten screen-namen sind selbsterklärend, aber wenn bedarf besteht könnte ich schon mal eine Liste machen.
    Z.b. so in der Art:
    [php]<screen name="InfoBar" = Infobar im TV Betrieb
    <screen name="ChannelSelection_summary" = LCD/OLED Anzeige während man in der ChannelSelection (Senderliste) ist.
    <screen name="InfoBarMoviePlayerSummary" = LCD/OLED Anzeige im MoviePlayer[/php]

  • Swiss-MAD .. Sieht auf jeden Fall gut aus :) für mich ist es halt wichtig das die Uhr im Standby gut lesbar ist und das war eben bei der DBOX immer der Fall. Muss mich auch mal ein wenig mit der Skins Thematik beschäftigen. Komme mehr aus dem Bereich PHP :)


    Danke & Gruß
    sash5000

  • Zitat

    Original von sash5000
    Muss mich auch mal ein wenig mit der Skins Thematik beschäftigen. Komme mehr aus dem Bereich PHP :)


    Da bist du schnell drin. Du kannst ja schon mal PHP, ich kann weder das noch sonst irgend ein Programmiersprache....ich hab nicht mal von XML Ahnung ;).
    Hier im Workshop ist ja schon das wichtigste dabei.
    Dieser Workshop von Mr.Bunny war auch der Auslöser mich da mal ran zu wagen.
    Der Rest war dann "learning by doing".
    Ohne irgend eine Info ist das zu mühsam.

  • Swiss-MAD .. ich muß sagen das ich dank deiner hilfe schon etwas an meinem display verbessern konnte.


    wie ich allerdings die wochentage zweistellig nämlich so (MO,DI,MI,DO,FR,SA,SO) und nicht dreistellig hinbekomme da bin ich noch nicht hinter gestiegen :face_with_rolling_eyes:


    und wie ich den font von der datumsanzeige ein bisschen fetter bekomme.


    mfg
    phantasm

  • Zitat

    Original von phantasm
    wie ich allerdings die wochentage zweistellig nämlich so (MO,DI,MI,DO,FR,SA,SO) und nicht dreistellig hinbekomme da bin ich noch nicht hinter gestiegen :face_with_rolling_eyes:


    Tja ohne ändern von Python Files geht das auch nicht.
    Da ist sowiso noch immer ein Bug drin, denn eigentlich sollte die schreibweise von der im System eingestellen Sprache abhänging sein.
    Ist aber immer nur in Englisch. Wird dabei jedoch nur <convert type="ClockToText">Date</convert> verwendet dann passt das schon, aber eben nur in dem Standart Datumsformat.


    Zitat

    Original von phantasm
    und wie ich den font von der datumsanzeige ein bisschen fetter bekomme.


    Also grösser ist ja kein problem, aber NUR fetter geht nur wenn du einen fetten Font dafür verwendest.

  • ich habe mich bestimmt umständlich ausgedrückt und deshalb hast du mich falsch verstanden :winking_face:


    ich meinte nicht das datum was ich zweistellig brauche sondern den wochentag ! das es eben genauso aussieht wie oben dein pic von der dbox2.



    mfg
    phantasm

  • Doch doch ich habe dich schon richtig verstanden. (glaube ich zumindest ;))


    Heute hättest du z.b. gerne [Fr. 27.Feb] da stehen, aber es steht [Fri. 27.Feb].
    Und das "Fri" (Friday) ist eben weil alles noch auf Englisch ist.
    Im deutschen wäre es dann ja eher gebräuchlich auch nur 2 Stellen für die Wochentage zu verwenden.

  • hi


    jetzt bastel ich schon seit tagen daran rum das beim movieplayer 1.die gesammtzeit 2.die gesammtzeit rückwärts 3.die gespieltezeit angezeigt wird.


    punkt 1 und zwei gehen ja.


    ungefähr so wie ich es sehr leihenhaft als beispiel pic angehängt habe :)


    http://img17.imageshack.us/my.php?image=movieplayer.jpg



    mfg
    phantasm

  • Die schon gespielte Zeit geht mit sowas:
    [php] <widget source="session.CurrentService" render="Label" position="83,90" zPosition="4" size="60,20" valign="center" halign="center" font="Regular;16" transparent="1" backgroundColor="#00002a" >
    <convert type="ServicePosition">Position,ShowHours</convert>
    </widget>[/php]


    Das wird dann wegen "ShowHours" in hh:mm:ss angezeigt. Wenn das fehlt ist alles in Minuten.
    Schreibst du "ServicePosition">Position,ShowHours,ShowNoSeconds< dann hast du nur hh:mm. Das ist für's LCD praktisch um Platz zu sparen. :winking_face:


    //EDIT
    Jetz mit deinem Bild....bin ich etwas verwirrt ?
    Gespielte Zeit und noch verbleibende Zeit ist ja im GlassLine_Mod schon drin.
    Willst du nun aber noch die Gesamtspielzeit fix ?


    //EDIT2
    Oder willst du einfach die Gesamtspielzeit zusätzlich einblenden.
    Dann brauchst du z.b.:
    [php] <widget source="session.CurrentService" render="Label" position="270,71" zPosition="5" size="60,20" valign="center" halign="center" font="Regular;16" transparent="1" backgroundColor="#00002a" >
    <convert type="ServicePosition">Length,ShowHours</convert>
    </widget>[/php]

  • hi


    ersteinmal vielen dank das du mir hilfst :winking_face:


    aber ich bekomme die drei anzeigen einfach nicht auf meinem bildschirm so das sie so positioniert sind wie auf dem pic :face_with_rolling_eyes:

  • Zitat

    Original von phantasm
    aber ich bekomme die drei anzeigen einfach nicht auf meinem bildschirm so das sie so positioniert sind wie auf dem pic :face_with_rolling_eyes:


    Naja, entweder übernimmst du die Positionswerte von meinen Post, oder du postest mal deinen kompletten MoviePlayer Screen -->
    <screen name="MoviePlayer"
    ...
    ...
    ... bis
    </screen>


    Aber eigentlich hat das nun ziemlich wenig mit der "LCD/OLED Anzeige im StandBy" zu tun, ist also hier nicht wirklich im richtigen Tread.
    Hast du also noch weitere Modifikationen vor, helfe ich dir natürlich auch in einem eigenen Tread unter ---> http://www.i-have-a-dreambox.com/wbb2/board.php?boardid=232
    :grinning_squinting_face:

  • so nun habe ich es mit deiner hilfe geschafft :)


    Image LT Fifth with sp5
    usr\share\enigma2\LT.GlassLine.II\skin_PiG.xm


    [php]<!-- Movieplayer -->
    <screen name="MoviePlayer" position="0,0" size="720,576" backgroundColor="transparent" flags="wfNoBorder">
    <ePixmap position="110,450" zPosition="-1" size="500,80" pixmap="LT.GlassLine.II/ltmc/ib_movie.png" />
    <ePixmap position="137,474" size="33,33" pixmap="LT/icons/ico_movie.png" alphatest="on" />
    <widget source="session.CurrentService" render="Label" position="452,470" size="230,20" valign="center" halign="center" font="Regular;16" transparent="1" backgroundColor="#00002a" >
    [<convert type="ServicePosition">Remaining,Negate</convert>
    </widget>
    <widget source="session.CurrentService" render="Label" position="170,470" zPosition="4" size="60,20" valign="center" halign="center" font="Regular;16" transparent="1" backgroundColor="#00002a" >
    <convert type="ServicePosition">Position</convert>
    </widget>
    <ePixmap pixmap="LT/misc/clock.png" position="520,470" size="14,14" alphatest="on" />
    <widget source="global.CurrentTime" render="Label" position="80,46" size="58,18" font="Regular;20" halign="left">
    <convert type="ClockToText">Default</convert>
    </widget>
    <widget source="session.CurrentService" render="Label" position="6,4" size="120,42" font="Regular;20">
    <convert type="LTServicePosition">Position</convert>
    </widget>
    <eLabel position="235,492" size="10,20" text=" " font="Regular;16" halign="center" backgroundColor="bg" transparent="1" />
    <widget source="session.CurrentService" render="Label" position="370,470" size="60,20" font="Regular;16" noWrap="1" backgroundColor="#00002a" transparent="1">
    <convert type="LTServicePosition">Length</convert>
    </widget>[/php]



    nochmal vielen dank für deine geduld :winking_face:


    mfg
    phantasm

  • Da ich eine weitere Anfrage per PM bekommen habe wie man die OLED/LCD Anzeige im MoviePlayer ändert, hänge ich das gleich hier an meinen Tread an.
    Weil ich denke sowas soll nicht per PM geklärt werden, damit auch andere mit der selben Frage was davon haben.



    Die OLED/LCD Anzeige für den MoviePlayer ist im Screen "InfoBarMoviePlayerSummary" zu finden, und sieht in meiner skin_user.xml so aus:
    (Die hier verwendete skin_user.xml ist hier zu finden ---> her mit euren skin_user.xml :))


    [php] <!-- LCD/OLED Movie Player-->
    <screen name="InfoBarMoviePlayerSummary" position="0,0" size="132,64">
    <widget source="global.CurrentTime" render="Label" position="4,47" size="60,17" font="Swiss-MAD_UserSkinFont;20" halign="left" >
    <convert type="ClockToText">Default</convert>
    </widget>
    <widget source="session.RecordState" render="FixedLabel" text="R" position="63,47" size="11,17" font="Swiss-MAD_UserSkinFont;20" halign="center" zPosition="1" >
    <convert type="ConfigEntryTest">config.usage.blinking_display_clock_during_recording,True,CheckSourceBoolean</convert>
    <convert type="ConditionalShowHide">Blink</convert>
    </widget>
    <widget source="session.CurrentService" render="Label" position="4,0" size="125,39" font="Swiss-MAD_UserSkinFont;19" halign="center" valign="top" >
    <convert type="ServiceName">Name</convert>
    </widget>
    <widget source="session.CurrentService" render="Progress" position="4,41" size="125,6" borderWidth="1" >
    <convert type="ServicePosition">Position</convert>
    </widget>
    <widget source="session.CurrentService" render="Label" position="60,47" size="69,17" font="Swiss-MAD_UserSkinFont;20" halign="right" >
    <convert type="ServicePosition">Remaining,Negate,ShowHours,ShowNoSeconds</convert>
    </widget>
    </screen>[/php]


    - Die Uhrzeit wird hiermit definiert:
    [php] <widget source="global.CurrentTime" render="Label" position="4,47" size="60,17" font="Swiss-MAD_UserSkinFont;20" halign="left" >
    <convert type="ClockToText">Default</convert>
    </widget>[/php]Ist aber hier im ersten Post schon erläutert.


    - Damit in diesem Fall zwischen der Uhrzeit und der noch verbleibenden Spielzeit ein "R" blinkt wenn eine Aufnahme läuft, ist dies hier zuständig:
    [php] <widget source="session.RecordState" render="FixedLabel" text="R" position="63,47" size="11,17" font="Swiss-MAD_UserSkinFont;20" halign="center" zPosition="1" >
    <convert type="ConfigEntryTest">config.usage.blinking_display_clock_during_recording,True,CheckSourceBoolean</convert>
    <convert type="ConditionalShowHide">Blink</convert>
    </widget>[/php]Ist aber auch hier im ersten Post schon erläutert.


    - Den Namen der aktuell abgespielte Aufnahme wird hier definiert:
    [php] <widget source="session.CurrentService" render="Label" position="4,0" size="125,39" font="Swiss-MAD_UserSkinFont;19" halign="center" valign="top" >
    <convert type="ServiceName">Name</convert>
    </widget>[/php]Kann also für diese Anfrage einfach gelöscht oder auskommentiert werden.
    (Auskommentiert wird in XML alles was zwischen <!-- und --> steht.)


    - Die Progressbar (Fortschrittsbalken) ist so definiert:
    [php] <widget source="session.CurrentService" render="Progress" position="4,41" size="125,6" borderWidth="1" >
    <convert type="ServicePosition">Position</convert>
    </widget>[/php] um hier die Grösse 3 x so breit zu machen müssen wir einfach die Grösse in der Y Achse vergrössern, und damit die Progressbar nicht einfach nach unten vergrössert wird weil da haben wir ja die Uhrzeit, Aufnahmeanzeige und verbleibende Spielzeit stehen, müssen wir einfach die Position um das was wir vergrössert haben noch oben veschieben.
    [php] <widget source="session.CurrentService" render="Progress" position="4,29" size="125,18" borderWidth="1" >
    <convert type="ServicePosition">Position</convert>
    </widget>[/php]


    - Bliebt noch die Restzeitanzeige:
    [php] <widget source="session.CurrentService" render="Label" position="60,47" size="69,17" font="Swiss-MAD_UserSkinFont;20" halign="right" >
    <convert type="ServicePosition">Remaining,Negate,ShowHours,ShowNoSeconds</convert>
    </widget>[/php]


    Nun damit ist dem "Wunsch" hier leider noch nicht abgeholfen.
    Denn die Uhrzeit und Restzeitanzeige sollen ja den Rest des frei gewordenen Platzes ausfüllen.
    Einfach die Progessbar ganz noch oben schieben (von position="4,29" auf position="4,0" ändern) und bei Uhrzeit und Restzeitanzeige den Font vergrössern geht nicht, weil jetzt schon die volle Breite des OLED/LCD's ausgefüllt wird.
    Es bleibt also z.b. die Möglichkeit Uhrzeit und Restzeitanzeige übereinander darzustellen.
    Dafür einfach Position und Grösse ändern, und die Fontgrösse mit dazu vergrössern.


    Das ganze könnte dann z.b. so aussehen:
    [php] <!-- LCD/OLED Movie Player-->
    <screen name="InfoBarMoviePlayerSummary" position="0,0" size="132,64">
    <widget source="global.CurrentTime" render="Label" position="4,41" size="125,23" font="Swiss-MAD_UserSkinFont;25" halign="center" >
    <convert type="ClockToText">Default</convert>
    </widget>
    <widget source="session.RecordState" render="FixedLabel" text="R" position="105,41" size="18,23" font="Swiss-MAD_UserSkinFont;25" halign="right" zPosition="1" >
    <convert type="ConfigEntryTest">config.usage.blinking_display_clock_during_recording,True,CheckSourceBoolean</convert>
    <convert type="ConditionalShowHide">Blink</convert>
    </widget>
    <!-- <widget source="session.CurrentService" render="Label" position="4,0" size="125,39" font="Swiss-MAD_UserSkinFont;19" halign="center" valign="top" >
    <convert type="ServiceName">Name</convert>
    </widget> -->
    <widget source="session.CurrentService" render="Progress" position="4,0" size="125,18" borderWidth="1" >
    <convert type="ServicePosition">Position</convert>
    </widget>
    <widget source="session.CurrentService" render="Label" position="4,18" size="125,23" font="Swiss-MAD_UserSkinFont;25" halign="center" >
    <convert type="ServicePosition">Remaining,Negate,ShowHours,ShowNoSeconds</convert>
    </widget>
    </screen>[/php]
    Weitere Details für die erstellung/änderungen von Skin's findet man übrigens hier. ---> http://www.i-have-a-dreambox.com/wbb2/board.php?boardid=277


    Im ersten Post habe ich das gleich auch noch angefügt.