Stream Deck SDKへようこそ - ストリームデッキ用のプラグインを簡単に作成できるように設計されています。StreamDeck SDKは、ストリームデッキアプリと接続および通信するために必要なすべてを提供し、楽しいものに集中できます。
node.jsを使用してストリームデッキプラグインを作成するには、node.js v20が必要です。 Node.jsをインストールするときは、NVM(MacOS)やNVM-Windows(Windows)などのバージョンマネージャーを使用することをお勧めします。
Stream Deck CLIは、プラグインを作成、テスト、バンドのコマンドを提供し、ストリームデッキ用の構築を開始する最も簡単な方法です。また、ドキュメントの開始について詳しく知ることもできます。
npm install -g @elgato/cli@latest
create
コマンドを実行して、作成ウィザードを初期化します。 streamdeck create
streamdeck create
を使用してプラグインを作成した後、プラグインを構築するためのローカル環境が提供されます。
/
├── *.sdPlugin/
│ ├── bin/
│ ├── imgs/
│ ├── logs/
│ ├── ui/
│ │ └── increment-counter.html
│ └── manifest.json
├── src/
│ ├── actions/
│ │ └── increment-counter.ts
│ └── plugin.ts
├── package.json
├── rollup.config.mjs
└── tsconfig.json
package.json
、プラグインを構築するための2つのスクリプトを提供します。
npm run build
- プラグインをビルドします。npm run watch
変更を継続的に監視し、ビルド後にプラグインをホットレロードします。 アクションはショーのスターであり、ユーザーがプラグインと対話できるようにします。アクションは、 SingletonAction
から継承するクラスとして表され、プラグインがStream Deckからイベントを受信できるようにします。たとえば、キーダウン、ダイヤル回転など。
以下は、 keyDown
イベントを聴いてからソースアクションのタイトルを設定するアクションの例です。
import { action , KeyDownEvent , SingletonAction } from "@elgato/streamdeck" ;
@ action ( { UUID : "com.elgato.hello-world.say-hello" } )
export class SayHelloAction extends SingletonAction {
/**
* Listen for the key down event that occurs when a user presses
* a Stream Deck button, and change the title of the action.
*/
async onKeyDown ( ev : KeyDownEvent ) {
await ev . action . setTitle ( "Hello world" ) ;
}
}
プラグインは、node.jsデバッガー、たとえばビジュアルスタジオコード、クロムなどを使用してデバッグできます。デフォルトでは、ストリームデッキCLI streamdeck create
コマンドで作成するとデバッグが有効になります。
マニフェストのnode.js構成内でデバッグを構成できます。
{
// ...
"Nodejs" : {
"Version" : "20" ,
"Debug" : "enabled"
} ,
}
マニフェスト内でDebug
プロパティを構成するときに、4つの利用可能なオプションがあります。
"enabled"
- プラグインが実行されます--inspect
デバッガーが接続できるようにします。"break"
- プラグインは--inspect-brk
で起動し、実行する前にデバッガーが添付されるのを待ちます。string
- プラグインに提供されたCLI引数のコレクション。undefined
- デバッグは無効になっています。プラグインを
"enabled"
または"break"
のいずれかでプラグインを実行すると、プラグインが起動するたびにランダムに利用可能なポートがデバッグリスナーに割り当てられます。特定のポートで聞きたい場合は、Debug
値をCLI引数の文字列に設定できます。たとえば、ポート12345
で聞くために、Debug
値は--inspect=127.0.0.1:12345
になります。