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.

62 lines
795B

  1. #pragma once
  2. #include "bogaudio.hpp"
  3. extern Model* modelEightOne;
  4. namespace bogaudio {
  5. struct EightOne : Module {
  6. enum ParamsIds {
  7. STEPS_PARAM,
  8. DIRECTION_PARAM,
  9. SELECT_PARAM,
  10. NUM_PARAMS
  11. };
  12. enum InputsIds {
  13. IN1_INPUT,
  14. IN2_INPUT,
  15. IN3_INPUT,
  16. IN4_INPUT,
  17. IN5_INPUT,
  18. IN6_INPUT,
  19. IN7_INPUT,
  20. IN8_INPUT,
  21. CLOCK_INPUT,
  22. RESET_INPUT,
  23. SELECT_INPUT,
  24. NUM_INPUTS
  25. };
  26. enum OutputsIds {
  27. OUT_OUTPUT,
  28. NUM_OUTPUTS
  29. };
  30. enum LightsIds {
  31. IN1_LIGHT,
  32. IN2_LIGHT,
  33. IN3_LIGHT,
  34. IN4_LIGHT,
  35. IN5_LIGHT,
  36. IN6_LIGHT,
  37. IN7_LIGHT,
  38. IN8_LIGHT,
  39. NUM_LIGHTS
  40. };
  41. Trigger _clock;
  42. Trigger _reset;
  43. int _step;
  44. EightOne() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
  45. onReset();
  46. }
  47. void onReset() override;
  48. void step() override;
  49. };
  50. } // namespace bogaudio