Files
kolmekivi/tools/branding.conf
T
mikkeli 1dc7721f7a
CI / Build (push) Successful in 32s
chore: point homepage at the org wiki
The Cargo homepage feeds Plugin::URL, which hosts can show to users, so a
LAN-only Gitea address was the wrong value there. wiki.novoyuuparosk.org
is still a placeholder, but a reachable one.

The Gitea URL is deliberately not added to STALE even though it was
retired as the homepage: it remains the correct clone URL and appears in
the README as one. A value can be retired from one role while staying
current in another, and STALE is about spellings nobody should use rather
than values that moved fields. The checker flagged it and this is the
resolution, matching how codename-206 exempts its own repo name.

Also finishes turning the template's README into this plugin's. The
scaffold left a Quick Start telling the reader to clone the template, and
a `sh check-branding.sh` path that has since moved under tools/. The full
branding rationale stays in the template; this repo keeps a pointer and
the facts specific to it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WHt4DykxXaQnyaJfyS8KCn
2026-09-04 16:14:21 +09:00

104 lines
4.3 KiB
Plaintext

# SPDX-License-Identifier: GPL-3.0-or-later
# branding.conf - this plugin's canonical identity.
#
# Managed by tools/brand-plugin.sh, read by tools/check-branding.sh. Hand-editing
# works and is sometimes the quickest thing, but the helper is what keeps this
# file, the source tree and tools/branding-sites.tsv agreeing with each other.
# Edit here and you are on the hook for running the checker afterwards.
# --- derivations ------------------------------------------------------------
# Defined before the values so the defaults below can use them.
# Package name: lowercased, every run of non-alphanumerics becomes one
# underscore. Cargo accepts hyphens too and maps them to underscores for the
# built artifact, which nih_plug_xtask already handles; underscores are used to
# match the Rust convention.
_derive_pkg() {
printf '%s' "$1" | tr '[:upper:]' '[:lower:]' \
| sed -e 's/[^a-z0-9]\{1,\}/_/g' -e 's/^_//' -e 's/_$//'
}
# Rust type name: CamelCase, non-alphanumerics dropped.
_derive_struct() {
printf '%s' "$1" | sed -e 's/[^A-Za-z0-9]\{1,\}/ /g' \
| awk '{for(i=1;i<=NF;i++) printf "%s%s", toupper(substr($i,1,1)), substr($i,2); print ""}'
}
# --- the names ---------------------------------------------------------------
PLUGIN_NAME="Kolmekivi"
VENDOR="Novoyuuparosk"
EMAIL="mikkeli@novoyuuparosk.org"
# Cargo's authors entry names whoever wrote it, which is not always the vendor:
# an org ships the plugin, a person authored it. Defaults to VENDOR when the two
# are the same, which is the common case for a one-person project.
AUTHOR="Mikkeli Matlock"
HOMEPAGE="https://wiki.novoyuuparosk.org"
DESCRIPTION="A stereo delay/echo plugin built with NIH-plug"
# What the plugin does *now*. No codename, no "prototype", no "v2 rewrite" -
# hosts show this to users who never knew any of that. check-branding.sh
# enforces the mechanical half by rejecting retired names and the repo codename.
CLAP_DESCRIPTION="Stereo delay with feedback and mix control"
# --- frozen identity ---------------------------------------------------------
# Hosts key saved projects and presets off these two. Change either and every
# existing session silently loses the plugin: the track comes up empty, with no
# error. Choose once before the first release, then never again.
# brand-plugin.sh refuses to move them without --allow-identity-change.
CLAP_ID="org.novoyuuparosk.kolmekivi"
VST3_CLASS_ID="KolmekiviDelay!!"
# --- fixed at repo creation --------------------------------------------------
# The repository's own name. Deliberately NOT renamed when the plugin is: the
# repo keeps its development codename while the plugin gets a product name.
# Recorded only so it can be kept out of user-facing text.
CODENAME="kolmekivi"
# Where the two Rust types are defined. A plugin whose params outgrow lib.rs
# points PARAMS_FILE at src/params.rs.
LIB_FILE="src/lib.rs"
PARAMS_FILE="src/lib.rs"
# --- derived unless overridden -----------------------------------------------
# Set one only when the derivation is wrong or rejected - a name like
# "206 Prototype" derives to "206_prototype", which cargo refuses because a
# package name cannot start with a digit.
#
# This template overrides three of them, which a real plugin usually will not:
# its package and type names are the template's own rather than derived from a
# product name. Delete these three lines after renaming and the derivations
# from PLUGIN_NAME take over.
# DISPLAY="Plugin Name" # defaults to PLUGIN_NAME
: "${AUTHOR:=$VENDOR}"
: "${DISPLAY:=$PLUGIN_NAME}"
: "${PKG:=$(_derive_pkg "$PLUGIN_NAME")}"
: "${STRUCT:=$(_derive_struct "$PLUGIN_NAME")}"
: "${PARAMS_STRUCT:=${STRUCT}Params}"
# --- retired spellings -------------------------------------------------------
# Must no longer appear in tracked files. An entry is skipped while it is still
# part of a canonical value above and arms the moment it stops being one, so a
# rename is self-checking in both directions. brand-plugin.sh appends here.
STALE="nih_plug_template
MyPlugin
PluginParams
A minimal NIH-plug audio plugin
Your plugin description
Plugin Name
Your Name
your@email.com
com.your-domain.plugin-name
Unique16CharId!!
YOUR-USERNAME
YOUR-PLUGIN-NAME
your-domain
https://github.com/YOUR-USERNAME/YOUR-PLUGIN-NAME
A minimal NIH-plug audio plugin
com.your-domain.plugin-name
Your plugin description
nih_plug_template
Unique16CharId!!
your@email.com
PluginParams
Plugin Name
Your Name
MyPlugin"