From 7813a197fdf5adf9058bb51c38c45d29521a34d2 Mon Sep 17 00:00:00 2001 From: Bart Brouns Date: Fri, 15 Nov 2024 11:19:10 +0100 Subject: [PATCH] make panning_amount more sensitive and skewed Before, 100% meant full panning at on octave difference. Now it means full panning at one note difference. --- src/lib.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 9010743..d68a7e7 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -304,9 +304,11 @@ impl TapsParams { panning_amount: FloatParam::new( "panning_amount", 0.0, - FloatRange::Linear { + FloatRange::SymmetricalSkewed { min: -1.0, max: 1.0, + factor: FloatRange::skew_factor(-1.2), + center: 0.0, }, ) .with_unit(" %") @@ -915,8 +917,7 @@ impl Plugin for Del2 { let tap_index = delay_tap.tap_index; let note = self.params.notes[tap_index].load(std::sync::atomic::Ordering::SeqCst); - let pan = - ((f32::from(note) - panning_center) / 12.0 * panning_amount).clamp(-1.0, 1.0); + let pan = ((f32::from(note) - panning_center) * panning_amount).clamp(-1.0, 1.0); self.params.pans[tap_index].store(pan, Ordering::SeqCst); let (offset_l, offset_r) = Self::pan_to_haas_samples(pan, sample_rate);