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:
@@ -52,4 +52,4 @@ jobs:
|
|||||||
# not exercise — the bundle step is where bundler.toml and the crate name
|
# not exercise — the bundle step is where bundler.toml and the crate name
|
||||||
# have to agree.
|
# have to agree.
|
||||||
- name: Bundle
|
- name: Bundle
|
||||||
run: cargo xtask bundle codename_206 --release
|
run: cargo xtask bundle bari_206 --release
|
||||||
|
|||||||
Generated
+8
-8
@@ -147,6 +147,14 @@ dependencies = [
|
|||||||
"windows-link",
|
"windows-link",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "bari_206"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"nih_plug",
|
||||||
|
"nih_plug_egui",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "baseview"
|
name = "baseview"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
@@ -337,14 +345,6 @@ dependencies = [
|
|||||||
"objc",
|
"objc",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "codename_206"
|
|
||||||
version = "0.1.0"
|
|
||||||
dependencies = [
|
|
||||||
"nih_plug",
|
|
||||||
"nih_plug_egui",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "combine"
|
name = "combine"
|
||||||
version = "4.6.7"
|
version = "4.6.7"
|
||||||
|
|||||||
+2
-2
@@ -1,8 +1,8 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "codename_206"
|
name = "bari_206"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
authors = ["Mikkeli Matlock <matlockib@gmail.com>"]
|
authors = ["Mikkeli Matlock <mikkeli@novoyuuparosk.org>"]
|
||||||
homepage = "https://github.com/mikkeli/codename-206"
|
homepage = "https://github.com/mikkeli/codename-206"
|
||||||
description = "A VST3/CLAP multiband compressor/limiter with a custom gain-curve display"
|
description = "A VST3/CLAP multiband compressor/limiter with a custom gain-curve display"
|
||||||
# VST3 is on by default in nih_plug, and its bindings (vst3-sys) are GPLv3. Any
|
# VST3 is on by default in nih_plug, and its bindings (vst3-sys) are GPLv3. Any
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
Codename 206
|
Bari 206
|
||||||
Copyright 2026 Mikkeli Matlock
|
Copyright 2026 Mikkeli Matlock
|
||||||
|
|
||||||
Licensed under the GNU General Public License v3.0 or later.
|
Licensed under the GNU General Public License v3.0 or later.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Codename 206
|
# Bari 206
|
||||||
|
|
||||||
*Called 206 because the Peugeot 206 has a 'maxi' variant. You'll know this is a Maximizer knockoff if you can follow that trail of thoughts.*
|
*Called 206 because the Peugeot 206 has a 'maxi' variant. You'll know this is a Maximizer knockoff if you can follow that trail of thoughts.*
|
||||||
Multiband Compressor / Limiter VST3 — Project Plan
|
Multiband Compressor / Limiter VST3 — Project Plan
|
||||||
@@ -163,8 +163,8 @@ The project is already scaffolded (NIH-plug + nih_plug_egui, pinned to a fixed g
|
|||||||
|
|
||||||
```powershell
|
```powershell
|
||||||
# Build + bundle the VST3 and CLAP
|
# Build + bundle the VST3 and CLAP
|
||||||
cargo xtask bundle codename_206 --release
|
cargo xtask bundle bari_206 --release
|
||||||
# Output: target\bundled\Codename 206.vst3 and Codename 206.clap
|
# Output: target\bundled\Bari 206.vst3 and Bari 206.clap
|
||||||
```
|
```
|
||||||
|
|
||||||
### Deployment
|
### Deployment
|
||||||
@@ -184,7 +184,7 @@ Use the provided script (no need to remember the details):
|
|||||||
`deploy.bat` is a double-click wrapper around the same script.
|
`deploy.bat` is a double-click wrapper around the same script.
|
||||||
|
|
||||||
After deploying, in FL Studio: **Options → Manage plugins → tick "Rescan previously failed
|
After deploying, in FL Studio: **Options → Manage plugins → tick "Rescan previously failed
|
||||||
plugins" → Find installed plugins**, then search for **Codename 206**. (The rescan-failed step
|
plugins" → Find installed plugins**, then search for **Bari 206**. (The rescan-failed step
|
||||||
is essential — without it FL silently skips a plugin it has seen before.)
|
is essential — without it FL silently skips a plugin it has seen before.)
|
||||||
|
|
||||||
> **Known issue (deferred):** the **CLAP** build shows its name/vendor/type correctly in FL, but
|
> **Known issue (deferred):** the **CLAP** build shows its name/vendor/type correctly in FL, but
|
||||||
|
|||||||
+2
-2
@@ -3,5 +3,5 @@
|
|||||||
# [package_name]
|
# [package_name]
|
||||||
# name = "Human Readable Plugin Name" # defaults to <package_name>
|
# name = "Human Readable Plugin Name" # defaults to <package_name>
|
||||||
|
|
||||||
[codename_206]
|
[bari_206]
|
||||||
name = "Codename 206"
|
name = "Bari 206"
|
||||||
|
|||||||
+30
-14
@@ -19,34 +19,44 @@
|
|||||||
# run this script; every failure it prints is a place still holding the old name.
|
# run this script; every failure it prints is a place still holding the old name.
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
PKG="codename_206" # Cargo package name == bundler.toml table key
|
PKG="bari_206" # Cargo package name == bundler.toml table key
|
||||||
DISPLAY="Codename 206" # bundle name -> "<DISPLAY>.vst3" / "<DISPLAY>.clap"
|
DISPLAY="Bari 206" # bundle name -> "<DISPLAY>.vst3" / "<DISPLAY>.clap"
|
||||||
PLUGIN_NAME="206 prototype" # Plugin::NAME - what the DAW displays
|
PLUGIN_NAME="Bari 206" # Plugin::NAME - what the DAW displays
|
||||||
VENDOR="Novoyuuparosk" # Plugin::VENDOR
|
VENDOR="Novoyuuparosk" # Plugin::VENDOR - the org, not the person
|
||||||
EMAIL="mikkeli@novoyuuparosk.org" # Plugin::EMAIL
|
EMAIL="mikkeli@novoyuuparosk.org" # Plugin::EMAIL
|
||||||
HOMEPAGE="https://github.com/mikkeli/codename-206" # Cargo homepage -> Plugin::URL
|
HOMEPAGE="https://github.com/mikkeli/codename-206" # Cargo homepage -> Plugin::URL
|
||||||
CLAP_ID="com.mikkeli.codename-206" # CLAP_ID - stable plugin identity
|
CLAP_ID="org.novoyuuparosk.bari-206" # CLAP_ID - stable plugin identity
|
||||||
VST3_CLASS_ID="Codename206Maxi!" # VST3_CLASS_ID - stable identity, MUST be 16 bytes
|
VST3_CLASS_ID="Bari206Multiband" # VST3_CLASS_ID - stable identity, MUST be 16 bytes
|
||||||
DESCRIPTION="A VST3/CLAP multiband compressor/limiter with a custom gain-curve display"
|
DESCRIPTION="A VST3/CLAP multiband compressor/limiter with a custom gain-curve display"
|
||||||
CLAP_DESCRIPTION="Multiband compressor/limiter (stage 3: 3-band + 'All' channel)"
|
CLAP_DESCRIPTION="Multiband compressor/limiter (stage 3: 3-band + 'All' channel)"
|
||||||
|
|
||||||
# Rust type names. Cosmetic - they never reach a host - but a rename that leaves
|
# Rust type names. Cosmetic - they never reach a host - but a rename that leaves
|
||||||
# half of them behind is the residue that says nobody read the file.
|
# half of them behind is the residue that says nobody read the file.
|
||||||
STRUCT="Codename206" # the Plugin impl target (src/lib.rs)
|
STRUCT="Bari206" # the Plugin impl target (src/lib.rs)
|
||||||
PARAMS_STRUCT="Codename206Params" # the Params impl target (src/params.rs)
|
PARAMS_STRUCT="Bari206Params" # the Params impl target (src/params.rs)
|
||||||
|
|
||||||
# Seeded with this repo's CURRENT names, which is the point: each entry is
|
# Old spellings retired by the "Codename 206" -> "Bari 206" rename, plus the new
|
||||||
# skipped while it is still canonical above, and arms itself the moment you
|
# ones so the NEXT rename is self-checking too. Each entry is skipped while it is
|
||||||
# change that value. So the planned "codename 206" -> "206" rename is
|
# still one of the canonical values above and arms the moment it stops being one.
|
||||||
# self-checking - every spelling you miss turns into a FAIL here on the next run.
|
#
|
||||||
|
# Deliberately NOT listed: the bare "codename-206". The repo, its remote and the
|
||||||
|
# homepage URL all keep that name on purpose, so it is current branding, not
|
||||||
|
# residue. The retired CLAP ID is listed in full instead, which cannot collide
|
||||||
|
# with the homepage.
|
||||||
STALE="codename_206
|
STALE="codename_206
|
||||||
codename-206
|
|
||||||
Codename 206
|
Codename 206
|
||||||
Codename206
|
Codename206
|
||||||
Codename206Params
|
Codename206Params
|
||||||
Codename206Maxi!
|
Codename206Maxi!
|
||||||
206 prototype
|
206 prototype
|
||||||
com.mikkeli.codename-206"
|
com.mikkeli.codename-206
|
||||||
|
bari_206
|
||||||
|
Bari 206
|
||||||
|
Bari206
|
||||||
|
Bari206Params
|
||||||
|
Bari206Multiband
|
||||||
|
org.novoyuuparosk.bari-206"
|
||||||
|
|
||||||
set -u
|
set -u
|
||||||
cd "$(dirname "$0")" || exit 1
|
cd "$(dirname "$0")" || exit 1
|
||||||
|
|
||||||
@@ -126,6 +136,12 @@ check "params field type" src/lib.rs "params: Arc<$PARAMS_STRUCT>,"
|
|||||||
printf '\ndocs\n'
|
printf '\ndocs\n'
|
||||||
opt_check "README bundle command" README.md "cargo xtask bundle $PKG"
|
opt_check "README bundle command" README.md "cargo xtask bundle $PKG"
|
||||||
|
|
||||||
|
printf '\nci\n'
|
||||||
|
# CI bundles by package name, so a rename that misses this file breaks the build
|
||||||
|
# rather than drifting quietly - but it breaks after a full compile, which is a slow
|
||||||
|
# way to learn about a typo. Checking it here costs nothing and fails in seconds.
|
||||||
|
opt_check "CI bundle command" .github/workflows/ci.yaml "cargo xtask bundle $PKG"
|
||||||
|
|
||||||
printf '\ndeploy script\n'
|
printf '\ndeploy script\n'
|
||||||
opt_check "deploy.ps1 default package" deploy.ps1 "\$Package = \"$PKG\""
|
opt_check "deploy.ps1 default package" deploy.ps1 "\$Package = \"$PKG\""
|
||||||
opt_check "deploy.ps1 VST3 bundle" deploy.ps1 "\$vst3Name = \"$DISPLAY.vst3\""
|
opt_check "deploy.ps1 VST3 bundle" deploy.ps1 "\$vst3Name = \"$DISPLAY.vst3\""
|
||||||
|
|||||||
+4
-4
@@ -1,6 +1,6 @@
|
|||||||
<#
|
<#
|
||||||
.SYNOPSIS
|
.SYNOPSIS
|
||||||
Build Codename 206 and install the VST3 (and CLAP) into the system plugin folders.
|
Build Bari 206 and install the VST3 (and CLAP) into the system plugin folders.
|
||||||
|
|
||||||
.DESCRIPTION
|
.DESCRIPTION
|
||||||
FL Studio scans `C:\Program Files\Common Files\VST3` by default and ignores
|
FL Studio scans `C:\Program Files\Common Files\VST3` by default and ignores
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
param(
|
param(
|
||||||
[switch]$SkipBuild,
|
[switch]$SkipBuild,
|
||||||
[switch]$User,
|
[switch]$User,
|
||||||
[string]$Package = "codename_206"
|
[string]$Package = "bari_206"
|
||||||
)
|
)
|
||||||
|
|
||||||
$ErrorActionPreference = "Stop"
|
$ErrorActionPreference = "Stop"
|
||||||
@@ -42,8 +42,8 @@ if (-not $SkipBuild) {
|
|||||||
if ($LASTEXITCODE -ne 0) { throw "cargo xtask bundle failed (exit $LASTEXITCODE)" }
|
if ($LASTEXITCODE -ne 0) { throw "cargo xtask bundle failed (exit $LASTEXITCODE)" }
|
||||||
}
|
}
|
||||||
|
|
||||||
$vst3Name = "Codename 206.vst3"
|
$vst3Name = "Bari 206.vst3"
|
||||||
$clapName = "Codename 206.clap"
|
$clapName = "Bari 206.clap"
|
||||||
$bundled = Join-Path $root "target\bundled"
|
$bundled = Join-Path $root "target\bundled"
|
||||||
$vst3Src = Join-Path $bundled $vst3Name
|
$vst3Src = Join-Path $bundled $vst3Name
|
||||||
$clapSrc = Join-Path $bundled $clapName
|
$clapSrc = Join-Path $bundled $clapName
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
// 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
|
//! 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)
|
//! '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,
|
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.
|
/// Height of the handle strip.
|
||||||
const GRAPH_H: f32 = 54.0;
|
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 lo = params.crossover_low_hz.value();
|
||||||
let hi = params.crossover_high_hz.value();
|
let hi = params.crossover_high_hz.value();
|
||||||
// Each param's own min/max (normalized 0/1 map to the range ends).
|
// 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::dsp::compressor::Compressor;
|
||||||
use crate::meters::Meters;
|
use crate::meters::Meters;
|
||||||
use crate::params::Codename206Params;
|
use crate::params::Bari206Params;
|
||||||
|
|
||||||
/// Side length of the square plot.
|
/// Side length of the square plot.
|
||||||
const CURVE_SIZE: f32 = 150.0;
|
const CURVE_SIZE: f32 = 150.0;
|
||||||
/// dB extent of both axes (bottom/left = FLOOR_DB, top/right = 0 dBFS).
|
/// dB extent of both axes (bottom/left = FLOOR_DB, top/right = 0 dBFS).
|
||||||
const FLOOR_DB: f32 = -60.0;
|
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 labels = ["LOW", "MID", "HIGH", "ALL"];
|
||||||
let ch = selected.min(3);
|
let ch = selected.min(3);
|
||||||
let cp = match ch {
|
let cp = match ch {
|
||||||
|
|||||||
+4
-4
@@ -17,8 +17,8 @@ use nih_plug_egui::{
|
|||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
|
|
||||||
use crate::meters::Meters;
|
use crate::meters::Meters;
|
||||||
use crate::params::{Codename206Params, CompressorParams};
|
use crate::params::{Bari206Params, CompressorParams};
|
||||||
use crate::Codename206;
|
use crate::Bari206;
|
||||||
|
|
||||||
mod crossover;
|
mod crossover;
|
||||||
mod gain_curve;
|
mod gain_curve;
|
||||||
@@ -36,7 +36,7 @@ struct EditorState {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Build the plugin editor over shared handles to the params and meter state.
|
/// 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();
|
let egui_state = params.editor_state.clone();
|
||||||
create_egui_editor(
|
create_egui_editor(
|
||||||
params.editor_state.clone(),
|
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))
|
.min_size(Vec2::new(480.0, 320.0))
|
||||||
.show(egui_ctx, egui_state.as_ref(), |ui| {
|
.show(egui_ctx, egui_state.as_ref(), |ui| {
|
||||||
egui::ScrollArea::vertical().show(ui, |ui| {
|
egui::ScrollArea::vertical().show(ui, |ui| {
|
||||||
ui.heading(Codename206::NAME);
|
ui.heading(Bari206::NAME);
|
||||||
meter::draw(ui, &meters, &mut state.meter);
|
meter::draw(ui, &meters, &mut state.meter);
|
||||||
ui.separator();
|
ui.separator();
|
||||||
// Gain curve (left, square) beside the scrolling plot (right, fills the rest).
|
// 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::crossover::Crossover;
|
||||||
use dsp::limiter::Limiter;
|
use dsp::limiter::Limiter;
|
||||||
use meters::Meters;
|
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
|
/// Peak-meter fall: after this long of silence the bars decay by 12 dB. (Matches nih-plug's
|
||||||
/// gain-gui example feel.)
|
/// 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.
|
/// * 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];
|
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 →
|
/// 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
|
/// 'All' compressor → output. Bypassing low+mid+high collapses it to a plain full-band comp
|
||||||
/// driven by the 'All' channel (the crossover sums flat).
|
/// driven by the 'All' channel (the crossover sums flat).
|
||||||
struct Codename206 {
|
struct Bari206 {
|
||||||
params: Arc<Codename206Params>,
|
params: Arc<Bari206Params>,
|
||||||
sample_rate: f32,
|
sample_rate: f32,
|
||||||
crossover: Crossover,
|
crossover: Crossover,
|
||||||
/// Compressors indexed by [`LOW`], [`MID`], [`HIGH`], [`ALL`].
|
/// 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.
|
/// Limiter gain reduction (dB) above which a plot bucket is flagged as hitting the ceiling.
|
||||||
const CEILING_HIT_GR_DB: f32 = 0.1;
|
const CEILING_HIT_GR_DB: f32 = 0.1;
|
||||||
|
|
||||||
impl Default for Codename206 {
|
impl Default for Bari206 {
|
||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
Self {
|
Self {
|
||||||
params: Arc::new(Codename206Params::default()),
|
params: Arc::new(Bari206Params::default()),
|
||||||
sample_rate: 48_000.0,
|
sample_rate: 48_000.0,
|
||||||
crossover: Crossover::new(),
|
crossover: Crossover::new(),
|
||||||
comps: [Compressor::new(), Compressor::new(), Compressor::new(), Compressor::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 {
|
fn lookahead_samples(&self) -> usize {
|
||||||
(self.params.look_ahead_ms.value() * 0.001 * self.sample_rate).round() as usize
|
(self.params.look_ahead_ms.value() * 0.001 * self.sample_rate).round() as usize
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Plugin for Codename206 {
|
impl Plugin for Bari206 {
|
||||||
const NAME: &'static str = "206 prototype";
|
const NAME: &'static str = "Bari 206";
|
||||||
const VENDOR: &'static str = "Novoyuuparosk";
|
const VENDOR: &'static str = "Novoyuuparosk";
|
||||||
const URL: &'static str = env!("CARGO_PKG_HOMEPAGE");
|
const URL: &'static str = env!("CARGO_PKG_HOMEPAGE");
|
||||||
const EMAIL: &'static str = "mikkeli@novoyuuparosk.org";
|
const EMAIL: &'static str = "mikkeli@novoyuuparosk.org";
|
||||||
@@ -403,8 +403,8 @@ impl Plugin for Codename206 {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl ClapPlugin for Codename206 {
|
impl ClapPlugin for Bari206 {
|
||||||
const CLAP_ID: &'static str = "com.mikkeli.codename-206";
|
const CLAP_ID: &'static str = "org.novoyuuparosk.bari-206";
|
||||||
const CLAP_DESCRIPTION: Option<&'static str> =
|
const CLAP_DESCRIPTION: Option<&'static str> =
|
||||||
Some("Multiband compressor/limiter (stage 3: 3-band + 'All' channel)");
|
Some("Multiband compressor/limiter (stage 3: 3-band + 'All' channel)");
|
||||||
const CLAP_MANUAL_URL: Option<&'static str> = Some(Self::URL);
|
const CLAP_MANUAL_URL: Option<&'static str> = Some(Self::URL);
|
||||||
@@ -418,11 +418,11 @@ impl ClapPlugin for Codename206 {
|
|||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Vst3Plugin for Codename206 {
|
impl Vst3Plugin for Bari206 {
|
||||||
const VST3_CLASS_ID: [u8; 16] = *b"Codename206Maxi!";
|
const VST3_CLASS_ID: [u8; 16] = *b"Bari206Multiband";
|
||||||
const VST3_SUBCATEGORIES: &'static [Vst3SubCategory] =
|
const VST3_SUBCATEGORIES: &'static [Vst3SubCategory] =
|
||||||
&[Vst3SubCategory::Fx, Vst3SubCategory::Dynamics];
|
&[Vst3SubCategory::Fx, Vst3SubCategory::Dynamics];
|
||||||
}
|
}
|
||||||
|
|
||||||
nih_export_clap!(Codename206);
|
nih_export_clap!(Bari206);
|
||||||
nih_export_vst3!(Codename206);
|
nih_export_vst3!(Bari206);
|
||||||
|
|||||||
+2
-2
@@ -23,7 +23,7 @@ pub enum DetectionMode {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Params)]
|
#[derive(Params)]
|
||||||
pub struct Codename206Params {
|
pub struct Bari206Params {
|
||||||
#[persist = "editor-state"]
|
#[persist = "editor-state"]
|
||||||
pub editor_state: Arc<EguiState>,
|
pub editor_state: Arc<EguiState>,
|
||||||
|
|
||||||
@@ -87,7 +87,7 @@ pub struct CompressorParams {
|
|||||||
pub mix: FloatParam,
|
pub mix: FloatParam,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Default for Codename206Params {
|
impl Default for Bari206Params {
|
||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
Self {
|
Self {
|
||||||
editor_state: EguiState::from_size(760, 520),
|
editor_state: EguiState::from_size(760, 520),
|
||||||
|
|||||||
Reference in New Issue
Block a user