Hello,
In standalone CoreAudioDeviceType::getIndexOfDevice always return the input device index even if we ask the index for ouput.
So for each standalone build with a deviceManager Component, we can change the output device but the combo box is not updated and it becomes messy for users.
The code ask for getDeviceWrappers but check only the first wrapper and never the second one.
in juce_CoreAudio_mac line 2240 for latestjuce 7.0.8
if (auto* d = dynamic_cast<AudioIODeviceCombiner*> (device))
for (auto* dev : d->getDeviceWrappers())
if (const auto index = dev->getIndexOfDevice (asInput); index >= 0)
return index;
A temporary fix :
if (auto* d = dynamic_cast<AudioIODeviceCombiner*> (device))
for (auto* dev : d->getDeviceWrappers())
{
if(!asInput && dev->isInput())
{
dev++;
if(dev==nullptr)
return -1;
if(dev->isInput())
return -1;
}
if (const auto index = dev->getIndexOfDevice (asInput); index >= 0)
return index;
}
type or paste code here