#devices #deck #stream #streamduck #streamdeck #linux #module

yanked streamduck-client

Client library of the Streamduck project

21 releases

0.2.0 Oct 21, 2022
0.1.8 Jul 23, 2022
0.1.7 May 30, 2022
0.0.12 Mar 10, 2022
0.0.5 Feb 23, 2022

#503 in Unix APIs

Download history 1/week @ 2024-02-15 9/week @ 2024-02-22 4/week @ 2024-02-29 1/week @ 2024-03-14 5/week @ 2024-03-21 45/week @ 2024-03-28

51 downloads per month
Used in streamduck-cli

Custom license and LGPL-2.1-only

615KB
9K SLoC

discord

Streamduck

streamducklogo_cut
Software for managing Stream Deck devices with folders and actions

Currently in beta, expect bugs!

You can get started here: docs.streamduck.org

Features

Currently supported:

  • Cross Platform: Works on Windows and on Linux
  • GUI Client: You can use Streamduck without having to fiddle with CLI
  • Managing multiple streamdeck devices: Able to control multiple streamdeck devices with each having their own separate configurations.
  • Flexible button display: Buttons can be configured to have one of the following backgrounds: (solid color, horizontal and vertical gradients, images), and any amount of text objects with extensive text rendering settings
  • Support for animated images: GIF and APNG images are supported with rendering exactly as described in the format (no more slow-mo gifs like in original software)
  • Folders: Buttons can be structured in any desirable folder structure
  • Plugin support: The software can be extended with any amount of plugins, with plugins having access to all core features of the project. In fact, folder support was made with same API as plugins use.
  • Support for plugins to render custom images: Plugins can add things to buttons, they can even define their own renderers, allowing for low-level access, you could potentially run games on Stream Deck
  • Auto-(re)connect: Will automatically attempt to establish connection with previously added devices
  • Import/Export Configuration: Allows you to import and export device configurations, which include images that were uploaded into the software. Making backups of configs as easy as keeping the exported file, and just importing it later when needed.

Planned features:

  • OBS Websocket plugin

Maybe in the future:

  • Lua support for plugins - for simple plugins to be made that utilize streamduck API
  • Button animation system with flexibility of having plugins define custom animations
  • Plugin store for easy way to browse and install plugins
  • Support for official SDK plugins on Windows

NodeJS module

Client for interacting with Streamduck daemon on NodeJS
Repository

Structure of the Project

streamduck-core

Simplification of rendering and streamdeck management for use with other modules

streamduck-daemon

Service that handles the core, plugins and provides a many types of sockets for clients to interact with the core
Communication sockets that are currently planned are as following: Unix Domain Socket, Windows Named Pipes, Websocket

streamdeck-client

Library that simplifies communication with the streamduck-daemon, and also allows one to make custom UI clients for the software

streamdeck-cli

Command-line tool to interact with the daemon

Dependencies

~29–41MB
~472K SLoC