We’re currently porting our application from Mac to Windows and are testing different audio interfaces and their ASIO drivers.
Testing on the Fireface UC, inside our app, we found out that buffer size changes (that have to be made from the device’s control panel) are not made correctly even if one closes the control panel and manually clicks “Reset device” after the change (the audio is distorted since the device is not providing data with the reported buffer size).
However, inside the JUCE demo app, the process of changing the buffer size seems to somehow work since already when one chooses a new buffer size inside the control panel - the following ASIO callbacks are triggered, which seem to do the trick…
ASIO: kAsioLatenciesChanged ASIO: kAsioLatenciesChanged ASIO: kAsioResetRequest ASIO: kAsioResetRequest ASIO: restart request! ASIO: restart request!
In our app, no asioMessageCallback gets triggered (after changes in the control panel) - no matter what one does inside the control panel. I am baffled since it is the same JUCE version and ASIO SDK. We are not using the
AudioDeviceSelectorComponent class - we are calling the
AudioDeviceManager functions ourselves. Other than that I don’t see any difference. I presume ASIO messages are not caused by some timers running in
AudioDeviceSelectorComponent but come directly from the driver?
I would be very grateful for any idea why we are not receiving any ASIO messages while making changes in the control panel (while it’s no problem in the demo app).
As a side note, we are using JUCE 5.0.2 and I’ve compared the behaviour of our app and the Demo app with this same version and the same ASIO SDK.