How to get ASIO support


I understand that I have to define JUCE_ASIO to get ASIO to work in JUCE.

For starters, I just want to enumerate all the ASIO outputs.

The macro line give this comment.

“Comment out this macro if you haven’t got the Steinberg ASIO SDK, without which the ASIOAudioIODevice class can’t be built. See the comments in the ASIOAudioIODevice class’s header file for more info about this.”

I looked in ASIOAudioIODevice.h, and I ddin’t see any info about how the ASIO SDK worked with JUCE or anything like that.

When I do getAvailableAudioDeviceNames(), I only get the MME and DS names, so I’m sure I’m not using ASIO.

How does this work?


Well if you’ve got the steinberg SDK, just set the flag, recompile, and that’s it. No need to do anything else, but you do need the SDK.


I have been reading some past discussions on this but have still been unable to do a simple demo which reads from an ASIO device to record an audio stream. I saw some example code on the forum but couldn’t figure out the actual Source class that connects to the audio driver.

I have a MixerAudioSource which already plays a wav file. I want to attach an input from the asio source so that I can mix the two and play them together. Ideally I also want to save this incoming data in wav form on a lower priority thread.

Is there any example code that shows incoming data from an ASIO microphone?