バーチャルキャスト公式Wiki
メニュー
Steam版
デバイス
アセット
配信
その他
リリース情報
- wiki編集者用ページ
-
このページは過去の情報となります。
新しいスクリプトリファレンスはこちらになります。
Open Sound Control プロトコル(OSC)を用いて外部アプリケーションとのメッセージングを行うクラスです。
タイトル画面>詳細設定
の VCI
タブ内から OSC 送信機能、OSC 受信機能 を有効化してください。タイトル画面>詳細設定
の VCI
タブ内の OSCメッセージ受信ポート、OSCメッセージ送信ポート から設定できます。19100
です。18100
です。localhost
内でのみ行えます。localhost
内のみです。vci.osc | |
---|---|
名前 | 説明 |
types | 送受信できるOSC Argumentの型の列挙子を表すクラスを返す |
IsSendEnabled | 呼び出し元のVCIインスタンスのOSC Message送信機能の有効フラグを取得 |
IsReceiveEnabled | 呼び出し元のVCIインスタンスのOSC Message受信機能の有効フラグを取得 |
SendAsciiString | ASCII文字列をOSC Messageとして送信 |
SendInt32 | 32ビット整数をOSC Messageとして送信 |
SendFloat32 | 32ビット浮動小数をOSC Messageとして送信 |
SendUtf8String | UTF-8文字列を表すバイト列をOSC Messageとして送信 |
SendMessage | 引数無しのOSC Messageを送信 |
SendMessage | 複数個かつ任意の組み合わせのOSC Argumentを持つOSC Messageを送信 |
RegisterMethod | 指定のOSC Addressに送られてきたOSC Messageを受信したときに呼びだされる関数を登録する |
UnregisterMethod | 指定のOSC Addressに登録されている関数の登録を解除する |
vci.osc.types ExportOscType
列挙子一覧 | |
---|---|
types.String | ASCII 文字列 |
types.Int32 | 32bit 整数 |
types.Float32 | 32bit 浮動小数 |
types.BlobAsUtf8 | UTF-8 文字列を表すバイト列 |
vci.osc.IsSendEnabled fun(): bool
local isEnabled = vci.osc.IsSendEnabled() print(isEnabled)
vci.osc.IsReceiveEnabled(): bool
local isEnabled = vci.osc.IsReceiveEnabled() print(isEnabled)
vci.osc.SendAsciiString fun(address: string, argument: string)
address | OSC Message の送信先の OSC Address |
---|---|
argument | OSC Argument として送信する string |
argument
をASCII文字列に変換し、address
に OSC Message として送信します。address
が null の場合、または不正なフォーマットの OSC Address であった場合、送信に失敗します。この時、VCI コンソールにエラーメッセージが表示されます。argument
が null の場合、送信に失敗します。この際、VCI コンソールにエラーメッセージが表示されます。vci.osc.SendAsciiString("/test/sendstring", "hello")
vci.osc.SendInt32 fun(address: string, argument: number)
address | OSC Message の送信先の OSC Address |
---|---|
argument | OSC Argument として送信する number |
argument
を 32bit 整数に変換し、address
に OSC Message として送信します。address
が null の場合、または不正なフォーマットの OSC Address であった場合、送信に失敗します。この時、VCI コンソールにエラーメッセージが表示されます。vci.osc.SendInt32("/test/sendint", 100)
vci.osc.SendFloat32 fun(address: string, argument: number)
address | OSC Message の送信先の OSC Address |
---|---|
argument | OSC Argument として送信する number |
argument
を 32bit 浮動小数に変換し、address
に OSC Message として送信します。address
が null の場合、または不正なフォーマットの OSC Address であった場合、送信に失敗します。この時、VCI コンソールにエラーメッセージが表示されます。vci.osc.SendFloat32("/test/sendfloat", 3.14)
vci.osc.SendUtf8String fun(address: string, argument: string)
address | OSC Message の送信先の OSC Address |
---|---|
argument | OSC Argument として送信する string |
argument
を UTF-8 としてエンコードしたバイト列に変換し、address
に OSC Message として送信します。address
が null の場合、または不正なフォーマットの OSC Address であった場合、送信に失敗します。この時、VCI コンソールにエラーメッセージが表示されます。argument
が null の場合、送信に失敗します。この際、VCI コンソールにエラーメッセージが表示されます。vci.osc.SendUtf8String("/test/sendutf8", "こんにちわ")
vci.osc.SendMessage fun(address: string)
address | OSC Message の送信先の OSC Address |
---|
address
に引数無しの OSC Message を送信します。address
が null の場合、または不正なフォーマットの OSC Address であった場合、送信に失敗します。この時、VCI コンソールにエラーメッセージが表示されます。vci.osc.SendMessage("/test/sendmessage")
vci.osc.SendMessage fun(address: string, arguments: Table)
address | OSC Message の送信先の OSC Address |
---|---|
arguments | 送信する OSC Argument の型と値を列挙したテーブル |
arguments
テーブルは、以下のフォーマットで記述します。
-- { -- {(OSC Argumentの型), (OSC Argumentの値)} -- ..., 送信するOSC Argumentの個数分繰り返す -- } -- 例:String, Int32, Float32, BlobAsUtf8をOSC Messageとして送信する arguments = { {vci.osc.types.String, "hello"}, {vci.osc.types.Int32, 10}, {vci.osc.types.Float32, 3.14}, {vci.osc.types.BlobAsUtf8, "こんにちわ"}, }
arguments
テーブルで指定した複数の OSC Argumentを一つの OSC Message としてaddress
に送信します。address
が null の場合、または不正なフォーマットの OSC Address であった場合、送信に失敗します。この時、VCI コンソールにエラーメッセージが表示されます。vci.osc.SendMessage("/test/sendMultiple", { {vci.osc.types.String, "hello"}, {vci.osc.types.Int32, 10}, {vci.osc.types.Float32, 3.14}, {vci.osc.types.BlobAsUtf8, "こんにちわ"} })
vci.osc.RegisterMethod fun(address: string, callback: function, argumentTypes: Table)
address | OSC Message の受信を待ち受ける OSC Address |
---|---|
callback | OSC Message を受信したときに実行されるコールバック |
argumentTypes | 受信する OSC Message に含まれる OSC Argument の型を順番に列挙したテーブル |
argumentTypes
テーブルは、以下のフォーマットで記述します。
-- { -- (OSC Argumentの型), -- ..., 受信する OSC Message の OSC Argument の個数分繰り返す -- } -- 例:String, Int32, Float32, BlobAsUtf8を受信する場合 argumentTypes = { vci.osc.types.String, vci.osc.types.Int32, vci.osc.types.Float32, vci.osc.types.BlobAsUtf8, }
arguments
に OSC Message が送られてきたときに呼びだされる関数を登録します。address
が null の場合、または不正なフォーマットの OSC Address であった場合、登録に失敗します。この時、VCI コンソールにエラーメッセージが表示されます。-- ASCII string を一個受信する function echo(content) print(content) end vci.osc.RegisterMethod("/test/echo", echo, {vci.osc.types.String}) -- float を二個受信する function show_point(x, y) print(x..", "..y) end vci.osc.RegisterMethod("/test/showPoint", show_point, {vci.osc.types.Float32, vci.osc.types.Float32})
vci.osc.UnregisterMethod fun(address: string)
address | 登録解除したい関数が登録されている OSC Address |
---|
address
に登録した関数の登録を解除します。address
が null の場合、または不正なフォーマットの OSC Address であった場合、登録解除に失敗します。この時、VCI コンソールにエラーメッセージが表示されます。-- ASCII string を一個受信する function echo(content) print(content) end vci.osc.RegisterMethod("/test/echo", echo, {vci.osc.types.String}) -- VCI が Use されたとき、関数 echo の "/test/echo" への登録を解除する function onUse(item) vci.osc.UnregisterMethod("/test/echo") end