Zeitgesteuertes wechseln zwischen den xbt themes??

  • HALLO,


    ich versuche gerade meinen mod mit diesem feature auszustatten, und zwar besitzt mein skin die "textures.xbt" & "dark.xbt".


    das manuelle umschalten geht ja ohne probleme, nur wie kann ich dem skin sagen zb von 6:00 - !8:00 uhr den hellen skin dann wechsel auf dark von 18:00- 06:00 Uhr.


    bisher war mein ansatz mit "System.HasTime(07:30,19:15)" nur das bringt mich ja nicht weit

    müsste das ganze über die addon definert werden?
    gibts da was zum einlesen?.


    danke

    Einmal editiert, zuletzt von pimp1310 (30. Dezember 2013 um 00:58)

  • das manuelle umschalten geht ja ohne probleme, nur wie kann ich dem skin sagen zb von 6:00 - !8:00 uhr den hellen skin dann wechsel auf dark von 18:00- 06:00 Uhr.

    Ob das So geht weis ich nicht. Danke aber Nein.

    Würde wenn Du die Grafiken Zeitgesteuert ändern möchtest dies über ein "Include Conditional" tun.

    <include conditional="System.HasTime(07:30,19:15) + Skin.HasSetting(SwitchThemeByNight)">BalkenDark</include>
    <include conditional="!System.HasTime(07:30,19:15) | !Skin.HasSetting(SwitchThemeByNight)">BalkenBright</include>

    Das selbe analog für die Textfarbe. (Oder ev. mit Variabeln für Textfarbe)
    Ob dies allerdings direkt in der "colors.xml" funktioniet oder ob du in den Skinfiles inkludieren musst weis ich grad nicht (müsste wer anders sagen, oder halt mal antesten).

    Das Dark Theme für manuelles umstellen könnteste dan trotzdem noch machen.


    mfG.

  • die Aeon MQ4/5 Skins können das mit der Jahreszeit. Vllt findest du dort im Code was.


    Danke!

    sooo, hier mal ein Beispiel was so geht.

    Code
    <control type="label">
    				<posx>100</posx>
    				<posy>100</posy>					
    				<width>1260</width>
    				<height>30</height>
    				<label>$INFO[System.Time]</label>
    				<visible>System.Time(17:58,18:00)</visible>
    			</control>


    es wird hier die systemzeit nur zwischen 17:58 und 18:00 angezeigt. wobei die anzeige genau zu 18:00 verschwindet.
    versuche mal daraus was für dich passendens zu machen.
    bg

  • Danke an alle :)

    blauesgruen:


    Dann muss ich ja für das Beispiel die dark.xbt entpacken Grafiken hinterlegen und bei jeder Grafik und jeder Farbe den code ergänzen... Richtig ?

    Das kommt dem neu schreiben ja gleich :|

  • Hast vielleicht nen kleines Beispil ? ;(


    aktuell werden ja die farben usw gewechselt über die "dark.xml" und "default.xml":


    da habe ich zb "fanartdiffuse" drin da halt in dark und default verschiedene colors hat, so wenn wir nur als beispiel das diffuse nehmen was ich überall drüber habe, müsste ich den code ja komplett kopieren und den kopierten ändern, dann müsste ich jedes label und jede ansicht kopieren bzw die label usw in den ansichten, das würde ja den rahmen mehr als sprengen....


    dann habe ichja alles doppelt das eine mit "<visible>System.Time(06:58,18:00)</visible>" das gleiche label nochmal mit "visible>System.Time(18:00,6:58)</visible>".


    da muss es doch ne andere lösung geben :huh:


    hab in der hme.xml versucht :


    <onload condition="System.HasTime(07:30,19:15)">Textures.xbt</onload>
    <onload condition="System.HasTime(19:15,07:30)">Dark.xbt</onload>


    aber da fehlt sicher noch nen request vor der textur.xbt oder?

    2 Mal editiert, zuletzt von pimp1310 (30. Dezember 2013 um 22:36)

  • also da ich selbst nicht genau weiß wie man es umsetzt und es nicht probiert habe gebe ich nur meine ideen zum besten. ;)

    mit welchem befehl kann man denn das skin theme wechseln? das dann als onload mit der bedingung, dass das theme nicht schon gewählt ist und der rest müsste passen. nur eben dann noch ein onload für das tages theme.

    bg

  • ich denke mit "Skin.Theme ?(
    Cycles the skin theme. Skin.theme(-1) will go backwards."


    <onload condition="System.HasTime(07:30,19:15)">Skin.Theme(Dark.xbt)</onload>
    <onload condition="System.HasTime(19:15,07:30)">Skin.Theme(Textures.xbt)</onload>


    aber er zickt noch :huh:

  • okay :D


    irgendwas passiert, es bleibt alles schwarz beim start :D ?(


    stimmt der pfad net ? die xbt liegen im media ordner, das müsste er doch so finden oder ?


    oder hat er nen konflikt weil ich im onload noch net kontrolliere ob der dunkle oder helle aktiviert ist?


    <onload condition="System.Time(07:30,19:15) + Skin.HasSetting(dark.xbt)">Skin.Theme(Textures.xbt)</onload>
    <onload condition="System.Time(19:15,07:30) + Skin.HasSetting(Textures.xbt)">Skin.Theme(Dark.xbt)</onload>

    Einmal editiert, zuletzt von pimp1310 (30. Dezember 2013 um 22:58)

  • ja geht leider auch net kommt zwar kein fehler mehr aber er schaltet auch net um :huh:


    <onload condition="System.Time(19:15,07:30) + Skin.HasSetting(Dark.xbt)">Skin.Theme(1)</onload>


    EDIT


    hier die lösung :


    <onload condition="System.Time(07:30,00:49) + Skin.HasTheme(Dark)">Skin.Theme(-1)</onload>

    <onload condition="System.Time(00:49,07:30) + !Skin.HasTheme(Dark)">Skin.Theme(1)</onload>


    es überschreibt aber mal noch die manuelle anpassung in den einstellungen,aber sobald die definierte zeit erreicht ist und man in den homescreen geht wechselt er ^^

    Einmal editiert, zuletzt von pimp1310 (31. Dezember 2013 um 00:51)

  • Es muss dark heißen, dort will er den theme Namen haben :D


    Hmmm kriegt man in die settigscategory.XML überhaupt eigene Einträge ?
    Wollte den radiobutton unter themes direkt machen aber das akzeptiert er nicht ?
    Also in die liste, den diese Einträge kommen ja vom core ...

    Einmal editiert, zuletzt von pimp1310 (31. Dezember 2013 um 15:56)

  • Zitat

    Hmmm kriegt man in die settigscategory.XML überhaupt eigene Einträge ?
    Wollte den radiobutton unter themes direkt machen aber das akzeptiert er nicht ?
    Also in die liste, den diese Einträge kommen ja vom core ...

    Bin mir ziemlich sicher, dass es geht. Siehe neues Seitenmenu mit den Experteneinstellungen.

    Zitat

    kann ich ihm nach dem "Skin.theme(1)" noch nen "setfocus" setzten ?

    PHP
    <onload condition="Window.Previous(startup)">XBMC.PlayMedia(special://skin/intro.mp4)</onload>
    <!-- HELLES THEME -->
    <onload condition="System.Time(07:30,17:00)  + Skin.HasTheme(Dark) + Skin.HasSetting(theme_switch)">Skin.Theme(-1)</onload>
     <!-- DARK THEME -->
    <onload condition="System.Time(17:00,07:30)  + !Skin.HasTheme(Dark) + Skin.HasSetting(theme_switch)">Skin.Theme(1)</onload>

    wenn du noch 2 onload machst, die die gleichen conditio s haben, dann sollte das gehen.
    bg

  • also das ganze funktioniert nicht richtig, also wenn ich manuell auf dark oder hell wechsel, und ins homemenü gehe ist alles gut, und das homemenü hat focus, wenn ich aber "automatischen theme wechsel anmache" und dann ins hauptmenü gehe kriegt das hauptmenü keinen focus ;(

    habe es mit 2 onloads versucht siehe :


    habe das ganze mit ner dreckigen methode erstmal umgangen ;( und zwar :


    PHP
    <onclick>Skin.ToggleSetting(theme_switch)</onclick> 
        <onclick>ReloadSkin()</onclick>
        <onclick>setfocus(111)</onclick>       
        <selected>Skin.HasSetting(theme_switch)</selected>

    ich sage ihm jedesmal reloade den skin wenn man drauf klickt :D aber das muss doch besser gehen oder?


    [edit]obwohl ich gerade sehe wenn man den manuell wechselt reloaded der den skin ja auch :D [/edit]

Jetzt mitmachen!

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