Wire in VCA decay CV.tags/v1.1.0^2
@@ -1,6 +1,6 @@ | |||||
{ | { | ||||
"slug": "Befaco", | "slug": "Befaco", | ||||
"version": "1.1.0", | |||||
"version": "1.0.1", | |||||
"license": "GPL-3.0-or-later", | "license": "GPL-3.0-or-later", | ||||
"name": "Befaco", | "name": "Befaco", | ||||
"author": "VCV", | "author": "VCV", | ||||
@@ -82,8 +82,8 @@ struct Kickall : Module { | |||||
pitch.decayTime = params[TIME_PARAM].getValue(); | pitch.decayTime = params[TIME_PARAM].getValue(); | ||||
pitch.process(args.sampleTime); | pitch.process(args.sampleTime); | ||||
// volume envelope TODO: wire in decay CV | |||||
volume.decayTime = params[DECAY_PARAM].getValue(); | |||||
// volume envelope TODO: calibrate CV/slider interaction | |||||
volume.decayTime = clamp(params[DECAY_PARAM].getValue() + inputs[DECAY_INPUT].getVoltage() * 0.1f, 0.01, 1.0); | |||||
volume.process(args.sampleTime); | volume.process(args.sampleTime); | ||||
float freq = params[TUNE_PARAM].getValue(); | float freq = params[TUNE_PARAM].getValue(); | ||||
@@ -2,13 +2,6 @@ | |||||
#include "Common.hpp" | #include "Common.hpp" | ||||
static float expDelta(float delta, float tau) { | |||||
float lin = sgn(delta) * 10.f / tau; | |||||
float exp = M_E * delta / tau; | |||||
return crossfade(lin, exp, 0.90f); | |||||
} | |||||
struct Percall : Module { | struct Percall : Module { | ||||
enum ParamIds { | enum ParamIds { | ||||
ENUMS(VOL_PARAMS, 4), | ENUMS(VOL_PARAMS, 4), | ||||
@@ -36,7 +29,7 @@ struct Percall : Module { | |||||
ADEnvelope envs[4]; | ADEnvelope envs[4]; | ||||
float gains[4] = {}; | float gains[4] = {}; | ||||
float strength = 1.0f; | float strength = 1.0f; | ||||
dsp::SchmittTrigger trigger[4]; | dsp::SchmittTrigger trigger[4]; | ||||
dsp::ClockDivider cvDivider; | dsp::ClockDivider cvDivider; | ||||