All Projects → FritzAndFriends → Streamdecktoolkit

FritzAndFriends / Streamdecktoolkit

Licence: mit
A .NET Standard library, template, and tools for building extensions to the Elgato Stream Deck

Projects that are alternatives of or similar to Streamdecktoolkit

Electrate
Quick and Easy Electron + React Boilerplace
Stars: ✭ 80 (-5.88%)
Mutual labels:  template
Vuetemplate
vue模板,集成常用组件
Stars: ✭ 81 (-4.71%)
Mutual labels:  template
Walle.workflowengine
一款轻量级的工作流引擎,快速构建工单应用.
Stars: ✭ 84 (-1.18%)
Mutual labels:  dotnetcore
Paperadmin
A flat admin dashboard using Angular JS 2/4
Stars: ✭ 80 (-5.88%)
Mutual labels:  template
Framework7 Template Vue Simple
Deprecated! Simple Framework7 Vue starter app template in a single HTML file
Stars: ✭ 81 (-4.71%)
Mutual labels:  template
Rails docker template
Docker template for Rails app or Rails + Webpacker app development.
Stars: ✭ 82 (-3.53%)
Mutual labels:  template
Devextreme Angular Template
Responsive Application Layout Templates​ based on DevExtreme Angular Components
Stars: ✭ 80 (-5.88%)
Mutual labels:  template
Tongjithesis
同济大学本科毕业设计LaTeX模板 LaTeX template for Tongji Undergaduate Thesis
Stars: ✭ 85 (+0%)
Mutual labels:  template
Aura.view
Provides TemplateView and TwoStepView using PHP as the templating language, with support for partials, sections, and helpers.
Stars: ✭ 81 (-4.71%)
Mutual labels:  template
Chloe
A lightweight and high-performance Object/Relational Mapping(ORM) library for .NET --C#
Stars: ✭ 1,248 (+1368.24%)
Mutual labels:  dotnetcore
Middleman Template
The base Middleman application used at thoughtbot, ready to deploy to Netlify.
Stars: ✭ 80 (-5.88%)
Mutual labels:  template
Ring Buffer
simple C++11 ring buffer implementation, allocated and evaluated at compile time
Stars: ✭ 80 (-5.88%)
Mutual labels:  template
Template Mustache
Drawing Mustaches on Perl, for fun and profit
Stars: ✭ 82 (-3.53%)
Mutual labels:  template
Tuxedo
Tuxedo is a template language for Swift.
Stars: ✭ 80 (-5.88%)
Mutual labels:  template
Exram.gremlinq
A .NET object-graph-mapper for Apache TinkerPop™ Gremlin enabled databases.
Stars: ✭ 84 (-1.18%)
Mutual labels:  dotnetcore
Vapor Clean
A Vapor 3 template with no additional cruft.
Stars: ✭ 80 (-5.88%)
Mutual labels:  template
Perun
A command-line validation tool for AWS Cloud Formation that allows to conquer the cloud faster!
Stars: ✭ 82 (-3.53%)
Mutual labels:  template
Swift Project Template
🍪 Easily generate Swift projects with Cookiecutter
Stars: ✭ 85 (+0%)
Mutual labels:  template
Jupytemplate
Templates for jupyter notebooks
Stars: ✭ 85 (+0%)
Mutual labels:  template
Butterfly
🔥 蝴蝶--【简单】【稳定】【好用】的 Python web 框架🦋 除 Python 2.7,无其他依赖; 🦋 butterfly 是一个 RPC 风格 web 框架,同时也是微服务框架,自带消息队列通信机制实现分布式
Stars: ✭ 82 (-3.53%)
Mutual labels:  template

StreamDeckToolkit

Build status NuGet github pages

Intellicode Model

What Is This?

This is a template to help create plugins for the Elgato Stream Deck, using the Stream Deck SDK with Dotnet Core.

Docs

You can read more in the Docs.

Pre-Requisites

In order to make use of this template, you will need to have the Dotnet Core SDK (version 2.2.100 or above) installed on your development machine.

While not absolutely necessary, it is strongly recommended to have the Stream Deck Software installed, to be able to perform some integration testing of your plugin.

Install Project Template

From File System

Installing the template from your filesystem is useful for local testing of the template itself. If you are actively working on the template making changes, this is the route you need to use.

To install, run the following command from the root of the repository.

dotnet new -i Templates/StreamDeck.PluginTemplate.Csharp

To pick up any changes you have made to the template source, you must uninstall the template and reinstall it.

To uninstall, run the following command from the root of the respository.

Windows: dotnet new -u Templates/StreamDeck.PluginTemplate.Csharp

OSX/Linux: dotnet new -u $PWD/Templates/StreamDeck.PluginTemplate.Csharp

From NuGet

dotnet new -i StreamDeckPluginTemplate
- OR -
Install-Package StreamDeckPluginTemplate [-Version x.y.zzz]

Using the Template

Once the template is installed, open a terminal in the folder of your choice and create a new project.

dotnet new streamdeck-plugin --plugin-name FirstPlugin --uuid com.yourcompany.pluginname.actionname --skipRestore false

Or create a directory in a location of your choice, change to that directory and run the command, which will inherit the directory name as the project name with default values.

dotnet new streamdeck-plugin

Creating a Plugin Action

The Stream Deck Toolkit provides the functionality that communicates directly with the Stream Deck software. When creating a plugin, you are responsible for creating actions for the Stream Deck buttons to perform. There are two base classes that you can inherit from when creating your action:

1. BaseStreamDeckAction - this class contains all the integrations necessary to communicate with the Stream Deck at the 'barebones' level. Inheriting from this class will give you the greatest control over how your action sends and receives data from the software.

2. BaseStreamDeckActionWithSettingsModel<T> - this class inherits from BaseStreamDeckAction, this class will automate the population of model properties, where type T is defined as the data that is stored when issuing a 'setSettings' event to the Stream Deck software. The property **SettingsModel** will automatically instantiate an instance of class T, so it is best to assign default values when defining your class T. Also, when using the Property Inspector and passing data back and forth, ensure that the properties defined in the settingsModel in JavaScript matches those that you have defined in T for the automatic mapping to occur between both environments.

Your project may contain any number of actions, inheriting from one of the classes above. In order for the Action to be automatically registered on start up, it must bear the [ActionUuid(Uuid="com.fritzanfriends.pluginname.anotheraction")] attribute.

Actions must also be manually registered in the manifest.json file, with the Uuid that matches ActionUuid attribute.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].