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.

35 lines
743B

  1. #pragma once
  2. #include <cstdint>
  3. #include "DrumKit.hpp"
  4. namespace rack_plugin_DrumKit {
  5. struct DrumContainer {
  6. float *sample;
  7. unsigned int length;
  8. };
  9. struct DrumModule : Module {
  10. enum ParamIds { DRUM1_PARAM, DRUM2_PARAM, NUM_PARAMS };
  11. enum InputIds { CLOCK1_INPUT, CLOCK2_INPUT, NUM_INPUTS };
  12. enum OutputIds { AUDIO1_OUTPUT, AUDIO2_OUTPUT, NUM_OUTPUTS };
  13. enum LightIds { NUM_LIGHTS };
  14. DrumModule( );
  15. void step( ) override;
  16. virtual void setupSamples( );
  17. struct DrumContainer *getSample(float);
  18. SynthDevKit::CV *cv1;
  19. uint32_t currentStep1;
  20. bool ready1;
  21. SynthDevKit::CV *cv2;
  22. uint32_t currentStep2;
  23. bool ready2;
  24. struct DrumContainer samples[32];
  25. uint8_t numSamples;
  26. };
  27. } // namespace rack_plugin_DrumKit