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.
ZitatAlles anzeigenFrage:
ich benutze deine skin_user.xml und sie gefällt mir wirklich gut.
Ich würde mir allerdings die Ansicht im PVR-Modus ganz gerne noch ein wenig anpassen:
Der Sendungstitel, also die oberen beiden Zeilen, brauche ich nicht.
Dafür hätte ich den Fortschrittsbalken gerne ca. 3x so breit.
Die Uhrzeit und Restzeitanzeige sollen den Rest des frei gewordenen Platzes ausfüllen.
Kannst du mir evtl. sagen, welche Zeilen ich dazu editieren muss?
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.