Player
OSCメッセージを受信した際に呼び出されるコールバックを登録します。
callback
には直前のフレームから現在のフレームまでの間で受信したOscMessageの配列が渡されます。
複数回呼ばれた場合、最後の登録のみが有効です。
ただし、以下のいずれかの条件を満たす場合、コールバックは呼び出されません。
false
の場合/cluster/
から始まる場合(システムで予約済み)// 受信した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"));
});
messages: 受信したOSCメッセージの配列です。
OSCバンドルまたはOSCメッセージの送信を試みます。
以下のいずれかの条件を満たす場合、 ClusterScriptError が発生しバンドルまたはメッセージの送信は失敗します。
false
の場合/
から始まらない場合/cluster/
から始まる場合(システムで予約済み)OSCの仕組み上、送信したデータが送信先サーバーに到達することは保証されません。
// 様々な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)]));
送信するバンドルまたはメッセージ
Generated using TypeDoc
Open Sound Control (OSC)の受信と送信を行うためのハンドルです。 PlayerScript.oscHandleで取得することができます。
OSC送受信機能については、ドキュメントのOSCの説明もあわせて参照してください。