Skip to content

Sample code illustrating the Stream Deck SDK.

License

Notifications You must be signed in to change notification settings

elgatosf/streamdeck-plugin-samples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stream Deck SDK banner

Stream Deck SDK Plugin Samples

SDK documentation Elgato homepage Join the Marketplace Makers Discord

In this repository, you can find a number of complete plugins for the Stream Deck app, each of which use the official Stream Deck SDK. Within each sample, you can expect to find:

  • A readme, explaining which parts of the SDK the plugin is focused on.
  • An image/gif of the plugin in-app, possibly with a demonstration of its use.
  • A prepared .streamDeckPlugin file which can be installed without building the sample.
  • TypeScript project files that can be used to modify and build the sample as you see fit.

Prerequisites

To build any of these plugins, you will need to ensure you have Node.js (version 20+) and npm installed on your system. To run them, all provided samples require Stream Deck 6.5 or higher, unless otherwise specified in the readme for a sample.

Installing the Stream Deck CLI tool is strongly recommended. Once you have Node.js and npm installed, install it with:

npm install -g @elgato/cli

Building and Running

All of the samples have pre-built binaries which can be installed into Stream Deck immediately. Just open the included .streamDeckPlugin file.

If you would like to build a sample yourself, you can do so with the following steps

# Install dependencies
npm i
# Install the sample in Stream Deck (*.sdPlugin should be
# replaced with the name of the folder ending in .sdPlugin)
streamdeck link *.sdPlugin
# Build the sample and watch for changes
npm run watch

For more information on building plugins, please consult our documentation

Samples

All samples are provided under the permissive MIT license

Sample Focus
Cat Keys setImage, onDidReceiveSettings, payload settings, visible actions
Layouts setFeedback, setFeedbackLayout, encoders, layouts
Hello World i18n / internationalization, onDidReceiveSettings
Lights Out coordinates, profiles, visible actions