docs: add proper README with build/deploy instructions
This commit is contained in:
@@ -1,3 +1,73 @@
|
||||
# nih-plug-template
|
||||
# NIH-plug Template
|
||||
|
||||
Minimal NIH-plug audio plugin scaffold (Rust + CLAP/VST3 + egui)
|
||||
Minimal scaffold for new [NIH-plug](https://github.com/robbert-vdh/nih-plug) audio plugins (Rust + CLAP/VST3 + egui).
|
||||
|
||||
Based on patterns from [`musiikki/codename-206`](http://192.168.2.199:3005/musiikki/codename-206).
|
||||
|
||||
## Quick Start
|
||||
|
||||
```bash
|
||||
# Clone this repo as your starting point
|
||||
git clone http://192.168.2.199:3005/musiikki/nih-plug-template my-plugin
|
||||
cd my-plugin
|
||||
|
||||
# Edit: src/lib.rs, Cargo.toml, bundler.toml — replace placeholder values
|
||||
# See musiikki/codename-206 for a real-world example of how to fill these in
|
||||
```
|
||||
|
||||
## Build
|
||||
|
||||
```bash
|
||||
# Install Rust via rustup: https://rustup.rs
|
||||
# No VST3 SDK needed — NIH-plug bundles its own bindings.
|
||||
|
||||
# Build + bundle the VST3 and CLAP
|
||||
cargo xtask bundle nih_plug_template --release
|
||||
```
|
||||
|
||||
**Output:** `target/bundled/nih_plug_template.vst3` and `nih_plug_template.clap`
|
||||
|
||||
## Deploy
|
||||
|
||||
### FL Studio
|
||||
|
||||
FL Studio scans `C:\Program Files\Common Files\VST3` by default, **ignores directory junctions**
|
||||
(so a symlinked bundle is invisible to its scanner), and caches failed scans.
|
||||
|
||||
1. Copy the `.vst3` bundle to a folder FL scans (e.g. `C:\Program Files\Common Files\VST3`).
|
||||
2. Copy the `.clap` bundle to a folder FL scans (e.g. `C:\Program Files\Common Files\CLAP`).
|
||||
3. In FL Studio: **Options → Manage plugins → tick "Rescan previously failed plugins" → Find installed plugins**, then search for your plugin name (set in `bundler.toml`).
|
||||
|
||||
### Linux
|
||||
|
||||
```bash
|
||||
# VST3
|
||||
cp target/bundled/nih_plug_template.vst3 ~/.vst3/
|
||||
|
||||
# CLAP
|
||||
cp target/bundled/nih_plug_template.clap ~/.clap/
|
||||
|
||||
# Or globally:
|
||||
# sudo cp target/bundled/nih_plug_template.vst3 /usr/lib/vst3/
|
||||
# sudo cp target/bundled/nih_plug_template.clap /usr/lib/clap/
|
||||
```
|
||||
|
||||
## Project Structure
|
||||
|
||||
```
|
||||
Cargo.toml # Package deps — NIH-plug pinned to codename-206's rev
|
||||
bundler.toml # Bundle name for `cargo xtask bundle`
|
||||
src/lib.rs # Plugin skeleton — fill in params, DSP, editor
|
||||
xtask/ # Bundler xtask (cargo xtask bundle)
|
||||
.cargo/config.toml # xtask alias
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
Apache-2.0
|
||||
|
||||
## VST3 Licensing Note
|
||||
|
||||
You must accept Steinberg's VST3 SDK licence before distributing VST3 binaries.
|
||||
NIH-plug's VST3 bindings are GPLv3; if you distribute, the plugin must also be GPLv3
|
||||
(or you need a commercial Steinberg licence). CLAP has no such restriction.
|
||||
|
||||
Reference in New Issue
Block a user