HouseOfMixtape-DAW-Plugin/README.md

3.8 KiB

House of Mixtape — DAW Plugin (Path 2)

Cross-platform VST3/AU plugin that lets the user upload audio from inside their DAW and receive Phoenix-extracted stems + MIDI directly into the arrangement. Targets Win/Mac/Linux. AAX (Pro Tools) is a v2 ambition.

Status: scaffolding (2026-05-03)

This directory holds the JUCE project skeleton + build instructions. The actual plugin is not yet compiled — that's a separate sprint that needs:

  1. JUCE installed (clone https://github.com/juce-framework/JUCE)
  2. CMake 3.22+
  3. Per-OS toolchain (MSVC on Win, Xcode on macOS, gcc/clang on Linux)

The skeleton is enough to verify the build pipeline. Once a developer has JUCE + CMake set up locally, cmake -B build && cmake --build build should produce a working empty plugin that loads in Ableton/FL/Logic.

Why JUCE (vs alternatives)

  • JUCE : industry standard for VST3/AU plugins. Free for open-source, paid licence ($800/yr indie) for commercial. Cross-platform out of the box. Used by everyone (Pro-Q, Serum, Massive, ToneBoosters…).
  • iPlug2 : MIT-licenced alternative. Smaller community. Considered.
  • DPF : niche.
  • Faust : DSP-only, not for HTTP-talking plugins.

JUCE wins on docs + support + the fact that we'll integrate HTTP + file-import in C++, which is well-trod ground there.

What the plugin does

┌───────────── DAW (Ableton/FL/Logic/Reaper) ─────────────┐
│                                                          │
│   ┌──────────────────────────────────┐                   │
│   │  House of Mixtape (VST3 plugin)  │                   │
│   │                                  │                   │
│   │  1. User drag-drops audio        │                   │
│   │  2. POST registry.../jobs/upload │                   │
│   │  3. POST .../jobs/submit         │                   │
│   │  4. Poll /status (progress bar)  │                   │
│   │  5. GET /output → stems + MIDI   │                   │
│   │  6. Drop stems into DAW tracks   │                   │
│   │     (via VST3 host import API)   │                   │
│   └──────────────────────────────────┘                   │
└──────────────────────────────────────────────────────────┘

Files

Path Purpose
CMakeLists.txt JUCE+CMake project. References JUCE submodule.
Source/PluginProcessor.{h,cpp} AudioProcessor — does no DSP yet, just hosts the editor.
Source/PluginEditor.{h,cpp} The plugin UI. Skeleton: Upload button + status text.
Source/HomApiClient.{h,cpp} HTTP client for registry.houseofmixtape.com/api/jobs/*. Skeleton stubs.

Build (when ready)

# Clone JUCE next to this dir
cd ..
git clone --depth 1 https://github.com/juce-framework/JUCE.git
cd daw-plugin

# Configure + build (Linux example)
cmake -B build -DCMAKE_BUILD_TYPE=Release \
      -DJUCE_BUILD_TESTS=OFF \
      -DJUCE_DIR=$(pwd)/../JUCE
cmake --build build --target HouseOfMixtape_VST3 -j

# Output:
# build/HouseOfMixtape_artefacts/Release/VST3/HouseOfMixtape.vst3/

Roadmap

  • Scaffold (this commit)
  • HelloWorld build verified on at least one OS
  • HTTP client wired to registry.houseofmixtape.com
  • Bearer auth flow
  • Audio drag-drop in plugin window
  • Status polling + progress bar
  • Stems import to DAW tracks (VST3 host file-drop API)
  • AU build (macOS)
  • Code signing + notarization (macOS)
  • Win installer
  • Distribution (Gumroad? Free? Subscription?)