Beiträge von JakeB

    Problem:
    Wenn beim scrapen externe tools verwendet werden (z.B. Ember Media Manager) kommt es vor, dass für einige Filme mehrere Studios vorhanden sind.
    In Transparency (und vermutlich allen anderen Skins) werden aber nur Studio icons angezeigt für Filme, die ein Studio haben.

    Lösung:
    Slideshow für Studio-flags (Umsetzung für die Movie Info + View: Seite (Slide))

    1. Slideshow für Studios

    Vorbedingung:
    - Add-on 'Embuary Helper' muss installiert sein.

    ...\Kodi\addons\skin.transparency\1080p\Includes_MediaFlagsVideo.xml


    ...\Kodi\addons\skin.transparency\1080p\View-Slide.xml
    Nach 'VideoMediaFlags' suchen und neue Zeile einfügen.


    ...\Kodi\addons\skin.transparency\1080p\DialogVideoInfo.xml
    Nach 'VideoMediaFlags' suchen und neue Zeile einfügen.

    2. Slideshow für Regisseure

    Vorbedingungen:
    1. Add-on 'Embuary Helper' muss installiert sein.
    2. Add-on 'Movie Director Thumbs' muss installiert sein*
    2.1 Director Thumbs im Ordner 'resources' (...\Kodi\addons\resource.images.moviedirectorthumbs\resources) speichern.

    * Add-on und thumbs siehe hier: Movie Director Thumbs resource addon

    ...\Kodi\addons\skin.transparency\1080p\DialogVideoInfo.xml
    Nach '<visible>Container.Content(TVShows)</visible>' suchen und dann darüber den folgenden code einfügen.


    Wenn es viele Studios zu einem Film gibt kann es sein, dass das Director-Bild den Studio-Text überlagert. Man könnte das Bild verkleinern oder nach unten schieben. Das kann dann jeder machen wie er möchte.

    Wie eine Director Slideshow aussieht, kann man hier sehen: skining noob braucht hilfe - multi image in einer list
    ... link zum YouTube video im Beitrag #6

    Getestet mit Kodi v18.8 | Transparency! 11.0.9 | embuary helper v1.4.8

    Gruß

    Hallo @kaffepausse71,

    eine slideshow für mehrere Studio flags ist möglich.
    Siehe auch: skining noob braucht hilfe - multi image in einer list ... Beitrag #30.

    Vorbedingung:
    - 'embuary helper' muss installiert sein.

    ...\Kodi\addons\skin.transparency\1080p\Includes_MediaFlagsVideo.xml


    Getestet mit Kodi v18.8 | Transparency! 11.0.9 | embuary helper v1.4.8

    Gruß

    Da ich mit Director keinen Erfolg hatte, habe ich mich dem Studio-flag zugewandt.
    Keine Ahnung warum ich den code aus #89 nicht schon vorher ausprobiert habe, aber die Slideshow funktioniert jetzt für Studio (in view und movie info) und auch für Director (in movie info). 8o

    ...\Kodi\addons\skin.transparency\1080p\DialogVideoInfo.xml


    Einschränkung:
    - Wenn man den nächsten Film auswählt, wird der/das vorherige Regisseur/Studio nochmal kurz angezeigt (<1 Sek.). Damit kann man aber leben.

    Wo genau und welche Dateien für Studio-flags und Director-thumbs angepasst werden müssen, schreib ich in ein neues Thema in der Rubrik: ... > Skins & Themes > T! - Transparency.

    VIELEN DANK an sualfred und chrissix! Ohne 'embuary helper' und 'Movie Director Thumbs resource addon' wäre das nicht möglich geworden. :thumbup:

    Getestet mit Kodi v18.8 | Transparency! 11.0.9 | embuary helper v1.4.8

    Gruß

    Der Embuary Helper funktioniert mit folgendem Beispiel aus dem Beitrag #99: Release - Embuary Helper Script

    ...\Kodi\addons\skin.transparency\1080p\Includes_Variables.xml

    XML
    <?xml version="1.0" encoding="utf-8"?>
    <includes>
        ...
        <variable name="getDBIDcontent">
            <value condition="!String.IsEmpty(ListItem.DBID) + [String.IsEqual(ListItem.DBType,movie) | String.IsEqual(ListItem.DBType,tvshow) | String.IsEqual(ListItem.DBType,episode)]">plugin://script.embuary.helper/?info=getbydbid&dbid=$INFO[ListItem.DBID]&type=$INFO[ListItem.DBType]</value>
        </variable>
        ...
    </includes>


    ...\Kodi\addons\skin.transparency\1080p\DialogVideoInfo.xml


    Einschränkungen:
    1. Es werden nur Filme unterstützt, die nur einen Regisseur haben.
    2. Wenn man den nächsten Film auswählt, wird der vorherige Regisseur nochmal kurz angezeigt. Kennt jemand einen Befehl, mit dem man das unterbinden kann?

    chrissix schreibt im Beitrag #96 das es (multi slide show für Regisseure) geht, aber ich habe keine Ahnung wie er das geschafft hat. ?(

    Getestet mit Kodi v18.8 | Transparency! 11.0.9 | embuary helper v1.4.8

    Variable 'MovieDirectorThumb' funktioniert jetzt:
    ...\Kodi\addons\skin.transparency\1080p\Includes_Variables.xml

    XML
    <?xml version="1.0" encoding="utf-8"?>
    <includes>
        ...
        <variable name="MovieDirectorThumb">
            <value condition="String.Contains(ListItem.Director, / )">noop</value>
            <value condition="!String.IsEmpty(ListItem.Director)">$INFO[ListItem.Director,resource://resource.images.moviedirectorthumbs/,.jpg]</value>
        </variable>
        ...
    </includes>


    Code 1 (RunScript to split a value to a property of your choice) aus Antwort #6 und die Beispiele von sualfred wurden ausprobiert aber ohne Erfolg.
    Das wenigstens der erste Regisseur angezeigt wird, funktioniert auch nicht.

    ...\Kodi\addons\skin.transparency\1080p\DialogVideoInfo.xml


    Die Notlösung (Anzeige: nur für ein Regisseur) mag u.U. für Director noch gehen, aber z.B. für Studios macht es keinen Sinn.
    Wirklich schade, da gibt es ein 1a Beispiel und man bekommt es nicht hin. :(

    'getdirectedby' hat gefehlt. :whistling:

    ...\Kodi\addons\skin.transparency\1080p\Includes_Variables.xml

    XML
    <?xml version="1.0" encoding="utf-8"?>
    <includes>
        ...
        <variable name="getDBIDcontent">
            <value condition="!String.IsEmpty(ListItem.DBID) + [String.IsEqual(ListItem.DBType,movie) | String.IsEqual(ListItem.DBType,tvshow) | String.IsEqual(ListItem.DBType,episode)]">plugin://script.embuary.helper/?info=getdirectedby&dbid=$INFO[ListItem.DBID]&type=$INFO[ListItem.DBType]</value>
        </variable>
        ...
    </includes>

    Der Error im kodi [definition='1','0']log[/definition] ist weg, aber die Regisseure werden immer noch nicht angezeigt. ?(
    Im [definition='1','0']log[/definition] taucht nur noch folgendes auf:
    [cbox]WARNING: Skin has invalid include: Animation_DefaultGlass[/cbox]


    Bis jetzt funktioniert nur die Lösung für einzelne Regisseure. Filme von den Coen Brüdern oder z.B. die Matrix Filme kann man dann vergessen.
    Mit der Variablen 'MovieDirectorThumb' hatte ich keinen Erfolg.

    ...\Kodi\addons\skin.transparency\1080p\DialogVideoInfo.xml


    ...\Kodi\addons\skin.transparency\1080p\Includes_Variables.xml

    XML
    <?xml version="1.0" encoding="utf-8"?>
    <includes>
        ...
        <variable name="MovieDirectorThumb">
            <!-- <value condition="String.Contains(ListItem.Director)">$INFO[ListItem.Label,resource://resource.images.moviedirectorthumbs/,.jpg]</value> --> <!-- funktioniert nicht -->
            <value condition="!String.IsEmpty(Skin.String(resource.images.moviedirectorthumbs.path))">$INFO[ListItem.Label,resource://resource.images.moviedirectorthumbs/,.jpg]</value>
        </variable>
        ...
    </includes>


    ...\Kodi\addons\skin.transparency\1080p\DialogVideoInfo.xml

    XML
    <?xml version="1.0" encoding="utf-8"?>
    ...
    <onload>runscript(script.embuary.helper,action=split,property=director,separator='" / "',value='$ESCINFO[ListItem.director]')</onload>
    ...

    Soweit ich das richtig verstanden hab, ist die "RunScript to split a value to a property of your choice" Funktion hier überflüssig. Hier wird mit der "Skin hack with the getdbid content path" Funktion gearbeitet.

    Hallo @chrissix, Hallo @sualfred,

    eigentlich möchte ich multi image für Studios anzeigen, aber zuerst habe ich die Anpassung (Code 2 aus der Antwort #6) für Director ausprobiert.
    Leider wird kein Director angezeigt und es erscheint immer die folgende Fehlermeldung im Kodi [definition='1','0']log[/definition]:


    Hier: Release - Embuary Helper Script
    ... fand ich den Hinweis, dass man es mit einer Variable lösen kann. Hat aber leider nicht geholfen. ?(

    ...\Kodi\addons\skin.transparency\1080p\Includes_Variables.xml

    XML
    <?xml version="1.0" encoding="utf-8"?>
    <includes>
        ...
        <variable name="getDBIDcontent">
            <value condition="!String.IsEmpty(ListItem.DBID) + [String.IsEqual(ListItem.DBType,movie) | String.IsEqual(ListItem.DBType,tvshow) | String.IsEqual(ListItem.DBType,episode)]">plugin://script.embuary.helper/?info=bydbid&dbid=$INFO[ListItem.DBID]&type=$INFO[ListItem.DBType]</value>
        </variable>
        ...
    </includes>


    ...\Kodi\addons\skin.transparency\1080p\DialogVideoInfo.xml


    "<visible>Container.Content(movies) + [Container(149).HasFocus(..."
    Die (149) kann ich nicht zuordnen, ist die auf deinem Skin zugeschnitten?


    Warum werden die Regisseure aus dem string movie.c15 aufgesplittet:...

    XML
    <?xml version="1.0" encoding="utf-8"?>
    ...
    <onload>runscript(script.embuary.helper,action=split,property=director,separator='" / "',value='$ESCINFO[ListItem.director]')</onload>
    ...

    ... sie sind doch schon einzeln in der Datenbank vorhanden oder kann man diese Daten nicht nutzen?:

    SQL
    SELECT a.name AS Director FROM movie m, director_link dl, actor a
     WHERE m.idFile = dl.media_id
     AND dl.actor_id = a.actor_id
     AND dl.media_type = 'movie'
     AND m.c00 = '<Filmtitel>';

    Getestet mit Kodi v18.8 | Transparency! 11.0.9

    Gruß

    Hallo @kaffepausse71,

    in Transparency gibt es für TV (rot), DVD (schwarz), Blu-ray (blau), 4K (blau mit 4K-icon) und Film Sets (gelb) covers. Diese weichen natürlich im Design etwas ab.

    Für Blu-ray 3D wurde ein eigenes cover erstellt. Mit Gimp kann man ein 3D-icon auf das Confluence-Blu-ray cover legen.
    Da Blu-ray und Blu-ray 3D dieselbe Auflösung (1080p) haben, kann man ListItem.VideoResolution nicht nutzen. Dafür habe ich eine eigene Variable erstellt (MovieCase).

    3D-Blu-ray- und 4K-case/flag

    Gruß

    Das 'Universal Pictures' flag wird jetzt für folgende mehrfach Studios angezeigt:
    - 'Universal Pictures / Mikona Productions GmbH & Co. KG / Original Film / Ardustry Entertainment'
    - 'Ardustry Entertainment / Universal Pictures / Original Film / Mikona Productions GmbH & Co. KG'
    - 'Ardustry Entertainment / Mikona Productions GmbH & Co. KG / Original Film / Universal Pictures'

    Das Studio-icon 'Universal Pictures.png' muss noch im 'studio' Ordner abgelegt werden:
    ../addons/skin.transparency/media/flags/movies/studio/

    Datei: Includes_Variables.xml

    XML
    <?xml version="1.0" encoding="utf-8"?>
    ...
    <variable name="IncludesMediaFlagsVideoStudio">
        <value condition="String.StartsWith(ListItem.Studio,Universal Pictures / )">flags/movies/studio/Universal Pictures.png</value> <!-- neue Zeile -->
        <value condition="String.Contains(ListItem.Studio, / Universal Pictures / )">flags/movies/studio/Universal Pictures.png</value> <!-- neue Zeile -->
        <value condition="String.EndsWith(ListItem.Studio, / Universal Pictures)">flags/movies/studio/Universal Pictures.png</value> <!-- neue Zeile -->
        <value condition="String.IsEmpty(Skin.String(resource.images.studios.path))">$INFO[ListItem.Studio,resource://resource.images.studios.white/,.png]</value>
        <value condition="!String.IsEmpty(Skin.String(resource.images.studios.path))">$INFO[Skin.String(resource.images.studios.path)]$INFO[ListItem.Studio,,.png]</value>
    </variable>
    ...

    Wie man sieht, klappt das bisher nur für das Studio 'Universal Pictures'. Falls noch andere Filme mit mehrfach Studios existieren, müsste man diese noch hinzufügen.

    Suche nach Filmen in der Datenbank (MyVideos<nummer>.db) mit mehrfach Studios:

    SQL
    SELECT c00, premiered, c18 FROM movie WHERE c18 LIKE '% / %';


    Dann hab ich noch versucht den string (ListItem.Studio) zu splitten mit Hilfe des skin helper service. Hat aber bisher nicht funktioniert.
    Es soll immer das erste Studio (index=0) angezeigt werden.

    Der Studio text wurde für diesen Versuch etwas angepasst um eventuelle Probleme mit Leerzeichen zu vermeiden:
    - 'Universal Pictures/Mikona Productions GmbH & Co. KG/Original Film/Ardustry Entertainment'

    Datei: Startup.xml

    XML
    <?xml version="1.0" encoding="utf-8"?>
    <window>
        ...
        <onload condition="System.HasAddon(script.skin.helper.service)">RunScript(script.skin.helper.service,action=stripstring,splitchar=/,string=$INFO[ListItem.Studio],output=studio_flag,index=0)</onload> <!-- neue Zeile -->
        <onload>ReplaceWindow($INFO[System.StartupWindow])</onload>
    </window>


    Datei: Includes_Variables.xml

    XML
    <?xml version="1.0" encoding="utf-8"?>
    ...
    <variable name="IncludesMediaFlagsVideoStudio">
        <value condition="String.Contains(ListItem.Studio,/)">$INFO[studio_flag,resource://resource.images.studios.white/,.png]</value> <!-- neue Zeile -->
        <value condition="String.IsEmpty(Skin.String(resource.images.studios.path))">$INFO[ListItem.Studio,resource://resource.images.studios.white/,.png]</value>
        <value condition="!String.IsEmpty(Skin.String(resource.images.studios.path))">$INFO[Skin.String(resource.images.studios.path)]$INFO[ListItem.Studio,,.png]</value>
    </variable>
    ...

    Diese Methode wäre natürlich ideal. Sieht jemand den Fehler oder ist der Ansatz völlig falsch? ?(


    Da viele Wege nach Rom führen, kann man natürlich auch die Datenbank anpassen und die Arbeit am Skin könnte man sich sparen.

    SQL
    UPDATE movie SET c18 = 'Universal Pictures'
     WHERE c18 LIKE 'Universal Pictures / %' 
        OR c18 LIKE '% / Universal Pictures / %'
        OR c18 LIKE '% / Universal Pictures';


    Getestet mit Kodi v18.5 | Transparency! 11.0.9