Wenn ich raten müsste würde ich den Fehler eher im Skin shortcuts Addon suchen wenn das dafür genutzt wird um ein Custom Widget aus dem Addon zu "übergeben".
Im Contant provider von kodi sind eigene Propertys ja erlaubt - wobei ich da denn Sinn zwar nicht verstehe, ursprünglich wars ja so gedacht das ein Container mit "normalen" ListItems
alls füllen können soll.
Als Beispiel: Ich hab hier einen Widgetcontainer mit ListItem.DBID in einem Flag. Mit Content aus dem Service library Data Provider Addon klappt nun damit eigentlich fast alles wie
ListItem.Duration, aber DBID nicht weil das über ListItem.Property(dbid) gelöst wurde. Keine Ahnung wofür und warum, macht aber die Logik "Eine Vorlage kann mit allem gefüllt werden" irgendwie zunichte.
Werden denn die Property korrekt in die includes geschrieben? Das sollte man doch auch im Silvion sehen. Der schreibt die Widgets doch per Addon in Templates und "baut daraus includes" für script-skinshortcuts-includes.xml.. Stehen da dann die Propertys drin? Da würde ich zuerst suchen...
Dann schließt man schon mal aus das das Menüscript womöglich auch nur bestimmte ListItems oder Propertys aus dem Content weiterreicht an seine Templates oder wie es auch immer dort verbaut wird.
Das ist ja unter umständen recht komplex mit VAR´s und Propertys in der Override.xml über Parameter die dann das passene ListItem.xxx übergeben um daraus dann dutzende Widgets zu erstellen als Include.
Grüße
Alles anzeigen
ich habe versucht das ganze irgendwie nach zuvollziehen aber komme einfach nicht richtig dahinter an welcher stelle die Listeitems übergeben werden sollen... Leider gibt es auch keine Antworten auf fragen im entsprecheden Tread von scrpt-shortcuts...
soweit wie ich das gesehen habe, werden die Widget in einzelne Container gepackt (widget 1-8).
variable name="widgetsubtitle-$SKINSHORTCUTS[id]510">
<value condition="!String.IsEmpty(Container($SKINSHORTCUTS[id]510).ListItem.TvShowTitle) + !String.IsEmpty(Container($SKINSHORTCUTS[id]510).ListItem.Genre)">$INFO[Container($SKINSHORTCUTS[id]510).ListItem.TvShowTitle,, • ]$INFO[Container($SKINSHORTCUTS[id]510).ListItem.Year,, • ]$INFO[Container($SKINSHORTCUTS[id]510).ListItem.Genre]</value>
<value condition="!String.IsEmpty(Container($SKINSHORTCUTS[id]510).ListItem.TvShowTitle)">$INFO[Container($SKINSHORTCUTS[id]510).ListItem.TvShowTitle,, • ]$INFO[Container($SKINSHORTCUTS[id]510).ListItem.Premiered,, • ]$INFO[Container($SKINSHORTCUTS[id]510).ListItem.Duration,,min.]</value>
<value condition="!String.IsEmpty(Container($SKINSHORTCUTS[id]510).ListItem.Year)">$INFO[Container($SKINSHORTCUTS[id]510).ListItem.Year,, • ]$INFO[Container($SKINSHORTCUTS[id]510).ListItem.Duration,,min. • ]$INFO[Container($SKINSHORTCUTS[id]510).ListItem.Genre]</value>
<value condition="!String.IsEmpty(Container($SKINSHORTCUTS[id]510).ListItem.Artist) + !String.IsEmpty(Container($SKINSHORTCUTS[id]510).ListItem.Album)">$INFO[Container($SKINSHORTCUTS[id]510).ListItem.Artist,, • ]$INFO[Container($SKINSHORTCUTS[id]510).ListItem.Album,, • ]$INFO[Container($SKINSHORTCUTS[id]510).ListItem.Duration]</value>
<value condition="!String.IsEmpty(Container($SKINSHORTCUTS[id]510).ListItem.Property(StartTime))">$INFO[Container($SKINSHORTCUTS[id]510).ListItem.Property(ChannelName),, • ]$INFO[Container($SKINSHORTCUTS[id]510).ListItem.Property(StartTime),, - ]$INFO[Container($SKINSHORTCUTS[id]510).ListItem.Property(EndTime),, • ]$INFO[Container($SKINSHORTCUTS[id]510).ListItem.Genre]</value>
<value condition="!String.IsEmpty(Container($SKINSHORTCUTS[id]510).ListItem.StartTime)">$INFO[Container($SKINSHORTCUTS[id]510).ListItem.ChannelName,, • ]$INFO[Container($SKINSHORTCUTS[id]510).ListItem.StartTime,, - ]$INFO[Container($SKINSHORTCUTS[id]510).ListItem.EndTime,, • ]$INFO[Container($SKINSHORTCUTS[id]510).ListItem.Genre]</value>
</variable>
scrip-skinshortcuts-includes.xml
<variable name="widgetsubtitle-7510">
<value condition="!String.IsEmpty(Container(7510).ListItem.TvShowTitle) + !String.IsEmpty(Container(7510).ListItem.Genre)">$INFO[Container(7510).ListItem.TvShowTitle,, • ]$INFO[Container(7510).ListItem.Year,, • ]$INFO[Container(7510).ListItem.Genre]</value>
<value condition="!String.IsEmpty(Container(7510).ListItem.TvShowTitle)">$INFO[Container(7510).ListItem.TvShowTitle,, • ]$INFO[Container(7510).ListItem.Premiered,, • ]$INFO[Container(7510).ListItem.Duration,,min.]</value>
<value condition="!String.IsEmpty(Container(7510).ListItem.Year)">$INFO[Container(7510).ListItem.Year,, • ]$INFO[Container(7510).ListItem.Duration,,min. • ]$INFO[Container(7510).ListItem.Genre]</value>
<value condition="!String.IsEmpty(Container(7510).ListItem.Artist) + !String.IsEmpty(Container(7510).ListItem.Album)">$INFO[Container(7510).ListItem.Artist,, • ]$INFO[Container(7510).ListItem.Album,, • ]$INFO[Container(7510).ListItem.Duration]</value>
<value condition="!String.IsEmpty(Container(7510).ListItem.Property(StartTime))">$INFO[Container(7510).ListItem.Property(ChannelName),, • ]$INFO[Container(7510).ListItem.Property(StartTime),, - ]$INFO[Container(7510).ListItem.Property(EndTime),, • ]$INFO[Container(7510).ListItem.Genre]</value>
<value condition="!String.IsEmpty(Container(7510).ListItem.StartTime)">$INFO[Container(7510).ListItem.ChannelName,, • ]$INFO[Container(7510).ListItem.StartTime,, - ]$INFO[Container(7510).ListItem.EndTime,, • ]$INFO[Container(7510).ListItem.Genre]</value>
</variable>
Ich komme da einfach nicht weiter...