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.

53 lines
733B

  1. #pragma once
  2. #include "bogaudio.hpp"
  3. #include "dsp/signal.hpp"
  4. using namespace bogaudio::dsp;
  5. extern Model* modelPan;
  6. namespace bogaudio {
  7. struct Pan : Module {
  8. enum ParamsIds {
  9. PAN1_PARAM,
  10. PAN2_PARAM,
  11. NUM_PARAMS
  12. };
  13. enum InputsIds {
  14. CV1_INPUT,
  15. IN1_INPUT,
  16. CV2_INPUT,
  17. IN2_INPUT,
  18. NUM_INPUTS
  19. };
  20. enum OutputsIds {
  21. L_OUTPUT,
  22. R_OUTPUT,
  23. NUM_OUTPUTS
  24. };
  25. enum LightsIds {
  26. NUM_LIGHTS
  27. };
  28. Panner _panner1;
  29. Panner _panner2;
  30. SlewLimiter _slew1;
  31. SlewLimiter _slew2;
  32. Saturator _saturatorLeft;
  33. Saturator _saturatorRight;
  34. Pan() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
  35. onSampleRateChange();
  36. }
  37. void onSampleRateChange() override;
  38. void step() override;
  39. };
  40. } // namespace bogaudio