Willkommen im Stream Deck SDK - das das Erstellen von Plugins für Stream Decks erleichtert, bietet das Stream Deck SDK alles, was Sie benötigen, um mit der Stream -Deck -App eine Verbindung herzustellen und zu kommunizieren, damit Sie sich auf die lustigen Dinge konzentrieren können.
Erstellen von Stream -Deck -Plugins mit node.js erfordert node.js v20. Bei der Installation von node.js haben wir die Verwendung eines Versionsmanagers wie NVM (MACOS) oder NVM-Windows (Windows) empfohlen.
Die Stream Deck CLI bietet Befehle zum Erstellen, Testen und Bündeln Ihrer Plugins und ist der einfachste Weg, um mit dem Aufbau von Stream -Deck zu beginnen. Sie können auch mehr über den Einstieg in unsere Dokumentation erfahren.
npm install -g @elgato/cli@latestcreate aus, um den Erstellungsassistenten zu initialisieren. streamdeck create
Nachdem Sie ein Plugin mit streamdeck create erstellt haben, erhalten Sie eine lokale Umgebung zum Erstellen eines Plugins.
/
├── *.sdPlugin/
│ ├── bin/
│ ├── imgs/
│ ├── logs/
│ ├── ui/
│ │ └── increment-counter.html
│ └── manifest.json
├── src/
│ ├── actions/
│ │ └── increment-counter.ts
│ └── plugin.ts
├── package.json
├── rollup.config.mjs
└── tsconfig.json
Das package.json bietet zwei Skripte zum Erstellen des Plugins.
npm run build - Build das Plugin.npm run watch - kontinuierlich nach Änderungen und das Plugin nach dem Build lädt sie. Aktionen sind der Star der Show und ermöglichen es den Benutzern, mit Ihrem Plugin zu interagieren. Aktionen werden als Klassen dargestellt, die von SingletonAction erben und es Ihrem Plugin ermöglichen, Ereignisse von Stream Deck zu empfangen, z. B. Taste Down, Dial Drehen usw.
Das Folgende ist ein Beispiel für eine Aktion, die für das keyDown hört und dann den Titel der Quellaktion festlegt.
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" ) ;
}
} Plugins können mit einem beliebigen Node.js -Debugger, z. B. Visual Studio Code, Chrome usw., debuggen und standardmäßig das Debugging aktiviert, wenn er mit dem Befehl Stream Deck CLI streamdeck create erstellt wurde.
Sie können Debugging in der Node.js -Konfiguration des Manifest konfigurieren.
{
// ...
"Nodejs" : {
"Version" : "20" ,
"Debug" : "enabled"
} ,
} Bei der Konfiguration der Debug -Eigenschaft im Manifest stehen vier Optionen verfügbar:
"enabled" -das Plugin wird mit --inspect , damit Debugger eine Verbindung herstellen können."break" -Das Plugin startet mit --inspect-brk und erwartet einen Bindungsdebugger vor dem Laufen.string - Eine Sammlung von CLI -Argumenten, die dem Plugin geliefert werden.undefined - Debugging ist deaktiviert.Beim Ausführen des Plugins im Debug -Modus
"enabled"oder"break"wird dem Debug -Hörer bei jedem Start des Plugin ein zufälliger verfügbarer Port zugewiesen. Wenn Sie einen bestimmten Port zuhören möchten, kann derDebug-Wert auf eine Zeichenfolge von CLI -Argumenten festgelegt werden, beispielsweise zum Anhören von Port12345, derDebug-Wert wäre--inspect=127.0.0.1:12345.