juce-framework / JUCE

JUCE is an open-source cross-platform C++ application framework for desktop and mobile applications, including VST, VST3, AU, AUv3, LV2 and AAX audio plug-ins.
https://juce.com
Other
6.64k stars 1.74k forks source link

Dante Virtual Sound Card #413

Open audiostrom opened 6 years ago

audiostrom commented 6 years ago

On windows 10 (maybe other versions of windows) The ASIO Driver of Dante Virtual Sound Card (audinate.com) Does not work in juce-based asio hosts. To reproduce: Download DVS, activate trial, click start. Try to set DVS as ASIO device in a juce based host (like plugin host example) Starting the driver will fail with the message "Device didn't start correctly" Expected behavior: It should work

DVS is a very much used devices in the pro audio industry. It used to work with older version of DVS, but something has changed in recent times. it should be top priority to make this work again, as for many end users this is a deal-breaker

audiostrom commented 6 years ago

I have figured it out. It actually works, but there is a catch that leads to the confusion. If the computer is not connected to the Dante network, (like when a new user tests if the driver works) DVS has no master clock, and as a result it does not make asio callbacks. In Juce asio code there is a section that waits for callbacks for 300 X 10 ms. If no callbacks are made, juce closes the asio device.

I would say that this is not the optimal solution of both DVS (audinate) orJuce. I have suggested to Audinate that DVS should go to internal sync when not on the network. That said, I don’t see when Juce should shut down the ASIO driver just because no callbacks have been made. A warning seems more fitting, like “The devices does not seem to respond”