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
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
- Deno - v1.40 or later deno.land
- CMake - 3.22 or later cmake.org
- Git - For cloning JUCE git-scm.com
-
C++ Compiler
- Windows: Visual Studio 2019, 2022, or 2026
- macOS: Xcode Command Line Tools
- Linux: GCC 8+ or Clang 8+
Technologies Used
- JUCE - Cross-platform C++ framework for audio applications juce.com
- Deno - A secure TypeScript/JavaScript runtime deno.land
- dax - Cross-platform shell tools for Deno jsr.io/@david/dax
- CMake - Cross-platform build system cmake.org