I’m now making an application which uses ASIO I/O based on Juce 1.34.
When I try to create ASIOIODevice using createDevice(), it was stopped by checkMessageManager in Component::addToDesktop() which is called from the constructor of ASIOIODevice, in the code juce_win32_asio.cpp line 149.
So I modified my code, once lock the MessageManager and then call createDevice().
pDevice = m_pDeviceTypeToCheck->createDevice(DEVICE_NAME_TO_CHECK);
However, it was dead locked in the Component::addToDeskTop(). What is the requirement to call createDevice() method? Does it actually need MessageManager locked?