メインコンテンツまでスキップ

OSCの受信(OscServer)

サポートしている受信方法

[OscPackable]を使用しているクラス、またはExtremeOsc.IOscPackableを実装しているクラスを引数にとる

[OscCallback("/example")]
public void OnExample(string address, ExampleData data)
{

}

object[]を引数にとる

[OscCallback("/example/objects")]
public void OnExampleObjects(string address, object[] objects)
{

}

⭕ 引数の型の順番が受信したデータと一致している

[OscCallback("/example/arguments")]
public void OnExampleArguments(string address, int value0, float value1, string value2, bool value3)
{

}

⭕ 引数なし

[OscCallback("/example/noargument")]
public void OnExampleNoArgument(string address)
{

}

⭕ 1つの関数につき複数のアドレスを指定する

[OscCallback("/example")]
[OscCallback("/example/another")]
private void OnExample(string address, ExampleData data)
{

}

サポートしていない受信方法

制約

  • アドレス1つにきコールバック関数は1つのみ
  • [OscPackable]クラスは引数に1つまで

❎ アドレスを複数の関数に指定する

[OscCallback("/example")]
private void OnExample(string address)
{

}

// ❎
[OscCallback("/example/another")]
private void OnExampleAnother(string address)
{

}

❎ 複数の[OscPackable]クラスを引数に取る

[OscCallback("/example/")]
private void OnExample(string address, ExampleData data, /* ❎ */ExampleData2 data2)
{

}