OpenSound Control 仕様 例

バージョン 1.0, 2002年3月29日, Matt Wright

このドキュメントでは、OpenSound
Control 仕様
をサポートする例を提供する。

 

OSC文字列の例

文字列 "OSC" は、以下の4バイトによるOSC文字列として表される:

O S C \0

文字列 "data" は、以下の8バイトによるOSC文字列として表される:

d a t a \0 \0 \0 \0

OSC型タグ文字列の例

OSC型タグ文字列の例
引数型 OSC型タグ文字列
1つの float32 引数 ",f"
2つのint32引数と、それに続く1つのOSC文字列引数と、それに続く3つのfloat32引数 ",iisfff"
引数なし ","
1つのint32引数と、それに続く2つのOSC blob引数 ",ibb"

OSCアドレスの例

あるOSCアドレス空間に、"frequency"というOSCメソッドが含まれているとする。このメソッドは "3" という名前のOSCコンテナに含まれていて、それも "resonators" という名前の別のOSCコンテナに含まれていて、それがさらにこのアドレス空間のツリー ルートとなるOSCコンテナに含まれているとする。このメソッドのOSCアドレスは "/resonators/3/frequency" となる。

OSCアドレス "/a/b/c/d/e" は次の意味になる:

OSCアドレスパートの例

OSC Address "/a/b/cde"には3つのパートがある: "a",
"b", そして "cde" である。最後のパートはOSCメソッドの名前であり、他のパートはそのメソッドを(再帰的に)含むOSCコンテナの名前であることに注意。

OSCアドレスパターン"/?/b/*c" には3つのパートがある: "?",
"b", そして "*c" である。

OSCメッセージの例

これらの例ではそれぞれ、メッセージの各バイトはまず16進数で、次に対応するASCII文字を括弧付きで示してある。

OSCアドレスパターン "/oscillator/4/frequency" と浮動小数点444.0 を1つの引数としてもつOSCメッセージは次のような32バイトのメッセージになる:

 2f (/)  6f (o)  73 (s)  63 (c)
69 (i) 6c (l) 6c (l) 61 (a)
74 (t) 6f (o) 72 (r) 2f (/)
34 (4) 2f (/) 66 (f) 72 (r)
65 (e) 71 (q) 75 (u) 65 (e)
6e (n) 63 (c) 79 (y) 0 ()
2c (,) 66 (f) 0 () 0 ()
43 (C) dc (Ü) 0 () 0 ()

次の例では、40バイトになる、OSCアドレスパターン "/foo"と5つの引数からなるOSCメッセージを示す:

  1. int32 1000
  2. int32 -1
  3. 文字列 "hello"
  4. float32 1.234
  5. float32 5.678
 2f (/)  66 (f)  6f (o)  6f (o)
0 () 0 () 0 () 0 ()
2c (,) 69 (i) 69 (i) 73 (s)
66 (f) 66 (f) 0 () 0 ()
0 () 0 () 3 () e8 (è)
ff (ÿ) ff (ÿ) ff (ÿ) ff (ÿ)
68 (h) 65 (e) 6c (l) 6c (l)
6f (o) 0 () 0 () 0 ()
3f (?) 9d () f3 (ó) b6 (¶)
40 (@) b5 (µ) b2 (”) 2d (-)

OSCバンドル中のOSCメッセージにマッチしたOSCメソッドの呼び出し順

OSCサーバのOSCアドレス空間に、以下のOSCアドレスに該当するメソッドが含まれているとする:

受信したOSCバンドルが、3つのOSCメッセージを含んでいて、それらのOSCメッセージが以下のOSCアドレスパターンを含んでいたとする:

  1. /first/this/one
  2. /second/[1-2]
  3. /third/*

3つのメソッドが以下の順で呼び出される:

(1) まず /first/this/one, これは最初のOSCバンドルに含まれるOSCアドレスパターンに出現するから。

(2-3) そして /second/1 とそれに続く/second/2 、または /second/2 とそれに続く /second/1

(3-6) そして /third/a, /third/b, /third/c, が任意の順で

これらの6つのメソッドをこのOSCサーバが呼び出しうる順序は12通りある:

  1. /first/this/one, /second/1, /second/2, /third/a, /third/b, /third/c
  2. /first/this/one, /second/1, /second/2, /third/a, /third/c, /third/b
  3. /first/this/one, /second/1, /second/2, /third/b, /third/a, /third/c
  4. /first/this/one, /second/1, /second/2, /third/b, /third/c, /third/a
  5. /first/this/one, /second/1, /second/2, /third/c, /third/a, /third/b
  6. /first/this/one, /second/1, /second/2, /third/c, /third/b, /third/a
  7. /first/this/one, /second/2, /second/1, /third/a, /third/b, /third/c
  8. /first/this/one, /second/2, /second/1, /third/a, /third/c, /third/b
  9. /first/this/one, /second/2, /second/1, /third/b, /third/a, /third/c
  10. /first/this/one, /second/2, /second/1, /third/b, /third/c, /third/a
  11. /first/this/one, /second/2, /second/1, /third/c, /third/a, /third/b
  12. /first/this/one, /second/2, /second/1, /third/c, /third/b, /third/a