Ballast gives every part of a bassline one gain that brings it to the target loudness, with no compression inside a part. Parts start at note starts, detected from the audio or taken from MIDI, or on the host's beat grid, so a patch change on the same note counts too. - Loudness is K-weighted over each part's first 100 ms, in 10 ms blocks with a relative gate, and every part is weighted from rest so the last part does not ring into it. - The audio path is delayed by the tracker's lookahead, the window and a 5 ms glide, so each gain is in place on its part's first sample. - Learn takes the next part's loudness as the target. Amount, Range, Measure from (leave the sub out), Gate, Output, Bypass. - Editor shows the last 32 parts in and out, the target, and the spread of the last 16 parts. - Registered in the catalog, workflows, editor-check, README, chain and development docs, and the website copy.
38 lines
1.6 KiB
TOML
38 lines
1.6 KiB
TOML
[workspace]
|
|
resolver = "2"
|
|
members = ["plugins/common/ui", "plugins/common/dsp", "plugins/anvil/core", "plugins/anvil/ui", "plugins/lathe/core", "plugins/lathe/ui", "plugins/temper/core", "plugins/temper/ui", "plugins/weld/core", "plugins/weld/ui", "plugins/knurl/core", "plugins/knurl/ui", "plugins/planish/core", "plugins/planish/ui", "plugins/braze/core", "plugins/braze/ui", "plugins/quench/core", "plugins/quench/ui", "plugins/ballast/core", "plugins/ballast/ui", "plugins/crucible/core", "plugins/crucible/ui", "plugins/rivet/core", "plugins/rivet/midi", "plugins/rivet/preview", "plugins/rivet/app", "plugins/patina/core", "plugins/patina/render", "plugins/patina/ui"]
|
|
exclude = ["plugins/rivet/plugin", "tools/editor-check", "plugins/patina/plugin", "plugins/anvil/plugin", "plugins/crucible/plugin", "plugins/lathe/plugin", "plugins/temper/plugin", "plugins/weld/plugin", "plugins/knurl/plugin", "plugins/planish/plugin"]
|
|
|
|
[workspace.package]
|
|
edition = "2021"
|
|
license = "ISC"
|
|
|
|
[workspace.dependencies]
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
rivet-core = { path = "plugins/rivet/core" }
|
|
rivet-midi = { path = "plugins/rivet/midi" }
|
|
|
|
[profile.release]
|
|
lto = "thin"
|
|
strip = "symbols"
|
|
|
|
# Signal-level tests render seconds of audio; unoptimised DSP makes them crawl.
|
|
[profile.dev.package.common-dsp]
|
|
opt-level = 2
|
|
[profile.dev.package.lathe-core]
|
|
opt-level = 2
|
|
[profile.dev.package.temper-core]
|
|
opt-level = 2
|
|
[profile.dev.package.knurl-core]
|
|
opt-level = 2
|
|
[profile.dev.package.planish-core]
|
|
opt-level = 2
|
|
|
|
[profile.dev.package.weld-core]
|
|
opt-level = 2
|
|
[profile.dev.package.quench-core]
|
|
opt-level = 2
|
|
[profile.dev.package.ballast-core]
|
|
opt-level = 2
|