Same problem here – this is exactly what I complained about in this thread: How to fallback to the default audio device using AudioDeviceManager? . For me the fix was to remove this block of code from AudioDeviceManager::audioDeviceListChanged:
auto isCurrentDeviceStillAvailable = [&]
{
for (auto* dt : availableDeviceTypes)
if (currentAudioDevice->getTypeName() == dt->getTypeName())
for (auto& dn : dt->getDeviceNames())
if (currentAudioDevice->getName() == dn)
return true;
return false;
};
if (! isCurrentDeviceStillAvailable())
{
closeAudioDevice();
std::unique_ptr<XmlElement> e (createStateXml());
if (e == nullptr)
initialiseDefault (preferredDeviceName, ¤tSetup);
else
initialiseFromXML (*e, true, preferredDeviceName, ¤tSetup);
}
