A lightweight, tabbed VST3 / CLAP plugin host for Windows. Play synths and route FX chains, driven by any MIDI device. Fully portable: stores all settings next to the exe, touches nothing else on the system.
I always liked tools like TobyBear's MiniHost, SaviHost and Tone2's NanoHost. But wanted something that combines all of them. A quick jamming tool that can open multiple plugin formats. I aim to add support for more formats, but the main ones will most likely be tried first at least. This is a tool that doesn't yet exist elsewhere in a small package like this, at least not as one that you can use file-associations with.
| Feature | Status |
|---|---|
| VST3 x64 | ✅ Working |
| CLAP x64 | ✅ Working - May be buggy - Requires CLAP SDK — see below |
| VST2 x64 | ✅ Working - Requires Steinberg VST2 SDK — see below |
| VST2 32-bit in 64-bit host | 🔴 Needs plugin bridge — see below - planned |
| MIDI 1.0 | ✅ Working |
| MIDI 2.0 (Windows MIDI Services) | |
| Tabbed interface (Synth: parallel + FX: serial) | ✅ Working |
| Tab-order = FX routing order | ✅ Working |
| Portable settings (no AppData/registry) | ✅ Working |
| Audio / MIDI recording | 🔲 Planned |
| Pointer Control functionality | ✅ Working - Absolute (1) and Relative (3) knob modes |
| Standalone App | ✅ Working |
| VST3 Plugin for use in other hosts | 🔲 Planned |
PolyHost\ ← your project root
│
├── build.bat ← THE build script (run this)
├── CMakeLists.txt
├── README.md
│
│
├── Source\
│ ├── Main.cpp
│ ├── MainComponent.h / .cpp
│ ├── PluginTabComponent.h / .cpp
│ ├── AudioEngine.h / .cpp
│ ├── MidiEngine.h / .cpp
│ └── AppSettings.h / .cpp
│
│
├── tools\
│ ├── cmake\ ← extract cmake-3.x.x-windows-x86_64.zip HERE
│ │ └── bin\
│ │ └── cmake.exe
│ │
│ ├── vstsdk2.4\ ← drop your VST2.4 SDK here
│ │ └── pluginterfaces\
│ │ └── vst2.x\
│ │ └── aeffect.h ← CMake checks for this file
│ │
│ └── clap\ ← drop your CLAP SDK here
│ └── CMakeLists.txt
│
│
├── dist\ ← build output — PolyHostInterface.exe lands here
└── [PolyHostInterface.exe]\
└── Settings\ ← created at runtime, settings stored here
└── settings.xml
https://visualstudio.microsoft.com/vs/community/ During install tick: Desktop development with C++ You never open Visual Studio. It only provides the C++ compiler that CMake calls. But this way allows you to use whatever editor you want.
Download the Windows x64 ZIP from: https://cmake.org/download/ Extract so the result is: tools\cmake\bin\cmake.exe
Double-click build.bat from the project root. First run downloads JUCE automatically (needs internet). After that, builds are fully offline. The finished exe appears in dist\PolyHostInterface.exe
- Right-click any .vst2, .vst3 or .clap file in File Explorer
- Open with > Choose another app
- Browse to PolyHostInterface.exe
- Tick "Always use this app" if you want it permanent
If you have a copy of vstsdk2.4, place it here: {CMAKE_SOURCE_DIR}/tools/vstsdk2.4 then run build.bat.
Download clap-main here: https://github.com/free-audio/clap Install to tools/clap/CMakeLists.txt
MIDI Device(s)
|
├── [Synth Tab 1] --+
├── [Synth Tab 2] --+ (summed)
| |
| [FX Tab 1]
| |
├──----------- [FX Tab 2]
| |
└── [Synth Tab 3] --+ (only passes through FX below, bypasses any above)
|
[FX Tab 3]
|
[Audio Out] -> Output meter
MIDI always wired in parallel. Synth and FX audio routing is partially flexible, where plugins are in series and routing can be modified by entering the Routing page. Click the Routing toolbar button and a list of all tabs appears, use Up and Down buttons to manage the processing order.