I’ve tried this with every soundcard on my system: If I open the dialog and close it without making any changes, the latency (microphone -> soundcard -> juce filter-> soundcard -> speakers) increases by a factor of 3 or 4x (haven’t measured it exactly). Yet if I tweak the buffer size while the dialog is open, the latency is fine after closing. This increased latency happens as soon as the dialog opens, but not necessarily every time.
Note how it’s a multiple of the current latency. I.e. if it’s really small to begin with, you don’t necessarily notice anything went wrong, whereas if it’s big to start with, it gets really big.
My PC is an old Pentium 4 with hyper threading. This doesn’t happen on another development system we have, which is an intel Quad-core.
AudioDeviceManager *deviceManager = m_pAudioMIDI ? m_pAudioMIDI->getAudioDeviceManager() : 0; if( !deviceManager ) return; AudioDeviceSelectorComponent * audioSettingsComp = new AudioDeviceSelectorComponent( *deviceManager, 0, 2, 0, 2, false, false, true, false ); audioSettingsComp->setSize (500, 450); DialogWindow::showModalDialog (T("Audio Settings"), audioSettingsComp, this, Colours::azure, true); XmlElement* const audioState = deviceManager->createStateXml(); theApplicationSettings->setValue( cfgAudioDeviceState, audioState ); delete audioState; delete audioSettingsComp;