[ALPHA VERSION] SerienPlaner

  • @BJ1 mir ist aufgefallen, das due "Property ListItems" nicht angezogen werden, weist Du ob etwas geändert wurde?

    Eigentlich kannst Du beliebige Properties an die ListItems anhängen, einige vordefinierte haben sich jedoch geändert bzw. sind weggefallen, z.B. liegen grafische Elemente (Icons z.B) im Property 'Art': http://mirrors.kodi.tv/docs/python-do…i.html#ListItem

    Ansonsten weiss da sicher @Marc0810 besser Bescheid.

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960
    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • Aber auch bei deinem GTO Service wird im Titan Skin nicht mehr alles angezeigt

    Die Implementation in den Titan hat aber der Maintainer des Skins gemacht (MarcelVeldt). Im Estuary (Original, Refresh und ModV2) wird m.W. eigentlich alles angezeigt. Ich selbst nutze z.Zt. den MODV2 unter Leia (Milhouse LE9) - ich sehe da keine Auffälligkeiten.

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960
    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • 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

  • 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).

    XML
    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

    XML: script-skinsshortcuts-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...

    Odroid N2+ 4GB 16GB eMMC CE
    TVHeadend Server/Client

  • Ich komme da einfach nicht weiter...

    Funktioniert denn die VAR außerhalb als schnödes label irgendwo im Home?

    Ich kann ja nur im Github schauen und das dürfte ne andere Version sein:

    Dort finde ich nur sowas <label>$VAR[HomeWidget$PARAM[id]SubTitleVar]</label> das aus dem template include WidgetSubTitle,
    Das ist dann verbaut in der Includes_Widgets.xml, endet irgendwann nach inlcude im include in <include name="Info"> das wiederrum über visibles verfügt wie

    Code
    <visible>String.IsEmpty(Container($PARAM[id]).ListItem.Property(Label3)) + String.IsEmpty(Container($PARAM[id]).ListItem.ChannelName) + String.IsEmpty(Container($PARAM[id]).ListItem.Artist) + String.IsEmpty(Container($PARAM[id]).ListItem.AlbumArtist) + String.IsEmpty(Container($PARAM[id]).ListItem.AddonName) + !$PARAM[widgetSquare] + ![ControlGroup(90010).HasFocus + String.IsEqual(Container(9000).ListItem.Property(WidgetType),pvr)] + ![ControlGroup(90020).HasFocus + String.IsEqual(Container(9000).ListItem.Property(WidgetType.2),pvr)]</visible>


    Das ist schon alles sehr verwirrend und mich wundert es ja eher wie oft da noch was richtiges bei rauskommt wenn man sich ansieht wie scheiß kompliziert das ist für sowas popliges wie Widgets auswählbar zu haben;).

    Wenn das bei deiner Version ähnlich im Code ist, könnte es jetzt durchaus sein das die Info eigentlich da ist aber das infopanel nicht sichtbar ist weil dieses Include im Prinzip auch wieder mit irgendwas ausgeblendet werden muss damit es nicht vollkommen leer daherkommt wenn quasi die "Hauptinfo" fehlt. Das könnte jetzt WidgetType sein oder ein ListItem..

    Ich denke mal wenn deine VAR als Label kommt läuft es auf sowas raus wenn du glück hast ist das nur eine Kleinigkeit.

    Grüße

  • also erst mal danke mal wieder für deine Hilfe.

    da ich durch den Silvo Mod nicht mehr durchsteige, bin ich auf den Titan Skin gewechselt. der schein etwas strukturierter zu sein, hat aber das selbe Problem.

    also ich habe jetzt mal ein Label im Home-Menue eingebaut. Das gante funktoniert auch.
    Die Variable die widget verwendet wird ist $VAR[HomeMenuWidgetInfoPlotAlt]
    das wird mir auch angezeigt. die VAR ist in der IncludesHomewidgets.xml zu finden. hier sind auch alle Lables zu finden die ich benötige.

    XML: IncludesHomeWidgets.xml
    <value condition="!String.IsEmpty(Window(Home).Property(ListItem.Property(DateTime))) + !String.IsEmpty(Window(Home).Property(ListItem.Label2))">[B]$INFO[Window(Home).Property(ListItem.Label2),, • ]$INFO[Window(Home).Property(ListItem.Property(DateTime)),, • ]$INFO[Window(Home).Property(ListItem.Duration),, min. • ]$INFO[Window(Home).Property(ListItem.Genre)][/B][CR]$VAR[HomeMenuWidgetInfoPlot]</value>

    Ich kann aber das Label $INFO[Window(Home).Property(ListItem.Property(DateTime))] auch nicht anzeigen lassen.

    Stellt sich mir die Frage Wo bzw Warum wird ListItem.Property(DateTime] nicht in das Windows(Home) übergeben?

    Odroid N2+ 4GB 16GB eMMC CE
    TVHeadend Server/Client

  • $INFO[Window(Home).Property(ListItem.Property(DateTime))]

    Ja, wem sagst das.. Einfach ist oft was anderes wenn man sich den Code Ansieht wirds einem auch schwummerig;).

    nicht in das Windows(Home) übergeben?

    Sicher das das Property so korrekt ist? $INFO[Window(Home).Property(Property Name)] ist ja der Aufbau.
    Du musst also ja irgendwo das Label ListItem.Property(DateTime) aus dem Container als Info übergeben haben in ein Window Home Property.
    Mit SetProperty(Name,$INFO[Container(xxx).ListItem.Property(DateTime)], home).
    Dann hätte man die Info in einem Property - für ein anderes Fenster, einen Infodialog z.B..
    Und du brauchst es jetzt in einem Property weil es ein anderes Fenster ist in der sich die Info befindet?
    Dazu müsstest die ja irgendwie auch schreiben...

    Bei deinem Code müsste ja dein Property ListItem.Property(DateTime) heißen als Name oder les ichs falsch?

    Wenns dasselbe Fenster ist müsste das dann nicht eher

    Code
    <value condition="!String.IsEmpty(ListItem.Property(DateTime))">[B]$INFO[ListItem.Label2,, • ]$INFO[ListItem.Property(DateTime),, • ]$INFO[ListItem.Duration,, min. • ]$INFO[ListItem.Genre][/B][CR]$VAR[HomeMenuWidgetInfoPlot]</value>

    sein?

    Ein Property in einem Container ist ein "richtiges" Infolabel und wird auch so aufgerufen nur eben ListItem.Property() statts nur ListItem.Info.

    Den Umweg über Propertys macht man ja nur wenn die Info jetzt in einem eigenen Custom Window wäre das nicht über den eigentlich Content verfügt.
    Das hast ja im Silvio NOX immer mit "oninfo" gemacht gehabt. Aber ich glaube das geht nicht mehr richtig.

    Grüße

  • ich denke nach längerem suchen habe ich da was gefunden, was weiter helfen könnte.
    in der IncludesAnimations.xml (warum auch immer in dieser xml)


    dort kann ich tatsächlich mein Label nicht finden...

    Odroid N2+ 4GB 16GB eMMC CE
    TVHeadend Server/Client

  • dort kann ich tatsächlich mein Label nicht finden...

    Verstehe ich zwar nicht ganz, das onfocus in Containern war ja früher glaube ich sogar verboten wenn man im org Repo sein wollte, und auch immer etwas tricky.

    Dann könntest doch dort einfach mal eins dazu setzen mit deinem, dann siehst ja schnell ob was kommt.

    <onfocus>SetProperty(ListItem.DateTime,xxx$INFO[Container($PARAM[widgetid]).ListItem.Property(DateTime)])</onfocus> einfach mal ohne Condition am Anfang der VAR sollte dir wenn es denn das Richtige ist.
    Dann sollte mit Windows.Property(ListItem.DateTime) ja wenigstens xxx ankommen wenn es diese Codestelle ist.

    Das ist alles doch viel zu kompliziert für meinen Geschmack. Das muss doch auch einfacher unzusetzen sein.

    Er setzt ja in der Shortcut Overrides z.B. sowas:
    <shortcut label="1039" type="32020" icon="DefaultAddonPicture.png" widget="addon" widgetType="picture" widgetTarget="pictures">addons://sources/image</shortcut>

    widgetType müsste dann ja in deinem Menüinclude landen. Wenn du dort jetzt einfach bei deinem Serienplaner reinschreiben würdest, wäre das nicht bedeutend Einfacher einfach eine eigene Info getrennt von dem anderen Bling Bling einzufügen? Dann brauchst auch nicht jedes mal bei Änderungen Nachvollziehen an welcher der hundert Stellen jetzt wieder was klemmt.


    Dann könntest du dich einfach auf die ID der Homemenüliste beziehen und mit String.IsEqual(Container(ID).ListItem.Property(widgetType),Serienplaner) das ganze Anzeigen lassen.

    Müsstest mir vielleicht mal als Skin schicken - so ganz kann ich noch nicht Nachvollziehen weil diese Art so verschlungen ist das man es fast "am Stück" erfinden muss und zwei Tage später schon selbst nicht mehr weiß wo es hackt;)..

    Grüße

  • es hat zwar etwas gedauert aber ich habe es hinbekommen.
    Ich hatte zwar gehofft das ganze irgendwie out of the box hinzubekommen aber das scheint nicht zu klappen.
    für den Skin Titan bedarf es tatsächlich nur minimaler Änderungen. Das Problem liegt darin, dass die Labels
    nicht sauber übergeben werden. Sie fehlen einfach in dem Skin.

    das ganze sieht nun so aus...

    Externer Inhalt i.imgur.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.

    Odroid N2+ 4GB 16GB eMMC CE
    TVHeadend Server/Client

    Einmal editiert, zuletzt von sveni_lee (27. Januar 2018 um 22:44)

  • Super das es geklappt hat. Schade das vieles mittlerweile so ausgeartet ist das von "kurz drübersehen und Einbauen" nicht mehr die Rede sein kann was das Home betrifft.
    Zumindest alles was das Menüscript integriert hat. Und die Parameter haben es noch schlimmer gemacht;).
    Bleibt zu hoffen das sich der Skin nicht allzu oft ändert.

    Grüße

  • anscheinend wird hier nicht mehr weiterentwickelt..

    gibt es alternative zu?

    ich finde das die Serien unter Wunschliste.de gut sortiert sind, die infos von dort für tvheadend zur Verfügung zu stellen wäre prima.

    • Rechtschreibfehler sind nicht zufällig, richtig angeordnet ergeben sie eine Formel mit der man Milch zu Bier machen kann.

  • wahrscheinlich funktioniert das bei mir nicht, bzw ich sehe nichts von, weil ich den Originalen Skin verwende der mit Kodi 17.6 dabei ist, oder?

    setzt dieses addon eigentlich auch selbst aufnahmen an oder werden nur neue Folgen angezeigt und das wars?

    ich dachte das dass addon hier so arbeitet wie ein Enigma2 Vu+ Plugin Serien-Recorder..

    • Rechtschreibfehler sind nicht zufällig, richtig angeordnet ergeben sie eine Formel mit der man Milch zu Bier machen kann.

  • mit dem originalen Skin wird das ohne Anpassung nicht funktionieren denke ich...
    Das Addon ist nur zur Anzeige gedacht, ich hatte mal soetwas wir Aufnahmesteuerung implementiert,
    habe es aber nicht weiter verfolgt... Es dient nur zur Anzeige welche Serien im TV wann ausgestrahlt werden...

    Odroid N2+ 4GB 16GB eMMC CE
    TVHeadend Server/Client

  • Ich wollte jetzt mal auf Leia umsteigen und habe mir mal eine portable Version auf den Laptop installiert.
    Natürch hab ich den Serienplaner auch installieren wollen.

    das klappt auch soweit. Allerdings startet er nicht mehr unter Leia. HAt sich irgendetwas grundlegendes geändert?


    hier mal der Log auszug...

    Odroid N2+ 4GB 16GB eMMC CE
    TVHeadend Server/Client

  • So wie es aussieht, haben sich die Parameter für die Pluginaufrufe geändert. Vergleiche mal Zeile 20 mit Zeile 34. Mehr fällt mir dazu auch nicht ein.

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960
    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

Jetzt mitmachen!

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