feat(patina): per-band compressor gain stage with Threshold, Ratio and Knee
Tester feedback asked for a threshold and a ratio. Each band now cuts like a small compressor: Threshold (dB above the local floor) replaces Selectivity, Ratio scales the cut per dB above it (inf:1 is the old behaviour), and a Soft/Hard knee switch sets the curve. A small graph shows bump height in, cut out. Mix and Output move to the slider panel so the detection panel fits. common-ui gains rotary_text for knobs with custom value text.
This commit is contained in:
1 parent
7b989f7685
commit
9ca4e4f9dd
13 files changed
+568
-102
No files matched your search
@@ -114,6 +114,13 @@ fn effect_ports_state_latency_and_audio_lifecycle() {
|
||||
envelope
|
||||
.params
|
||||
.insert("sensitivity_1".into(), ParamValue::F32(-12.));
|
||||
envelope
|
||||
.params
|
||||
.insert("threshold".into(), ParamValue::F32(6.));
|
||||
envelope.params.insert("ratio".into(), ParamValue::F32(3.));
|
||||
envelope
|
||||
.params
|
||||
.insert("knee".into(), ParamValue::String("hard".into()));
|
||||
let encoded = serde_json::to_vec(&envelope).unwrap();
|
||||
let mut framed = (encoded.len() as u64).to_le_bytes().to_vec();
|
||||
framed.extend_from_slice(&encoded);
|
||||
|
||||
Reference in new issue
Block a user