GetDunne Wiki

Notes from the desk of Shane Dunne, software development consultant

User Tools

Site Tools


getting_started_with_the_projucer

This is an old revision of the document!


Getting started with the Projucer

The JUCE Projucer is a code and IDE-project generator. You specify what kind of project you want (e.g. GUI application, Audio Plug-In, etc.), and the target IDEs you intend to work with (e.g. Visual Studio, XCode), plus some other details such as a project name, and the Projucer will generate a complete project/solution for each IDE, including a few “starter” code files. You can then open each project/solution in the appropriate IDE, click on “Build” and within a few minutes have a working app or plugin for your target platform.

Well, that's the theory. In practice, there are lots of little details to understand, which can be overwhelming when you're just getting started. On this page I'll take you step-by-step through building a synthesizer plugin for Windows (VST v2.4) and Macintosh (AU v2).

Running the Projucer for the first time

The first thing you'll see, when you run the Projucer for the very first time (after you clear the hurdles), is the “Create New Project” page, shown below. On subsequent runs, you'll most commonly see the last .jucer project you had open, which the Projucer remembers. To create a new project, go to the Projucer's File menu and close whatever project is open, then choose “New Project…”

The Create New Project page has eight large graphic buttons for the eight most common project types. Click the button labeled “Audio Plug-In”, which I have outlined in red in the screen shot above. This will take you to the “second half” of the Create New Project page, as shown below. (Note the two pink circles at the bottom of the screen shot; these indicate that the page has two parts, and you can go back and forth between them by clicking on the circles. The filled circle indicates the currently-shown part.)

The first time you try the Projucer, when you haven't a clue what any of this means, it can be a little daunting, but it's actually straightforward.

The left half of this page is where you tell the Projucer where to put your new IDE project(s) and what to call it (them).

  • Start by using the large folder-navigation box on the left (it works just like an Explorer/Finder window) to choose the folder in which you want your new project's folder to be created.
    • The label “Project Folder” is a little confusing; I started by creating a new folder for my new project and selecting that, and ended up with a folder called “VanillaJuce” inside another folder called “VanillaJuce”.
    • What you want to see in the combo box just under the label “Project Folder” is actually the path to your “projects folder”. The Projucer will create a new folder for your new project inside this one.
  • After selecting your projects folder, go to the “Project Name” field at the top left, and type the name of your new project, in my case “VanillaJuce”.
    • Whatever you type will automatically appear in the “Folder” field at the bottom left, i.e., the default name for your new project's folder is the same as the name you choose for your project. If you want a different folder name (but no change to the project name), you can type something different in the “Folder” field.

The right half of this page is where you select what kind(s) of IDE project(s) you require. Well, mostly. There's also that mysterious “Modules Folder” combo box near the top, and the “Use global module path” checkbox below it. These are related to what I said earlier about where you decided to put your main JUCE folder. I recommend that you DO check the “Use global module path” checkbox, and, if you chose to put the JUCE folder somewhere other than C:\ on Windows or your home directory on Mac/Linux, do the following right now:

  • Click on the Projucer's File menu and choose “Global Search Paths…” to see this dialog:

  • Fill in the correct path to the JUCE\modules folder, wherever you decided to put it
  • Put something in for “User Modules” and “VST3 SDK” even if you aren't using these yet.
  • Fill in the any of the lower four SDK paths only if you have actually installed them.
  • If you will be generating IDE projects for a different computer (e.g., I ran the Projucer on my Windows PC and built both Visual Studio 2017 and XCode projects), use the drop-down menu at the top of the dialog to select your other platform(s) and fill in the appropriate paths for these also, unless you decided to install JUCE etc. in the default locations (which I recommend for Mac/Linux).
  • Close the “Global Search Paths” dialog using the little “X” at the top of the window; there's no “OK” button.

Now that you have defined your “global paths”, the “Use global module path” checkbox should make sense, and you should understand why I suggested that you check it. So, back to the Projucer's Create New Project page:

  • You can ignore the “Files to Auto-Generate” item at the top right; it isn't used for Audio Plugin projects.
  • The “Target Platforms” list is straightforward. Check off whichever platforms you would like to build your plugin for.
    • As I said earlier, I strongly recommend that you use Visual Studio 2017 on the Windows platform. The JUCE source code is being modernized at an aggressive pace, with the result that older versions are fast becoming incompatible.
    • On the Mac, XCode is used to create plugins for Mac OS or iOS, but you need to specify which one(s) you want. If you check both, the Projucer will create two separate XCode projects (in separate folders) which point to the same group of source-code files.
    • Note there is no option to select finer details at this time, e.g., whether or not you want to generate both plugin and stand-alone targets in your IDE projects. Don't worry; you'll be able to do this later.
  • At this point, click the big pink “Create…” button at the bottom left, and the Projucer will immediately generate your first set of IDE projects.
getting_started_with_the_projucer.1504016735.txt.gz · Last modified: 2017/08/29 14:25 by shane