I’ve taken the time to rewrite most of the core logic used in the Switching of Audio Device. All the code that interacts with this has been fully redesigned and re-architectured.
The lack of stability has been bothering me for some time, but going back in that old code isn’t as easy as it looks. I’ve cleaned up the C++/C# CLR library that I created to only do one thing: The Switching of default device.
Once that was done, I decided to completely base the listing of the audio devices and other sound related feature on the NAudio library. I was already using that library to play the custom sound and the notification sound. Now it’s a cornerstone of the program.
Also, you can now use the installer to clean up the configuration file of SoundSwich. Either when installing/updating it or when uninstalling it.