projucer
Create and manage JUCE projects
TLDR
Display information about a project
Resave all files and resources in a project
Update the version number in a project
Generate a JUCE project from a PIP file
Remove all JUCE-style comments (//=====, //----- or ///////)
Display help
SYNOPSIS
projucer [projectfile.jucer]
PARAMETERS
[projectfile.jucer]
Optional. Opens the specified JUCE project file (.jucer) when the projucer application starts.
DESCRIPTION
The projucer is a cross-platform tool, primarily used on Linux systems, from ROLI and later PACE Anti-Piracy, designed for managing JUCE (Jules' Utilisation Class Environment) projects. JUCE is a C++ application framework, and projucer simplifies the creation, configuration, and build process for JUCE-based audio plugins, applications, and other software. It allows developers to define project settings, manage dependencies, select build targets (e.g., VST, AU, standalone application), and automatically generate project files for various IDEs and build systems (e.g., Xcode, Visual Studio, Makefiles).
The tool provides a visual interface for configuring project settings, adding source files, and defining module dependencies, drastically reducing the overhead of manual project setup. It handles tasks like creating directory structures and generating code stubs, which speeds up the initial development stages. projucer aims to be a central hub for JUCE projects, providing a consistent and streamlined workflow across different platforms and IDEs. Projects can contain several different build targets, with the ability to customize individual targets.
CAVEATS
While projucer simplifies project management, understanding JUCE and C++ build processes remains essential for troubleshooting complex build issues. Some IDE-specific configurations might require manual adjustments after project generation.
MODULE MANAGEMENT
projucer allows for easy inclusion and management of JUCE modules. Modules are pre-built components that provide specific functionalities, such as audio processing, graphics, or networking. The tool lets developers specify module dependencies, resolving them automatically and ensuring the necessary code is included in the project.
CODE GENERATION
Besides project file generation, projucer can also generate basic code structures for new JUCE classes, such as AudioProcessors or Components. This can save time during the initial stages of development and ensure consistency with JUCE's coding conventions.
LIVE BUILDS
projucer features a 'Live Build' option. After compilation, it automatically finds your target environment and directly copies the built binaries, enabling quick testing.
HISTORY
The projucer was initially developed by ROLI alongside the JUCE framework itself. It has evolved significantly over time, with updates to support new JUCE features, IDE versions, and build systems. The tool has played a crucial role in the widespread adoption of JUCE as a framework for audio plugin development, as it removes the complexity of manual project setup. In 2020, PACE Anti-Piracy acquired JUCE and the projucer became their responsibility, with contined development and support.