Beiträge von Marc0810

    Da geht es mir wie dir. So ganz bin ich noch nicht hinter die Sinnhaftigkeit der params gestiegen. Die wirken auf mich irgendwie umständlich und machen den Code für mich nur schwerer lesbar. Aber ich bin auch nur ein Gestalter und kein Programmierer. Mein Verständnis für solche Sachen ist entsprechend begrenzt.

    Ich bin ja weder das eine noch das andere, aber Ansich ist das eher was für die Gestalter würde ich mal denken..
    Da kann schon vieles eher ungenauer werden - sieht man ja am Beispiel, ich verwende ein include an zwei Stellen und prügel dann bestimmte Codeteile mit visible = false dazu das er tot
    mit drin hängt. Da haben sicher Programmierer eher was dagegen als Gestalter;)..
    Ein paar Stellen gibts schon wo es sinnvoll ist, vor allem wenn eben verschiedene Positionen fürs selbe hast, oder meinetwegen du hast 10 Listen die gleich sind bis auf die ID (weil es Core ID´s sind oder contents enthalten die an eine ID gebunden sind).

    Da ist es schon klasse das zu includedieren mit der ID als Parameter. So kann man dann Favoriten, zwei unterschiedliche eigene Dialoge und noch ein Einstellendialog der zwei dieser Listen enthält
    eben mit so etwas Abfrühstücken.

    und einfach mit ID Angaben überall verwenden:


    Code
    <include content="Common_dialogIconlist772">
                <description>layout</description>
                <param name="id" value="450" />
            </include>

    Allerdings geb ich dir dann wieder recht - da man ein halbes Jahr später keinen Plan mehr hat ob und wie was zusammenspielt.
    Einfach dann wo breiter machen ohne zu wissen welcher hintergrund wieder wo dann auch geändert werden muss führt dann schnell dazu das es ohne kontrolle genausowenig bringt wie direkt im Code.

    Ich würde wenn ich bumblebee wäre das auch einzeln machen item und focusedlayout..
    Er hat halt leider teils Animierte und auch was ohne drin. Du musst dann halt zweimal alles ändern und die Liste ist schon etwas länger (anders für Episoden, Musikvideos usw..)..

    Grüße

    Ich muss gestehen, dass ich mich mit params noch nicht so befasst habe. Aber gelten die nicht global? Kann denn ein param dann gleichzeitig "true" (für das focused Item in der Liste) und "false" (für die unfocused Items) sein?

    Es gibt ja leider nicht viel Erklärungen zu irgendwas.

    Ich hab es mir so Erklärt aus den wenigen Parametern die ich verwendet hab bisher das die im Prinzip immer nur beim laden quasi als Klartext eingetragen werden was drin steht.

    <left>$PARAM[Left]</left> und Left=120

    führt dann halt zu <left>120</left>

    Und gilt auch nur für diesen einen includeaufruf und sonst nirgends, außer man gibt in der include definition einen defaultwert an. Dann gilt der wenn nichts angegeben wird
    pro includeaufruf.

    Deswegen find ich die Dinger teils recht sinnlos weils schnell nur ne andere Schreibweise ist.
    Was spar ich groß wenn ich nen Dialoghintergrund mit vier Werten im include Aufruf positionier. Ist auch nur ne andere Schreibweise als gleich <left>120</left>

    Wenn was globales haben willst wären eher constants das richtige, ist zwar auch nur ne andere schreibweise, aber dadurch kann man werte staffeln und auch global ändern und es stimmt
    überall.

    Grüße

    Das Prinzip wäre aber dasselbe oder?.

    Ist sowieso unrealistisch kompliziert, aber der Gedanke wäre:

    Ich weiß mir fehlt Film x in Set y.
    Ich weiß ich mache immer mkv´s draus.
    Ich scrappe eine Fake MKV Datei (sofern Kodi damit klar käme), exakter Dateiname wie nachher.
    Film kommt im Set.

    Nun müsste ich noch Skintechnisch was suchen wie ichs hervorhebe damit es nicht irrtiert.
    Das sollte man evtl. hinbekommen - keine Ahnung ob man da mit Filesize in der DB weit kommt (gibts glaube ich nur im Dateimodus), das wäre aber ideal weil man so ohne Dateinamenflag wie .DVD, .3D,
    etwas hervorheben könnte ohne das sich später die Namen ändern.

    Würde das gehen könnte ich später einfach die Fakedatei durch den "Realen Film" überschreiben und nach dem Aktualisieren (vielleicht sogar ohne bereinigen), sollte der Filme mit denselben Infos
    dann ja Abspielbar auftauchen - Metadaten werden ja beim Abspielen eh ausgelesen.

    Und anders herum könnte man es sicher noch irgendwie als Playliste filtern um eine Liste zu bekommen was fehlt.

    Zumindest war das bei Episoden an sich ne super sache, nur eben extrem Aufwendig. Man sah direkt in jeder Staffel wie viele Episoden es sein müssten, was bei Leuten die nur Aufnehmen super ist.
    Dazu bekam man ein Nettes Flag dazu und sah direkt das diese Episode fehlte.
    Man musste also nicht ständig Online Nachforschen wieviele Folgen eine Staffel hat oder ob grade nur Pause ist, es abgesetzt wurde oder sonst was war.
    Da wir immer ganze Staffeln Ansehen wenn sie fertig sind war das schon Klasse.

    Aber wirklich prektisch ist das alles sicher nicht. Die Arbeit festzustellen ob ein Set komplett ist fällt ja nicht gerade weg bei dieser Lösung.
    Allein schon deswegen sicher nicht wirklich das was gesucht wird.

    Grüße

    Im Windows Mediacenter plugin Film Organiser oder wie das hieß, erreichte man das indem man immer ganze Steffeln scrappte.
    Dazu musste man fakedateien anlegen nach dem Motto "ich erstelle ne leere Textdatei" und änder die Endung zu Avi.
    Ich hab aber noch nie versucht ob Kodi das mitmacht und man müsste natürlich wissen was fehlt.

    Wäre auch alles Handarbeit, scrappt man die (falls möglich), bräuchte man auch noch ne Art Hervorherbung was man dann Skintechnisch über die Dateinamen
    erreichen müsste, da kann man ja auch sagen alle die DVD enthalten mit DVD Case + einen Skin der es einem dann Anzeigt damit man sich nicht wundert wenn nix passiert.
    Danach könnte man das aber Anhand des Dateinamens vielleicht sogar Filtern als Playliste zum Anzeigen aller fehlenden.

    Ob sich der Aufwand aber lohnt, keine Ahnung..
    In Serien wärs sicher super, ist mir aber zuviel Arbeit.

    Grüße

    Gute Frage. Leider hab ich nicht mal die Logik dahinter rausbekommen, sprich aus welchem Grund er bei seinem Skin MOD
    den er selbst anbietet eigene Views mitbringt.

    https://github.com/Wintermute0110/skin.estuary.AEL

    Ein Anfang wäre erst mal wie es Aussieht die view in probramme zu Erlauben.

    In meiner alten MQ Version heißt die ViewsShowCase.xml. Aberich sag es dir gleich das das ungeübt nicht Einfach wird, dazu musst du das include der view noch in MyPrograms.xml mit dazu packen, den <views> Tag um die ID der View erweitern, und dann auch noch die gesamt View an den Inhalt anpassen - da passen dann wahrscheinlich werden die Covergrößen noch die Textinfos falls welche vorhanden sind (ich kenn den Skin nicht wirklich).


    Dazu noch ist das die Beiweitem schlimmst Ansichten was Code angeht;).. ShowCase scheint wie Coverflow, zumindest sieht der Code danach aus eine "FakeView" zu sein - das heißt das alles was man sieht nicht ein Container ist sondern einzelne Elemente.


    Sie besteht also aus 14 gruppen die per versatz nur den inhalt eines Container Nachbilden um Animationen zu Erreichen die in einem Container so nicht möglich sind. Das kann ein Schrägstellen sein oder das der Focus viel Größer ist und sich beim Scrollen nicht "komisch Aufzoomen muss".

    Für dich heißt dann dann man muss also nicht nur zwei Elemente Anpassen, sondern 14!


    Vielleicht wäre das Einfachst mal im Org Forum Nachzufragen ob nicht dort jemand was in den zahlreichen MODs macht.


    Grüße

    Wie du schon sagtest, verstehe ich von den Internas nichts. Spontan würde mir einfallen, den Code dynamisch imt einem Python-Script generieren zu lassen. Bei jedem Ändern der Settings, müsste wahrscheinlich noch zum Neustart aufgefordert werden (kleiner Nachteil). Beim nächsten Start vergleicht das Skin-Python-Script ( ) den hash der Settings-Datei, bemerkt so ggf. Änderungen und generiert (vor dem Laden des Skins) dessen Code neu. Wie gesagt - ausm Bauch raus.

    Das wäre sogar sicher einfacher möglich - davon hab ich aber wiederrum keinen Plan.
    Das menüscript skin.shortcuts macht sowas aber fürs Menü und Templatebasiert für Widgets. Dort wird einfach per Runscript wenn man die Settings verläßt quasi immer Zwangsweise das Include bzw. die erzeugte xml neu erstellt.

    Das wäre sicher nicht das Problem.

    Was eher der stolperstein wäre ist das verzahnen.
    Es wäre ja nicht nur ein Code Block der sich ändert sondern viele. Da steht man schnell vorm Problem wie man das Handeln soll im Code und Schlimmer, wie Visualisiert man eine Einstellung dazu.

    Stell dir die Listeview vor mit dem Resolution Flag.. Dort will ich dann noch ein Watchedoverlay haben, rechts davon das dann wenn man es aktiviert das Resolutionflag Symbol nach links "schiebt". Weil wir schon dabei sind dann aber bei Sets ein Setsymbol.
    Und was wenns auch noch 3D ist? also nochmal eins dazu.. Dann hätten wir schon 3 bis 4.

    Nicht nur das man jetzt jedes Kombination des Codes irgendwie in Verbindung hinterlegen müsste wenn man einfach sagt per script "schreibe Datei a als xml soweiso bei Setting xxx", man braucht auch ein Verständliches Settings dazu im Skin. Da man dort ja fast nur auf Buttons beschränkt ist, kapiert das ja schnell keiner, und eine Visualisierung in der Art eine Ansicht zu hinterlegen mit Buttons drauf die zeigen was man an/aus schaltet sprengt ja definitiv den Rahmen weil es ja tausende Zeilen Code wären, die wir ja vermeiden wollen.

    Ich denke das wird alles zu kompliziert als das man irgendwas spart.

    Du müsstest dir mal deinen Skin den du nutzt schnappen und in einer Kopie etwas herumexperimentieren inwieweit das was nützt.
    Einige Views die man nie verwendet in ein guter Ansatz den man auch am ehesten Bemerken wird in der Bedienung und auch den Vorteil mit sich bringt das man beim Viewwechsel nciht ständig dieselben "überspringen muss".

    Dazu einfach mal die MyxxxNAV Dateien öffnen, die Viewincludes identifizieren und alle die man nicht nutzen will inklusive der ID Nummern die die header dieser Dateien und <views> eingetragen sind entfernen.

    Sofern man einen "Viewschalter" im Skin hat der wirklich nur alle durchschaltet die verfügbar sind und nicht einzelne views öffnet,
    hat man zumindest mal einiges los an code, der dann zwar noch "tot" irgendwo herumliegt und womöglich an einigen stellen noch
    sinnlos Abgefragt wird, aber man merkt spätestens jetzt ob es überhaupt was bringt.

    Je nach System Reden wir hier ja von Milisekunden, kommt natürlich auch extrem auf den Skin an (wie kompliziert), wie komplex andere Fenster sind wie die Home.xml, die DB Größe sicher auch usw..

    Für mich als Betreuer eines Skins sicher Marginaler - 1000 Zeilen weniger Code liest sich leichter und läßt sich global vieles eher vereinheitlichen was durch die Nutzung von gleichen includes dann auch einen Geschwindigkeitsvorteil bringt.

    Grüße

    Hast du Code entfernt, oder deaktiviert? Im letzteren Fall wäre das ja eine Funktionalität, die für andere Leute auch interessant wäre. Wenn man sozusagen per Einstellungsmenü verlangsamende und unbenötigte Komponenten deaktivieren könnte. Das hätte durchaus Wert für die Community.

    Um das gehts ja.. Deaktivieren in dem Sinne gibts nicht im Skinegine.

    Es gibt 2 Arten Code zu implementieren

    Ein Resolutionflag für Ansichten der so aussehen kann.

    Code
    <control type="image">
    				<left>1050</left>
    				<top>15</top>
    				<width>63</width>
    				<height>36</height>
    				<texture>$INFO[ListItem.VideoResolution,flagging/resolution/,.png]</texture>
    			</control>


    Wenn ich den jetzt aktiv/inaktiv schalten will brauche ich ein Setting dafür. Das ist im wesentlichen ein Knopf in den Skinsettings der true/false
    in deine userdata/addondate/skin/settings.xml schreibt

    Das heißt dann Meinetwegen "ResolutionFlags"
    Jetzt kann ich den Code direkt in einer Liste verwendet und mit <visible>!Skin.HasSetting(ResolutionFlags) + !String.IsEmpty(ListItem.VideoResolution)</visible>  könnte ich ihn ausblenden wenn ein user es auf nicht anzeigen stellt.
    Das wird aber jedesmal wenn ich die view öffne geprüft und einfach nur nicht angezeigt.

    Die zweite Variante wäre diesen codeblock in ein include zu packen was "ausgelagerter Code" wäre.

    Code
    <include name="Resolutionflag">
    	<control type="image">
    		<left>1050</left>
    		<top>15</top>
    		<width>63</width>
    		<height>36</height>
    		<texture>$INFO[ListItem.VideoResolution,flagging/resolution/,.png]</texture>
    	</control>
    </include>

    und das aufrufen in einer liste mit <include condition="!Skin.HasSetting(ResolutionFlags)">Resolutionflag</include>
    Das würde nur geladen werden wenn die Einstellung vorhanden ist.
    Das hat aber wie man schnell sieht einen Pferdefuß: Ich kann jetzt Z.B. nicht so einfach die Positionierung rauslassen, es geht zwar
    machts aber komlizierter, also was tun wenn ich ihn an 3 Plätzen brauche?
    Auch wegen der Menge an includes die dabei entstehen würde ist es auch nicht für jeden "kleinmist" brauchbar.

    Beim laden wird aber Trotzdem jedes mal alles egal ob include oder visible aufs neue geprüft und verlangsamt dadurch auch einen
    Skin.

    Ein wirkliches Beschleunigen für langsame Systeme käme dann erst wenn man nicht benötige Dinge aus Dateien streicht.
    Und da jeder Skin ein Unikat ist gibts da nicht viel außer sich gut im Skincode auszukennen - un natürlich nicht soweiso alles zu brauchen
    was vorhanden ist;)..

    Ein Ansatz wäre die skinsettings durchzugehen, alles was man dort an/abschalten kann kann man sich als doppelten code Vorstellen.
    Es gibts zwar auch Möglichkeiten das laden durch includierung zu verhindern, das macht aber an vielen Stellen keinen Sinn.

    In der Praxis sind solche Beispiel natürlich immer komplizierter.

    Aus der Praxis mal die Hintergründe in "Videos" im Skin Transparency:

    Spoiler anzeigen

    Kann man auch ohne Kenntniss schnell erkennen das das sicher langsamer sein dürfte als Hintergrundbild als nur ein Fanart und sonst nix das nur noch dieses wäre.

    Brauche ich also kein multiimage und was weiß ich nicht alles, läuft trotzdem jedesmal der ganze Codeblock durch - grob gesagt bei jedem öffnen des Fensters aufs neue.

    Eine Stelle fällt jetzt nicht ins Gewicht, Dutzende oder gar Hundert schon.
    Aber da muss jeder selber durch, es für sich entscheiden und sich auch darüber klar sein das man danach ebenfalls ein
    Unikat hat das man eigenständig Pflegen und verwalten muss bei Updates.
    Dazu muss man aber auch genug Ahnung von Skincode haben um das wirklich hinzubekommen.
    Eine Anleitung gibts dafür nicht - mein code paßt auch nur zu meinem Skin und ist nicht als "Funktionalität" zu sehen.

    Grüße

    Das wiederum finde ich sehr schade. Deine Arbeit hätte mehr Wert, wenn du Sie in die Community zurückfliesen lassen würdest. Am besten in den passenden Skin - ohne diesen zu forken.
    Das würde dir auch ersparen, deine Modifikationen auf jede neue Version anpassen zu müssen.


    Einen Skin in den es zurückfließen kann gibts nicht weil der komplett selbst entwickelt wurde und seit 5 Versionen verwendet wird.
    Zwangsläufig Pflege ich ihn also, aber eben nur das was wir verwenden.

    Dazu müsstest du den Skinengine besser kennen um die Gründe zu wissen, warum ich mich dafür entschieden habe.

    In aller Kürze:
    Vieles im Enginge wird mehrfach verwendet und muss dadurch zwangsläufig über Bedinungen "verschieden Aussehen".
    Diese Bedingungen werden jedesmal geprüft, geladen, verglichen..
    Warum also sollte ich Ansichten künstlich verlangsamen/mich einschränken lassen im Aussehen,
    wenn ich in den letzten 10 Jahren nicht einmal PVR genutzt habe, Bilder eingepflegt, Musik gehört oder Addons verwendet habe?

    Nur in der wagen Hoffnung das danach 10 andere den Skin nutzen, und nicht nachdem ich mit dem komplizierterem Code
    "leben" muss nach zwei Wochen den nächsten skin Verwenden?

    Und nur dafür Baue ich auch keinen PVR Support und Fenster wie Untertitelsuche ein die ich nie im Leben jemals außer fürs Skinnen
    öffnen werde, und Kleister den Skin, den wir Definitiv nutzen wollen, mit für uns Unnützem "zu" das auch noch langsamer wird bis ich alles
    "deaktivierbar" Eingebaut habe.

    Und ich Behaupte mal ich trage hier genug bei, auch ohne Skin .
    Dazu gibts ja auch weißgott genügen Alternativen.

    Grüße

    Ich müsste eine leicht schwarze Transparenz als Hintergund haben.
    Wüsstest du, wie man das noch machen könnte?

    Am besten du schaust dir mal die anderen Dialoge an. Da findest du sicher irgendeinen Verweis auf eine Bereits vorhandene Grafik.
    Dann musst du keine neue machen und bei jedem Update wieder einpflegen.

    Je nach Skin würde ich einfach mal suchen ob eine offene Github source findest in der die Grafiken ungepackt sichtbar sind und eine vorhandene verwenden.
    Oder je nach Skin schauen ob andere Dialoge wie Dialognotification/Dialogkaitoast.xml nicht zufällig auch einen Hintergrund haben.

    Ansonsten ist das einfach ein Image Codeblock mit denem Pfad darin der in der Regel ab dem Skinordner Media angegeben werden muss, Positionierung mit dem x-Punkt oben links und Angabe von breite und höhe.
    Der Pfad wäre dann liegt deine Grafik in "media" nur die Datei, ansonsten eben Ordner/Datei.png

    Code
    <control type="image">
    	<left>180</left>
    	<top>180</top>
    	<height>540</height>
    	<width>840</width>
    	<texture colordiffuse="$VAR[DialogBg]" border="10">xxx.png</texture>
    	<animation type="Conditional" condition="true">
    		<effect type="fade" start="80" end="80" time="0" />
    	</animation>
    </control>


    Über eine Animation Condition mit der Bedingung true kannst du das tranzparent machen.
    Natürlich ginge auch wenn vorhanden ein bereits tranzparentes png.
    Wobei wenn die Abmessungen schon stimmen müsste man drüber Nachdenken ob nicht Textbox das logischere wäre.
    Labels sind eher "Einzeiler", es gibt zwar wrapmultiline und aligny=top damit Mehrzeiliger Text nicht wie als Standard
    vertikal zentriert Platziert werden, aber damit hast dann in diesem Fall damit deselben Effeckt als wenn gleich ein
    Textbox control verwendest.

    Packt man danach das image und das labels noch in eine <group> kannst du dort noch mit Animationen Arbeiten.
    Wird in deinem fall da das Fenster ja immer sichtbar bleibt nicht wirklich viel bringen, Aber so würde das
    Fenster "einfaden" wenn es sich öffnet/sichtbar wird.

    Code
    <animation type="WindowOpen">
    			<effect type="fade" start="0" end="100" time="500" />
    		</animation>
    		<animation type="WindowClose">
    			<effect type="fade" start="100" end="0" time="500" />
    		</animation>

    Damit sollte es klappen, sonst nochmal Melden.

    Grüße

    Das müsste etwa so Aussehen:

    Die Datei muss in den "XML Ordner" des skins, und zwingen mit Custom_ beginnen.

    http://kodi.wiki/view/How-to:Ad…og_via_skinning

    für id="xxx" muss ein Bereich von 1100–1199 eingesetzt werden. Jede ID darf nur in einem Custom Window verwendet werden, also erst prüfen ob der Skin schon welche hat
    und was für welche frei sind.
    zorder Regelt die "Ebenen" der Dialoge über dem aktiven Fenster. Alle Kodi Dialoge beginnen bei 0, deßhalb mal 400, muss aber getestet werden.


    visible Regelt die Anzeige - im Beispiel kommt das Fenster nur wenn Home aktiv ist.
    Es lässt sich aber auch Negieren, also z.B. !Window.IsVisible(FullscreenVideo) wenn es immer kommen soll außer bei einer Wiedergabe.

    Window Namen findet man hier:

    http://kodi.wiki/view/XBMC_Skin…List_of_Windows

    Grüße

    Wollte dich nur vorwarnen das Kodi diese Info eigentlich selbst überschreibt - solang es für dich aber Funktioniert ist ja alles gut ;) .
    Skin? nein, ich hab meinen eigenen den wir privat nutzen im Haushalt der nur auf uns zugeschnitten ist
    und nicht mehr oder weniger macht als das was wir nutzen - z.B. keine Flaggen bei dem entweder nichts kommt (für und= undefiend),
    oder bei allen anderen eine deutsche Flagge, da wir 100% nur Einsprachige Filme und Serien haben :) .

    Grüße

    Ich versteh kein Wort, wovon du da sprichst. kodinerd-talk?

    Nicht wirklich, mittlerweile sollte es ja klar sein, aber da der user pacoma ein Bild angehängt hatte und du wissen wolltest welcher skin eben
    Pacoma nutzt den Flex.


    Unabhängig davon. Wenn der subtitle zum Bild gehört, kann ich da nix korrigieren. Verstehst du was ich meine. Die nfo-Files werden auch nur einmal angelegt und nicht überschrieben. Kein Client (auch Kodi) hat schreibrechte auf dem Medien-Daten (liegen auf m NAS).

    Ich will dich da nicht aufhalten ;) . Ob das allerdings so einfach geht wage ich zu Bezweifeln. Müsstest du testen ob Kodi die Infos in nfo Dateien überhaupt unabhängig von den Metadaten so "läßt" und nicht selbstständig ändert.

    Ich kann nur was zum Skinning sagen und wie man es Anzeigt, alles andere bin ich beileibe kein Fachmann.

    Ich hab gerade mal in einem Film die Tonspur von deu zu swe im Flag korrigiert.Die Deutsche Flagge wird angezeigt, in der nfo steht dann dazu

    Code
    <audio>
                    <channels>6</channels>
                    <codec>ac3</codec>
                    <language>deu</language>
                </audio>

    Spiele ich den Film an, korrigiert Kodi die Info und zeigt mir Schwedisch an..
    Was wohl bedeutet das deine Korrekturen soweiso sinnlos wären in den Nfo´s.
    Ob es dafür ne Einstellung gibt das zu Unterbinden kann ich dir nicht sagen.

    Ein paar Testfiles wären sicher nicht verkehrt bevor dir die Arbeit machst.

    Grüße


    Grüße

    Pacoma nutzt den Flex ja..
    Du findest aber sicher einen der es kann oder du schaust ob der MOD vom Estuary das kann.

    Das Editieren der nfo´s wäre für mich aber das falsche Vorgehen.
    Sämtliche Scrapper nutzen ja die Metadaten und extrahieren die aus den Dateien mit mediainfo oder sonstigen tools.
    Genauso wie es sicher Kodi macht.
    Dort jetzt anzusetzen falsche Infos in Zusatzdateien zu korrigieren wäre für mich der falsche Ansatz.

    Abgesehen von der Gefahr des verlierens oder sonstigem, wärs nicht sinnvoller einfach die Dateien richtigzustellen?

    MKV merge für MKV oder mit MP4Ui geht sowas sicher. Wenn man seine Files remuxt und nur die Tonspuren richtig Bezeichnet
    dann passt es für die Ewigkeit und ich muss nichts Nachkorrigieren oder sonst was.
    Und ob das viel umständlicher sein wird, als manuell alle nfo´s Gegenzuchecken glaub ich nicht.

    Wie man danach dann alle Filme aktualisiert steht auf nem anderen Blatt - aber dafür gibts dann sicher ne Möglichkeit
    den TMM drüberlaufen zu lassen und dabei nur die Metadaten zu aktualisieren in den nfo´s.

    Grüße

    In jedem Fall muss Kodi die Metadaten aus den Files extrahieren, um korrekte Werte zu bekommen.
    Audio-Spuren sollten ja eine Sprachkennung haben.
    Untertitel dürfte auch noch schwieriger sein. Ich glaube nicht mal, dass Kodi die mit in die DB nimmt.

    http://kodi.wiki/view/Databases#streamdetails

    Die sind seite ich glaube Kodi 16 in der DB wie der rest. Ob die erst beim ersten Abspielen eingetragen werden weiß ich nicht.
    Wir haben eh nur Deutsche Sachen und lassen das ganz weg (zumal in unseren älterern Dingen auch rechter Mist drin steht in den Mediainfos bzw. gar nix).

    Zitat von Kodi Wikki

    ListItem.AudioLanguage -Shows the audio language of the currently selected video (returns an ISO 639-2 three character code, e.g. eng, epo, deu)
    ListItem.SubtitleLanguage -Shows the subtitle language of the currently selected video (returns an ISO 639-2 three character code, e.g. eng, epo, deu)
    ListItem.Property(AudioCodec.[n]) -Shows the audio codec of the currently selected video, 'n' defines the number of the audiostream (values: see ListItem.AudioCodec)
    ListItem.Property(AudioChannels.[n]) -Shows the number of audio channels of the currently selected video, 'n' defines the number of the audiostream (values: see ListItem.AudioChannels)
    ListItem.Property(AudioLanguage.[n]) -Shows the audio language of the currently selected video, 'n' defines the number of the audiostream (values: see ListItem.AudioLanguage)
    ListItem.Property(SubtitleLanguage.[n]) -Shows the subtitle language of the currently selected video, 'n' defines the number of the subtitle (values: see ListItem.SubtitleLanguage)

    Videoplayer, also bei der Wiedergabe bin ich zu doff dafür oder dort gehen die offsets nicht - zumindest bekomme ich da nur das was läuft Angezeigt.

    Mit diesen "Werten" kann man sich das dann wie bei anderen flags mit

    $INFO[ListItem.AudioLanguage,Pfad zum Mediaorder der Skins,png] anzeigen lassen.

    Alternativ gibts auch ne Ressource dafür.
    http://kodi.wiki/view/Add-on:Language%20Flags%20Colour

    Die macht dann aus der Info deu eine Flagge.

    Grüße

    Da musst dich wohl selber reinbeißen ins Skinning manual und das Addon.
    http://kodi.wiki/view/XBMC_Skinning_Manual

    Dazu muss man den Skin schon gut kennen (vor allem bei dem) und sich damit Beschäftigen was wo wie verwendet wird, angelegt ist..
    Ein "Ändere diese Zeile und das wars" wird es sicher nicht sein.
    Ich hätte z.B. gar keine Verwendung für das Addon und würde es nicht mal Aufbekommen, und so ganz ohne Plan des ganzen kann ich da leider
    nichts Beitragen.

    Grüße

    vielleicht kann der ein oder andere helfen, ich suche neue bzw andere muster für den skin, sowas in der art

    Falls Photoshop hast such mal nach patterns - das sind gespeicherte Muster mit denen man per Fläche füllen sowas erreichen kann..
    Das auf einer Farbe Ebene "multipliziert" oder mit einer geringen Deckkraft kann recht gute Ergebnisse bringen.
    Oder ein Verlauf als maske für Ausblenden an Ecken z.B...

    https://designm.ag/resources/650-free-photoshop-patterns/

    Grüße

    Meine Frage (hauptsächlich an die anderen Skinner hier) Steh ich alleine da mit dem Begehren Favoritentechnisch etwas mehr anzeigen zu lassen? (zumindest den Plot, Albenbeschrieb, Artistinfo, AddonInfo)

    Also ich nutze ja keine Favoriten, wäre aber dagegen.

    Der Sinn davon soll ja sein das man alles und jedes reinpacken kann, ob nun ein Addon, einen Pfad, nen PVR Kanal, irgendein Video, Serie oder Film.
    Wenn man mal davon ausgehen was sollte einem ein Aufbohren bringen?

    • Man hat dann zwar die Möglichkeit "mehr" zu bekommen, steht aber vor dem Problem das es auch "Weniger" sein könnte.
    • Wie sollte eine Ansicht/Layout davon Aussehen? Eine komplexe View, bei der bei der Hälfte ein rießen Infopanel dann komplett leer ist?
      (bei denen die dort einen Ordner mappen)
    • Views die mehr sind als Textlisten stehst dann immer noch vorm Problem das eine Wall auch mit Artworkunterschiedung nicht geht.
      (selbst wenn ich wüsste es ist eine Episode, wie soll ich daraus ein panel oder eine Wraplist machen wenn daneben ein Musikcover kommt oder ein Poster)

    Das einzig praktikable wären dann ja einzelne Kategorien darin für unterschiedliche inhalte was dann wieder drauf rausläuft das eine schnellauswahl nicht mehr
    Möglich ist. Und sowas kommt sicher nicht, dafür bräuchtest ja eine Art MyFavs.xml mit Views zur Auswahl und eine Viewmode.db Anbindung zum Speichern dafür
    für einzelne Ebenen in der dann Views für sämtliche Kategorien wie in allen anderen "Mydateien" enthalten sind drin wären.
    Das wäre sicher ein megaaufwand für was das nicht mal alle nutzen werden.

    Mein Umweg mit einem "Pinboard" ist für mich die Alternative zu Favoriten. Das erfordert zwar Strings für alles, klappt aber uneingeschränkt wenn man den
    Coding Aufwand nicht scheut.

    Das würde gehen als Liste die immer den ersten freien Platz einnimmt von vorher Festgelegten Umfängen, oder als Durchschiebeliste wie in den Skinning Tipps von Phil.

    Code
    <onclick condition="String.IsEmpty(Skin.String(ShowList.1.Label))">Skin.SetString(ShowList.1.Label,$INFO[ListItem.TVShowTitle]$INFO[ListItem.Year,[CR][COLOR lightgrey],[/COLOR]])</onclick>
    		<onclick condition="String.IsEmpty(Skin.String(ShowList.1.Label))">Skin.SetString(ShowList.1.ID,ActivateWindow(videos,videodb://tvshows/titles/$INFO[ListItem.DBID]/))</onclick>
    		<onclick condition="String.IsEmpty(Skin.String(ShowList.1.Label))">Skin.SetString(ShowList.1.Icon,$INFO[ListItem.Art(poster)])</onclick>
    
    
    		<onclick condition="!String.IsEmpty(Skin.String(ShowList.1.Label)) + String.IsEmpty(Skin.String(ShowList.2.Label))">Skin.SetString(ShowList.2.Label,$INFO[ListItem.TVShowTitle]$INFO[ListItem.Year,[CR][COLOR lightgrey],[/COLOR]])</onclick>
    		<onclick condition="!String.IsEmpty(Skin.String(ShowList.1.Label)) + String.IsEmpty(Skin.String(ShowList.2.Label))">Skin.SetString(ShowList.2.ID,ActivateWindow(videos,videodb://tvshows/titles/$INFO[ListItem.DBID]/))</onclick>
    		<onclick condition="!String.IsEmpty(Skin.String(ShowList.1.Label)) + String.IsEmpty(Skin.String(ShowList.2.Label))">Skin.SetString(ShowList.2.Icon,$INFO[ListItem.Art(poster)])</onclick>

    Nach diesem Vorbild hab ich unterschiedliche Buttons im Contextmenü drin und generiere damit eine Liste mit nur Serien/Filmen/Addons/Musik..
    Natürlich brauchst dann dafür eine Art Settingdialog zum löschen, und eine Anzeige dafür, also auch ordentlich Code und strings.
    Dazu kann man selbst mit der ID auch nur bei richtigen pfaden wie Serien was per content an Infos filtern und muss quasi alles als string schreiben (Movie DBID´s kann ich mit nichts Abfragen um Beispielsweise den Plot aus einem content nachträglich zu holen).
    Man muss sich als schon auch überlegen wieviele strings man ertragen kann.

    Für mich aber die Praktikabelste Lösung - ich kann es nachher als Dialog laufen lassen um einen Menüpunkt draus zu machen, es in die Info packen oder als
    Widget nutzen..

    Grüße

    Unter "Einstellungen -> Benutzerobefläche" (Kodi 17.3, LibreELEC, Pi2) kann man den Inhalt des "Startfensters" festlegen. z.B. "Hauptfenster" oder "Video" usw. Leider fehlt dort "Favoriten"? Gibt es dafür einen triftigen Grund oder ist das ein Bug-Report wert?

    Ein Bugreport ist unnötig, das hat seinen Grund.

    Im Skinenginge gibt es

    Fenster = Immer Vollbild - selbst wenn man es "kleiner ohne Hintergrundbild" Layouten würde ist der Rest immer in schwarz oder mit der angegebenen Hintergrundfarbe verdeckt.
    Dialoge = Frei schwebende Inhalte die nur den Teil Bedecken der auch anzeigbare Inhalte enthält.

    Wären also Dialoge "richtige Fenster" hieße das, das man nur noch Vollbildanzeigen in diesem Fenster Layouten könnte.
    Bei sowas wie dem Contextmenü würde dann die Anzeige von Datenbanklisten im Hintergrund nicht möglich sein.

    Die Regel im Skinengine ist:
    Immer ein Fenster ist aktiv und bleibt mit dem vorherigen im Speicher das mit ESC aufgerufen wird.
    Dialoge haben kein zurück sondern schließen sich dabei, während der Focus danach wieder ans aktive Fenster geht.

    Da Favoriten (DialogFavourites.xml) ein Dialog ist, würde er sich mit ESC schließen aber nichts öffnen. Man würde also im Nirvana landen;)..
    Mit der Grund warum man nur "richtige" Fenster auswählen kann in dieser Einstellung.

    Da es schon immer ein Dialog ist um verschiedene Layouts (Vollbild und Schwebend) möglich zu machen, wird sich da sicher auch mit einem
    Request nichts dran ändern da Windowtypes fix aus dem Core kommen müssen und es auch keine Option dafür in einem Skin gibt
    - da gibts nur ein Entweder oder.

    Grüße