Skip to content

About

Stream Deck plugin for MAGDA

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

magda-streamdeck

A Stream Deck plugin that drives MAGDA over its remote JSON-RPC WebSocket API. Targets the Stream Deck + (8 keys, 4 push dials, touch strip); on other decks the key pages still work, dial actions simply never appear.

Nothing on the deck is a static image. Every key and dial is painted by the plugin from MAGDA's live state, so what you see is always what MAGDA is doing.

Install

Once published, install from the Elgato Marketplace. Until then, download the .streamDeckPlugin file from a release and double-click it.

Enable the WebSocket API in MAGDA

The plugin talks to MAGDA over a WebSocket listener that is off by default.

  1. Open MAGDA.
  2. Go to Settings > Connections.
  3. Switch the WebSocket listener on.
  4. The first time the plugin connects it lands read-only; grant it Transport, Edit and Session access from the same screen.

MAGDA and the plugin must be on the same machine; the plugin only ever connects to 127.0.0.1.

What it does

See docs/SPEC.md for the full spec and docs/layout.md for the key/dial grid.

Development

Requires Node 20, matching the runtime the Stream Deck app bundles.

npm install
npm run build      # rollup -> com.magda.streamdeck.sdPlugin/bin/plugin.js
npm run link        # symlinks the .sdPlugin into the Stream Deck app
npm run watch        # rebuilds and restarts the plugin on change
npm run lint
npm run typecheck
npm test
npm run validate    # streamdeck validate
npm run pack         # emits com.magda.streamdeck.streamDeckPlugin

docs/protocol.md tracks what the plugin needs from MAGDA's remote API, including the small set of operations magda-core still needs to add before v1.

Licence

GPL-3.0-or-later, matching magda-core. See LICENSE.

About

Stream Deck plugin for MAGDA

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages