fredemmott / StreamDeck-AudioSwitcher

StreamDeck plugin for setting active audio devices

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Description

StreamDeck-AudioSwitch is a C++ plugin for the Elgato StreamDeck for setting the default audio device.

It supports:

  • setting input or output device
  • setting default device or communication device
  • either one-button-per-device, or one button to toggle between two devices

For example, this can be useful to switch between headphones and speakers if they are on different sound cards (e.g. USB speakers or USB headphones).

Video Demo

YouTube Demo Video

Installation

Download the com.fredemmott.audiooutputswitch.streamDeckPlugin file from the releases page, and double-click it.

Notes

This uses undocumented and unsupported Windows APIs. These have apparently worked since Windows 7, but they might stop working at any time or have unexpected side effects.

FAQ

Changing both 'communication' and 'default'

Use a multi-action switch, not a normal multi-action:

image

MacOS: "Sound effects" aren't changing, or are changing when I don't want them to

This is a MacOS bug that only Apple can fix.

Getting Help

Check the troubleshooting guide guide. I make this for my own use, and share in the hope that others find it useful - I am unable to offer support, or to act on bug reports or feature requests. Do not contact me for help via any means, including GitHub, Discord, Twitter, Reddit, or email. This software is used by many, and I do generally fix it when something changes to break it, but I do not guarantee this, and I'm not able to help with anyone's specific issues.

If 'fuzzy matching' is required - or not functioning properly for you - ask your device manufacturer to fix their device/drivers to not change device IDs; Microsoft requires that these do not change.

Thanks

  • Thanks to "EreTIk" for finding/documenting the COM interface.
  • Thanks to "LordValgor" for the idea of making this plugin.

License

This project is MIT-licensed, except for the image files.

The image files are proprietary, and may not be re-used or modified.

About

StreamDeck plugin for setting active audio devices

License:MIT License


Languages

Language:CSS 50.9%Language:JavaScript 26.1%Language:C++ 12.0%Language:HTML 6.5%Language:CMake 4.4%