mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-16 00:34:19 +00:00
AudioDeviceManager fix for adding custom devices.
This commit is contained in:
parent
2c5bfb952f
commit
2bc8bd1b81
1 changed files with 17 additions and 9 deletions
|
|
@ -115,16 +115,16 @@ void AudioDeviceManager::createDeviceTypesIfNeeded()
|
|||
{
|
||||
if (availableDeviceTypes.size() == 0)
|
||||
{
|
||||
createAudioDeviceTypes (availableDeviceTypes);
|
||||
OwnedArray <AudioIODeviceType> types;
|
||||
createAudioDeviceTypes (types);
|
||||
|
||||
while (lastDeviceTypeConfigs.size() < availableDeviceTypes.size())
|
||||
lastDeviceTypeConfigs.add (new AudioDeviceSetup());
|
||||
for (int i = 0; i < types.size(); ++i)
|
||||
addAudioDeviceType (types.getUnchecked(i));
|
||||
|
||||
if (availableDeviceTypes.size() > 0)
|
||||
currentDeviceType = availableDeviceTypes.getUnchecked(0)->getTypeName();
|
||||
types.clear (false);
|
||||
|
||||
for (int i = 0; i < availableDeviceTypes.size(); ++i)
|
||||
availableDeviceTypes.getUnchecked(i)->addListener (callbackHandler);
|
||||
if (AudioIODeviceType* first = availableDeviceTypes.getFirst())
|
||||
currentDeviceType = first->getTypeName();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -140,6 +140,8 @@ void AudioDeviceManager::audioDeviceListChanged()
|
|||
{
|
||||
currentSetup.sampleRate = currentAudioDevice->getCurrentSampleRate();
|
||||
currentSetup.bufferSize = currentAudioDevice->getCurrentBufferSizeSamples();
|
||||
currentSetup.inputChannels = currentAudioDevice->getActiveInputChannels();
|
||||
currentSetup.outputChannels = currentAudioDevice->getActiveOutputChannels();
|
||||
}
|
||||
|
||||
sendChangeMessage();
|
||||
|
|
@ -167,8 +169,14 @@ void AudioDeviceManager::createAudioDeviceTypes (OwnedArray <AudioIODeviceType>&
|
|||
|
||||
void AudioDeviceManager::addAudioDeviceType (AudioIODeviceType* newDeviceType)
|
||||
{
|
||||
jassert (newDeviceType != nullptr);
|
||||
availableDeviceTypes.add (newDeviceType);
|
||||
if (newDeviceType != nullptr)
|
||||
{
|
||||
jassert (lastDeviceTypeConfigs.size() == availableDeviceTypes.size());
|
||||
availableDeviceTypes.add (newDeviceType);
|
||||
lastDeviceTypeConfigs.add (new AudioDeviceSetup());
|
||||
|
||||
newDeviceType->addListener (callbackHandler);
|
||||
}
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue