Skip to content

lelemm/stream-deck-mute-soundswitch

Repository files navigation

SoundSwitch Mute Stream Deck Plugin

A Stream Deck plugin that allows you to toggle mute/unmute functionality using SoundSwitch CLI.

Features

  • Toggle Mute/Unmute: One-click toggle for your microphone using SoundSwitch
  • Visual Feedback: Blue icon when unmuted, red icon when muted
  • Configurable Path: Set the path to your SoundSwitch.CLI.exe installation
  • Modern Setup: React-based setup page with Tailwind CSS styling

Prerequisites

  1. SoundSwitch: Download and install SoundSwitch from soundswitch.aaflalo.me
  2. Stream Deck Software: Elgato Stream Deck software v4.1 or later
  3. Windows 10+: This plugin is designed for Windows systems

Installation

  1. Build the application for source using npm run build
  2. Drag the "SoundSwitch Mute Toggle" action to a button
  3. Configure the SoundSwitch CLI path in the property inspector

Configuration

Setting up SoundSwitch CLI Path

  1. Click on the SoundSwitch Mute button in Stream Deck
  2. In the property inspector, enter the full path to SoundSwitch.CLI.exe
  3. Common installation paths:
    • C:\Program Files\SoundSwitch\SoundSwitch.CLI.exe
    • C:\Program Files (x86)\SoundSwitch\SoundSwitch.CLI.exe
    • C:\Users\[Username]\AppData\Local\Programs\SoundSwitch\SoundSwitch.CLI.exe

Finding Your SoundSwitch Installation

  1. Open Windows Explorer
  2. Navigate to where SoundSwitch is installed
  3. Look for SoundSwitch.CLI.exe
  4. Copy the full path including the filename

Usage

  1. Press the Stream Deck button to toggle mute/unmute
  2. Blue Button: Microphone is unmuted and active
  3. Red Button: Microphone is muted
  4. The button will show "MUTED" text when muted

Button States

State Color Description
Unmuted Blue Microphone is active and unmuted
Muted Red Microphone is muted
Error Alert Configuration or execution error

Development

Building from Source

# Install dependencies
npm install

# Build the plugin
npm run build

# Package for distribution
npm run package

Development Scripts

  • npm run dev - Development build
  • npm run build - Production build
  • npm run copy-assets - Copy assets to dist
  • npm run package - Create release package

Project Structure

src/
├── js/
│   ├── main.js              # Plugin main entry point
│   ├── pi.js                # Property inspector
│   ├── setup.js             # Setup page entry
│   ├── lib/
│   │   └── streamDeck.js    # Stream Deck SDK wrapper
│   └── actions/
│       ├── action.js        # Base action class
│       └── mutetoggle.js    # Mute toggle action
├── components/
│   └── Setup.jsx            # React setup component
├── assets/                  # Icons and images
├── css/                     # Stylesheets
├── *.html                   # HTML entry points
└── manifest.json            # Plugin manifest

Troubleshooting

Common Issues

"Configure Path" Error

  • Ensure SoundSwitch is installed
  • Verify the CLI path is correct
  • Check that SoundSwitch.CLI.exe exists at the specified location

Button Shows "Error"

  • Check that SoundSwitch is running
  • Verify CLI permissions
  • Ensure the path doesn't contain special characters that need escaping

Plugin Not Working

  • Restart Stream Deck software
  • Reinstall the plugin
  • Check Windows Event Viewer for errors

Testing SoundSwitch CLI

Open Command Prompt and test manually:

"C:\Path\To\SoundSwitch\SoundSwitch.CLI.exe" mute -t

You should see output like:

Microfone (NVIDIA Broadcast) is now muted

Technical Details

ANSI Output Parsing

The plugin parses SoundSwitch CLI output to determine mute state:

  • Looks for "is now muted" or "is now unmuted" in the output
  • Falls back to ANSI color code detection (red = muted, green/blue = unmuted)
  • Handles colorized terminal output properly

Stream Deck Integration

  • Uses Stream Deck SDK v2
  • Supports both single actions and multi-actions
  • Implements proper state management
  • Provides visual and haptic feedback

License

MIT License - see LICENSE file for details.

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

Support

If you encounter issues:

  1. Check the troubleshooting section
  2. Verify SoundSwitch CLI works manually
  3. Open an issue with detailed error information

About

Button for Ajazz stream deck to mute mic using soundswitch

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published