C-sharp Stream Deck plugin development
Documentation for the StreamDeck Toolkit
- https://fritzandfriends.github.io/StreamDeckToolkit/articles/intro.html
- Stream Deck Toolkit - https://github.com/FritzAndFriends/StreamDeckToolkit
Video guide
Credits to the .NET foundation for the following demo.
The Elgato Stream Deck has transformed live streaming, production, and general productivity. It is a nifty little box with customizable buttons that can do just about anything. Best of all, you can build custom plugins and extensions. Join James Montemagno as he walk through what the Elgato Stream Deck is, what it can do, and how you can build your first Plugin completely in C# and .NET!
StreamDeckToolkit is a Visual Studio template to help create plugins for the Elgato Stream Deck, using the Stream Deck SDK with Dotnet Core.
- Actual webinar starts at 16:36 with an explanation on what a Stream Deck is and how it works.
- Development talk starts around 32:14 with the Plugin UI as focus.
- UI elements (properties) are shown from 34:12
- Stream Deck architecture is explained from 36:11
- "Inside a Plugin" starts at 38:14
- "Events" starts at 40:14
- There is an "Emulator" that emulate keypresses and it is explained at 41:28
- Get Started with StreamDeckToolkit starts at 42:01
- "Create Project" --> 43:07
- Content "In the project" starts at 44:01 - Assets, Models, UI Css/HTML, Manifest & Action Code
- Let's do it - practical demo of a simple counter starts at 45:27
- The five important files are explained from 47:01 and forward
- The manifest.json file - 47:02
- The property.inspector.html file - 49:00
- The property-inspector.js file - 50.02
- The CounterSettingsModel.cs file - 51:09
- The MyPluginActions.cs file - 51:31
- First Build and Run of the demo Counter Plugin - 53:13
- Build events runs a PowerShell script that takes care of everything - 53:50
- Putting the plugin to use on the Stream Deck - 54:24
- Tapping the buton makes a bunch of things happen - 56:41
- Going beond the counter actions example starts at 57:53
- Making sure the events are beeing passed back and forth - 1:02:33
- Build the plugin again - 1:03:58
- Using the text file in OBS - 1:04:56
- So! - there you have it - Litterally just wrote a dot.net C# plugin for Stream Deck - 1:07:21
Resources
- Stream Deck - https://elgato.com/en/gaming/stream-deck
- Stream Deck SDK - https://developer.elgato.com/documentation/stream-deck/sdk/overview/
- Stream Deck Emulator - https://github.com/FritzAndFriends/StreamDeckEmulator
- James Stream Timer - https://github.com/jamesmontemagno/MyStreamTimer
- James code for the video - https://github.com/jamesmontemagno/streamdeck-treecount