Dante Virtual Soundcard, no callback


I am developing a JUCE program for streaming audio to the Dante Virtual Soundcard (aka DVS, https://www.audinate.com/products/software/dante-virtual-soundcard). The virtual soundcard supports ASIO and i have downloaded the latest SDK from steinberg (v2.3, https://www.steinberg.net/en/company/developers.html). I am developing on Windows 7 64bit machine.

My program uses the AudioDeviceManager and AudioDeviceSelectorComponent classes to select its output device. It works for ASIO4ALL and my Focusrite Scarlett 18i20 interface. However, it is failing when opening the DVS. Examining juce_win32_ASIO.cpp and turning on JUCE_ASIO_DEBUGGING, I found out that ASIOAudioIODevice::open() is timing out after 300 attempts (line 590) and that the DVS never invoked ASIOAudioIODevice::callback(), thus field ASIOAudioIODevice::calledback was never set to true. Both ASIO4ALL and Focusrite invokes callback almost immediately. Increasing the number of attempts to 3000 yield the same results.

Does anyone know why only DVS is not responding? Has anyone tried JUCE with DVS and worked?

thanks in advance!

I know nothing of the DVS, but, I assume it works with other software on your computer? And that you’ve tried troubleshooting via the FAQ:


I only used DVS with DAWs like ProTools Reaper and Waves Tracks Live - without any problem so far. As it’s used quite a lot in the field of live recording I think it can be assumed that DVS is a quite well-engineered application that normally just works.
I hope this doesn’t sound too obvious, but have you turned on the virtual soundcard? It can be configured to various channel settings and after applying these setting it needs to be switched on. Don’t know if running an inactive instance of DVS might lead to a behaviour as described by you?

thank you cpr and JanoesJuce for reply!
yes i have the soundcard turned on before running my program. AudioDeviceManager was able to get its sample rates, buffer sizes, etc. just not invoking callback. however, i was just reading the FAQ from Audinate (https://www.audinate.com/resources/faqs) and here MIGHT be a clue:

Can Dante Virtual Soundcard be used to send audio data from one computer to another?
Yes. However, Dante Virtual Soundcard cannot clock itself, and thus requires that at least one other Dante-enabled hardware device, or a third computer running Dante Via, is present on the network for clocking.

i currently have just one machine running the DVS in the network, so could this be the reason why it is not requesting samples?
i have tried using an ASIO signal generator (http://www.tropicalcoder.com/ASIOTestSigGen.htm) which is also not streaming audio out. I have the Dante Controller software to monitor the network, so there should be a green speaker icon for the DVS device if it IS transmitting audio.

I am currently waiting to get another machine to install Dante Via as a Master Clock to see if it fixes the problem.

i got another machine running Dante Via and finally worked! now the DVS clock status is sync and requesting samples. :grinning: