Muster-Erkennung

foo

Erkennen von Pfad-Segmenten

Angenommen wir möchten auf ein Ereignis warten, das die folgenden drei Pfad-Segmente enthält:

sync  "/*/*/*"

Hiermit kann man auf jegliches Time State Ereignis syncen, dass aus exakt drei Pfadsegmenten besteht, unabhängig davon, wie genau der Inhalt der Segmente ist. Schauen wir uns das an einem Beispiel an:

cue "/foo/bar/baz" cue "/foo/baz/quux" cue "/eggs/beans/toast" cue "/moog/synths/rule"

Allerdings wird es nicht auf Ereignisse “matchen”, die weniger oder mehr Pfad-Segmente hätten. Die folgenden würden nicht erkannt und damit kein Ereignis triggern:

cue "/foo/bar" foo cue "/eggs"

Jeder * bedeutet irgendein Inhalt. Das heisst, wie können Pfade mit nur einem Segment mit /* oder Pfade aus fünf Segmenten mit /*/*/*/*/* erkennen

Erkennen von Teilsegmenten

foo

cue "/foo/bar/baz" foo foo

Allerdings erkennt es nicht das Folgende:

foo foo foo

foo

Erkennen von verschachtelten Pfadsegmenten

foo

cue "/foo/bar/baz" foo foo foo

Erkennen von einzelnen Buchstaben

Du kann das ? verwenden, um auf ein bestimmtes einzelnes Zeichen zu erkennen. "/?oo/bar/baz" passt auf:

cue "/foo/bar/baz" cue "/goo/bar/baz" cue "/too/bar/baz" cue "/woo/bar/baz"

Erkennen von mehrfachen Wörtern

foo

foo foo foo

Erkennen von mehrfachen Zeichen

foo

foo foo foo

foo

foo foo foo foo foo

Kombinieren von Mustererkennungen

When calling sync or get you are free to combine matchers in any order you see fit to powerfully match any Time State event created by cue or set. Let’s look at a crazy example:

sample :loop_amen

OSC Pattern Matching

For those curious, these matching rules are based on the Open Sound Control pattern matching specification which is explained in detail here: http://opensoundcontrol.org/spec-1_0