From 208a84a14ccbecd5c3b870974a724f210e158660 Mon Sep 17 00:00:00 2001 From: heck Date: Fri, 13 Sep 2024 20:00:44 +0200 Subject: [PATCH] instr_fm - tuning --- src/instr_fm.cc | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/instr_fm.cc b/src/instr_fm.cc index d591b01..0b93d76 100644 --- a/src/instr_fm.cc +++ b/src/instr_fm.cc @@ -1,10 +1,12 @@ #include "instr_fm.hh" #include "daisysp.h" +#include "utils.hh" namespace Heck { namespace Instrument { - FM::FM(){ + FM::FM() + { init(); } @@ -30,8 +32,6 @@ namespace Heck { void FM::ctl(unsigned int ctl_nr, float val) { - float width = 0.1; - switch (ctl_nr) { case 0: osc.SetFrequency(31 + (val * 320.)); @@ -39,9 +39,10 @@ namespace Heck { case 1: volEnv.SetTime(dsp::ADENV_SEG_DECAY, val * 2.); break; - case 2: - osc.SetRatio(1 - (width / 2.) + val * width); - break; + case 2: { + float ratio_val = scalen_min_max(val, 1., 3.); + osc.SetRatio(ratio_val); + } break; case 3: osc.SetIndex(val * 0.1); break;