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.

48 lines
862B

  1. #pragma once
  2. #include "common.hpp"
  3. #include <sstream>
  4. #include <iomanip>
  5. #include <algorithm>
  6. namespace rack_plugin_TheXOR {
  7. #define NUM_SEQUENCERS (5)
  8. #define TOTAL_STEPS (32)
  9. } // namespace rack_plugin_TheXOR
  10. #include "sprlnSequencer.hpp"
  11. #include "SpiraloneModule.hpp"
  12. namespace rack_plugin_TheXOR {
  13. ////////////////////
  14. // module widgets
  15. ////////////////////
  16. struct Spiralone;
  17. struct SpiraloneWidget : SequencerWidget
  18. {
  19. public:
  20. SpiraloneWidget(Spiralone *module);
  21. Menu *addContextMenu(Menu *menu) override;
  22. void onMenu(int action);
  23. private:
  24. enum MENUACTIONS
  25. {
  26. RANDOMIZE_PITCH,
  27. RANDOMIZE_LEN,
  28. RANDOMIZE_STRIDE,
  29. RANDOMIZE_XPOSE
  30. };
  31. void createSequencer(int seq);
  32. ModuleLightWidget *createLed(int seq, Vec pos, Module *module, int firstLightId, bool big = false);
  33. NVGcolor color[NUM_SEQUENCERS];
  34. };
  35. } // namespace rack_plugin_TheXOR