Arctic: Zephyr - Reloaded

  • Leider bist du weder genau auf meine Fragen, noch auf den Großteil meines Textes eingegangen. Dennoch möchte ich eine Sache nochmal aufgreifen:

    - Wenn man zwei Widgetreihen hat, beide untereinander anzeigen, wenn man schon auf dem Hauptmenüpunkt navigiert, der die zwei Widgetreihen hat. Bisher muss man aktiv nach unten navigieren, um die zweite Reihe zu sehen. Mit meinem Vorschlag würde man direkt direkt beide Widgetreihen sehen. In AEON NOX: Silvo geht das.

    Das ist kein Fehler oder ein fehlendes Feature, sondern so gewollt:

    Möchte man hingegen nur Artwork (Poster/Fanaart/Thumb/Icon/ usw.) sehen, bietet sich hier der Multi-Widgets (ohne Netflix) Hauptmenu-Stil an:


    Hier kann dann für jedes Widget nochmal entschieden werden, ob es ein Vollbild-Widget sein soll.

  • Hallo,

    mein erster Post hier. Vielen Dank für deine Arbeit mit diesem Skin, nach einigem Ausprobieren mit anderen Skins scheine ich nun endlich meinen Liebling gefunden zu haben.

    Ich benutze bei der Filmeansicht den Stil Shifted und hätte da eine Frage...Wie schwer wäre es, den Stil so zu bearbeiten, dass entweder oben beim Filmtitel oder unter dem Covern noch das Erscheinungsjahr darzustellen? Ich denke, ich würde damit klarkommen, wenn ich wüsste, in welcher xml ich einen entsprechenden Code einfügen müsste.

  • Das zu ändern ist nicht schwer. Im Ordner 1080i die Datei view_509_shift.xml öffnen, Zeile 19 suchen, nach $INFO[ListItem.Title] folgendes einfügen $INFO[ListItem.Year,(,)]

    Wenn du es unter den Postern angezeigt haben möchtest, dann in Zeile 128, nach $VAR[509_Row_3] einfügen.

    Datei speichern, Skin neuladen oder Kodi neustarten, damit die Änderungen sichtbar werden.

    Ich hoffe, 509 war jetzt die richtige View Id dafür. Kann es leider nicht nachprüfen, da ich nicht zu Hause bin.

  • Mal ein paar Gedanken dazu:

    - das Abspielen des aktuellen Videos im Hintergrund ist eine globale Einstellung, die sich auf alle Fenster auswirkt. Diese befindet sich in den Skin-Einstellungen > Hintergrund > Aktuell wiedergegebenes Video im Hintergrund anzeigen. Wenn Videos im Hintergrund abgespielt werden, ist dies nur mit einem Overlay möglich, da sich immer viele andere Dinge auf dem Bildschirm befinden. Damit diese vernünftig zu sehen sind, braucht es eben einen Kontrast.
    Das, was zu hingegen gefunden hattest, ist eine Einstellung, die ausschließlich Im Hauptmenu die Informationen des aktuell abgespielten Videos anzeigt inkl., wenn man möchte, einem kleinen Vorschaufenster.

    Was mich aber interessieren würde? Wozu muss der Film im Hintergrund sichtbar sein ohne Overlay?

    Sorry, dass ich jetzt erst antworte, nun ausführlich:

    Ich finde es ganz schön, wenn man beim Navigieren durch die Menüs im Hintergrund das aktuell abspielende Video hat. Bei Filmen und Serien bleibt bei mir das Bild natürlich größtenteils im Vordergrund, aber wenn ich ein Fußballspiel schaue, navigiere ich währenddessen manchmal durch die Menüs und schaue, was demnächst für Spiele sind (im DAZN-Addon), schaue mir meine YouTube-Abos an, also was dort für aktuelle Videos sind oder aber ich beende das Video nicht, sondern lasse es im Hintergrund "auslaufen" (z.B. Abspann bei Serien oder Filmen) und navigiere währenddessen zu meinem nächsten "Ziel", welches ich abspielen möchte.

    Außerdem ist es in der Android-App von DAZN auch so, dass ein abspielendes Video im Hintergrund ist und im Vordergrund kann man in den Widgetreihen navigieren. Daher kam mir die Idee, dies genauso in Kodi aussehen zu lassen.

    Hier noch einmal ein Screenshot von Nox Silvo. Da ist es schön transparent, sodass man das abspielende Video im Hintergrund gut erkennt:

  • Danke für deine ausführliche Erklärung. Ich kann das somit gut nachvollziehen. Leider wird es keine Option dafür geben, da diese, wenn dann für alle Ansichten gelten müsste. Einige Ansichten würden einen entsprechenden Hintergrund, also Kontrast benötigen, wie z.B. die Listenansichten, da sonst der Text auf dem im Hintergrund laufenden Video schlecht lesbar wäre.

    Die relevanten Zeilen im Code befinden sich in der 1080i/Includes.xml, Zeilen 809-815. Werden diese entfernt, wird das aktuell laufende Video fast nicht mehr abgedunkelt. Vielleicht hilft dir das weiter.

  • Erstmal "super Arbeit"
    Ich spiel gern mal mit verschiedenen Skins rum und hab mich jetzt auf diesen festgelegt.
    Ich bin ein Fan von Listen, kann mich nicht an ander Ansichten "erfreuen" [bn]

    Ich hab nicht viel Ahnung, aber in den letzten Tagen hab ich mir das soweit meine Kenntnisse reichen angepasst.

    Was ich mir noch wünschen würde wären Keyarts, aber ich glaube dafür reichen meine Kenntnisse zwegs Fallback nicht aus. Vielleicht hast du da einen Tip oder nimmst das in deine ToDo-Liste auf. [ab]
    Eigentlich ist es Quatsch aber ich würde mir gern die Mediaflags etwas anders anordnen, weis aber nicht wo ich diese finde.
    Blue Velvet geht genau 2 Stunden, aber die 00min bekomm ich auch nicht zu sehen. [ac]

    Grüße Maik

  • Bezuglich der Dauer: in den Skin Einstellungen gibt es eine Einstellung, um ein anderes Zeitformat zu nutzen. Ich glaube, die Einstellung befindet sich unter "Extras".

    Zum Thema Keyarts: Wofür und in welcher Form würdest du sie nutzen?

    Die Media-Flags findest du in der Includes_Furniture.xml https://github.com/beatmasterRS/s…s_Furniture.xml
    Für die Ansichten geht's ab Zeile 1295 los :)

  • Danke für die schnelle Antwort!

    Ich nutze ja das neue Zeitformat, hab nur in der Includes_Labels.xml aus h:m hh:mm gemacht. Funktioniert ja auch super, nur wenn die Laufzeit eines Films keine Minuten hat, also z.B. genau 2h geht werden keine 00min angezeigt. Aber das hat sich erledigt, hatte es an einer stelle vergessen. [ac]

    Keyarts find ich persönlich anstelle der Filmposter schöner. Einige Skins bieten das ja an, also anstelle der Poster Keyarts anzeigen zulassen.
    In der Includes_Images.xml unter
    <variable name="PosterImage">
    <value condition="!String.IsEmpty(ListItem.Art(poster))">$INFO[ListItem.Art(poster)]</value>
    kann ich ja keyarts aufrufen, aber ich weiss nicht wie ich dann ein Fallback auf die Poster hinbekomme fals es keine Keyart gibt.

    Die Media-Flags werd ich mir mal anschauen.

  • Ich wußte bis jetzt nicht, was keyart für ein Artwork ist, danke für deine Erklärung :) Ich werde mir das wirklich mal durch den Kopf gehen lassen, das als Option einzubauen. Habs grade getestet, würde super zum Design passen!

    Indem du Keyart-Wert -und Bedingung vor Poster-Wert-Bedingung setzt:

    XML
    <variable name="PosterImage">
            ...
            <value condition="!String.IsEmpty(ListItem.Art(keyart))">$INFO[ListItem.Art(keyart)]</value>
            <value condition="!String.IsEmpty(ListItem.Art(poster))">$INFO[ListItem.Art(poster)]</value>
            ...
        </variable>

    Wenn Keyart vorhanden ist, wird es genutzt. Wenn nicht, geht's weiter zur Poster-Bedingung, usw.

  • Bitte gern! [ag]
    Funktioniert!
    Aber dafür hat das mit der Laufzeit 2:00 nicht geklappt. Endweder hab ich mich verguckt oder es hat nicht lange gehalten. Es werden nur die Stunden angezeigt.


    Per Variable und Bedingung prüfen ob Minute == 0 und Stunde > 0.

    XML: Quick and dirty code
    <value condition="!String.IsEmpty(ListItem.Duration(mins)) + Integer.IsGreater(ListItem.Duration(h),0) + Integer.IsEqual(ListItem.Duration(m),0)">$INFO[ListItem.Duration(h)]:00</value>

    ergibt "2:00" bei genau 2 Stunden Spielzeit :)

  • Das mit der Laufzeit klappt an sich, doch weiss ich nicht genau wie ich diesen richtig einfüge, mit den ganzenKklammern und Kommas komm ich nicht klar.
    meines erachtens gehört das ja in die Includes_Labels.xml und die sieht bei dir so aus:

    <variable name="LabelDurationTimeCheck">
    <value condition="!String.IsEmpty(ListItem.Duration(mins)) + !Skin.HasSetting(NewTime)">$INFO[ListItem.Duration(mins),, $LOCALIZE[31102]]</value>
    <value condition="!String.IsEmpty(ListItem.Duration(mins)) + Skin.HasSetting(NewTime) + Integer.IsGreater(ListItem.Duration(h),0) + Integer.IsGreater(ListItem.Duration(m),0)">$INFO[ListItem.Duration(h),,$LOCALIZE[31088]] $INFO[ListItem.Duration(m),,$LOCALIZE[31089]]</value>
    <value condition="!String.IsEmpty(ListItem.Duration(mins)) + Skin.HasSetting(NewTime) + Integer.IsGreater(ListItem.Duration(h),0) + !Integer.IsGreater(ListItem.Duration(m),0)">$INFO[ListItem.Duration(h),,$LOCALIZE[31088]]</value>
    <value condition="!String.IsEmpty(ListItem.Duration(mins)) + Skin.HasSetting(NewTime) + !Integer.IsGreater(ListItem.Duration(h),0)">$INFO[ListItem.Duration(m),,$LOCALIZE[31089]]</value>
    </variable>

    Ich habe dort auch §ListItem.Duration(m)" "ListItem.Duration(mm)" gemacht um bei Minuten eine führende 0 einzufügen. Wie ich deinen Vorschlag einbaue weiss ich nun nicht.

  • Nur mal zur Info, ist für mich nicht so tragisch.

    Ich nutze als Menue "Vertikal Multi-Widges Netflix". Bei den Einstellungen hab ich "bei zurück zum ersten Eintrag in der Widges-Liste springen" und "danach, Hauptmenue fokussieren" gewählt. Das macht er aber nicht, er springt bei zurück gleich zum Hauptmenue und erst beim nächsten "zurück" wieder zur Widges-Liste.

  • Nur mal zur Info, ist für mich nicht so tragisch.

    Ich nutze als Menue "Vertikal Multi-Widges Netflix". Bei den Einstellungen hab ich "bei zurück zum ersten Eintrag in der Widges-Liste springen" und "danach, Hauptmenue fokussieren" gewählt. Das macht er aber nicht, er springt bei zurück gleich zum Hauptmenue und erst beim nächsten "zurück" wieder zur Widges-Liste.


    Je nach Anzahl der Einträge ( > 25 ) und eigener Position in der Liste im Widget benötigt man manchmal ein paar Klicks auf zurück, bevor das Hauptmenu wieder fokussiert ist. Die Option "bei zurück zum ersten Eintrag in der Widget-Liste springen" sorgt dafür, dass man nicht mehrmals auf zurück klicken muss, bevor man wieder beim ersten Element in der Liste im Widget ist. Die Option "Danach, Hauptmenu fokussieren" spart hier eben noch einen zusätzlichen Klick: es wird sofort das Hauptmenu fokussiert.

    Mit "zurück" und aktuell fokussiertem Hauptmenu werden Widgets nur fokussiert, wenn die entsprechende Option "Bei fokussiertem Hauptmenu, bei zurück zu den Widgets springen" gewählt wurde. Funktioniert

  • In welchem Intervall werden die Widgets aktualisiert oder werden die Widgets durch eine bestimmte Aktion aktualisiert, wenn man nach auf den Menüeintrag mit den Widget navigiert?


    Ich glaube immer, wenn ein Medium abgespielt wird/wurde oder je nach Widget auch zwischendurch über eine Embuary Helper Funktion: https://github.com/sualfred/scrip…refresh-widgets

  • Ich weis nicht ob das so sauber geschrieben ist, aber nach einfügen einer Zeile bekomme ich die Minuten jetzt zweistellig und auch 00min angezeigt.

    XML: Includes_Labels.xml
    <variable name="LabelDurationTimeCheck">
    		<value condition="!String.IsEmpty(ListItem.Duration(mins)) + !Skin.HasSetting(NewTime)">$INFO[ListItem.Duration(mins),, $LOCALIZE[31102]]</value>
            <value condition="!String.IsEmpty(ListItem.Duration(mins)) + Skin.HasSetting(NewTime) + Integer.IsGreater(ListItem.Duration(h),0) + Integer.IsGreater(ListItem.Duration(m),0)">$INFO[ListItem.Duration(h),,$LOCALIZE[31088]] $INFO[ListItem.Duration(mm),,$LOCALIZE[31089]]</value>
    		<value condition="!String.IsEmpty(ListItem.Duration(mins)) + Skin.HasSetting(NewTime) + Integer.IsGreater(ListItem.Duration(h),0) + Integer.IsEqual(ListItem.Duration(m),0)">$INFO[ListItem.Duration(h),,$LOCALIZE[31088]] $INFO[ListItem.Duration(mm),,$LOCALIZE[31089]]</value> 
            <value condition="!String.IsEmpty(ListItem.Duration(mins)) + Skin.HasSetting(NewTime) + Integer.IsGreater(ListItem.Duration(h),0) + !Integer.IsGreater(ListItem.Duration(m),0)">$INFO[ListItem.Duration(h),,$LOCALIZE[31088]]</value>
            <value condition="!String.IsEmpty(ListItem.Duration(mins)) + !Integer.IsGreater(ListItem.Duration(h),0)">$INFO[ListItem.Duration(mm),,$LOCALIZE[31089]]</value>
        </variable>
  • Ich hab zuviel langeweile [ag]

    ListItem.Duration(mm) auf diese Formatierung hätte ich auch selbst drauf kommen können [ah]

    Damit alleine bekommst ja nur die Minuten zweistellig. Die zusätzliche zeile konnte ich jetzt auch entfernen, nachdem ich aus
    Integer.IsGreater(ListItem.Duration(m),0)
    Integer.IsGreaterOrEqual(ListItem.Duration(m),0)
    gemacht habe werden die 00min auch angezeigt.
    Ist vlt einen Idee für dein nächste Update.

Jetzt mitmachen!

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