#pragma once #include "bogaudio.hpp" #include "dsp/signal.hpp" using namespace bogaudio::dsp; extern Model* modelLag; namespace bogaudio { struct Lag : Module { enum ParamsIds { TIME_PARAM, TIME_SCALE_PARAM, SHAPE_PARAM, NUM_PARAMS }; enum InputsIds { TIME_INPUT, SHAPE_INPUT, IN_INPUT, NUM_INPUTS }; enum OutputsIds { OUT_OUTPUT, NUM_OUTPUTS }; enum LightsIds { NUM_LIGHTS }; const int modulationSteps = 100; int _modulationStep = 0; ShapedSlewLimiter _slew; Lag() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) { onReset(); } void onReset() override; void step() override; }; } // namespace bogaudio