You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
664B

  1. #pragma once
  2. #include "bogaudio.hpp"
  3. #include "dsp/signal.hpp"
  4. using namespace bogaudio::dsp;
  5. extern Model* modelLag;
  6. namespace bogaudio {
  7. struct Lag : Module {
  8. enum ParamsIds {
  9. TIME_PARAM,
  10. TIME_SCALE_PARAM,
  11. SHAPE_PARAM,
  12. NUM_PARAMS
  13. };
  14. enum InputsIds {
  15. TIME_INPUT,
  16. SHAPE_INPUT,
  17. IN_INPUT,
  18. NUM_INPUTS
  19. };
  20. enum OutputsIds {
  21. OUT_OUTPUT,
  22. NUM_OUTPUTS
  23. };
  24. enum LightsIds {
  25. NUM_LIGHTS
  26. };
  27. const int modulationSteps = 100;
  28. int _modulationStep = 0;
  29. ShapedSlewLimiter _slew;
  30. Lag() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
  31. onReset();
  32. }
  33. void onReset() override;
  34. void step() override;
  35. };
  36. } // namespace bogaudio