Table of Contents
This tutorial will help you to set up your computer and create an Projucer project for developing Audio Plug-Ins (VST and AudioUnits) using JUCE.
At the end, we will end up with an actual audio-plugin that says "Hello, World!" and can be loaded into VST hosts like Cubase or Ableton Live.
Platforms: Windows, Mac OS X, Linux
Download JUCE. Unpack the JUCE folder and place it to some location on your computer. Your user home folder is a convenient place.
Launch the Projucer application, which is located in your JUCE folder.
If you are not familiar with the Projucer yet, please read Tutorial: Getting started with the Projucer first.
All of the files that you need to create VST and AU (MacOS only) plug-ins are packaged with JUCE (as long as you are using a recent version of JUCE).
Download the VST3 SDK from the Steinberg SDK download portal. This will allow you to build VST3 plug-ins.
Once you have downloaded the VST SDK you need to perform a one-time set-up in the Projucer in order for it to find all of the relevant files. Open the Projucer and navigate to menu item Projucer > Global Search Paths on MacOS or File > Global Search Paths on Windows and Linux. Make sure that the Paths tab is selected. Add the SDK path to the relevant field.
- If you remove the text from the field for a particular path first, you can then drag-and-drop the directory from your operating system.
If the path is correct it should be displayed in white text (or red if there is a problem).
To create an audio plug-in with JUCE, create a new project in the Projucer and select Audio Plug-In as the project type. See Tutorial: Getting started with the Projucer if you don't know how to do that.
In the Projucer’s configuration settings for the new project, you can change project settings, such as which plug-in types you wish to export and whether the plug-in receives or produces MIDI notes (amongst many other things). You can change these settings at any time.
In this tutorial we are creating a VST plug-in, so make sure that Build VST is ticked. Then scroll down the settings window and tick Plug-in wants midi input and Plug-in produces midi output.
That’s all the config you need! Now click Save Project and Open in IDE... Your new project will open. Click the build button to verify that your plug-in builds and that everything has been set up correctly.
One of the challenges of building plug-ins is testing them. Thankfully, JUCE makes that easy, with a built-in plug-in host. To access the host go to
examples/audio plugin host/ and open the
.jucer file with the Projucer. Click Save Project and Open in IDE.... Then inside your IDE build the project to create a binary (which on Mac OS X you will find at
examples/audio plugin host/Builds/MacOSX/build). Copy that binary to somewhere accessible, as you will often use it.
Run the application and you will see the graphical node editor that looks like this:
Pressing "Cmd-P" (or going to Options > Edit the list of available plug-ins...) will allow you to update the list of plug-ins on your system (you will only have to do this once per project). Click the options button at the bottom of the pop-up window and click Scan for new or updated VST plug-ins.... JUCE Audio plugins are automatically copied to
~/Library/Audio/Plug-Ins/VST, and the host application automatically searches that folder, so you shouldn’t need to manually specify where to look — just click Scan.
Once the scan is complete go back to the node editor and right click, then select your plug-in from the context menu (it will be under a company called "yourcompany" by default - you can edit this in the Projucer). Connect the nodes up such that the MIDI input and Audio Input nodes are routed to the inputs of your plug-in, and that your plug-in’s audio output are routed to the Audio Output node.
Double click your plugin to launch the GUI. The default plugin does nothing but show Hello world.
You can select Options > Change the audio device settings... to make sure your inputs and outputs all go to the right places. Hit File > Save to make it easy to retrieve this configuration.
Used in this way the Plug-In Host gives you a very simple environment in which to test a plug-in, but there’s more that we can do. We can configure the host to enable step-through debugging of your plugin. To do this, go back to your plug-in project in Xcode, click Product > Scheme > Edit Scheme..., then under Run select Other... from the Executable dropdown and locate the Plugin Host.app binary. Make sure Debug executable is ticked.
Now when you build and run your plugin within Xcode it will automatically launch the host, and when your plug-in is loaded inside the host you can set breakpoints and do step-through debugging.
Now you are ready and good to go to code an audio plug-in that actually does some audio. Read on in Tutorial: Create a basic Audio/MIDI plugin Part 2: Coding your plug-in.
To build AAX plug-ins (for Pro Tools) you will need to contact Avid for a developer license in order to access their SDK. If you do obtain access to the AAX SDK you will notice that the Projucer has a path that you can set in its Global Preferences window.
After reading this tutorial, you should be able to:
- Install the necessary dependencies for audio plug-in development,
- Create an Projucer project for a JUCE audio plug-in,
- Set up a debugging environment for audio plug-in development.
Generated on Wed Nov 1 2017 11:17:17 for JUCE by 1.8.13