Fadetime Multiimage

  • Hallo,

    Gibt es eine Möglichkeit nur das erste "Fade in" bei einem Multiimage zu beschleunigen,
    wenn man zum Home zurückkehrt ?

    In der BackgroundsBuilding sieht das so aus:

    <control type="multiimage">
    <left>0</left>
    <top>0</top>
    <width>1280</width>
    <height>720</height>
    <imagepath background="true">$INFO[Container(9000).ListItem.Icon]</imagepath>
    <timeperimage>1000</timeperimage>

    <randomize>false</randomize>

    <fadetime>4000</fadetime>

    <visible>Skin.HasSetting(SeparateBackdrops)</visible>
    </control>

  • Hat denn keiner mal einen Code-Denkansatz für mich?

    Sowas wie ( wenn Activate Home dann fadetime XY )
    ansonsten
    <fadetime>4000</fadetime>


    Leider nicht, du könntest es mal mit zwei Constanten versuchen.
    Ich glaub aber zu wissen das man die nicht über includes und conditions zum laufen bekommt.
    Da es nur eine Fadetime gibt die immer gilt wird es so keine Lösung dafür geben.
    Ich denke dann müsstest es komplett mit verschiedenen Einzelbilder mit unterschiedlichen Animationen als Fade aufbauen und eben das erste "schneller" einstellen als den Rest..
    Oder eine Art Custom Slideshow Basteln mit einem Fadelabel und Stringcompares..
    Zwei separate multiimages werden leider nicht funktionieren. Wenn eine schneller abläuft hast ja zwangsläufig etwas doppelt wenn die z.B. nach x Sekunden aus und die andere einblendest.

    Ich schau es mir mal an in den nächsten Tagen wenn ich Zeit finde. Fertigen Code kann ich dir leider nicht liefern im Moment (ist ja schon recht speziell, ohne es selber zu Versuchen bekomme ich das nicht hin).

    Grüße

  • Vielen lieben Dank für deine Antwort,
    Okay... gut ausgeführt,hab ich soweit verstanden.

    Ein anderer Ansatz war es mit mehreren Bildern zu versuchen.Damit könnte ich ja die Laufzeiten bzw. das Crossfade der Bilder verlängern
    und die Fadetime kürzen.
    Theoretisch funktioniert das auch.Pratisch ist es aber eher unbefriedigend, da das Crossfade immer eine Art schwarze
    Maske erzeugt, die das Bild kurzzeitig abdunkelt.Logisch... das eine Bild wird ausgeblendet (dahinter ist ja nichts) und das andere ein.
    Ähnlich wie beim Fanart.

    Verlänger ich die Fadetime fällt das nicht auf, dafür baut sich das Homescreen natürlich wesentlich länger auf.

    Seit dem denke ich über eine Bedingung nach die beim Erststart in den Homescreen auf eine andere Fadetime zugreift.

    Grüße

  • Seit dem denke ich über eine Bedingung nach die beim Erststart in den Homescreen auf eine andere Fadetime zugreift.


    Schwarz sollte eigentlich nichts werden.
    Fadetime ist eigentlich
    Time in milliseconds to fade between images.
    So ganz versteh ich jetzt doch nicht:)
    Fadetime ist die zeit der Überblendung (also Crossfade), das andere wie lange ein Image sichtbar ist (+ fadetime vorne und hinten).

    Bin jetzt nicht sicher was genau möchtest. Das erste Bild einfach "schneller" einblenden?
    Mein erster Versuch gerade so aus:


    zwei Multiimages

    In den Fenster (also Home) wo es zutrifft eine AlarmClock ohne Loop nach einer Sekund - Nachteil ist ich glaube Sekunden gehen dort nicht??

    Code
    <onload>Skin.SetString(Fadealarm,On)</onload>
        <onload>AlarmClock(Homefade,Skin.reset(Fadealarm),1)</onload>
        <onunload>Skin.SetString(Fadealarm,On)</onunload>


    Dabei wird im Prinzip nach einer Sekunde ein String geleert der beim verlassen wieder gesetzt wird.
    Solange der String nicht leer ist wird Kurzes Multiimage verwendet.
    Das könnte man jetzt eventuell mit Conditional Animationen und Delays vielleicht etwas verfeinern.
    Dazu nimmst dann einfach die Visibles als Condition..
    Nur die eine Sekunde wirst wahrscheinlich so nicht los..

    Geht sicher auch noch anders..
    Versuchs mal in der Art (weiß nicht wie weit du dich bei den XML auskennst, vielleicht kannst ja damit was anfangen)..

    Damit steuer ich fake Multiimages bei mir, sollte aber für sowas auch gehen.. Du bindest damit quasi die beiden Mulitiimages an den Substring.
    Scrollspeed und Länge des Labels wären dann eine Zeiten.. wenn einer kürzer ist als der andere, erreicht man damit verschiede Einblendedauern.
    Also in der Art "aaaaaaaaaaaaaaaaaaaaaa" und "bb"
    Das sollte eigentlich auch funtionieren. Und du brauchst die Alarm Clock und den String nicht..
    Nachteil ist das es immer wieder von vorne anfängt..

    Grüße

  • Klasse, vielen Dank.
    Mit den Substrings werd ich es mal probieren.
    Manchmal fehlt mir einfach ein Denkanstoß.

    Wenn ich mich selbst klassifizieren müßte, würde ich mich als .xml Anfänger bezeichnen.
    Aus Html, swi und swf bin aus beruflichen Gründen auch schon ein weilchen raus.
    ..aber manchmal überfällt einen wieder das skinning/modding :D

    Ein schönes Hobby mit Kodi verbunden ;)

  • Ein schönes Hobby mit Kodi verbunden

    Geht wohl vielen so :) ..

    Substring sollte eigentlich funktionieren. Ist nur etwas gefummel mit den Zeiten.. Wenn aber das Fadelabel erst einblendest und dann einstellst klappt es ganz gut.
    Es ist soweit ich weiß auch die einzige Möglichkeit wenn du eine Fanartslideshow willst für zum Beispiel einzelne Contentinhalte.
    Bei mir nutze ich die für Genrehintergründe (damit Fanarts aller Actionfilme verwendet werden wenn ich auf Genre Action stehe)..
    Da es ja kein Container Autoscroll als Fade gibt, die einzige Möglichkeit etwas einzublenden statt zu sliden..
    Vielleicht kannst es dafür auch noch gebrauchen wenn schon Übung hast :)

    Grüße

  • Hallo Marc0810,

    Die Weihnachtstage haben mich beruflich ganz schön in die Zange genommen.
    Konnte meinem Hobby nicht allzuviel frönen ;(
    Also, um es nochmal etwas klarer auszudrücken.
    Ich habe einen Ordner mit 6 jpg´s.
    Die Images simulieren Tageszeiten und sollen fließend ineinander übergehen.
    (ich hab sowas früher mal als Handyscreen in swf gemacht und an Tages und Jahreszeit gebunden)
    Morgens wirds hell, mittags Sonne,abends Sterne...im Winter schnee, im Frühling,Schmetterlinge und im Herbst fliegen Blätter herum.
    Soweit möchte ich hier aber nicht gehen...das bekomme ich in xml im Leben nicht gebacken :D
    Weier im Text:
    Die 6 Images funktionieren als Multiimage soweit gut wenn ich die Fadetime verlänger.

    Das problem ist:
    Ändere ich das auf eine längere fadetime, braucht das erste image natürlich auch so lange um einzublenden, wenn ich ins Home zurückkehre.

    Habe mal alles mit alarmclock eingebunden...also der ersten Variante.
    Du hast recht...ist nicht wirklich geeignet.

    Die Substrings bekomme ich noch nicht zum laufen.
    Gebe aber zu das mir etwas die Zeit gefehlt hat.

    Was heißt "Bei mir nutze ich die für Genrehintergründe" ?

    Kann man die xml mal einsehen um es etwas besser zu verstehen?

    Vielen lieben Dank
    ...und noch ein frohes Weihnachtsfest

  • Hallo,
    Ich glaube ich habe das Thema etwas unterschätzt :(
    Nunja, in der Tat...man kann sich da wirklich austoben :D
    Naja..so ist das halt mit den blutigen Anfängern :rolleyes:
    ..aber erstmal Danke für eure Kreativität.
    Also,
    Ich hab das mal mit den einzel Images und Substrings probiert.
    Funktioniert soweit ganz gut ist aber für den skin weniger zu gebrauchen, weil ich ja einen Ordner in den Container lade.
    Ich würd das gerne über den Skin für alle brauchbar machen, anschließend für alle verfügbar machen und hier nicht mein eigenes Süppchen für Zuhause köcheln.
    Okay,
    jetzt hab ich mir gedacht...löse doch das erste Image aus dem Container raus stelle es dem Container voran.
    Hmm..war auch nicht wirklich brauchbar.
    Hier wird das erste image in der Schleife immer kurz angezeigt,egal wie die Bilder im Container Angezeigt werden.

    Die Multiimage-Funktion läuft ja von Hause aus eigentlich schon recht gut.
    Vielleicht ist der Denkansatz es direkt auf das Multiimages anzuwenden schon zu kompliziert gedacht.

    Vielleicht sollte man die Funktion garnicht ändern, sondern es irgendwie am back ins Home festmachen um die erste "fadetime" zu ändern.

    Hat jemand ne Idee ?

  • Moin.
    Ich fasse mal kurz zusammen.
    Zu Anfang hast du einfach nur die Multiimagefunktion genutzt um deine 6 Bilder anzeigen zu lassen.
    Da sie aber die Tageszeiten anzeigen sollen muss das Timing besser stimmen? Richtig?

    Nun ist es aus meiner Sicht aber so, dass, damit das timing stimmt man auch zu einem bestimmten Zeitpunkt das HOME betreten werden müsste.
    Ist aus Skinner Sicht aber nicht optimal. Besser wäre es, wenn es IMMER korrekt angezeigt werden würde.
    Man muss also die Sichtbarkeit an die Uhrzeit knüpfen.
    Das geht dann doch besser mit "IntegerGreaterThan". Einen Container brauchst du nicht, aber eine " group" für die WindowOpen animation und in den image Blöcken muss dann nur die "fadetime" zum überblenden festgelegt werden.
    Ich hab das alles nicht getestet, werde es aber mal machen. Weiß nur noch nicht wann.
    bg

  • Wie muß ich den aber jetzt den Imagepfad ans label binden ?

    Also wenn es Tageszeiten Abhängig willst wird das von BG wohl besser sein.. Falls es dennoch noch wissen willst:
    Mit dem Trick des Fadelabels müsstest den Pfad als content in einen "Hidden Container" laden.
    Die einzelnen Bilder kasst dann in der Art Container(xxx).ListItemNowrap.Icon in den Fadelabel´n nacheinander Abgreifen.
    Bei Genrebasiertem Fanart sieht es bei mir so aus:

    Ich fülle das Fadellabel quasi mit den ersten Filmen des Content Action wenn ich auf dem Menüpunkt Action steht und blende die dann als Slideshow ein..

    Aber für dein Vorhaben wird das wohl dann nichts werden..
    Das bist mit sechs einzelnen und visibles nach Tageszeit wohl besser dran..
    Ich dachte dir geht es nur drum in dem vorhandenen Multiimage eben die erste Fadetime irgendwie zu verkürzen..
    Nur glaub ich nicht das du das mit fließenden Übergängen hinbekommen wirst.
    Wie BG schon meinte, die visibles werden soweit ich weiß mit den Includes beim öffnen des Fensters geprüft. Heißt wenn ich um 17:59 das Fenster betrete, der Bildwechsel um 18:00 sein soll passiert ja erst mal gar nichts. Oder bin ich auf dem Holzweg?
    Sowas müsste man dann mit Custom Overlays machen die nur mit bestimmten Bedingungen sichtbar sind. Die liegen aber wieder über dem Home, sind also nicht zu gebrauchen für sowas.

    Vielleicht würde es aber in der Richtung doch gehen, müsste ich aber die Tage mal Versuchen wenn BG da nicht was schlaueres findet :) ..

    Grüße

  • Hallo,
    @bg
    Nein,das ist ein Mißverständniss.
    Die 6 images sollen einfach nur in einem Loop durchlaufen, "ein" bzw. "ausfaden".
    Macht es , mit dem Multiimage ja auch schon pefekt.
    Möchte es nicht an die Tageszeit binden.

    Um jetzt die Tageszeiten(Simulation) darzustellen fade ich mit <fadetime>4000</fadetime>.
    Damit der Übergang von 1.jpg zu 2.jpg...usw. fließend dargestellt wird.(funktioniert auch)
    Mein Problem:
    Kehre ich aus einem Menü ins Home zurück, greift <fadetime>4000</fadetime> auch
    und die erste Einblendung dauert zu lange.

    @Marc0810
    Ja, du hast das schon richtig verstanden.
    Es geht um das erste Einblenden, wenn man ins Home rurückkehrt.
    Vielen Dank für deine xml.
    Die hat mir geholfen und die frage des separierens beantwortet :)
    Hab eine Idee.

    Gibt es eigentlich einen Befehl um am Ende eines zu stoppen ?
    Noloop o.ä. ?

    Gruß

  • Gibt es eigentlich einen Befehl um am Ende eines zu stoppen ?
    Noloop o.ä. ?

    Glaube nicht..
    Falls Fadelabels meinst am ehesten <pauseatend>xxx</pauseatend> das es theoretisch verzögert denke ich..
    So würd ich es auch mit einem Standbild mal versuchen, und Random im Multiimage abschalten..

    deine Methode ist ziemlich cool ... könnte man vielleicht auch die dynamische Methode dafür nutzen? müsste doch gehen ... und dann einen fullscreen container mit autoscroll. leider geht dann aber random Darstellung nicht .... ich spinn schon wieder rum

    Mit "<content target="url">c:/home/addons/</content>" zum Beispiel ja.. nur Fullscreen mit Autoscroll hab ich mangels "Animationskenntnissen" nicht zum laufen bekommen:). Geht ja so gesehen dann nur hoch runter oder links rechts und nicht fade in out.. Deswegen hab ichs halt in ein Fadelabel gepackt..
    Container.OnNext oder sowas wollte einfach nicht..

    Also in der Art dann.. Das erste fade hat man aber trotzdem und Zeit einstellen ist fast unmöglich mit autoscroll, und Fadelabel und noch multiimage.. Obwohl ich mir einbilde das es gar nicht so verkehrt aussieht:)..

    Grüße

Jetzt mitmachen!

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