# Receiving OSC

Zeitzustand (Time State)

## A Basic OSC Listener

Lass uns einen einfachen OSC listener (Code der auf OSC Nachrichten hört) bauen:

    live_loop :foo do
      use_real_time
      a, b, c = sync "/osc*/trigger/prophet"
      synth :prophet, note: a, cutoff: b, sustain: c
    end

In diesem Beispiel haben wir als OSC Pfad, auf dem wir auf Nachrichten lauschen, `"/osc*/trigger/prophet"` festgelegt. Dafür können wir jeden beliebigen validen OSC Pfad verwenden (alle Buchstaben und Zahlen sind erlaubt, das `/`wird wie in einer URL verwendet um Wörter zu trennen). Das Präfix `/osc` wird von Sonic Pi allen eingehenden OSC Nachrichten angefügt, also müssen wir eine OSC Nachricht mit dem Pfad `/trigger/prophet` senden, sodass der `sync` Befehl beendet und der prophet Synth gespielt wird.

## OSC Nachrichten an Sonic Pi senden

Wir können OSC Nachrichten von jeder beliebigen Programmiersprache an Sonic Pi senden, die Unterstützung (eine Bibliothek) für OSC bietet. Wenn wir zum Beispiel eine OSC Nachricht aus Python schicken wollen, machen wir vielleicht so etwas:

    from pythonosc import osc_message_builder
    from pythonosc import udp_client
    sender = udp_client.SimpleUDPClient('127.0.0.1', 4560)
    sender.send_message('/trigger/prophet', [70, 100, 8])

Oder wenn wir eine OSC Nachricht aus Clojure senden, sieht das vielleicht so aus:

    (use 'overtone.core)
    (def c (osc-client "127.0.0.1" 4560))
    (osc-send c "/trigger/prophet" 70 100 8)

## Von anderen Computern empfangen

Aus Sicherheitsgründen empfängt Sonic Pi standardmäßig keine OSC Nachrichten von anderen Computern. Trotzdem kann man das unter Einstellungen->IO->Netzwerk->Empfange OSC von entfernten Computern aktivieren. Sobald du dieses Feature aktiviert hast, kannst du OSC Nachrichten von beliebigen Computern in deinem Netzwerk empfangen. Dafür muss der Sender deine IP-Adresse (ein eindeutiger Bezeichner für deinen Computer in deinem Netzwerk - wie eine Telefonnummer oder E-Mail-Adresse) kennen. Du kannst diese herausfinden, indem Du in den Einstellungen den IO-Reiter aufrufst. (Falls dein Computer mehrere IP-Adressen haben sollte, kannst du alle sehen, wenn du den Mauszeiger über der angezeigten ruhen lässt).

Manche Programme, wie TouchOSC für iPhone und Android, unterstützen das Senden von OSC Nachrichten von Haus aus. Also kannst du direkt, wenn du auf OSC Nachrichten von entfernten Computer hörst und deine IP-Adresse kennst, damit beginnen von Apps wie TouchOSC OSC Nachrichten zu senden und deine eigenen Steuerungen mit Slidern, Knöpfen, Drehknöpfen usw. zu bauen. Dies bietet Dir eine enorme Bandbreite an Eingabemöglichkeiten.