Open Sound Control (OSC)の受信と送信を行うためのハンドルです。 PlayerScript.oscHandleで取得することができます。

OSC送受信機能については、ドキュメントのOSCの説明もあわせて参照してください。

Hierarchy

  • OscHandle

Methods

  • ユーザーがOSC入力を有効化しているかどうかを取得します。

    「設定」の「その他」タブの「OSC受信の有効化」から設定できます。

    Returns boolean

  • ユーザーがOSC出力を有効化しているかどうかを取得します。

    「設定」の「その他」タブの「OSC送信の有効化」から設定できます。

    Returns boolean

  • OSCメッセージを受信した際に呼び出されるコールバックを登録します。 callbackには直前のフレームから現在のフレームまでの間で受信したOscMessageの配列が渡されます。 複数回呼ばれた場合、最後の登録のみが有効です。

    ただし、以下のいずれかの条件を満たす場合、コールバックは呼び出されません。

    • isReceiveEnabledfalse の場合
    • ファイアウォールなどのネットワーク設定によってOSCメッセージを受信できない場合
    • 受信したOSCメッセージのアドレスが /cluster/ から始まる場合(システムで予約済み)

    Example

    // 受信したOSCメッセージをログに出力する
    _.oscHandle.onReceive(messages => {
    const lines = [];

    messages.forEach((message, i) => {
    const { address, timestamp, values } = message;

    lines.push(`== message [${i + 1}/${messages.length}]`);
    lines.push(`address: ${address}`);
    lines.push(`timestamp: ${new Date(timestamp).toLocaleString()}`);

    values.forEach((value, j) => {
    lines.push(`= value [${j + 1}/${values.length}]`);

    lines.push(`getInt(): ${value.getInt()}`);
    lines.push(`getFloat(): ${value.getFloat()}`);
    lines.push(`getAsciiString(): ${value.getAsciiString()}`);
    lines.push(`getBlobAsUint8Array(): ${value.getBlobAsUint8Array()}`);
    lines.push(`getBlobAsUtf8String(): ${value.getBlobAsUtf8String()}`);
    lines.push(`getBool(): ${value.getBool()}`);
    });
    });

    _.log(lines.join("\n"));
    });

    Parameters

    • callback: ((messages: OscMessage[]) => void)

      messages: 受信したOSCメッセージの配列です。

    Returns void

  • OSCバンドルまたはOSCメッセージの送信を試みます。

    以下のいずれかの条件を満たす場合、 ClusterScriptError が発生しバンドルまたはメッセージの送信は失敗します。

    • isSendEnabledfalse の場合
    • 送信するOSCメッセージのアドレスが / から始まらない場合
    • 送信するOSCメッセージのアドレスが /cluster/ から始まる場合(システムで予約済み)
    • 送信するOSCメッセージが不正なメッセージや OscValue を含む場合

    OSCの仕組み上、送信したデータが送信先サーバーに到達することは保証されません。

    Example

    // 様々なOSCバンドルやOSCメッセージを送信する
    _.oscHandle.send(new OscBundle([new OscMessage("/int", [OscValue.int(1)])]));
    _.oscHandle.send(new OscMessage("/float", [OscValue.float(2.3)]));
    _.oscHandle.send(new OscMessage("/string", [OscValue.asciiString("456")]));
    _.oscHandle.send(new OscMessage("/blob", [OscValue.blob("789")]));
    _.oscHandle.send(new OscMessage("/bool", [OscValue.bool(false)]));

    Parameters

    Returns void

Generated using TypeDoc