Container.content(sets) geht nicht ausserhalb eines Container mit einer Variable.......

  • Hey,

    Also wenns denn eh schon brauchst wärs ja egal.
    Ich versuch ja generell mittlerweile nur noch Kodi zu nutzen oder Dinge die kein Beinbruch sind - wie eine Moviesetinfo per "i" aber nur wenn das addon dafür enthalten ist.

    Wenn den helper eh schon brauchst für PVR Artworks oder sonst was, dann reißt es das ja nicht mehr raus.
    Ich hab generell was gegen den:

    - Sobald er installiert wird schreibt er in jeden Skin, selbst wenn der ihn Null Komma gar nicht verwendet (damals als ich schaute, wird ja mal wieder Umgebaut), fast 10 settings in die Skinsettings.
    - Ständig ist irgendwas mit Error hier, Property da funktioniert nicht - für mich muß ein Skript Bombensicher gehen oder eben nicht - das wird ja zur Lebensaufgabe alle paar Wochen alle Fenster mit Infos durchzusehen was wann wo in welcher Kombis gerade Probleme macht.
    - ich einige Infos zwar schön finden würde die er so anbietet, aber jetzt nicht was bei dem die Welt untergeht wenn ichs nicht hab;)..

    Den Content Focus kannst übrigen auch erweitern und als Zähllabel für den Addonbrowser nutzen:
    Falls alle bis auf wenige hab ich damals hinbekommen ohne "Text", als Sprachübergreifend.

    Wir haben ja global ein Zähllabel das immer anzeigt was sich "darunter befindet".. vor allem bei Updates ist das nützlich weil man nicht erst in die Ebene muss um zu sehen das nichts drin ist.

    Grüße

  • ja richtig, aber wenn der helper mal zusammenbricht ist der skin nicht direkt unbrauchbar deswegen macht das ja schon sinn soviel bzw sowenig wie möglich vom helper abhängig zu machen.


    Das andere gucke ich mir die tage an, ich muss mich da erst reindenken :) .

    Mal ne frage, nutzt du zufällig “ember media manager“ ?

    Dort kann man set plots bearbeiten und festlegen, nur frage ich mich wie ich diese den in kodi abrufen soll, listitem.plot geht da nicht.

  • Da hast natürlich recht - unnötig komplizierter Code und etliche visible und Codeteile hast dann aber dennoch die trotzdem geladen oder bei VAR´s "durchanalysiert" werden.
    Kommt natürlich drauf an auf was man verzichten kann;).. Ich hab meinen Frieden mit Kodi internen Dingen gemacht da wir es eh nur als Player nutzen.
    Da ist mir stabilität und unabhängigkeit lieber als von Scripten und Addon getrieben zu werden - die werden ja super schnell wenn es eine neue branch gibt von kodi auch nicht
    mehr weitergepflegt (was ja verständlich ist).

    Ember nutz ich nicht - hast denn unter dem Pfad Filme geschaut oder in Sets?
    Ich denke das macht sicher nen Unterschied - ich dachte immer die Plots vom Ember landen dann in ListItem.Plot das eher nur aus "Zufall" eben unter Filme auch für Sets vorhanden ist.
    Warum sollte Kodi auch die Infolabels unter Sets zur Verfügung stellen wenn sie soweiso immer leer ist.
    Aber für genauere Infos müsstest Dan fragen - der hats ja verbrochen :) .

    Grüße

  • ja das hat sich geklärt mit den sets :thumbup: muss man nur auf eine neue Version des EMM warten.

    Ist das was jetzt mit den Playlisten gemacht wird für FIlme bzw dessen Genre auch für Sets möglich?


    Also zb sich ne playlist erzeugen zu lassen mit den Sets?
    Mir gehts darum ich möchte in der Set info die ich selber geschrieben habe die möglichkeit haben mir da infos zu den sets anzeigen zu lassen.

    Ich habe da aktuell wenn man zb auf ein Set oninfo macht die infos des makierten sets drin, dann habe ich aber noch ne Liste mit "anderen Sets" die fülle ich aktuell mit

    Code
    <content sort="year" limit="40" order="ascending">videodb://movies/sets/</content>


    nur habe ich dann keinerlei infos ausser dem cover und title...

    aber das geht wahrscheinlich nicht weil da wieder kodi nicht genug infos hergibt und ich auf ein externes script zu greifen müsste wie dem skin.info oder?


    hätte dann gerne die handlung, die filme darin usw

  • aber das geht wahrscheinlich nicht weil da wieder kodi nicht genug infos hergibt und ich auf ein externes script zu greifen müsste wie dem skin.info oder?

    gehen vielleicht schon, nur der Speed Kracher wird es sicher nicht und da muss man sich schon die frage Stellen warum man ich drückt;)..
    Sicher nicht um 40 andere Sets durchzublättern in einer Miniversion oder?

    Aber wenns versuchen willst müsstest das mit Content aus dem Content machen denk ich:

    quasi aus der ersten Liste die DBID des Filmes in einer zweiten.. Und daraus dann die Infos.. dann hättest immer den Inhalt des Focus aus Liste 1 als content in der zweiten das wiederrum Filme sind mit Infos die Abgreifen kannst und auch starten denk ich.

    Grüße

  • gehen vielleicht schon, nur der Speed Kracher wird es sicher nicht und da muss man sich schon die frage Stellen warum man ich drückt;)..Sicher nicht um 40 andere Sets durchzublättern in einer Miniversion oder?

    Aber wenns versuchen willst müsstest das mit Content aus dem Content machen denk ich:


    quasi aus der ersten Liste die DBID des Filmes in einer zweiten.. Und daraus dann die Infos.. dann hättest immer den Inhalt des Focus aus Liste 1 als content in der zweiten das wiederrum Filme sind mit Infos die Abgreifen kannst und auch starten denk ich.

    Grüße

    du durchschaust mich aber auch immer :thumbup:

    also ich spiele aktuell einfahc mit den möglichkeiten um zu sehen was alles geht.
    aber hab das mal getestet von der geschwindigkeit her dauert es knapp ne sekunde die infos anzeigen zu lassen :P

  • aber hab das mal getestet von der geschwindigkeit her dauert es knapp ne sekunde die infos anzeigen zu lassen

    scheint so das Minimum zu sein was ich bis jetzt so drin hatte braucht es diese Sekunde irgendwie immer - auch auf nem
    richtig schnellem Rechner bekommst er das nicht schneller hin - das blöde ist das contents auch mit dem Container.Update teils nicht
    wirklich gut animiert werden können.

    Letztendlich musst es per Delay ausblenden und zwar für meinetwegen 2 Sekunden damit man beim schneller scrollen falls es listen sind
    nicht noch die Info vom alten drin kommt.

    Ist etwas suboptimal.. Aber vor ich sowas reinmach würde ich doch lieber Genreempfehlungen nehmen? geht sicher auch mit SetGenres
    und macht doch mehr sinn als bei James Bond unten "alle Sets" und da dann die Info aus Rambo oder?

    So passt es wenigstens Ansatzweise zu den Filmen im Sets. Fände ich logischer..

    Grüße

  • sets haben doch kein genre ohne externes script oder ?

    so gesehen kannst sie doch gruppieren wenns sein muss nach Zusammenstellung - ich seh aber eher den sinn einer solchen Info um schnell zu sehen was im Set ist ohne "rein und raus zu müssen" - falls man nicht unbedingt den Überblick hat und keine steife Setstruktur einhält. Gibt ja auch Leute (wie ich) die Nutzen das um Filme zusammenzufassen damit sie Gemeinsam als einer Erscheinen und Hobbit und Herr der Ringe in eins packen;)..

    Mir würden da Filme reichen - ob das nun mit ListItem.Genre als Substring vergleichswert mit einem Fixem Begriff wie "Action" vergleichst oder ob der linke Wert aus dem Property skin.helper.Property.irgendwas kommt müsste doch egal sein oder?

    Versuchs doch mal mit dem property ob was bei raus kommt - dann kannst immer noch schauen was passiert wenn Filme Gruppierst - Ist halt nicht so das alle Filme eines Sets dasselbe Genre haben müssen - hab nicht geschaut ob das Sinn macht oder vieles unpassendes kommen würde je nach Sets..

    Grüße

  • ich komme etwas durcheinander, also filme die in dem set sind habe ich schon drinne.

    so wenn man auf andere geht, zeigt er aktuell noch alle sets an... das ist natürlich schicker wenn da nach dem genre des aktuellen sets die anderen sets angezeigt werden, das kann ja der skin.info.service mit :

    Code
    'Set.Movies.Genre'

    nur kann ich dann einfach den aufruf verändern in

    Code
    <content target="video" sort="year" limit="40" order="ascending">videodb://movies/sets/Window(home).Property(Set.Movies.Genre)</content>

    das wird doch sicher nicht gehen, und ich kann doch keine Playlisten mit Sets basieerend auf den SET Genres erstellen oder geht das?
    oder reden wir aneinander vorbei?

  • das nicht, wenn dann musst schon dieselbe Variable nehmen wie auf Seite 1 und einfach das Property statts dem Listitem.Genre verwenden als Vergleichswert


    <value condition="[String.Contains(Window(home).Property(Set.Movies.Genre),Comedy) | String.Contains(Window(home).Property(Set.Movies.Genre),Sitcom) | String.Contains(Window(home).Property(Set.Movies.Genre),Komödie)]">special://skin/playlists/defaults/genres/film/Comedy.xsp</value>

    und dann auf Playlisten verweisen die das Genre Comedy filtern und ggf. gruppiert sind als sets wenn das sinn macht (nicht versucht).

    Grüße

  • das nicht, wenn dann musst schon dieselbe Variable nehmen wie auf Seite 1 und einfach das Property statts dem Listitem.Genre verwenden als Vergleichswert


    <value condition="[String.Contains(Window(home).Property(Set.Movies.Genre),Comedy) | String.Contains(Window(home).Property(Set.Movies.Genre),Sitcom) | String.Contains(Window(home).Property(Set.Movies.Genre),Komödie)]">special://skin/playlists/defaults/genres/film/Comedy.xsp</value>

    und dann auf Playlisten verweisen die das Genre Comedy filtern und ggf. gruppiert sind als sets wenn das sinn macht (nicht versucht).

    Grüße

    aber dann erhalte ich doch Filme als ergebnis und nicht sets oder?
    wie gruppiere ich den playlisten?

  • auf den gruppieren button drücken beim erstellen und Zusammenstellung auswählen;)..

    Dann zeigt er mir Sets an. Aber da ich wenige Sets habe und genres immer auf zwei beschränke kann ich dir nicht sagen ob er dann alle Filme des Sets nimmt, egal ob das genre zutrifft oder das ganze Set wenn nur einer das Genre Enthält wenn man z.B. Genre Action als Kriterium wählt.

    Grüße

  • das geht ja echt :thumbup:

    werde es morgen ausgiebig testen, danke marc

    es sieht aus als nehme er alle sets in dennen filme sind die das genre haben


    EDIT

    ein problem ist aber noch, er nimmt in der playöist nur EIN genre an, packe ich zwei rein, wie bei filmen dann sucht er explizit nach den beiden, und nicht einzeln.

  • durch das gruppieren?

    wäre aber seltsam..

    Das Property ist ja in der Info des Sets meinetwegen Action / Abenteuer - und wird dann per string.Contains mit Action verglichen..

    Und da sucht er dann wie nach beiden? Die VAR bleibt ja immer auf dem ersten stehen. Steht Abenteuer im value über Action bleibt er bei dem schon als true stehen und nimmt die.

    Grüße

  • guten morgen :sleeping:

    nene nicht die VAR ist das Problem so wie es aussieht ist es die Playlist.

    gebe ich ihm in der Playlist zb :

    Code
    <rule field="genre" operator="contains">
            <value>Horror</value>
    </rule>

    findet er bei mir 25 sets. so füge ich jetzt ein zweites genre, zb "Zombies" hinzu

    Code
    <rule field="genre" operator="contains">
            <value>Horror</value>
    </rule>
    <rule field="genre" operator="contains">
            <value>Zombies</value>
    </rule>

    dann findet er nur noch 1 set. Und das ist das Set wo die Filme im Set das genre "Horror / Zombies" haben.


    EDIT
    habe das Problem gefunden, es war das :

    Code
    <match>all</match>


    es muss aber

    <match>one</match>

    sein :thumbup:

  • hat Phil hier mal aufgelistet:

    http://forum.kodi.tv/showthread.php?tid=299107

    Das müssten alle sein. Ansonsten kannst nur noch mit Container.Folderpath oder IsEmpty versuchen sowas wie Top100 zu Unterscheiden falls nötig.

    Grüße

    kannst du mir das genauer erklären ichkapiere nicht so ganz was mir die liste von phil da sagen soll?

    ich habe zb eine liste mit folgendem Content:

    Code
    <content target="songs" sortby="track" sortorder="ascending">$INFO[ListItem.FolderPath]</content>

    um mir in der ebene Alben die songs der alben anzeigen zu lassen, aber zb bei dem album P!nk - Greatest hits bleibt die liste leer, obwohl der "Listitem.Folderpath" mir "musicdb://albums/76/" zurück gibt?!


    desweiteren habe ich enorme unterscheide zwischen ubuntu und meinem Windows Kodi, und zwar setzte ich einen CutomPath zu den Alben, um mir dort die cdart anzeigen zu lassen mit folgendem Befehl :

    Code
    $INFO[Skin.String(CustomMusicLogoPath)]$INFO[ListItem.Artist]$INFO[ListItem.Album,/,/cdart.png]


    unter windows läuft es wunderbar, unter meinem ubuntu kodi zeigt er mir die cdarts einfach nicht an..... aber nur sporadisch, manche gehen, manche nicht.

  • kannst du mir das genauer erklären ichkapiere nicht so ganz was mir die liste von phil da sagen soll?

    Kann ich machen, dauert nur etwas das auseinander zu friemeln;)..
    Dazu weiß ich halt auch nicht wo es bei dir hängt - ich will ja auch keine Romane Verfassen wovon dir 90% soweiso klar waren.
    Wo hängt es denn genau? hast ein Beispiel?


    um mir in der ebene Alben die songs der alben anzeigen zu lassen, aber zb bei dem album P!nk - Greatest hits bleibt die liste leer, obwohl der "Listitem.Folderpath" mir "musicdb://albums/76/" zurück gibt?!

    klappt da nicht einfach sowas - ich hab Musik schon ewig nciht mehr angefasst?

    Code
    <value condition="Window.IsVisible(music) + Container.Content(albums) + String.StartsWith(Container.Folderpath,musicdb://albums/)">musicdb://albums/$INFO[ListItem.DBID]/</value>


    Die 76 im Folderpath ist doch deine ID, und mit ListItem.DBID hast auch dann keinen Ärger mehr.
    Evtl. liegts bei dem Beispiel am Ausrufezeichen - versuch mal ESCINFO statts INFO.


    unter windows läuft es wunderbar, unter meinem ubuntu kodi zeigt er mir die cdarts einfach nicht an..... aber nur sporadisch, manche gehen, manche nicht.

    Also für Logos. z.B. hab ichs immer so gemacht - ich hab allerdings nur Windows.

    Code
    <value condition="String.IsEqual(ListItem.DBType,artist) + !String.IsEmpty(Skin.String(Music_Folder_Path))">$INFO[Skin.String(Music_Folder_Path)]$INFO[ListItem.Artist,,/logo.png]</value>
    	<value condition="String.IsEqual(ListItem.DBType,album) + !String.IsEmpty(Skin.String(Music_Folder_Path))">$INFO[Skin.String(Music_Folder_Path)]$INFO[ListItem.Property(Album_Artist),,/logo.png]</value>
    	<value condition="String.IsEqual(ListItem.DBType,song) + !String.IsEmpty(Skin.String(Music_Folder_Path))">$INFO[Skin.String(Music_Folder_Path)]$INFO[ListItem.Artist,,/logo.png]</value>

    Warum ich Album_Artist nehm weiß ich allerdings auch nicht;).. Womöglich wegen Samplern, aber sicher weiß ich es nicht mehr.

    Grüße

  • also ich glaube romane sind okay, kapiere nix von der liste was er damit aussagen will.

    zb hier, was agt mir das ? was kann ich damit machen? irgendwie muss man das ja per content aufruf nutzen, aber wie?

    Code
    tags (videos and music)


    ne $ESCINFO geht auch nicht, dann bleibt alles leer, und auch mit deinem aufruf, ist ja quasi das selbe gehts auch leider nicht, P!nk bleibt leer.


    und bei cdart, ist das ja das selbe quasi, dein aufruf und meiner ist ja bisdahin gleich, nur erweitre ich meinen noch um §INFO[Listitem.album] da ich ja eine Ebene tiefer muss, also einen Ordner weiter.
    Unter windows gehts ja, nur ubuntu macht da ärger.

  • Naja, nicht ganz.. DBID ist ja dein Folderpath Pfad als "Zahl" aus der DB.

    Mir fällt für beides nur noch ein das es etwas mit Groß-/Kleinschreibung zu tun hat.

    Ich hatte das schon mit Skingrafiken und aufruf im Code White.png und Grafiknamen white.png.
    Das ging in allen Fenstern gut außer den beiden Einstellungsfenstern - da fehlte es immer wenn das include nicht aus dem Cache des
    "Previouse Windows" schon vorhanden war und neu geladen wurde.. Nach einem Manuellen Reload wars dann komischerweise da.

    Mal geprüft ob es vielleicht Einträge sind in denen die Verzeichnisse anders sind als die DB Einträge?
    Du "ziehst" ja den Pfad aus den DB Labels - also mal abgesehen von P!nk - da kanns ja auch ein Sonderzeichenproblem sein.
    Ausrufezeichen ist halt in Kodi das Negieren von Conditions..


    zb hier, was agt mir das ? was kann ich damit machen? irgendwie muss man das ja per content aufruf nutzen, aber wie?

    Ich schreib die Tage was zusammen so wie ich es aus meinen Erfahrungen weiß - für mehr fehlen mir die Englischkenntnisse um im Orgforum da Diskussionen darüber zu führen.


    Als Regel gilt aber meiner Erfahrung nach:
    Container.content(xxx) bezieht sich ausschließlich auf vom Core generierte "Listen" die durch visibles eingeschränkt sind oder auch nicht.
    Also alle Listen die Views sind. Dabei setzt Kodi einen Contenttype für diese Liste der Nötig ist um Skinnern die Möglichkeit zu bieten zu Unterscheiden wie
    sie aussehen sollen - sonst könntest ja keine Liste für Serien und Filme oder Musik erstellen.

    Das
    tags (videos and music)
    soll dir sagen das du Container.Content(tags) im window music und videos verwenden kannst um einer View mitzuteilen das sie für tags sein soll (oder nicht), oder Beispielsweise dort
    das Artwork Icon kommen soll usw..

    tags entspricht dann dem DB Pfad videodb://movies/tags usw.

    Content soll immer in Views verwendet werden, während ListItem DBType in allem außerhalb verwendung finden. In den Infofenstern soll nur DBType verwendet werden und nicht content.
    Das hat den einfachen Grund das die Infos nur Dialoge sind. Das content kommt da im Prinzip aus deiner DB Liste der View darunter.
    Würdest du da Container.content(episodes) verwenden um zu sagen Titel=Label, wäre das wenn dieser Dialog von einer Playliste unter Episode geöffnet wird aber den Inhalt Filme
    unter Umständen das falsche weil sich dann alle conditions episodes auf true setzten würden statts die für Movies.

    Anders gesagt ist ListItem.DBType das was beim Scrollen "geändert" werden kann, während sich Container.Content immer auf die gesamte Liste bezieht und beim laden der Liste genau einmal
    für alles definiert wird um zu Unterscheiden ob nun ein logo kommen soll, in Label X Duration stehen soll usw.

    DBType bezieht sich dagegen auf den Fokus, und kann in Listen nur für das fokussierte gehen - würdest du das ins Itemlayout Packen gäbe es unter Umständen probleme wenn die sich vom Focus unterschieden.
    Für mehr muss ich mir das im Thread nochmal ansehen - ich hab das selbst schon für mich über die letzten jahre ausgeknobelt für das was ich es benötig;)..

    Grüße

Jetzt mitmachen!

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