|
|
@ -16,17 +16,10 @@ namespace Heck { |
|
|
|
osc.SetFrequency(40); |
|
|
|
osc.SetRatio(0.); |
|
|
|
osc.SetIndex(0.); |
|
|
|
|
|
|
|
volEnv.Init(samplerate); |
|
|
|
volEnv.SetTime(dsp::ADENV_SEG_ATTACK, .0001); |
|
|
|
volEnv.SetTime(dsp::ADENV_SEG_DECAY, 0.7); |
|
|
|
volEnv.SetMax(1); |
|
|
|
volEnv.SetMin(0); |
|
|
|
} |
|
|
|
|
|
|
|
void FM::trigger() |
|
|
|
{ |
|
|
|
volEnv.Trigger(); |
|
|
|
osc.Reset(); |
|
|
|
} |
|
|
|
|
|
|
@ -37,7 +30,6 @@ namespace Heck { |
|
|
|
osc.SetFrequency(31 + (val * 320.)); |
|
|
|
break; |
|
|
|
case 1: |
|
|
|
volEnv.SetTime(dsp::ADENV_SEG_DECAY, val * 2.); |
|
|
|
break; |
|
|
|
case 2: { |
|
|
|
float ratio_val = scalen_min_max(val, 1., 3.); |
|
|
@ -56,8 +48,6 @@ namespace Heck { |
|
|
|
{ |
|
|
|
float sig{}; |
|
|
|
sig = osc.Process(); |
|
|
|
float volEnv_sig = volEnv.Process(); |
|
|
|
sig *= volEnv_sig; |
|
|
|
return sig; |
|
|
|
} |
|
|
|
|
|
|
|