Oder Text markieren und Enter drücken…

Kommunikation zwischen Processing und Flash (Mac)

Mit Open Sound Control unter Mac OS X Nachrichten zwischen Processing und Adobe Flash austauschen.

Diese Anleitung gilt für Mac OSX, für Windows-Betriebssysteme siehe:
Kommunikation zwischen Processing und Flash (Win)

Vorgehensweise:

  1. Flosc herunterladen:
    http://www.benchun.net/flosc/
  2. Um "flosc-0.3.1.tar.gz"zu entpacken, macht ihr einfach einen Doppelklick auf das Archiv-Icon. Den extrahierten Ordner "flosc-0.3.1" kopiert ihr in den Programme-Ordner.
  3. Terminal (im Ordner Dienstprogramme) starten:
    Dienstprogramme
  4. Nun wechselt ihr in den Flosc-Ordner. Dazu tippt ihr "cd  " (mit Leerzeichen!) ein und zieht dann einfach das "flosc-0.3.1"-Verzeichnis ins Terminal und bestätigt mit Enter. Alternativ könnt ihr den Pfad auch selber eintippen.
    Terminal cd flosc
  5. Den Java-Server starten. Die Syntax dazu lautet "java Gateway [oscPort] [flashPort]". "oscPort" ist die Nummer des Ports der genutzt wird um in Flash Daten von außerhalb zu empfangen. "flashPort" ist der Port den Flash verwendet um Daten zu verschicken. Die Standardports in der Flosc-Dokumentation sind 1250 und 3000. Prinzipiell ist aber jede freie Portnummer möglich. Eine Liste aller Ports gibt es in der englische Wikipedia:
    http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
    Ports über 1000 werden selten genutzt. Ihr könnt also einfach folgendes eintippen:
    Terminal Flosc starten
    Bei einer installierten Firewall, wie z.B. "Little Snitch" installiert habt, kommt nun möglicherweise ein Sicherheitshinweis. Der Zugriff muss natürlich zugelassen werden.
    Falls alles geklappt hat erscheinen nun die Meldungen "OscServer created" und "TcpServer created":
    Terminal Flosc gestartet
  6. Um das Ganze zukünftig zu vereinfachen kann man eine Stapelverabeitungsdatei (auch Batchdatei genannt) erstellen. Dazu öffnet ihr TextEdit (im Ordner "Programme"). Das Format der Datei ändert ihr in "reinen Text":
     TextEdit in reinen Text umwandeln
    Dann tippt ihr die Befehle um ins Flosc-Verzeichnis zu wechseln und zum Starten des Java-Servers ein:
    Batchdatei Mac Text
    Und speichert die Datei anschließend  als "start_flosc_server" mit der Erweiterung ".command" im Flosc-Ordner. Das Häkchen bei ".txt verwenden, falls kein Suffix angegeben ist"  klickt ihr vor dem Speichern weg.
    Als Command speichern
    Nun müsst ihr noch mit chmod die Zugriffsrechte der Datei ändern. Dazu startet ihr ein Terminal, wechselt in das Verzeichnis mit der Command-Datei unt tippt: chmod 755 start_flosc_server.command" ein.
    Chmod 755
    Danach könnt ihr den Flosc-Server einfach per Doppelklick auf die Batchdatei starten. 
  7. Im Flosc-Ordner ist eine Beispiel-Flashdatei namens "flosc-0.3.1.fla". Die könnt ihr nun öffnen. Außerdem startet ihr Processing und öffnet den "oscP5sendReceive.pde"-Sketch im "examples"-Ordner von oscP5. Falls ihr oscP5 noch nicht installiert habt, dann schaut euch bitte das Tutorial Kommunikation zwischen Processing und vvvv an.
  8. Im "oscP5sendReceive.pde"-Sketch muss noch eine Zeile geändert werden. Bei gedrückter Maustaste wird später eine OSC-Nachricht an die Adresse "myRemoteLocation" geschickt. Also müsst ihr in der Zeile "myRemoteLocation = new NetAddress("127.0.0.1",12000);" noch den Port umändern in "myRemoteLocation = new NetAddress("127.0.0.1",1250);",damit Flash die Daten empfängt.
  9. Falls ihr den Flosc-Server noch nicht gestartet habt solltet ihr das nun tun (Doppelklick auf die Batchdatei). Danach könnt ihr die Flashdatei ("flosc-0.3.1.fla") starten (Strg + Enter).Nachdem ihr auf "Connect" geklickt habt, sollte die Meldung "Connected to 127.0.0.1 on port 3000" erscheinen.
    flosc connect
  10. Nun könnt ihr den Processing-Sketch starten (Strg + R). Wenn ihr in das schwarze Fenster geklickt wird eine Nachricht an Flash geschickt. In Flash wird der Empfang mit einer Textnachricht bestätigt:
    flosc message received
  11. Um von Flash aus eine Nachricht an Processing zu schicken, gebt ihr unter "destination port" 12000 ein und klickt auf "send". In der Textkonsole von Processing erscheint eine Bestätigungsmeldung:
    processing flosc message received

Weiterführende Links

Beachtet auch die folgenden ähnlichen Tutorials im IG-Wiki:
Kommunikation zwischen Processing und vvvv
Kommunikation zwischen vvvv und Flash