Bem -vindo ao SDK do Deck Stream - projetado para facilitar a criação de plugins para o deck de stream, o SDK do Deck Stream fornece tudo o que você precisa para conectar e se comunicar com o aplicativo Deck Stream, permitindo que você se concentre nas coisas divertidas.
Criar plugins de deck de fluxo com node.js requer node.js v20. Ao instalar o Node.js, recomendamos o uso de um gerenciador de versão como NVM (MacOS) ou NVM-Windows (Windows).
O Deck CLI do fluxo fornece comandos para criar, testar e agrupar seus plug -ins, e é a maneira mais fácil de começar a construir para o deck do riacho. Você também pode aprender mais sobre como começar em nossa documentação.
npm install -g @elgato/cli@latest
create
para inicializar o assistente de criação. streamdeck create
Depois de criar um plug -in com streamdeck create
você receberá um ambiente local para criar um plug -in.
/
├── *.sdPlugin/
│ ├── bin/
│ ├── imgs/
│ ├── logs/
│ ├── ui/
│ │ └── increment-counter.html
│ └── manifest.json
├── src/
│ ├── actions/
│ │ └── increment-counter.ts
│ └── plugin.ts
├── package.json
├── rollup.config.mjs
└── tsconfig.json
O package.json
fornece dois scripts para a construção do plug -in.
npm run build
- constrói o plug -in.npm run watch
- assiste continuamente a alterações e os relowes a quente o plug -in após a construção. As ações são a estrela do programa e permitem que os usuários interajam com o seu plug -in. As ações são representadas como classes que herdam da SingletonAction
, permitindo que seu plug -in receba eventos do Deck Stream, por exemplo, chave para baixo, giro de discagem, etc.
A seguir, é apresentado um exemplo de ação que ouve o evento keyDown
e, em seguida, define o título da ação de origem.
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" ) ;
}
}
Os plug -ins podem ser depurados usando qualquer depurador Node.js, por exemplo, código do Visual Studio, Chrome etc., e por padrão terá depuração ativada quando criada com o comando CLI streamdeck create
CLI STREAM.
Você pode configurar a depuração na configuração Node.js do manifesto.
{
// ...
"Nodejs" : {
"Version" : "20" ,
"Debug" : "enabled"
} ,
}
Existem quatro opções disponíveis ao configurar a propriedade Debug
no manifesto:
"enabled"
-o plug -in será executado com --inspect
permitindo que os depuradores se conectem."break"
-o plug -in será lançado com --inspect-brk
e aguardará um apego ao depurador antes de executar.string
- Uma coleção de argumentos da CLI fornecidos ao plug -in.undefined
- a depuração está desativada.Ao executar o plug -in no modo de depuração
"enabled"
ou"break"
, uma porta disponível aleatória será alocada ao ouvinte de depuração cada vez que o plug -in inicia. Se você deseja ouvir em uma porta específica, o valorDebug
pode ser definido como uma sequência de argumentos da CLI, por exemplo, para ouvir na porta12345
, o valorDebug
seria--inspect=127.0.0.1:12345
.