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@latest
create
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
.