rename: Codename 206 -> Bari 206

Retires the working codename now rather than at 1.0, because the two identity
constants a DAW uses to recognise a plugin across sessions can only be changed
for free while nothing has saved a project with it. Verified: zero references
to the plugin across all 69 FL project backups, under any identity string.

Derived spellings:
    Cargo package     codename_206        -> bari_206
    bundle / DAW name Codename 206 |
                      206 prototype       -> Bari 206      (unified; drops "prototype")
    Rust types        Codename206(Params) -> Bari206(Params)
    CLAP_ID           com.mikkeli.codename-206
                                          -> org.novoyuuparosk.bari-206
    VST3_CLASS_ID     Codename206Maxi!    -> Bari206Multiband

CLAP_ID moves to reverse-DNS on a domain actually controlled, and stops
disagreeing with a VENDOR that was already Novoyuuparosk. VST3_CLASS_ID stays
exactly 16 bytes and drops "Maxi", which sat close to Image-Line's Maximus and
Maximizer in the same product category.

Author identity converges on Mikkeli Matlock <mikkeli@novoyuuparosk.org>;
Cargo authors had been carrying a personal gmail address while Plugin::EMAIL
already used the org one. VENDOR stays Novoyuuparosk, which is the org rather
than the person, and copyright stays with the person.

Deliberately unchanged: the repo, its remote, the local directory and the
homepage URL all keep "codename-206". Renaming those buys nothing and costs a
Gitea rename, a remote rewrite and a directory move, so the bare "codename-206"
is current branding rather than residue - and is the one spelling the STALE
list must not contain.

Driven by check-branding.sh rather than by grep: setting the canonical block
listed all 26 sites, including .github/workflows/ci.yaml, which no explicit
check covered. That gap is now closed by a positive check on the CI bundle
command, so a future rename fails in seconds instead of after a full compile.
STALE now carries both the retired and the new spellings, so the next rename
is self-checking too.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LU1NRL7fAaZTtFMTTPn2b1
This commit is contained in:
Mikkeli Matlock
2026-08-31 22:55:41 +09:00
parent 73edf58b32
commit 37f34e1175
14 changed files with 78 additions and 62 deletions
+1 -1
View File
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: GPL-3.0-or-later
//! DSP building blocks for Codename 206.
//! DSP building blocks for Bari 206.
//!
//! The signal chain: a `crossover` filterbank splits into bands, each band (plus the summed
//! 'All' channel) runs a `compressor`, and a `limiter` (with a true-peak `oversampler` detector)
+2 -2
View File
@@ -10,7 +10,7 @@ use nih_plug_egui::egui::{
self, pos2, vec2, Align2, Color32, CornerRadius, DragValue, FontId, Painter, Rect, Sense, Stroke,
};
use crate::params::Codename206Params;
use crate::params::Bari206Params;
/// Height of the handle strip.
const GRAPH_H: f32 = 54.0;
@@ -30,7 +30,7 @@ fn fmt_hz(hz: f32) -> String {
}
}
pub(super) fn draw(ui: &mut egui::Ui, params: &Codename206Params, setter: &ParamSetter) {
pub(super) fn draw(ui: &mut egui::Ui, params: &Bari206Params, setter: &ParamSetter) {
let lo = params.crossover_low_hz.value();
let hi = params.crossover_high_hz.value();
// Each param's own min/max (normalized 0/1 map to the range ends).
+2 -2
View File
@@ -10,14 +10,14 @@ use std::sync::atomic::Ordering;
use crate::dsp::compressor::Compressor;
use crate::meters::Meters;
use crate::params::Codename206Params;
use crate::params::Bari206Params;
/// Side length of the square plot.
const CURVE_SIZE: f32 = 150.0;
/// dB extent of both axes (bottom/left = FLOOR_DB, top/right = 0 dBFS).
const FLOOR_DB: f32 = -60.0;
pub(super) fn draw(ui: &mut egui::Ui, params: &Codename206Params, selected: usize, meters: &Meters) {
pub(super) fn draw(ui: &mut egui::Ui, params: &Bari206Params, selected: usize, meters: &Meters) {
let labels = ["LOW", "MID", "HIGH", "ALL"];
let ch = selected.min(3);
let cp = match ch {
+4 -4
View File
@@ -17,8 +17,8 @@ use nih_plug_egui::{
use std::sync::Arc;
use crate::meters::Meters;
use crate::params::{Codename206Params, CompressorParams};
use crate::Codename206;
use crate::params::{Bari206Params, CompressorParams};
use crate::Bari206;
mod crossover;
mod gain_curve;
@@ -36,7 +36,7 @@ struct EditorState {
}
/// Build the plugin editor over shared handles to the params and meter state.
pub(crate) fn create(params: Arc<Codename206Params>, meters: Arc<Meters>) -> Option<Box<dyn Editor>> {
pub(crate) fn create(params: Arc<Bari206Params>, meters: Arc<Meters>) -> Option<Box<dyn Editor>> {
let egui_state = params.editor_state.clone();
create_egui_editor(
params.editor_state.clone(),
@@ -79,7 +79,7 @@ pub(crate) fn create(params: Arc<Codename206Params>, meters: Arc<Meters>) -> Opt
.min_size(Vec2::new(480.0, 320.0))
.show(egui_ctx, egui_state.as_ref(), |ui| {
egui::ScrollArea::vertical().show(ui, |ui| {
ui.heading(Codename206::NAME);
ui.heading(Bari206::NAME);
meter::draw(ui, &meters, &mut state.meter);
ui.separator();
// Gain curve (left, square) beside the scrolling plot (right, fills the rest).
+15 -15
View File
@@ -11,7 +11,7 @@ use dsp::compressor::{Compressor, MAX_LOOKAHEAD_MS};
use dsp::crossover::Crossover;
use dsp::limiter::Limiter;
use meters::Meters;
use params::{build_settings, Codename206Params};
use params::{build_settings, Bari206Params};
/// Peak-meter fall: after this long of silence the bars decay by 12 dB. (Matches nih-plug's
/// gain-gui example feel.)
@@ -38,13 +38,13 @@ const ALL: usize = 3;
/// * ALL - 35 ms: full-band, so it must cover the low content too.
const RMS_WINDOW_MS: [f32; 4] = [50.0, 20.0, 10.0, 35.0];
/// Codename 206 — Stage 3: 3-band crossover + per-band compressors summed into an 'All' channel.
/// Bari 206 — Stage 3: 3-band crossover + per-band compressors summed into an 'All' channel.
///
/// Signal: input → LR4 crossover → {low, mid, high} each through their own compressor → sum →
/// 'All' compressor → output. Bypassing low+mid+high collapses it to a plain full-band comp
/// driven by the 'All' channel (the crossover sums flat).
struct Codename206 {
params: Arc<Codename206Params>,
struct Bari206 {
params: Arc<Bari206Params>,
sample_rate: f32,
crossover: Crossover,
/// Compressors indexed by [`LOW`], [`MID`], [`HIGH`], [`ALL`].
@@ -72,10 +72,10 @@ struct Codename206 {
/// Limiter gain reduction (dB) above which a plot bucket is flagged as hitting the ceiling.
const CEILING_HIT_GR_DB: f32 = 0.1;
impl Default for Codename206 {
impl Default for Bari206 {
fn default() -> Self {
Self {
params: Arc::new(Codename206Params::default()),
params: Arc::new(Bari206Params::default()),
sample_rate: 48_000.0,
crossover: Crossover::new(),
comps: [Compressor::new(), Compressor::new(), Compressor::new(), Compressor::new()],
@@ -92,14 +92,14 @@ impl Default for Codename206 {
}
}
impl Codename206 {
impl Bari206 {
fn lookahead_samples(&self) -> usize {
(self.params.look_ahead_ms.value() * 0.001 * self.sample_rate).round() as usize
}
}
impl Plugin for Codename206 {
const NAME: &'static str = "206 prototype";
impl Plugin for Bari206 {
const NAME: &'static str = "Bari 206";
const VENDOR: &'static str = "Novoyuuparosk";
const URL: &'static str = env!("CARGO_PKG_HOMEPAGE");
const EMAIL: &'static str = "mikkeli@novoyuuparosk.org";
@@ -403,8 +403,8 @@ impl Plugin for Codename206 {
}
}
impl ClapPlugin for Codename206 {
const CLAP_ID: &'static str = "com.mikkeli.codename-206";
impl ClapPlugin for Bari206 {
const CLAP_ID: &'static str = "org.novoyuuparosk.bari-206";
const CLAP_DESCRIPTION: Option<&'static str> =
Some("Multiband compressor/limiter (stage 3: 3-band + 'All' channel)");
const CLAP_MANUAL_URL: Option<&'static str> = Some(Self::URL);
@@ -418,11 +418,11 @@ impl ClapPlugin for Codename206 {
];
}
impl Vst3Plugin for Codename206 {
const VST3_CLASS_ID: [u8; 16] = *b"Codename206Maxi!";
impl Vst3Plugin for Bari206 {
const VST3_CLASS_ID: [u8; 16] = *b"Bari206Multiband";
const VST3_SUBCATEGORIES: &'static [Vst3SubCategory] =
&[Vst3SubCategory::Fx, Vst3SubCategory::Dynamics];
}
nih_export_clap!(Codename206);
nih_export_vst3!(Codename206);
nih_export_clap!(Bari206);
nih_export_vst3!(Bari206);
+2 -2
View File
@@ -23,7 +23,7 @@ pub enum DetectionMode {
}
#[derive(Params)]
pub struct Codename206Params {
pub struct Bari206Params {
#[persist = "editor-state"]
pub editor_state: Arc<EguiState>,
@@ -87,7 +87,7 @@ pub struct CompressorParams {
pub mix: FloatParam,
}
impl Default for Codename206Params {
impl Default for Bari206Params {
fn default() -> Self {
Self {
editor_state: EguiState::from_size(760, 520),