Ankündigung

Einklappen
Keine Ankündigung bisher.

[mmh] iTunes

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

    #31
    Vermeiden lässt sich das nur, wenn man direkt über die ID geht.
    Der Befehl GETIDTITLE liefert zu einer gegeben ID den Titel, GETIDARTIST den Interpreten und GETIDALBUM das Album. Mit diesen Befehlen kann man sich dann seine Visu füllen, sofern man die ID hat.
    Wenn man die ID nicht hat, wird es u.U. mehrdeutig, was bei einer gezielten Titelauswahl nicht mehr akzeptabel ist.
    Sinnvoll wäre daher ein Befehl wie z.B. GETALLPLAYLISTIDS oder so ähnlich, der dann eine Liste aller in der Playlist vorhandenen ID's auswirft. Ich denke, sowas in der Art werden wir einbauen.
    Gruß

    Sascha

    Kommentar


      #32
      Ok dann lassen wir uns überraschen.. ich glaube ich habe schon eine Idee wie ich das in die Visu einbaue... mal schauen

      Kommentar


        #33
        Ja super Günther...

        dann gibt es ja dann ein Musterprojekt von dir.
        Gruß Jörg.


        "Wir sind nicht die ersten, die dieses Feature einbauen, aber wir werden es am besten umsetzen."
        (Steve Jobs)

        Kommentar


          #34
          Hallo Dundi... Wenn du mit Elvis (der Firma IT-GmbH) arbeitest könnte man darüber reden.....

          Grüße Günther

          Kommentar


            #35
            Schade Günther....das habe ich nicht in meiner Installation.
            Gruß Jörg.


            "Wir sind nicht die ersten, die dieses Feature einbauen, aber wir werden es am besten umsetzen."
            (Steve Jobs)

            Kommentar


              #36
              möglicher BUG????????

              Hallo zusammen. Ist jemanden aufgefallen dass wenn man <ITUNES><SETREPEAT=ALL></ITUNES> zum mmh schickt dass effektiv in den ITunes nicht passiert. D.h. dass der Wiederholmodus nicht gesetzt wird. Man erhält zwar die Antwort <ITUNES>SETREPEAT=|OK</ITUNES>
              Aber diese Antwort erhält man auch wenn man einen beliebigen String schickt.....
              Liest man den Zustand dann mit <ITUNES><GETREPEAT></ITUNES> erhält man als Antwort den letzten Zustand des Wiedergabemodus.
              <ITUNES>GETREPEAT=OFF|OK</ITUNES>

              Auch ist mir aufgefallen dass bei Änderung des Wiedergabemodus und der zufälligen Wiedergabe SHUFFLE am mmh in den ITunes keine Änderung im BC gemeldet werden....

              Kommentar


                #37
                Im Leben nicht !!!

                Ist Bestandteil unseres mremote Profils bzw. dem nachgebautem Remote...

                Aber ich checke dies noch mal.

                Danke für's Feedback.

                Kommentar


                  #38
                  Jups... ich habs nochmals getesten....

                  LG
                  Günther

                  Kommentar


                    #39
                    Hallo Günther,

                    Du hast Recht - die GET-/SETREPEAT Befehle funktionieren mit dem aktuellen iTunes nicht, hier hat Apple etwas geändert. Die Änderung ist jedoch bereits in mmh eingepflegt und mit der nächsten Version verfügbar.

                    Shuffle- und Repeat-Status werden übrigens grundsätzlich nicht über den Broadcast gesendet.
                    Gruß

                    Sascha

                    Kommentar


                      #40
                      Shuffle- und Repeat-Status werden übrigens grundsätzlich nicht über den Broadcast gesendet.[/QUOTE]

                      Hallo Sasha.
                      Das ist schade... dann muss man dies wiedereinmal zyklisch auslesen...
                      Ist hier auch nichts angedacht für kommende Versionen dass das im BC gesendet wird?


                      LG
                      Günther

                      Kommentar


                        #41
                        Hallo Günther,

                        nein, das ist nicht angedacht, aus mehreren Gründen:
                        Der Shuffle- und Repeat-Status ist Playlisten-bezogen, d.h. um eine eindeutige Aussage zu treffen, müsste man auch noch den Namen der Playliste auswerfen.
                        Hier stellt sich dann die Frage, wo man die Grenze zieht:
                        Der Nächste möchte vielleicht auch noch sekündlich die Playtime des aktuellen Titels im Broadcast haben, usw.
                        Nicht zuletzt erzeugt alles, was wir über den Broadcast senden, Mac-intern eine geringe, aber auch permanente Prozesslast. Wenn man diese Methodik übertreibt, bremst man sich irgendwann (unnötigerweise) das System aus.

                        Zur Lösung Deiner Anwendung gibt es mehrere Lösungsmöglichkeiten:
                        a) Du benutzt einen Titelwechsel (der ja über den Broadcast gesendet wird) als Event zum Abfragen der Stati. Damit wäre die Anzeige zwar nicht immer synchron, aber dennnoch "zeitnah". Diese Lösung erzeugt die geringste Last.
                        b) Du nutzt einen Timer, der in einem einstellbaren Intervall die Stati abfragt und lässt Dir den Status mit einer Kombination aus Event- und Commandserver an eine beliebige IP senden. Falls Dich dieser Weg interessiert, kann ich diese Lösung gerne hier posten.
                        Gruß

                        Sascha

                        Kommentar


                          #42
                          Ich mache das auch über den Timer... diesen aber dynamisch. D.h. Der Timer ist aktiv, wenn iTunes "played" ...

                          LG

                          Kommentar


                            #43
                            Hallo Sascha, Mike.... das mit dem Timer würde ich auch bevorzugen.... muss mir erst den Eventserver bei Mike bestellen... aber für ein Beispiel wäre ich dir sehr Dankbar......

                            LG
                            Günther

                            Kommentar


                              #44
                              Hier nun das versprochene Beispiel:

                              Du möchtest den Repeat und Shuffle-Status an eine beliebige IP gesendet bekommen:

                              a) Commandserver: Einen Commandserver (im Unterordner "addons") z.B. mit Namen itunes_info.csv anlegen der definiert, wohin die Information gesendet wird:
                              Code:
                              [CONFIG];
                              SERVERIP;192.168.1.200
                              SERVERPORT;6000
                              SERVERMODE;ASCII
                              SERVERTIMEOUT;0
                              SERVERPROTOCOL;UDP
                              
                              [COMMANDS];
                              REPEAT;<ITUNES>GETREPEAT=\#|OK</ITUNES>
                              SHUFFLE;<ITUNES>GETSHUFFLE=\#|OK</ITUNES>
                              Mit dieser .csv erweitert man den Befehlssatz um eine neue Klasse und 2 Befehle:
                              Klasse: <ITUNES_INFO> (weil die .csv itunes_info.csv genannt wurde)
                              Befehle: <REPEAT=...> und <SHUFFLE=....>
                              Ruft man in mmh den Befehl
                              <ITUNES_INFO><REPEAT=ALL></ITUNES_INFO>
                              auf, wird die Sequenz
                              <ITUNES>GETREPEAT=ALL|OK</ITUNES>
                              an die IP 192.168.1.200 Port 6000 per UDP gesendet.
                              SERVERIP und SERVERPORT müssen natürlich entsprechend angepasst werden.
                              Die Syntax habe ich so gewählt, damit die mmh-Syntax nicht gebrochen wird und die Parser-Regel auf dem Zielrechner nicht verändert werden muß.

                              b) Eventserver: Die Information automatisch aus dem mmh-Ausgangskanal auswerten und die passenden Commandserver-Befehle selbständig aufrufen:
                              Im events-Unterordner eine .csv mit beliebigem Namen anlegen, z.B. itunes_events.csv:
                              Code:
                              [CONFIG];
                              TRIGGERIP;INTERNAL
                              TRIGGERPORT;OUT
                              TRIGGERMODE;ASCII
                              
                              [TRIGGERS];
                              GETREPEAT=\*|;<ITUNES_INFO><REPEAT=\#></ITUNES_INFO>;ONCHANGE
                              GETSHUFFLE=\*|;<ITUNES_INFO><SHUFFLE=\#></ITUNES_INFO>;ONCHANGE
                              Den CONFIG-Teil habe ich im vorherigen Beispiel bereits beschrieben. Im TRIGGERS-Abschnitt wird auf die Antwort der iTunes-Befehle GETREPEAT und GETSHUFFLE geprüft und bei einem erfolgreichen Test die in der obigen Commandserver csv neu definierten Befehle mit dem ausgelesenen Argument aufgerufen. Der Wert "ONCHANGE" sorgt dafür, daß das Event nur ausgelöst wird, wenn sich das Argument verändert hat.
                              Zusammengefasst: Wenn im Ausgangskanal von mmh GETREPEAT oder GETSHUFFLE auftauchen, werden diese über den Commandserver versendet, sobald sich der Rückgabewert der Befehle ändert.

                              c) Die ITUNES-Befehle GETREPEAT und GETSHUFFLE-Befehle automatisch aufrufen lassen:
                              Im misc-Unterordner eine timer.csv anlegen:
                              Code:
                              [CONFIG];
                              ACTIVE;YES
                              DEBUG;NO
                              
                              [TIMERS];
                              ITUNES_DATA;INTERVAL;1;<ITUNES><GETREPEAT><GETSHUFFLE></ITUNES>
                              Dies erzeugt einen Intervalltimer mit dem namen ITUNES_DATA, der im 1-Sekunden-Takt die beiden Befehle ausführt.

                              Da bei diesem Timer der Zusatz ";AUTOSTART" fehlt, startet man den Timer manuell, wenn man die Info über die iTunes-Stati benötigt:
                              <TIMER><START=ITUNES_DATA></TIMER>
                              Möchte man das Automatische Versenden der Stati abschalten, stoppt man den Timer:
                              <TIMER><STOP=ITUNES_DATA></TIMER>
                              Gruß

                              Sascha

                              Kommentar


                                #45
                                Hallo MAC Gemeinde.
                                Sasha hat am 10.07.09 ein Beispiel gepostet hat in welchem erzeigt wie man den aktuelle Titel in eine Playlist hinzufügen kann. Da in der Version 1.0.91 neue ITunes Befehle (speziell der Befehl GETID) dazugekommen nehme ich mit die Freiheit dieses Beispiel mit Hilfe des GETID Befehls zu vereinfachen. Es brauch nur mehr eine .csv Datei in welcher folgendes steht:
                                Name der Datei :setcurrentid.csv

                                [CONFIG];
                                TRIGGERIP;INTERNAL
                                TRIGGERPORT;BROADCAST
                                TRIGGERMODE;ASCII
                                [TRIGGERS];
                                GETID=\*|;<SYS><SETVAR=CURRENT_ID,\#></SYS>

                                Mit dem Befehl GETID entfällt der Teil 1 des am 10.07.09 geposteten Nachricht.....

                                LG
                                Günther

                                Kommentar

                                Lädt...
                                X