Stream Deck GuideFree apps for Windows & Linux Install

Writing plugins

An overview for developers, with pointers to the official tutorial.

What a plugin is

A plugin is a Python package that StreamController loads at start-up. It registers one or more actions; an action is what you drag onto a key or dial. Actions get events (press, release, dial turns) and can draw on their key. Settings UI is built with GTK 4 widgets.

Getting started

  1. Run StreamController from source, with a separate data folder for development.
  2. Copy the official plugin template into the plugins folder.
  3. Start the app with --skip-load-hardware-decks if you want to test on a fake deck.
  4. Change the template's action, restart, and try it.

The official tutorial builds a counter plugin step by step: drawing an icon, reacting to presses and dial turns, adding a setting, localisation and a backend process for heavy libraries.

Getting into the store

Fill in the plugin's manifest and attribution files, then submit it to the store repository. Each listing points at a specific commit of your repository, so updates mean a new submission.

Where to read more

The official documentation has the full tutorial and API reference for PluginBase, ActionBase and BackendBase.