Flagging (language)

  • Hallo,


    ich versuche mich gerade an den language flags, xbmc kann ja von haus aus nur eine sprache abrufen richtig?


    dann gibt es ja das script von black was auch im aeonmq5 integriert ist.
    damit versuche ich aktuell mehrere sprachen in den flags anzuzeigen.


    der onload befehl laut aeonmq5 in der myvideonav.xml :

    PHP
    <onload condition="System.HasAddon(script.videolanguage)">RunScript(script.videolanguage,backend=True)</onload>




    soo dann der aufruf :

    PHP
    $INFO[Window.Property(AudioLanguage.1)]


    das ganze kann man glaube ich laut script bis 99 machen, so das ganze geht in der dialogvideoinfo.xml aber nicht in den views...
    dort kriege ich das einfach nicht angezeigt aber der aeonmq5 zeigt es auch in den views an....


    jemand dazu vielleicht ne idee?

  • Hallo,

    Dann stimmt was anderes nicht.

    Bei mir gehts genau so wie es du versucht hast... Hab deinen Code rauskopiert und hinter dem Titel eingefügt...

    Externer Inhalt up.picr.de
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.

    Mal im Log nach Fehlern geschaut bzw. steht überhaupt was drin in den Filmen?

    Grüße

  • nein Nein ;)


    ich möchte mir das in den views anzeigen lassen nicht in der videoinfo, dort geht es ohne probleme.

    aber im aeonmq5 ist es auch in den views eingebaut also müsste es dort auch gehen und laut dem thread im .org forum und dem kommentar von 'Black dem ersteller, geht es wenn man das script als backend startet in der myvideonav.xml.

    hier das kommentar :

    Zitat


    With the help of phil65, the latest version of the script features a backend mode so you can display the languages directly in your views. The script also has support for music videos now.

    Please let me know if there are any problems -> https://github.com/Black09/script.videolanguage ... I will submit it to the official repo if it runs fine.

    To run the script with backend mode, add this to MyVideoNav.xml:
    PHP Code:
    <onload condition="System.HasAddon(script.videolanguage)">RunScript(script.videolanguage,backend=True)</onload>

    You don't need to run the script in the video info dialog if it runs in the background!

    nur in den views gehts einfach nicht :huh:

  • Hallo,

    Da müsste ich auch Nachforschen.
    Da er bei mir eh bei 100% Deu anzeigen würde habe ich da mal drauf verzichtet :) .
    Ich hatte gestern mal in meine Version von aeonmq5 geschaut als ich es bei mir kurz Einbaute.
    Der Nutzt aber auch $INFO[Window(2003).Property(AudioLanguage.1)] was ja auch Sinn macht wenn man ein Proberty außerhalb ansprechen will (ist ja die ID des Infodialoges).

    Ich kann heut Abend mal auf die Suche gehen... Vielleicht finde ich nen Grund. Interessieren würde es mich schon.
    Hast mal alle Stellen mit AudioLanguage im aeonmq5 angeschaut ob der da irgendwas in Strings schreibt, Propertys setzt oder dergleichen?
    An irgendwas muss es ja liegen wenn das selbe Script in einem Skin läuft und im anderen nicht beim gleichen Film kanns ja nur der Skin sein...

    [edit]Die Readme.txt des Skript angeschaut?
    This script is designed to use in the video info dialog and sets properties for all audio and subtitle languages of a video file.

    Add this to DialogVideoInfo.xml
    <onload condition="System.HasAddon(script.videolanguage) + [Container.Content(movies) | Container.Content(episodes) | Container.Content(musicvideos)]">RunScript(script.videolanguage,movieid=$INFO[ListItem.DBID])</onload>

    or run it in background by adding the following line to MyVideoNav.xml. If the script runs in background, you don't need to run it in DialogVideoInfo.xml.
    <onload condition="System.HasAddon(script.videolanguage)">RunScript(script.videolanguage,background=True)</onload>

    The following properties are available
    Window(movieinformation).Property(AudioLanguage.%d)
    Window(movieinformation).Property(AudioCodec.%d)
    Window(movieinformation).Property(AudioChannels.%d)
    Window(movieinformation).Property(SubtitleLanguage.%d)

    Force the content type by adding type=movie, type=episode or type=musicvideo
    [/edit]

    Window(movieinformation) wäre eigentlich ja 2003? Sicher das es so nicht geht? Normalerweise musst Ihm ja mitteilen aus welchem "Fenster" er das Property holen soll wenn es nicht das Eigene ist.
    Und wenn die Info wie Beschrieben im Hintergrund der MyvideoNav immer mitläuft dann braucht er auch die Info dazu das dort das Property ist...
    Zumindest ist es bei eigenen Propertys so, keine Ahnung wie es bei Skripten genau funktioniert.

    Zitat

    SetProperty(key,value[,id]) Sets a window property for the current window (key,value), or the specified window (key,value,id).


    Grüße

  • Window(movieinformation) wäre eigentlich ja 2003? Sicher das es so nicht geht? Normalerweise musst Ihm ja mitteilen aus welchem "Fenster" er das Property holen soll wenn es nicht das Eigene ist.
    Und wenn die Info wie Beschrieben im Hintergrund der MyvideoNav immer mitläuft dann braucht er auch die Info dazu das dort das Property ist...
    Zumindest ist es bei eigenen Propertys so, keine Ahnung wie es bei Skripten genau funktioniert.

    ja richtig dialogvideoinfo ist die id2003, in der readme bzw dem thread im org forum steht auch das wenn man das script als backend startet, so wie im aeonmq5, habe den selben onload bei mir drin, sollte es gehen.
    ich habe das script als backend aufgerufen, und kann in der dialogvideoinfo.xml abrufen, das geht wunderbar nur ausserhalb gehts nicht...

    habe es bereits hiermit versucht:

    PHP
    $INFO[Window.Property(AudioLanguage.1)]
    $INFO[Window(2003).Property(AudioLanguage.1)
    $INFO[Window(movieinformation).Property(AudioLanguage.1)

    nur er reagiert nicht wirlich drauf, und ich bin im focusedlayout, also nicht ausserhalb des containers.


    [edit]
    im aeonmq5 wird es so aufgerufen :

    PHP
    <label>$INFO[Window(2003).Property(AudioLanguage.1)]$INFO[Window(2003).Property(AudioLanguage.2), / ]$INFO[Window(2003).Property(AudioLanguage.3), / ]$INFO[Window(2003).Property(AudioLanguage.4), / ]$INFO[Window(2003).Property(AudioLanguage.5), / ]$INFO[Window(2003).Property(AudioLanguage.6), / ]$INFO[Window(2003).Property(AudioLanguage.7), / ]$INFO[Window(2003).Property(AudioLanguage.8), / ]$INFO[Window(2003).Property(AudioLanguage.9), / ]$INFO[Window(2003).Property(AudioLanguage.10), / ]</label>

    [/edit]


    aber selbst das geht net bei mir :S

    habe es mal in den confluence eingebaut, und da ist das selbe problem, in den views gehts nicht, in der dialogvideoinfo ohne probleme.....

    also irgendweas ist da faul, beim aeonmq5 gehts ja auch, und ich nutze sogar das selbe verfahren per variable und include.

    `Black:

    hast du nen ratschlag?

  • Hallo,

    Kann ich erst heut Abend mal selber testen.
    Das einzige was mir spontan einfällt...

    nur er reagiert nicht wirlich drauf, und ich bin im focusedlayout, also nicht ausserhalb des containers.


    Heißt du hast die Label in einem der Viewtype Container? Das könnte sein das es da gerade nicht geht.
    Aber frag mich nicht warum. Da müssten die Profis ran :) .
    Das Moviesets Script funktioniert beispielsweise auch nur außerhalb, also in einer Grouplist etc. und leider auch nicht im Focusedlayout.
    Zumindest bekomme ich als Focuseditem auch bei diesem nichts zurück, nur außerhalb, was bei Listen ohne festen Focus echt doof ist.


    Grüße

  • Hallo,

    Teilweise echt doof aber wird schon einen Sinnvollen Grund für geben :) .
    Ist halt wie gesagt blöd bei Panelcontainern und dergleichen...

    Da müsstest mal schauen ob das mit Offset bzw. Nowrap hinbekommst das die Labels falls nötig "mitlaufen"...

    http://wiki.xbmc.org/?title=XBMC_Skinning_Manual#Container

    Bei mir ist es halt schade. Eigentlich klappt mein Poster auf nach x Sekunden und darunter kommt die Info wie Genre usw.
    Nur bei Sets ohne Focusedlayout ist das echt Tricky wenn man keinen festen Focus hat :)

    Grüße

  • ja kannst ja mit :

    PHP
    <visible>![Container(59).OnNext | Container(59).OnPrevious]</visible>

    und den passenden animationen hinkriegen :)


    hier sind meine animatonen nur um die flags ordentlich darzustellen :


    ist halt viel fuckeln :D

  • Hallo,

    Kannst aber laut sagen. Animationen ist auch nicht wirklich mein Ding:

    Meins ist glaub nicht ganz so einfach :)

    Externer Inhalt up.picr.de
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.

    Ich drehe ja das Focus Poster nach ca. 3 Sekunden

    Und Blende dann eine Info ein

    Aber alles im Focus... Baue ich da noch Moviesets ein das nicht geht im Focus. Muss ichs rausnehmen aus dem Container und mit Conditions für Serien, Filme, Plot leer, Movieset ja oder nein wieder irgendwie darüberlegen.
    Das ist mir noch zuviel :) . Vor allem sind meine Views eh schon kompliziert genug mit noch 2 zusätzlichen Containerfiltern als Liste.. Ich versteh es so schon kaum...

    Aber bei gelegenheit schau ichs mir mal an.

    Danke nochmal

    Grüße

  • ja das focus item, bzw den ganzen focusedlayout kannst ja auslagern, aus der liste raus.

    dann lässt den focusedlayout leer und machst den weiter unten in eine group, mit $INFO[Container(XX).Listitem.icon]
    dann kannst auch das moviesets miteinbauen.

    so dürfte das doch leichter sein ;) oder?

  • Muß ich mir in ruhe erst Überlegen :) ob es sich überhaupt lohnt.
    So Überzeugt bin ich noch gar nicht von Sets, der Nachpflegerei und allem...
    Bei Über 1000 Filmen macht es die Unterteilung in ein paar Set auch nicht viel Kürzer...

    Mein Code eine Viewtype ist schon so komplex genug. Ich habe das Momentan als Vollbild drin was auch OK ist. Man muss halt dann nach unter drücken für die Setinfo...
    Das hat schon wegen meiner 3 Container in einer View zum Umschalten genügend Conditions... Und Genre Ansicht ist es auch noch dazu...

    Das lass ich nochmal liegen.

    Aber hast schon recht mit Auslagern ginge es schon, nur icon brauchst schon im Layout weil sonst bestimmt Probleme mit der Animation bekommst.
    Aber die Info innerhalb nach dem Aufklappen könnte man rausnehmen und Einblenden...

    Mal schauen... Hab noch genug andere angefangen Stellen...

    Grüße

  • Hallo,

    OK, werd ich mal testen.
    Mein Problem sind auch eher die Conditions...
    Alle meine Viewtypes sind mittlerweile so aufgebohrt:

    Ich kann in jeder Ansicht nach oben drücken und mit Alphabetbuttons durch Playlisten schalten und der Container wird unten mit den Playlisten gefüllt (und der "Hauptcontainer" dabei ausgeblendet). Nochmal hoch filtert nach Studios (Momentan auch noch Playlisten bis es mit der neuen Content Methode möglich ist zu Sortieren -> soll mal Genre oder dergleichen werden..).

    Heißt ich brauch dann recht komplexe Conditions für das Focus Item weil es ja nur in einem Container und nicht in den Filtern angezeigt werden soll...
    Und da ich die ganzen titel Labels als Variablen mit Control.HasFocus(1,2 oder 3) aufgebaut habe wird das wahrscheinlich mit Sets nicht noch zusätzlich gehen.
    Und zusätzlich noch alles doppelt mit anderer Farbe falls es der gerade Abgespielte Film bzw. Episode ist...

    Ich dachte das die Animation also das "größer" werden des Focus recht frikelig wird wenns komplett raus nimmst (das zoomt ja schon während des scrollens hoch bis Ende der Scrolltime)
    Aber mal schauen, Danke für den Tipp.
    Ich klemme mich die Tage mal dahinter und Berichte.

    Grüße

  • ich stehe da jetzt auch vor so einem problem wo ich den focusedlayout auslagern müsste.

    und zwar habe ich ne fixedlist, mit der focusposition 3, also mitte des screens, jetzt wollte ich die flags dort einbauen, aber die position verändert sich wenn man den ersten film der list makiert sowie den letzten, weil er ja den focus auf position 3 hat passt dann die angabe der position nicht mehr.
    Passt zwar bei 99% aber sobald man ans ende oder anfang geht ist ende :S

  • Hallo,

    Auf das wollte ich doch bei mir auch raus :) . Da ist ja auch Focus=3...

    Container(id).ListItemNoWrap(offset).Property
    Mein Englisch ist zwar Unterirdisch aber
    Basically returns the same as ListItem(offset) but it won't wrap. That means if the last item of a list is focused, ListItemNoWrap(1) will be empty while ListItem(1) will return the first item of the list. Property has to be replaced with Label, Label2, Icon etc. ( eg: Container(50).ListitemNoWrap(1).Plot )

    Ich muss das immer Testen aber mit einem IsEmpty(Container(id).ListItemNoWrap(1).Label) vielleicht verschieben mit Animation?

    Nur so ne Idee

    Grüße

  • Verschieben mit einer Animation dachte ich?
    Der Versatz bleibt ja gleich

    <animation effect="slide" end="0,100" time="300" condition="IsEmpty(Container(id).ListItemNoWrap(1).Label) >Conditional</animation>

    oder halt negiert. Keine Ahnung ob das geht aber wenns beim ersten und letzten leer ist dann sollte man ja damit was anstoßen können...

    [edit]Hab nochmal geschaut. Bei mir ist die Focusposition beim ersten und letzten auch gleich mit einer Fixedlist?? Müsstest mir ein Sample schicken damit icht kapiere oder Screenshots machen[/edit]

    Grüße

Jetzt mitmachen!

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