Beiträge von Walter Sobchak


    Ich bin mir mit der syntax auch nicht immer sicher...aber im skin-dev thread im original forum kriegst du da bestimmt ne antwort...hitcher, jezz, igotdvds, ronie und noch ein paar andere sind da immer recht aktiv

    Habe es schon im C++ source gefunden:

    Code
    // Step 3: Find all $INFO[info,prefix,postfix] blocks

    Sollte allerdings auch mal im wiki erklaert werden.
    So bin schon weiter mit meinem AddOn. Habe es schon eingebunden. Statisch funktioniert das schon. Jetzt muss es nur noch so bauen, dass ich mit python alle skins durchgehen, von denen ich weiss an welcher Stelle ich meine Includes einfuegen muss.

    Im Default confluence skin wuerde die Aenderung in IncludesCodecFlagging sein:

    Code
    <include file="IncludesMediaStorageFlags.xml"/>
      
    <include name="VideoCodecFlaggingConditions">
            
       <include>MediaStorageFlags</include>
       <control type="image">
          <description>Video rez Image</description>
    	...

    In meinem script werde ich also via xpath (ich hoffe dafuer gibts support in python) die Ersetzung in den script files machen.
    Dazu muss ich wissen, in welchen files und an welcher Stelle die beiden Aenderungen reinmuessen.
    Das wuerde ich mir also so vorstellen (pseudocode):

    Code
    {
      skin: "skin.confluence",
      changes: [ 
        { 
          file: "IncludesCodecFlagging",
          at: "include[@name='VideoCodecFlaggingConditions']"
        }
      ]
    }

    Das wuerde im file "special://home/addons/skin.confluence/IncludesCodecFlagging.xml" die Zeile "<include file='IncludesMediaStorageFlags.xml'/>" direkt unter "<includes>" einfuegen. Und dann noch die Zeile "<include>MediaStorageFlags</include>" direct als child von "<include name="VideoCodecFlaggingConditions">".

    Momentan ist es auch noch notwendig, mein "IncludesMediaStorageFlags.xml" welches so aussieht:


    in den jeweilen scripts default ordner zu kopieren, weil das file attribute nur aus dem skin folder includes nachladen kann. Ich habe dazu schon einen feature request aufgemacht, dass "include file='special://...'" auch moeglich sein wird.

    Wenn der Skin eigene images fuer storage tagging bereitstellt, werden diese benutzt. Ansonsten die standard aus dem addon verwendet.

    Ich versuche jetzt gerade die visible conditions via setting einstellbar zu machen, sodass der Benutzer da sein eigenes Prefix waehlen kann.
    Dafuer waere es notwendig, dass mein script beim aendern der settings erneut aufgerufen wird. Ist sowas moeglich?

    In Zukunft koennte ich mir vorstellen, dass die Skin Developer die beiden notwendigen include Zeilen schon per default in die skins einbauen, und via "condition=system.hasaddon(script.video.media-storage-flags)" togglen.
    Das wuerde mir das ganze scripting erleichtern, weil ich dann nicht mehr die skin files aendern muesste.
    Ansonsten koennte ich mir auch vorstellen, dass auf meinem github repo die oben im pseudocode geschriebenen settings fuer jeden skin bereitgelegt werden koennten. Und mein script laedt dann die fuer das aktuelle skin notwendige "patch Anleitung" herunter.

    Aber erstmal funktioniert das primaer ;) Danke fuer Eure Hilfe schonmal!

    Externer Inhalt img59.imageshack.us
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.


    Externer Inhalt img820.imageshack.us
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.

    Auf diesen Seiten war ich ueberall schon. Ich finde jedoch nix ueber diese Syntax:

    Code
    <texture fallback="mediaflag-resolution.png">flags/movies/resolution/$INFO[ListItem.VideoResolution,,.png]</texture>


    Da wird auf die $INFO variable zugegriffen. Und zwar auf das value "ListItem.VideoResolution". Was bedeutet der zweite, leere Eintrag danach?

    Ich meine damit folgendes: Ich moechte die ganze Storage-Movie flags Geschicht in ein AddOn packen. Das AddOn enthaelt auch die im aus dem englischen Forum stammenden 50 Grafiken fuer HD01-HD50. Das AddOn sollte nun, wenn ein Skin geaendert wird, aufgerufen werden und im Skin XML die entsprechenden Aenderungen machen (erstmal nur im Transparency skin).

    Code
    <control type="image">
    	<include>VideoMediaFlagsVideoCodec</include>
    	<texture>flags/movies/storage/$INFO[substring(10,2),,.png]</texture>
    	<visible>substring(ListItem.Path,/media/HD)</visible>
    </control>


    Damit das funktioniert, muessen die storage pngs aber ins skin verzeichnis kopiert werden. Besser waere es natuerlich, wenn die fuer alle skins an einem zentralen ort (am besten das AddOn Verzeichnis selber) liegen koennte.
    Wo gibts denn ne Doc ueber dieses $INFO Dingens? Ich finde dazu nix im Wiki und wie die Params in den eckigen Klammern zu benutzen sind. Ist das eine string concat operation? Und kann man da ueberhaupt substring benutzen? Gibt substring nicht nen bool zurueck?

    gerne. Ich versuche gerade herauszufinden, ob man das ganze etwas optimieren kann.
    Unterstuetzt denn <texture> denn sowas wie SubString($INFO[ListItem.Path], 10, 2)?
    Und visible sowas wie ne regex?

    Schoen waere, wenn man am Ende ein Addon haette, welches die storage flags in das ~/media/flags/storage speichert und das aktuelle skin Includes_MediaVideoFlags.xml via Python anpasst und das neue image control einfuegt.
    Gibts eigentlich bei XBMC sowas wie nen Event System, dass man sich ueber nen Skin-Change informieren lassen koennte? Dann wuerde das script immer laufen, wenn der Skin geaendert wird und die Aenderung, wenn das "storage icons" addon installiert ist, automatisch ins skin file einfuegen.

    Nochmal ein kleiner Nachtrag...beim den Worten HDD und Transparancy hatte es hinten im Hirn gezuckt...also hab ich mal was rausgesucht...hier ist die beste Lösung die du machen kannst:
    http://forum.xbmc.org/showthread.php?t=96183


    WOW! Ja, das ist genau was ich suchte! Ich habe dort auch gleich eine Frage zur Optimierung gestellt. Schaue aber gleich mal selber in den skin docs ob das mit einer regex gehen wuerde.

    Mir war schon bewusst, dass die Info in den Dialog einzubauen nicht schwer ist. Nur wo befindet sich dieser? Ist das ein script oder C++?

    Danke fuer Deine Antwort! Ja ich habe schongemerkt, dass xmbc generell davon ausgeht, dass alle Medien immer online sind.
    Und die Haupt-Entwickler sind auch nicht gewillt einen anderen Usecase ueberhaupt mal in Betracht zu ziehen.
    Aber da das ganze OpenSource ist, hacke ich mir das vielleicht selber mal rein und sende einen pull request.
    Der Transparency Skin zeigt die info ueber den Pfad in der Movie info an. Vielleicht modde ich den dahingehend, dass er via regex den relevanten Teil des Pfad (/media/(\d+)) einfach auch in der Uebersich mit ausgibt.

    Hallo,

    ich bin begeistert vom xbmc, ein feines Stueck Software ist das!
    Eine Funktionalitaet vermisse ich jedoch. Ich habe 4 externe USB Festplatten mit Filmen. Alle (NTFS) Partitionen auf den Platten haben eindeutige Namen (HD01, HD02, HD03 etc).
    Ich habe zur "Videos" Source also nun "/media/HD01", "/media/HD02" etc hinzugefuegt.
    Dann habe ich jede Platte angesteckt und die Video Library nach neuem Content suchen lassen.
    Das hat soweit auch geklappt. Dann entferne ich die Platte mit dem Filemanager sicher und stecke eine neue dran.
    Wenn ich dann auf der neuen Platte nach content suchen lasse, so werden manchmal die Informationen (1080p, AR, Audio) zu den Filmen der vorigen Platte(n) "vergessen".
    Es scheint, als ob die Library diese Informationen nicht in der DB speichert, sondern "live" von dem Medium abfragt sobald man den Eintrag auswaehlt?

    Was allerdings gespeichert wird, ist der Pfad zu der Datei. Und was ich mir jetzt wuenschen wuerde waere nicht nur die Meldung "File not available" sondern auch der Pfad zur Datei in der Meldung.
    So wuesste ich schnell welche Platte ich anstoepseln muss.
    Es ist mir unklar, warum so ein Use-Case ueberhaupt nie bedacht wurde? Zwar werden die Platten immer groesser, aber vielleicht will man die auch nicht permanent am Strom haengen haben?

    Im englischen Forum wurde mal ueber einen Indikator fuer offline Medien nachgedacht, aber das wurde nie zuende gedacht oder umstaendlich mittels haendisch zu erstellender nfo Dateien geloest.