Selamat datang di Deck Stream SDK - Dirancang untuk membuat plugin pembuatan untuk Deck Stream mudah, Deck Stream SDK menyediakan semua yang Anda butuhkan untuk terhubung dan berkomunikasi dengan aplikasi Deck Stream, memungkinkan Anda fokus pada hal -hal yang menyenangkan.
Membuat plugin Deck Stream dengan Node.js membutuhkan Node.js V20. Saat menginstal Node.js, kami merekomendasikan menggunakan manajer versi seperti NVM (MacOS) atau NVM-Windows (Windows).
Stream Deck CLI menyediakan perintah untuk membuat, menguji, dan menggabungkan plugin Anda, dan merupakan cara termudah untuk memulai membangun untuk Dek Stream. Anda juga dapat mempelajari lebih lanjut tentang memulai dokumentasi kami.
npm install -g @elgato/cli@latest
create
untuk menginisialisasi wizard pembuatan. streamdeck create
Setelah membuat plugin dengan streamdeck create
Anda akan disediakan dengan lingkungan lokal untuk membangun plugin.
/
├── *.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
menyediakan dua skrip untuk membangun plugin.
npm run build
- Membangun plugin.npm run watch
- terus -menerus mengawasi perubahan, dan hot -reload plugin setelah dibangun. Tindakan adalah bintang pertunjukan dan memungkinkan pengguna untuk berinteraksi dengan plugin Anda. Tindakan direpresentasikan sebagai kelas yang mewarisi dari SingletonAction
, memungkinkan plugin Anda untuk menerima acara dari stream deck, misalnya kunci ke bawah, putar putar, dll.
Berikut ini adalah contoh tindakan yang mendengarkan acara keyDown
, dan kemudian menetapkan judul tindakan sumber.
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" ) ;
}
}
Plugin dapat didebug menggunakan debugger node.js apa pun, misalnya kode studio visual, chrome, dll., Dan secara default akan diaktifkan debug saat dibuat dengan perintah stream deck cli streamdeck create
perintah.
Anda dapat mengonfigurasi debugging dalam konfigurasi Node.js manifes.
{
// ...
"Nodejs" : {
"Version" : "20" ,
"Debug" : "enabled"
} ,
}
Ada empat opsi yang tersedia saat mengkonfigurasi properti Debug
dalam manifes:
"enabled"
-Plugin akan berjalan dengan --inspect
memungkinkan debugger untuk terhubung."break"
-Plugin akan diluncurkan dengan --inspect-brk
dan akan menunggu debugger yang melekat sebelum berjalan.string
- Kumpulan argumen CLI yang disediakan ke plugin.undefined
- Debugging dinonaktifkan.Saat menjalankan plugin dalam mode debug
"enabled"
atau"break"
, port acak yang tersedia akan dialokasikan untuk pendengar debug setiap kali plugin diluncurkan. Jika Anda ingin mendengarkan di port tertentu, nilaiDebug
dapat diatur ke serangkaian argumen CLI, misalnya untuk mendengarkan di port12345
, nilaiDebug
akan--inspect=127.0.0.1:12345
.