mirror of
https://github.com/FeloDeck/Feishin-Plugin.git
synced 2026-11-01 17:33:29 +01:00
74 lines
2.2 KiB
Markdown
74 lines
2.2 KiB
Markdown
|
|
# Stream Deck Plugin Template
|
|
|
|
The `Stream Deck Plugin Template` is a template to let you get started quickly when writing a JavaScript plugin for [Stream Deck](https://docs.elgato.com/sdk/). `Stream Deck Plugin Template` requires Stream Deck 6.0 or later.
|
|
|
|
## Description
|
|
|
|
`Stream Deck Plugin Template` is a complete plugin that shows you how to
|
|
|
|
- load and save settings using Stream Deck's persistent store
|
|
- setup and communicate with the Property Inspector
|
|
- pass messages directly from Property Inspector to the plugin (and vice versa)
|
|
- localize your Property Inspector's UI to another language
|
|
|
|
## Features
|
|
|
|
- code written in Javascript
|
|
- cross-platform (macOS, Windows)
|
|
- localization support
|
|
- styled [Property Inspector](https://developer.elgato.com/documentation/stream-deck/sdk/property-inspector/) included
|
|
- Property Inspector contains all required boilerplate code to let you instantly work on your plugin's code.
|
|
|
|
## Quick Start Guide
|
|
|
|
A short guide to help you get started quickly.
|
|
|
|
### Clone the repo
|
|
|
|
```git clone https://github.com/elgatosf/streamdeck-plugin-template```
|
|
|
|
### Replace Name
|
|
|
|
Rename the folder as well as any references.
|
|
|
|
`com.elgato.template.sdPlugin` with `my.domain.plugin-name.sdPlugin`
|
|
|
|
> [!IMPORTANT]
|
|
> When sym-linking the plugin, the folder name must end with `.sdPlugin`.
|
|
|
|
### Get the latest library
|
|
|
|
You can either clone the javascript library or add it as a submodule to your repository.
|
|
|
|
#### Clone
|
|
|
|
```git clone https://github.com/elgatosf/streamdeck-javascript-sdk src/my.domain.plugin-name/libs```
|
|
|
|
#### Add Submodule
|
|
|
|
```git submodule add https://github.com/elgatosf/streamdeck-javascript-sdk src/my.domain.plugin-name/libs```
|
|
|
|
### Start Coding
|
|
|
|
You can get started in app.js!
|
|
|
|
```javascript
|
|
const myAction = new Action('com.elgato.template.action');
|
|
|
|
/**
|
|
* The first event fired when Stream Deck starts
|
|
*/
|
|
$SD.onConnected(({ actionInfo, appInfo, connection, messageType, port, uuid }) => {
|
|
console.log('Stream Deck connected!');
|
|
});
|
|
|
|
myAction.onKeyUp(({ action, context, device, event, payload }) => {
|
|
console.log('Your key code goes here!');
|
|
});
|
|
|
|
myAction.onDialRotate(({ action, context, device, event, payload }) => {
|
|
console.log('Your dial code goes here!');
|
|
});
|
|
```
|