Skip to content

Caspar311/streamdeck-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenSlides StreamDeck Controller

A specialized controller for OpenSlides, allowing you to manage speakers, projection, and more via a physical Elgato Stream Deck or a web-based virtual deck.

Features

  • OpenSlides Integration: Connects directly to your OpenSlides 4 instance.
  • Hardware Support: Works out-of-the-box with Elgato Stream Deck devices (Mini, Original, XL).
  • Virtual Deck: Includes a responsive web interface that mimics the Stream Deck, usable on any device (tablet, phone, PC).
  • Smart Actions: Intelligent "One-Click" actions like "Smart Start/Stop" for the current speaker list.
  • Cross-Platform: Runs on Windows, macOS, and Linux.

Warning

Experimental / Vibecoding Project This tool was created exclusively using the Vibecoding method (AI-assisted rapid development). It is absolutely unable tested in production environments. Use at your own risk!

Dieses Tool wurde ausschließlich im Vibecoding-Verfahren erstellt und ist absolut ungetestet. Benutzung auf eigene Gefahr!


Installation

Prerequisites

  • Go (Golang): Version 1.22 or higher installed (Download Go).
  • C Compiler:
    • Linux: gcc (usually installed or sudo apt install build-essential)
    • macOS: Xcode Command Line Tools (xcode-select --install)
    • Windows: Mingw-w64 (required for hardware support via CGO)

Building from Source

  1. Clone the repository:

    git clone https://github.com/YOUR_USERNAME/streamdeck-go.git
    cd streamdeck-go
  2. Build the application:

    Linux / macOS:

    go build -o streamdeck-go ./cmd/server

    Windows (PowerShell):

    go build -o streamdeck-go.exe ./cmd/server

    Note on Windows/Mac: If you encounter errors related to hid, ensure you have the C compiler installed and enabled (CGO_ENABLED=1). If you only want the web interface without physical hardware support, you can try disabling CGO, but the hardware driver requires it.


Usage

  1. Start the Server:

    • Linux/macOS: ./streamdeck-go
    • Windows: .\streamdeck-go.exe

    You should see output similar to:

    Starting StreamDeck-Go...
    Global Stream Deck Connected! (or "Running in Virtual-Only mode")
    Server running at http://localhost:8080
    
  2. Open the Web Interface:

  3. Connect to OpenSlides:

    • Enter your OpenSlides Instance URL (e.g., https://demo.openslides.eu).
    • Enter your Username and Password.
    • Click Connect.
  4. Select Meeting:

    • Choose the meeting you want to control from the list.
  5. Control:

    • You will see the grid layout.
    • Edit Mode: Click the "Edit" (Pencil) icon to configure buttons.
    • Actions:
      • Label: Text to display.
      • Icon: Emoji or short text.
      • Action: Choose from the dropdown (e.g., mic for Start Speaking, pause, stop).
      • Payload: JSON payload if required (e.g., {"id": 5} for specific speakers, though Smart Actions determine IDs automatically).

Troubleshooting

  • "No Stream Deck found":

    • Ensure the device is connected.
    • On Linux, you might need udev rules to access the USB device without root.
    • On Windows, ensure no other software (like the official Elgato software) is blocking the device. The official software must be closed completely.
  • Login Failed:

    • Check your URL (must include https://).
    • Verify your credentials.
    • Ensure the OpenSlides instance is reachable.

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors