ASIO control panel not updating values

Hi Jules, I'm experiencing the following issue (windows 7 and 8, 32/64 bits, juce demo):

go to the AudioSettings demo, select ASIO, choose a device, open its control panel ("Show this device's control panel").

Change some values from this external panel - let's say, the buffer size - now close the panel and the AudioDeviceSelectorComponent will not get updated.

Is this a normal behavior?

I took a peek into ASIOAudioIODevice::showControlPanel and I see that you are using some sort of a modal component to detect when the external panel is closed (am I right?).


P.S. ...and yeah, I'm using the latest tip :)

Well, I tried to tinker with the ASIOAudioIODevice class, and if I set all occourrences of shouldUsePreferredSize to true where it was set to false - in the class constructor and in readBufferSizes (int bufferSizeSamples) - it works as expected.

BTW, this happens in Tracktion 5 demo too!

If you pass 0 as the buffer size, then it will use the device's preferred size, but if you specified a particular size or rate when opening the device, then that's the rate it'll try to use if possible, regardless of what people do in the device's custom panel. With some devices, they only support one rate, which is the one that you set in their panel, in which case it will update like you expect it to.

Well, I tried to pass an AudioDeviceSetup with 0 as buffer size to the device manager, but still, the device is using its preferredSize.

One of the ASIO drivers I'm using for my tests is Steinberg's full duplex ASIO, could you please be so kind to double check on your system?

Using the Juce Demo, the buffer size combobox displays just one option with this driver, and if you open its panel and change the value, the buffer size detected by Juce doesn't change.

Sorry, for wasting your time, I found a workaround for this. 

Just for posterity, there are some ASIO drivers that simply don't allow you to change key parameters such as buffer size, and you have to go to the device control panel. All ASIO implementations are standard, but some are more standard than others.

Oh yes, thanks, I noticed this too. As usual, every standard in the audio world is not a standard :)