|
- #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
|