Добро пожаловать в The Stream Deck SDK - предназначенная для того, чтобы сделать создание плагинов для проще потоковой палубы, SDK SDK предоставляет все необходимое для подключения и общения с приложением Stream Deck, что позволяет вам сосредоточиться на забавных вещах.
Создание плагинов палубы потока с помощью node.js требует node.js v20. При установке node.js мы рекомендовали использовать диспетчер версий, такой как NVM (macOS) или NVM-Windows (Windows).
CLI CLI Stream Deck предоставляет команды для создания, тестирования и объединения ваших плагинов, и это самый простой способ начать строительство для Deck Deck. Вы также можете узнать больше о начале работы в нашей документации.
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
предоставляет два сценария для создания плагина.
npm run build
- создает плагин.npm run watch
- непрерывно наблюдает за изменениями, а горячая загружает плагин после сборки. Действия являются звездой шоу и позволяют пользователям взаимодействовать с вашим плагином. Действия представлены как классы, которые наследуют от SingletonAction
, что позволяет вашему плагину принимать события от потоковой колоды, например, Key Down, Dial Rotate и т. Д.
Ниже приведен пример действия, которое прослушивает событие 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, например, Visual Studio Code, Chrome и т. Д., И по умолчанию будет включена отладка при создании с помощью команды Cli streamdeck create
Stream Deck.
Вы можете настроить отладку в конфигурации Manifest Node.js.
{
// ...
"Nodejs" : {
"Version" : "20" ,
"Debug" : "enabled"
} ,
}
При настройке свойства Debug
есть четыре доступных варианта:
"enabled"
-плагин будет работать с --inspect
позволяя подключать отладчиков."break"
-плагин запустится с --inspect-brk
и ожидает прикрепления отладчика перед запуском.string
- коллекция аргументов CLI, поставляемых в плагин.undefined
- отладка отключена.При запуске плагина в режиме отладки
"enabled"
или"break"
, случайный доступный порт будет выделяться для слушателя отладки каждый раз, когда плагин запускается. Если вы хотите прослушать конкретный порт, значениеDebug
может быть установлено на строку аргументов CLI, например, для прослушивания на порту12345
, значениеDebug
было бы--inspect=127.0.0.1:12345
.