Registration Procedure - mononok/FlightSims GitHub Wiki
- Javascriptプラグイン
- connectElgatoStreamDeckSocket()関数が呼び出されます。
- C++ 又は Objective-Cプラグイン
- main()関数が呼び出されます。
下記の関数が定義されていなければならない。
function connectElgatoStreamDeckSocket(inPort, inPluginUUID, inRegisterEvent, inInfo)
この関数はプラグインがロードされた時に呼び出され、下記の処理を行う。
- ポート番号と共にWebSocketを作る。
websocket = new WebSocket("ws://localhost:" + inPort);
- WebSocketがOpenすると、プラグインを登録するためのスペシャルデータを必要とする。
websocket.onopen = function() { // WebSocket is connected, register the plugin var json = { "event": inRegisterEvent, "uuid": inPluginUUID }; websocket.send(JSON.stringify(json)); };
- この2つの処理を実行した後、プラグインはfunctionからイベントを受け取る。
websocket.onmessage = function (evt)
inInfo パラメータについては、Info Parameter章に記述されている。
コンパイル型プラグイン(C++, Objective-C)の場合は、コマンドラインツールが下記のパラメータと共に実行される。
Parameter | 説明 |
---|---|
-port | “-port” という文字列 |
port | WebSocketを作成するときに使うポート番号。 |
-pluginUUID | “-pluginUUID” という文字列 |
UUID | 固有の識別子、WebSocketをOpenしたあとのプラグイン登録に必須 |
-registerEvent | “-registerEvent” という文字列 |
event | イベントタイプ、WebSocketをOpenしたあとのプラグイン登録に必須 |
-info | “-info” という文字列 |
info | Stringified json、StreamDeckアプリケーション情報とデバイス情報を含んでいる。 |
info は Info parameterにて記述されている。
PropertyInspectorは、下記のJavascript関数定義を必要とする。
function connectElgatoStreamDeckSocket(inPort, inPropertyInspectorUUID, inRegisterEvent, inInfo, inActionInfo)
Members | 説明 |
---|---|
inPort | WebSocketを作成するときに使うポート番号 |
inPropertyInspectorUUID | PropertyInspectorをStreamDeckアプリケーションに登録するための固有の識別文字 |
inRegisterEvent | イベントタイプ、WebSocketをOpenしたあとのプラグイン登録に必須 registerPropertyInspector |
inInfo | アプリケーション情報についてのjsonオブジェクト。Info parameterを参照。 |
inActionInfo | Actionについてのjsonオブジェクト。InActionInfo parameterを参照。 |
この関数はPropertyInspectorが表示された時に呼び出され、次の処理を行う。
- ポート番号と共にWebSocketを作る。
websocket = new WebSocket("ws://localhost:" + inPort);
- WebSocketがOpenすると、PropertyInspectorを登録するためのスペシャルデータを必要とする。
websocket.onopen = function() { // WebSocket is connected, register the Property Inspector var json = { "event": inRegisterEvent, "uuid": inPropertyInspectorUUID }; websocket.send(JSON.stringify(json)); };
- この2つの処理を実行した後、PropertyInspectorはfunctionからイベントを受け取る。
websocket.onmessage = function (evt)
inInfo パラメータは Info parameter章で記述されている。