BogaudioModules

BogaudioModules for VCV Rack
Log | Files | Refs | README | LICENSE

commit 5b52befadc33b57ed451b0ea629e7cf3d1fc9b12
parent 93c50df3320adabf2d573fa30de09b1dff2db3a6
Author: Matt Demanett <matt@demanett.net>
Date:   Wed,  2 May 2018 01:05:22 -0400

FM-OP: decibel response for level.

Diffstat:
Msrc/FMOp.cpp | 5+++--
Msrc/FMOp.hpp | 1+
2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/FMOp.cpp b/src/FMOp.cpp @@ -132,8 +132,9 @@ void FMOp::step() { if (_levelEnvelopeOn) { out *= envelope; } - out *= out; - out *= _decimator.next(_buffer); + out = (1.0f - out) * Amplifier::minDecibels; + _amplifier.setLevel(out); + out = _amplifier.next(_decimator.next(_buffer)); outputs[AUDIO_OUTPUT].value = _feedbackDelayedSample = amplitude * out; } diff --git a/src/FMOp.hpp b/src/FMOp.hpp @@ -76,6 +76,7 @@ struct FMOp : Module { SlewLimiter _depthSL; SlewLimiter _levelSL; SlewLimiter _sustainSL; + Amplifier _amplifier; FMOp() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS)