Commit Graph

2 Commits

Author SHA1 Message Date
mikkeli c6f2f32fb3 feat: make VST3 an opt-in cargo feature
Cargo.toml declared Apache-2.0 while the default build linked vst3-sys,
whose bindings are GPLv3 — so the artifact a fresh clone produced could
not legally be distributed under the licence the repo claimed. A template
should not hand that trap to every project cloned from it.

NIH-plug already anticipates this: its `vst3` feature exists, in upstream's
own words, "mostly for GPL-compliance reasons". Taking `default-features =
false` and re-exporting `vst3` as a local opt-in makes the default build
CLAP-only and genuinely Apache-2.0 clean, while `--features vst3` remains
one flag away for anyone who accepts GPLv3.

Gating the feature rather than relicensing keeps the decision with whoever
uses the template. Reversing it is a one-line default plus removing two
cfg attributes, where relicensing to GPLv3 now would commit every
downstream plugin to that choice.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WHt4DykxXaQnyaJfyS8KCn
2026-08-29 10:24:33 +09:00
irene 4700376bc8 chore: scaffold minimal NIH-plug template
Based on musiikki/codename-206 patterns. Provides a clean, minimal
skeleton for new nih-plug audio plugins:

- Cargo.toml with pinned NIH-plug deps (same rev as codename-206)
- src/lib.rs — skeleton plugin with Params, Plugin impl, CLAP/VST3
- xtask/ — bundler xtask (cargo xtask bundle)
- bundler.toml — placeholder for bundle name
- .cargo/config.toml — xtask alias
- .gitignore — /target, /nih-plug, /_template
- LICENSE — Apache-2.0
- README.md — build and deploy instructions
2026-08-21 13:07:09 +09:00