A C# Stream Deck API wrapper developed for ease of use without sacrifice, giving developers complete freedom in their plugin design and the ability to utilize every feature currently available in the Stream Deck API.
To ease development, I recommend grabbing manifest.json from the sample plugin, modifying it, and
placing it in your root project directory. Also, I have included a couple batch scripts to ease development. Refer to the comments in the scripts
themselves for descriptions on what they do and how they work.
- SamplePlugin/resources/sdInstallDev.bat
- SamplePlugin/resources/sdInstallProd.bat
In order to use this wrapper in your plugin, follow these simple steps.
Note: If you encounter any confusion, refer to the SamplePlugin in this repo.
- Clone this repo and modify the SamplePlugin, more details for that will be included in the SamplePlugin README
- Create a new C# project of type Console App.
- Configuration
- Right click the project, select properties, change output type to Windows Application
- Don't forget a manifest.json, this can be taken from the SamplePlugin and modified for convenience
- Install StreamDeckCS from Nuget package manager
- At the top of Program.cs, type
using System.Threading.Tasks;
andUsing StreamDeckCS;
- Modify the Main method to
static async Task Main(string[] args)
- In the method type
StreamdeckCore core = new StreamdeckCore(args); await core.Start();
- That's it! Obviously, there is no functionality here. So we can subscribe to any events with
StreamdeckCore core = new StreamdeckCore(args); core.KeyDownEvent += Core_KeyDownEvent; await core.Start();
- Now, we can add functionality whenever a KeyDown event is raised, i.e when a button is pressed.
- All events and features supported by the Stream Deck API are available in this wrapper.
- Refer to the SamplePlugin as well as my full fledged plugin WinMixerDeck.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Max Branvall - maxbranvalldevelopment@gmail.com
Project Link: https://github.com/maxbranvall/streamdeckcs