mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-10 23:44:24 +00:00
Fixed an issue in 9fda031
This commit is contained in:
parent
0ff16ddadb
commit
8b4ba1ff25
1 changed files with 19 additions and 8 deletions
|
|
@ -124,18 +124,29 @@ void AudioDeviceManager::audioDeviceListChanged()
|
|||
{
|
||||
if (currentAudioDevice != nullptr)
|
||||
{
|
||||
auto isCurrentDeviceStillAvailable = [&]
|
||||
auto currentDeviceStillAvailable = [&]
|
||||
{
|
||||
for (auto* dt : availableDeviceTypes)
|
||||
if (currentAudioDevice->getTypeName() == dt->getTypeName())
|
||||
for (auto& dn : dt->getDeviceNames (true))
|
||||
if (currentAudioDevice->getName() == dn)
|
||||
auto currentTypeName = currentAudioDevice->getTypeName();
|
||||
auto currentDeviceName = currentAudioDevice->getName();
|
||||
|
||||
for (auto* deviceType : availableDeviceTypes)
|
||||
{
|
||||
if (currentTypeName == deviceType->getTypeName())
|
||||
{
|
||||
for (auto& deviceName : deviceType->getDeviceNames (true))
|
||||
if (currentDeviceName == deviceName)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
};
|
||||
for (auto& deviceName : deviceType->getDeviceNames (false))
|
||||
if (currentDeviceName == deviceName)
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (! isCurrentDeviceStillAvailable())
|
||||
return false;
|
||||
}();
|
||||
|
||||
if (! currentDeviceStillAvailable)
|
||||
{
|
||||
closeAudioDevice();
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue