Skin modifizieren

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Skin modifizieren

    Hallo Skinexperten :)

    ich denke meine Frage hat keinen Gerätebezug (falls doch bitte verschieben, siehe Profil)
    Ich habe ein paar Screens des XionHDF-Skin (für mich) optimiert, mit verschieben und umgestalten vorhandener Elemente. Das hat immer gut geklappt.

    Jetzt will ich gerne neue Elemente dauerhaft auf den Screen "RdsInfoDisplay" bringen (Sendername; aktuelle Sendung ;Uhrzeit) und habe in der skin.xml den Screen wie folgt ergänzt (Zeile 5-14):

    Quellcode

    1. <!-- RdsInfoDisplay -->
    2. <screen backgroundColor="transparent" flags="wfNoBorder" name="RdsInfoDisplay" position="0,0" size="1920,1080" zPosition="-2">
    3. <widget name="RassLogo" pixmap="skin_default/icons/rass_logo.png" position="150,78" size="75,32" />
    4. <widget backgroundColor="rds_text_bg" font="RegRDS;42" foregroundColor="brown" halign="center" name="RtpText" noWrap="1" position="160,200" size="1600,55" />
    5. <widget backgroundColor="rds_text_bg" font="RegRDS;42" foregroundColor="brown" halign="center" name="RadioText" noWrap="1" position="160,270" size="1600,55" />
    6. <widget source="session.CurrentService" render="Label" position="160,130" size="200,55" font="Regular2;42" halign="left" backgroundColor="rds_text_bg" foregroundColor="brown" transparent="1" valign="center" noWrap="1">
    7. <convert type="ServiceName">Name</convert>
    8. </widget>
    9. <widget source="session.Event_Now" render="Label" position="360,130" size="1600,55" font="Regular2;42" halign="center" backgroundColor="rds_text_bg" foregroundColor="brown" transparent="1" valign="center" noWrap="1" >
    10. <convert type="EventName">Name</convert>
    11. </widget>
    12. <widget source="global.CurrentTime" render="Label" position="1560,130" size="200,55" font="Regular2;42" halign="right" backgroundColor="rds_text_bg" foregroundColor="brown" transparent="1" valign="center" noWrap="1" >
    13. <convert type="XionHDFClockToText">WithSeconds</convert>
    14. </widget>
    15. </screen>
    Alles anzeigen


    Das mit dem dauerhaft hat jetzt leider zu gut geklappt: Sendername, aktuelle Sendung, Uhrzeit werden zwar korrekt, aber IMMER angezeigt, auch bei Fernsehsendern. Da ist es natürlch nicht erwünscht.
    Bei RtpText und RadioText sind die Originalparameter geändert, diese beiden "widget" werden nur bei Radiosendern angezeigt.

    Wo liegt der Fehler?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von flor62 ()

  • Die Skinexperten sind wohl alle in Urlaub ... :)

    Was ich noch probiert habe (Bsp. Uhrzeit)
    Name ergänzt:
    <widget source="global.CurrentTime" name="CurrTime" render....

    Dann die RdsDisplay.py modifiziert:
    self["CurrTime"] = Label() >neue Self "definiert"

    Dann bei der Changeabfrage für Radiotext eingebaut (Einrückungen beachtet)
    def RadioTextChanged(self):
    service = self.session.nav.getCurrentService()
    decoder = service and service.rdsDecoder()
    rdsText = decoder and decoder.getText(iRdsDecoder.RadioText)
    if rdsText and len(rdsText):
    self["RadioText"].setText(rdsText)
    self["RadioText"].show()
    self["CurrTime"].show()
    else:
    self["RadioText"].hide()
    self["CurrTime"].hide()
    for x in self.onText:
    x(rdsText)


    Hat aber nicht den gewünschten Erfolg gebracht (keine Anzeige mehr)
    Ich werde versuchen, mich selbst weiter in das Thema einzuarbeiten.

    PS: Falls ich irgendwie gegen die Netiquette verstossen habe, bitte ich um einen entsprechenden Hinweis.
  • Nö alles gut. Eigentlich gibt es nur einen der hier am Xion bastelt und das bin ich.
    Aktuell gibt es aber ganz andere Baustellen und der Xion läuft ja nahezu perfekt für unsere Zwecke.
    Verbesserungen sind aber trotzdem jederzeit willkommen.
    Meine Bastelboxen: Mut@nt HD51 | GB Quad 4K | Mut@nt HD60 | OSMIO4K | HIS 4k Combo+

    ... Keinen Support per PN ... bitte stellt eure Fragen ins Forum!...

    ~ Benutzung OpenHDF Image ~ Benutzung der HDF-Toolbox ~ FAQ und Linksammlung ~ Build und Foren Server Spendenaktion ~
  • Ich bin schon ein gutes Stück weiter gekommen. Mein Plan ist, aufgrund eines Flags ("laufender Sender ist Radio oder TV") die gewünschte Anzeige zu aktivieren bzw. zu deaktivieren. Ich habe die Stelle identifiziert, an der das Flag gesetzt werden kann und auch die Stelle, an der das Flag ausgewertet werden kann, ebenso wie die Anzeige aufgrund des Flags de-/aktiviert werden kann.
    Da alle genannten Stellen in anderen .py-Skripten in verschiedenen Unterverzeichnissen liegen, möchte ich das Flag als globale Variable behandeln.
    An dieser Stelle bräuchte ich noch etwas Hilfestellung:
    Wie kann ich in der Python-Umgebung eine globale Variable definieren, verändern und auslesen?
    Mir würde auch schon weiterhelfen zu wissen, welches Python-Programm das "Main-Progamm" ist.

Unsere Partnerboards

^
Flag Counter