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:
+1
-1
@@ -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)
|
||||
|
||||
@@ -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).
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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),
|
||||
|
||||
Reference in New Issue
Block a user