With the authorization of the original author (Jeroen Pelgrims) of SoundSwitch, I have taken upon myself to update and provide support for SoundSwitch.
I released the version 3.1.1 that contains a lot of major changes compared of the 2.5:
Before Installing
If you have already a previous version of SoundSwitch BEFORE 3.0, Uninstall it:
- You can see the version in the About page when right clicking on the icon.
- Launch SoundSwitch and uncheck the Run at Startup
- Go into Program and Feature and Uninstall SoundSwitch
Changelog
- [Major] New Configuration file for SoundSwitch in JSON.
- [Fixed] Loss of configuration when updating SoundSwitch
- [Major] Using AudioEndPointController library to gather available devices and switch the default device
- [Major] Removed OneClick
- Use Inno Setup as installer
- Installer check for dependency and download them if not present (.NET 4.5.2 and VCRedist C ++ 2015)
- Installer closes SoundSwitch automatically before updating (from this version and for the following)
- Major refactoring of the class
- The Settings windows contains ALL installed Audio Devices instead of the one connected
- Added a close button in the Window
- Run at startup use the registry
- Updated Credits
- Fixed a possible Exception when closing SoundSwitch
- ContextMenu of the tray icon now update when new device are plugged in
- Color code added to help settings a working HotKey for the HotKey Switch
- Possibility to use the Shift key as part of the HotKey
- Rewriting the HotKey system.
- Audio Devices are sorted by selected or not in the Settings page.
Github Repository
Belphemur / SoundSwitch
C# application to switch default playing device. Download: https://soundswitch.aaflalo.me/
Libraries used
One of the biggest change with the previous version is the use a of library I forked to access easily the audio devices of Windows. With this library, SoundSwitch doesn’t use the old EndPointController.exe to gather the list of Audio device and set the default one. I created a C++/CLI wrapper to be able to use it natively into C#. It was quite a lot of work for me since it was the first time I used this “language” compared to the barebone C++.
Belphemur / AudioEndPointController
A Windows command-line program for listing audio end-points and setting the default
Installer
I’m providing an installer created with Inno Setup (the code for it is available in the repository). With this Installer creator I’m able to easily make an installer that checks for .NET 4.5.2 and Visual C++ Redist 2015. Those 2 modules are required to make SoundSwitch works.
Download Latest version
SoundSwitch v6.13.0
So this version has multiple new features worth noting:
- A CLI is now provided with the application:
SoundSwitch.CLI
. It's automatically added to the PATH so you can use it from anywhere - We have now a persistent Mute Notification (you can reenable the old behavior in the settings).
- To fill the void left by the removal of the feature in PowerToys
- Accept most hotkeys like PrintScr, Pause, Home, etc ...
- Multiple improvement of the installer
6.13.0 (2025-04-08)
Enhancements
- hotkey: accept alone keys for hot keys like PrintScr, Pause, Home, End, etc ... and any function key alone too. (65c7863)
- hotkey: Change the display of hotkeys modifier to always follow ctrl, shift, alt, win. (b518688)
- hotkey: support setting only one key for hotkey (c9e8131)
- installer: add global application definitions and update uninstall logic (0d8a215)
- installer: make installer compatible with ARM64 using compatibility layer (fc31118)
- installer: mordernize the look (6496ee3)
- ipc: Be sure two instance of SoundSwitch can communicate. (118681a)
- Reset Audio: Bring back shortcut to reset per app audio (b87f96c), closes #1630 #1539 #860 #1107 #1515
Languages
- ai: Add mising translation with Claude (826da9a)
- Chinese (Traditional Han script): Translated Settings using Weblate (05b085b)
- Chinese (Traditional Han script): Translated Tray Icon using Weblate (986cfa8)
- Chinese (Traditional Han script): Translated Update Download using Weblate (dbf1303)
- French: Translated Settings using Weblate (6031996)
- German: Translated Settings using Weblate (9482857)
- Greek: Translated Settings using Weblate (4c1d3d2)
- Japanese: Translated Settings using Weblate (a031562)
- Spanish: Translated Settings using Weblate (5f4c381)
- tamil: Add tamil language to the application (31a2f04)
- Tamil: Added About translation using Weblate (7b16918)
- Tamil: Added Settings translation using Weblate (fc63fb5)
- Tamil: Added Tray Icon translation using Weblate (4b6b4df)
- Tamil: Added Update Download translation using Weblate (c8ee970)
- Tamil: Translated About using Weblate (15ac998)
- Tamil: Translated Settings using Weblate (917d1ae)
- Tamil: Translated Settings using Weblate (e5fa0d8)
- Tamil: Translated Tray Icon using Weblate (2dd3920)
- Tamil: Translated Update Download using Weblate (afc7c76)
- Thai: Translated Settings using Weblate (75a58b3)
Bug Fixes
- banner: add WS_EX_NOACTIVATE style to prevent focus stealing (bf31371)
- banner: implement double buffering to reduce flickering and improve click handling (0cdb808)
- cli:mute: notify on microphone muted state (86e5843)
- cli: add missing mute command (8f298c5)
- cli: fix the name of the CLI application (3daef8f)
- communication: Possible crash on closing the software (5b8fd5c)
- installer: add missing section about deleting old settings (7d2f567)
- installer: Don't recreate desktop icon when VerySilent (from auto updater). (00cc3b3), closes #1720
- installer: fix adding CLI to PATH (4d1432b)
- installer: Make the uninstaller delete any trace of the program (464f05c)
- localization: correct formatting in SettingsStrings.ta.resx and improve bracket checking in check_brackets.py (365c3b8)
- localization: improve formatting and correct placeholder in UpdateDownloadStrings.ta.resx (74e0393)
- notification::mute: mute microphone on clicking the banner when the microphone is On (bfe5ece)
- notification::mute: reduce microphone mute banner display time to 1.5 seconds (e82ccc4)
- pipe: be sure we can have full communication on the pipe (1362535)
- release: fix building right version of application (ba16256), closes #1669
- Settings: Ensure persistent mute notification checkbox visibility is correctly set (96eb04b)
- update: fix update ui crashing. (70ba6c1), closes #1693
Features
- audio: add event for volume and mute state changes (f7013a2)
- banner: hide banner when clicked on (3601270)
- cli::installer: be sure the cli is installed and signed by the installer (de470f6)
- cli: add microphone muting to the CLI (6613d2a)
- cli: Add profile details like what device is setup in it (0a3544d)
- cli: Add the CLI to windows PATH (fb4324e), closes #1730
- cli: First version of the CLI for SoundSwitch (add5240), closes #1664
- device: track if the the device is muted. (5b506d7)
- microphone: Notify on any microphone being muted. (b464e2d)
- mute: add a compact banner for the microphone mute state (48f0aa4)
- mute: Only show friendly name for the device for mute notification (09eeffb)
- notification::mute: Support clicking the banner to unmute. (67e2b3f)
- notification::mute: Use a compact notification for Mute that stays on the screen until the microphone is unmuted. (7439388)
- Notification: Add persistent mute notification configuration and update related logic (3cecbf4)
- pipe: implement MessagePack serialization for inter-process communication. Prepare the ground for a CLI. (5b0f473)
- resources: add microphone and mute images (b221ab3)
- Settings: Let the user choose what type of notification they have for mute (a1e181f)
- Settings: reopen settings when opening another SoundSwitch. (22920cd), closes #850
š” VirusTotal GitHub Action analysis:
22nd September 2015 at 11:31
Hi,
I have been using soundswitch on my personal pc for a year of so. Recently I tried to install it on the work pc, and it simply does not work. The process is running, but no tray-icon i present, making it impossible to use.
I have installed the required dependencies.
Any advice on how to proceed will be appreciated. I use Win7Enterprise (x64)
23rd September 2015 at 12:35
Hello Rasmus,
Please use the Issue tracker on github to report a bug: https://github.com/Belphemur/SoundSwitch/issues
Could you add which version you are using ?
Also zip the content of %appdata%/SoundSwitch