chore: scaffold Kolmekivi from nih-plug-template
A stereo delay/echo plugin. Scaffolded rather than forked: the template
and the plugins built from it diverge on branding immediately, so they
share code by file copy — as codename-206 does — not by merge base. This
repo starts its own history.
Branded with tools/brand-plugin.sh. Everything derives from PLUGIN_NAME
("Kolmekivi" -> kolmekivi / Kolmekivi / KolmekiviParams), so no override
is pinned. CODENAME is set to the repo name and, by convention, stays
there even if the plugin is later renamed.
Two identity constants are now frozen and must never move, because hosts
key saved projects and presets off them:
CLAP_ID org.novoyuuparosk.kolmekivi
VST3_CLASS_ID KolmekiviDelay!! (exactly 16 bytes)
Host categorisation is set for a delay rather than left at the template's
generic placeholders — ClapFeature::{AudioEffect,Delay,Stereo} and
Vst3SubCategory::{Fx,Delay}. These decide where the plugin appears in a
host's browser and are not covered by the branding checker, which knows
about names rather than categories.
The DSP is not written. src/lib.rs still carries the template's example
gain parameter, so the plugin builds, bundles and loads while the delay is
implemented.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WHt4DykxXaQnyaJfyS8KCn
This commit is contained in:
+48
@@ -0,0 +1,48 @@
|
||||
[package]
|
||||
name = "kolmekivi"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
authors = ["Mikkeli Matlock <mikkeli@novoyuuparosk.org>"]
|
||||
homepage = "http://192.168.2.199:3005/musiikki/kolmekivi"
|
||||
description = "A stereo delay/echo plugin built with NIH-plug"
|
||||
license = "GPL-3.0-or-later"
|
||||
|
||||
[workspace]
|
||||
members = ["xtask"]
|
||||
|
||||
[features]
|
||||
# CLAP only by default. This crate is GPL-3.0-or-later, so enabling VST3 no
|
||||
# longer raises a licensing question — the gate now just keeps the default build
|
||||
# light, since `vst3-sys` and its macro machinery are a sizeable dependency a
|
||||
# CLAP-only plugin never needs. Flip `default` to ["vst3"] if you always want it:
|
||||
# cargo xtask bundle kolmekivi --release --features vst3
|
||||
default = []
|
||||
vst3 = ["nih_plug/vst3"]
|
||||
|
||||
[lib]
|
||||
# `cdylib` is the plugin binary; `lib` (rlib) lets `cargo test` link the unit tests.
|
||||
crate-type = ["cdylib", "lib"]
|
||||
|
||||
# Future-incompatibility warnings are deferred hard errors: rustc is telling you
|
||||
# this code stops compiling on some later release. Denying the group turns that
|
||||
# into a build failure the day it appears, rather than accumulating unnoticed
|
||||
# until a toolchain bump breaks the build on a day you did not choose. Style and
|
||||
# clippy lints are deliberately untouched - they stay warnings.
|
||||
[lints.rust]
|
||||
future_incompatible = { level = "deny", priority = -1 }
|
||||
|
||||
[dependencies]
|
||||
# Pinned to the same commit as musiikki/codename-206.
|
||||
# Update the `rev` when you want to update NIH-plug.
|
||||
# `default-features = false` drops nih_plug's default `vst3` feature; see [features] above.
|
||||
nih_plug = { git = "https://github.com/robbert-vdh/nih-plug.git", rev = "f36931f7af4646065488a9845d8f8c2f95252c23", default-features = false, features = ["assert_process_allocs"] }
|
||||
nih_plug_egui = { git = "https://github.com/robbert-vdh/nih-plug.git", rev = "f36931f7af4646065488a9845d8f8c2f95252c23" }
|
||||
|
||||
[profile.release]
|
||||
lto = "thin"
|
||||
strip = "symbols"
|
||||
|
||||
[profile.profiling]
|
||||
inherits = "release"
|
||||
debug = true
|
||||
strip = "none"
|
||||
Reference in New Issue
Block a user