Deno JUCE Project Generator

Generate JUCE audio plugin projects with a single URL

Overview

This tool is a JUCE audio plugin project generator that leverages Deno's URL execution feature. Simply run deno run with a URL to generate a ready-to-use JUCE plugin project. JUCE framework is automatically cloned from GitHub during project generation.

🎹

JUCE Audio Plugin

Generate VST3, AU, and Standalone plugin projects with modern CMake setup.

🚀

No Installation Required

With Deno installed, you can run directly from a URL. No tool installation needed.

🔧

Type-Safe Build System

TypeScript-based build scripts provide type-safe build automation.

🌍

Cross-Platform

The same scripts work on Windows, macOS, and Linux.

Generated Plugin Formats

🎛️

VST3

Windows, macOS, Linux

🍎

AU (Audio Unit)

macOS only

🖥️

Standalone

All platforms

JUCE License Notice

Important: JUCE is a commercial/open-source framework owned by Raw Material Software Limited.

When using this generator, you must comply with JUCE's licensing terms:

  • Personal/Small commercial use: Free under the JUCE Starter license (up to $20,000 annual revenue, commercial product release allowed)
  • Educational use: Free under the JUCE Educational license (limited to educational purposes at universities, schools, and accredited online courses; no commercial use)
  • Commercial use: If annual revenue exceeds $20,000, requires a commercial license from JUCE (Indie: up to $300,000 / Pro: unlimited)
  • Open Source: Available under AGPLv3

Please review the JUCE License before distributing any plugins created with this generator.

This generator clones JUCE from https://github.com/juce-framework/JUCE during project generation. The JUCE framework itself is not included in this repository.

Quick Start

Step 1: Install Deno

If you haven't installed Deno yet:

curl -fsSL https://deno.land/install.sh | sh
irm https://deno.land/install.ps1 | iex

Step 2: Generate a Plugin Project

deno run --allow-read --allow-write --allow-run --allow-net --allow-env https://raw.githubusercontent.com/cocotone/deno-juce-project-generator/main/generator/generate.ts --name "MyAudioPlugin" --author "Your Name" --output ./my-audio-plugin --with-git

Step 3: Build & Run

cd my-audio-plugin
deno task build        # Build the plugin
deno task run          # Run the Standalone app

Command Options

Option Short Default Description
--name -n MyPlugin Plugin name
--author -a Your Name Author/Company name
--version -v 0.0.1 Plugin version
--output -o (plugin name) Output directory
--manufacturer-code Manu 4-char manufacturer code
--plugin-code Plug 4-char plugin code
--juce-tag master JUCE git tag/branch
--vs-version (auto-detect) Visual Studio version: 2019, 2022, or 2026 (Windows only)
--with-git false Initialize git repository

Generated Project Structure

<plugin-name>/
├── CMakeLists.txt          # CMake configuration for JUCE plugin
├── deno.json               # Deno task configuration
├── build.ts                # Build script (TypeScript/Deno)
├── build.config.ts         # Build configuration
├── cmake-file-api.ts       # CMake File API integration
├── cmake-types.ts          # TypeScript type definitions
├── .gitignore
├── External/
│   └── JUCE/               # JUCE framework (git cloned)
└── Source/
    ├── PluginProcessor.h   # Audio processor header
    ├── PluginProcessor.cpp # Audio processor implementation
    ├── PluginEditor.h      # Plugin editor (GUI) header
    └── PluginEditor.cpp    # Plugin editor implementation

Available Build Tasks

Task Description
deno task build Build in Release mode
deno task build:debug Build in Debug mode
deno task clean Clean build directory
deno task rebuild Clean and rebuild
deno task run Build and run Standalone
deno task run:debug Build and run Standalone (Debug)

Requirements

Technologies Used