Oder Text markieren und Enter drücken…

Kommunikation zwischen Processing und Flash (Win)

Mit Open Sound Control unter Windows Nachrichten zwischen Processing und Adobe Flash austauschen.

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

Vorgehensweise

  1. Flosc herunterladen:
    http://www.benchun.net/flosc/
  2. Zuerst "flosc-0.3.1.tar.gz" und dann das darin enthaltene Archiv "flosc-0.3.1.tar" mit einem ZIP-Programm wie dem kostenlosen 7-Zip entpacken. Wohin ihr die Dateien entpackt spielt keine Rolle. Ich empfehle im Programme-Ordner ein neues Verzeichnis namens "Flosc" anzulegen und alle Dateien dort hinzukopieren.
  3. Kommandozeileninterpreter (MS-DOS-Eingabeaufforderung) starten:
    Auf "Start"  und dann "Ausführen..." klicken, "cmd" eintippen und mit Eingabe bestätigen
    Command
  4. Mit "cd\" (change directory) in die oberste Verzeichnisebene wechseln:
    cd
  5. Ins Flosc-Verzeichnis wechseln:
    cd programme\flosc
  6. 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:
    start java gateway
    Möglicherweise erscheint ein Sicherheitshinweis der Firewall. Der Zugriff muss natürlich zugelassen werden:
    FIrewall
    Falls alles geklappt hat erscheinen nun die Meldungen "OscServer created" und "TcpServer created".
    java gateway started
  7. Um das Ganze zukünftig zu vereinfachen kann man eine Stapelverabeitungsdatei (auch Batchdatei genannt) erstellen. Dazu öffnet ihr einen Editor (z.B in Notepad: Start -> Ausführen... -> notepad) und tippt folgenden Text ein:
    cd C:\Programme\Flosc
    java Gateway 1250 3000
    Falls ihr Flosc in ein anderes Verzeichnis kopiert habt, müsst ihr den Pfad natürlich dementsprechend anpassen. Die Datei speichert ihr als "Start Flosc Server.bat". Nun lässt sich der Server mit einem Doppelklick starten.
  8. 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.
  9. 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.
  10. 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
  11. 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
  12. 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

Offizielle OSC Homepage
http://opensoundcontrol.org/
Beachtet auch die folgenden ähnlichen Tutorials im IG-Wiki:
Kommunikation zwischen Processing und vvvv
Kommunikation zwischen vvvv und Flash