This commit is contained in:
2026-04-20 13:19:15 +03:00
parent 1cc59d5408
commit ad8910ea19
9 changed files with 1333 additions and 449 deletions

View File

@@ -88,17 +88,23 @@ pub enum ParamId {
Lfo4WavePos,
Lfo4Sync,
// Filter 1-2
// Filter 1
Filter1Cutoff,
Filter1Resonance,
Filter1Drive,
Filter1Keytrack,
Filter1Type,
Filter1FmAmount,
// Filter 2
Filter2Cutoff,
Filter2Resonance,
Filter2Drive,
Filter2Keytrack,
Filter2Type,
Filter2FmAmount,
FilterRouting,
// FX
DistDrive,
@@ -149,11 +155,13 @@ impl ParamId {
Self::MasterVolume => 1.0,
Self::Filter1Cutoff | Self::Filter2Cutoff => 1.0,
Self::Filter1Resonance | Self::Filter2Resonance => 0.0,
Self::Filter1FmAmount | Self::Filter2FmAmount => 0.0,
Self::FilterRouting => 0.0,
Self::Env1Sustain | Self::Env2Sustain | Self::Env3Sustain => 1.0,
Self::Env1Attack | Self::Env2Attack | Self::Env3Attack => 0.01,
Self::Env1Decay | Self::Env2Decay | Self::Env3Decay => 0.3,
Self::Env1Release | Self::Env2Release | Self::Env3Release => 0.3,
Self::Polyphony => 1.0, // normalized: 1.0 = 16 voices
Self::Polyphony => 1.0,
Self::ReverbMix => 0.15,
Self::ChorusMix => 0.0,
_ => 0.0,
@@ -174,6 +182,13 @@ impl ParamId {
Self::Filter1Resonance => "Res",
Self::Filter1Drive => "Drive",
Self::Filter1Keytrack => "Key",
Self::Filter1FmAmount => "FM",
Self::Filter2Cutoff => "Cutoff",
Self::Filter2Resonance => "Res",
Self::Filter2Drive => "Drive",
Self::Filter2Keytrack => "Key",
Self::Filter2FmAmount => "FM",
Self::FilterRouting => "Route",
Self::Env1Attack => "A",
Self::Env1Decay => "D",
Self::Env1Sustain => "S",
@@ -217,6 +232,7 @@ impl ParamStore {
pub fn get(&self, id: ParamId) -> f32 {
self.params[id as usize].load(Ordering::Relaxed)
}
#[inline]
pub fn set(&self, id: ParamId, v: f32) {
self.params[id as usize].store(v, Ordering::Relaxed);