Ankündigung

Einklappen
Keine Ankündigung bisher.

[mmh] Sonderzeichen in Filmnamen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [mmh] Sonderzeichen in Filmnamen

    Hallo,

    die Sonderzeichen in Filmnamen lassen meinen Commandserver abschmieren.

    Ich fülle Listen per Datenbankabfrage (Mysql). Die Listen zeigen den Filmnamen nach Genre sortiert. Sobald im Argument zum starten des Films oder Anzeigen von Infos zum Film ein Sonderzeichen (Bsp. Charlie Wilson's War) steht steigt mein Server Script aus.

    Besser wäre es natürlich ich könnte mit der movieid die Abfragen machen.
    In den Listen soll der Filmname stehen. Bei Touch auf dem Film dann aber die movieid als Argument übergeben werden.

    Wie mach ich das am geschicktesten?

    Gruß
    Klaus

    #2
    Hallo Klaus,
    Zitat von sunnyhd Beitrag anzeigen
    Hallo,

    die Sonderzeichen in Filmnamen lassen meinen Commandserver abschmieren.

    Ich fülle Listen per Datenbankabfrage (Mysql). Die Listen zeigen den Filmnamen nach Genre sortiert. Sobald im Argument zum starten des Films oder Anzeigen von Infos zum Film ein Sonderzeichen (Bsp. Charlie Wilson's War) steht steigt mein Server Script aus.
    Die Fehlerbeschreibung verstehe ich nicht so ganz. Steigt der mmh Commandserver aus oder Dein Perl-Script? In jedem Fall wären Logs von mmh und ggfs. Dein Perl-Script zur Fehlereingrenzung hilfreich.

    Besser wäre es natürlich ich könnte mit der movieid die Abfragen machen.
    In den Listen soll der Filmname stehen. Bei Touch auf dem Film dann aber die movieid als Argument übergeben werden.

    Wie mach ich das am geschicktesten?
    Das bekommst Du hin, wenn Du 2 serielle List-Joins in der mremote definierst. Der erste ist für die Titelanzeige in der Liste und der zweite für die Film-ID's.
    Den Film-ID-Join brauchst Du folglich nicht in die GUI einzubauen.
    Dann machst Du den Digital-Join des Buttons zum Master für den Film-ID-Serial-Join und schon wird die ID gesendet, wenn Du den entsprechenden List-Button drückst.
    Gruß

    Sascha

    Kommentar


      #3
      Probier ich.

      Danke
      Klaus

      Kommentar


        #4
        Hallo,

        einer muss ja die dummen Fragen stellen:

        Ich brauche 2 serielle List Joins in der mremote.csv
        [LIST=11]; // Movies List selection
        SERIAL=515;DIGITAL=516;\*|;;
        SERIAL=516;;\*| // MovieID List

        Ich starte mit einem Digital Join 1226 der mir die Liste 540 mit der Genreauswahl füllt.

        1226;1;<UDP.SOCK><GENRELIST></UDP.SOCK>
        [LIST=40]; // XBMC Auswahl
        SERIAL=540;DIGITAL=540;\*|;;

        540;#;<SYS><SETSERIALJOIN=1201,\#></SYS><UDP.SOCK><GENRE=\#></UDP.SOCK>;GENRELIST=\*OK;;

        Die 540 übergibt das Argument Genre zum Beispiel Comedy und füllt mir die Liste 515 mit den Filmnamen aus diesem Genre.

        515;#;<SYS><OPEN=-a /Applications/XBMC.app></SYS><UDP.SOCK><URL=\#></UDP.SOCK>;<UDP.SOCK>URL=\*OK;NOCACHE;

        Die 515 übergibt den Filmnamen zur Abfrage der URL und startet XBMC und den Film.

        Wo auf dem Weg fülle ich jetzt die 516 mit den MovieIDs und übergebe statt dem Filmnamen die ID zur Abfrage der URL? Es sollen weiterhin die Filmnamen angezeigt werden.

        Klaus

        Kommentar


          #5
          Zitat von sunnyhd Beitrag anzeigen
          [...]
          515;#;<SYS><OPEN=-a /Applications/XBMC.app></SYS><UDP.SOCK><URL=\#></UDP.SOCK>;<UDP.SOCK>URL=\*OK;NOCACHE;

          Die 515 übergibt den Filmnamen zur Abfrage der URL und startet XBMC und den Film.

          Wo auf dem Weg fülle ich jetzt die 516 mit den MovieIDs und übergebe statt dem Filmnamen die ID zur Abfrage der URL? Es sollen weiterhin die Filmnamen angezeigt werden.
          Das, was Du für den sj515 als Filmliste definiert hast, definierst Du entsprechend für den sj516, so daß er eine ID-Liste bekommt und den Film mit der ID als Argument startet.
          Dann änderst Du den "Slave" für den Digitaljoin, damit die ID und nicht der Titel gesendet wird, wenn Du den Button drückst:
          Code:
          [LIST=11];							// Movies List selection
          SERIAL=515;;\*|;;
          SERIAL=516;DIGITAL=516;\*|					// MovieID List
          Fertig.
          Gruß

          Sascha

          Kommentar


            #6
            You Don't Mess with the Zohan

            Hilft nix ich muss nochmal nachfragen:

            Mit der 540 hole ich mir die Genre und frage die Namen und die Ids ab.

            540;#;<SYS><SETSERIALJOIN=1201,\#></SYS><UDP.SOCK><GENRE=\#></UDP.SOCK><UDP.SOCK><MOVIEID=\#></UDP.SOCK>;GENRELIST=\*OK;;

            Die 515 füllt die Liste aus dem jeweiligen Genre mit den Namen der Filme

            515;#;;GENRE=\*OK;

            Die 516 soll das Argument Movieid zur Abfrage der URL übergeben

            516;#;<SYS><OPEN=-a /Applications/XBMC.app></SYS><UDP.SOCK><URL=\#></UDP.SOCK>;MOVIEID=\*OK;<UDP.SOCK>URL=\*OK;NOCACHE;

            [LIST=11];
            SERIAL=515;;\*|;; // MovieID List
            SERIAL=516;DIGITAL=516;\*|;;

            Meine Versuche haben bisher entweder die Liste mit den ids oder den Filmnamen gefüllt.
            So wie oben beschrieben steht in jedem Genre nur ein Filmnamen.

            You Don't Mess with the Zohan

            ...

            Kommentar


              #7
              Zitat von sunnyhd Beitrag anzeigen
              Meine Versuche haben bisher entweder die Liste mit den ids oder den Filmnamen gefüllt.
              Welche Liste? Die sichtbare Liste im iViewer, oder die interne Liste von mmh? Die ID-Liste bleibt im iViewer natürlich unsichtbar und wird nur intern von mmh geführt. Ob diese interne Liste funktioniert sieht man erst, wenn man einen Button in der GUI drückt.
              Hast Du die Action des Joins 540 mal im ScriptingClient verifiziert um zu sehen, ob beide Listen in einer Sequenz zurückkommen? Nicht, daß da an anderer Stelle ein Problem besteht...
              Gruß

              Sascha

              Kommentar


                #8
                Im Guidesigner habe ich nur eine Liste angelegt mit Serialjoin 515 und Digitaljoin 516.

                12:03:58.490 - mRemote: received sequence: h=0\0x03
                12:03:58.490 - mRemote: sending sequence: h=1\0x03
                12:03:58.856 - mRemote: received sequence: l40:2:d540=1\0x03
                12:03:58.857 - mRemote: simulating join: s540=Animation
                12:03:58.857 - mRemote: serial join 540 wildcard-matched at index 18 (arg: Animation)
                12:03:58.857 - parser: parsing sequence: <SYS><SETSERIALJOIN=1201,Animation></SYS><UDP.SOCK><GENRE=Animation></UDP.SOCK><UDP.SOCK><MOVIEID=Animation></UDP.SOCK>
                12:03:58.858 - parser: command: SYS - SETSERIALJOIN=1201,Animation
                12:03:58.858 - parser: command: UDP.SOCK - GENRE=Animation
                12:03:58.864 - parser: command: UDP.SOCK - MOVIEID=Animation
                12:03:58.865 - commandserver: UDP send: 192.168.2.69:49000 data: SELECT c00 FROM movieview WHERE c14 LIKE ('%Animation%') ORDER BY c00
                12:03:58.866 - parser: reply sequence: <SYS>SETSERIALJOIN=|OK</SYS><UDP.SOCK>GENRE=|OK</UDP.SOCK><UDP.SOCK>MOVIEID=|OK</UDP.SOCK>
                12:03:58.866 - commandserver: UDP send: 192.168.2.69:49000 data: SELECT idMovie FROM movieview WHERE c14 LIKE ('%Animation%') ORDER BY c00
                12:03:58.876 - mRemote: sending sequence: l11=0x\0x03
                12:03:58.876 - mRemote: sending sequence: l11=0c\0x1Es516=\0x0D\0x03
                12:03:58.876 - mRemote: sending sequence: l11=0x\0x03
                12:03:58.877 - mRemote: sending sequence: l11=0c\0x1Es515=\0x0D\0x03
                12:03:58.886 - commandserver: UDP receive: 192.168.2.69:49000 data: SELECT c00 FROM movieview WHERE c14 LIKE ('%Animation%') ORDER BY c00=|Bolt|Cars|Coraline|Kung Fu Panda|Madagascar|Up|WALL·E|[END]
                12:03:58.888 - commandserver: translated reply sequence: <UDP.SOCK>GENRE=Bolt|Cars|Coraline|Kung Fu Panda|Madagascar|Up|WALL·E|OK</UDP.SOCK>
                12:03:58.896 - mRemote: sending sequence: l11=0x\0x03
                12:03:58.896 - mRemote: sending sequence: l11=0c\0x1Es515=Bolt\0x0D\0x03
                12:03:58.897 - mRemote: sending sequence: l11=1c\0x1Es515=Cars\0x0D\0x03
                12:03:58.898 - mRemote: sending sequence: l11=2c\0x1Es515=Coraline\0x0D\0x03
                12:03:58.907 - mRemote: sending sequence: l11=3c\0x1Es515=Kung Fu Panda\0x0D\0x03
                12:03:58.907 - mRemote: sending sequence: l11=4c\0x1Es515=Madagascar\0x0D\0x03
                12:03:58.907 - mRemote: sending sequence: l11=5c\0x1Es515=Up\0x0D\0x03
                12:03:58.907 - mRemote: sending sequence: l11=6c\0x1Es515=WALL·E\0x0D\0x03
                12:03:58.914 - commandserver: UDP receive: 192.168.2.69:49000 data: SELECT idMovie FROM movieview WHERE c14 LIKE ('%Animation%') ORDER BY c00=|980|1083|1089|1133|1136|1191|1062|[END]
                12:03:58.915 - commandserver: translated reply sequence: <UDP.SOCK>MOVIEID=980|1083|1089|1133|1136|1191|106 2|OK</UDP.SOCK>
                12:03:58.923 - mRemote: sending sequence: l11=0x\0x03
                12:03:58.924 - mRemote: sending sequence: l11=0c\0x1Es516=980\0x0D\0x03
                12:03:58.924 - mRemote: sending sequence: l11=1c\0x1Es516=1083\0x0D\0x03
                12:03:58.924 - mRemote: sending sequence: l11=2c\0x1Es516=1089\0x0D\0x03
                12:03:58.924 - mRemote: sending sequence: l11=3c\0x1Es516=1133\0x0D\0x03
                12:03:58.924 - mRemote: sending sequence: l11=4c\0x1Es516=1136\0x0D\0x03
                12:03:58.924 - mRemote: sending sequence: l11=5c\0x1Es516=1191\0x0D\0x03
                12:03:58.925 - mRemote: sending sequence: l11=6c\0x1Es516=1062\0x0D\0x03
                12:03:58.980 - mRemote: received sequence: l40:2:d540=0\0x03
                12:04:02.473 - mRemote: received sequence: h=0\0x03
                12:04:02.473 - mRemote: sending sequence: h=1\0x03

                Kommentar


                  #9
                  Das Log sieht doch gut aus. Was passiert, wenn Du jetzt einen Button in der Liste drückst?
                  Gruß

                  Sascha

                  Kommentar


                    #10
                    Bis auf das in meiner Liste immer You Don't Mess with the Zohan steht statt den Filmnamen.

                    Wenn ich einen Button drücke startet der richtige Film.

                    Klaus

                    Kommentar


                      #11
                      Sag' das doch
                      Letzter Versuch: In der Action für den sjoin 540 mal die Reihenfolge von GENRE und MOVIEID vertauschen. Wenn es dann immernoch nicht geht, sieht es schwer nach einem Bug im iViewer aus.
                      Gruß

                      Sascha

                      Kommentar


                        #12
                        Sag ich doch die ganze Zeit...

                        Don't mess with the Zohan.

                        Jetzt gehts!

                        Gruß Klaus

                        Kommentar

                        Lädt...
                        X