Enabling ASIO for the JUCE Plug-In Host

Setting up ASIO support when building the JUCE plugin host

Enabling ASIO for the JUCE Plug-In Host

Testing is a major component of plugin creation. Opening the DAW and reloading the plugin every time is simply not practical. Thankfully, tools like the JUCE plug-in host make the task easier.

The plugin host application is provided as source code, which we must build ourselves. The default build options don't support ASIO audio. However, if you are using a test setup that includes virtual audio routing, you would most probably need ASIO. This article outlines how to build the plugin host application with ASIO support.

Step 1 - Download the Steinberg ASIO SDK

ASIO (Audio Stream Input/Output) is a driver protocol for digital audio specified by Steinberg. To compile an ASIO application, you must first download the ASIO SDK from Steinberg. Download and extract the files into your system.‌

3rd-Party Developers Support & SDKs
We offer other manufacturers the chance to develop VST- and ASIO-based software and hardware for macOS and Windows by offering those technologies.

Step 2 - Configure settings in Projucer

Checkout a completely clean copy of the JUCE library, which contains the source for building the plugin host. To access the host, go to the subdirectory /extras/AudioPluginHost/ and open the .jucer file with Projucer. You need to set up two things here.

  1. Enable ASIO: On the left pane, navigate to Modules > juce_audio_devices. Select the dropdown menu for JUCE_ASIO and set it to Enabled
  2. Add ASIO headers: In Exporters, navigate to the release build of your build configuration of choice. Paste the path to the common folder for the ASIO SDK in the Header Search Paths field.

This will configure your project to build the ASIO component. Now click the Save and Open in IDE button.

Step 3 - Build the project

Select the release build configuration (which is the configuration we modified) and build it. After the build finishes, you can find the AudioPluginHost executable under the relevant build folder.

Now in the JUCE plug-in host you should be able to select ASIO under Options > Change the Audio Device Settings > Audio Device Type.