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.

39 lines
1.4KB

  1. #ifndef TROWASOFT_MODULE_TSSEQUENCERWIDGETBASE_HPP
  2. #define TROWASOFT_MODULE_TSSEQUENCERWIDGETBASE_HPP
  3. #include "rack.hpp"
  4. using namespace rack;
  5. #include "TSSModuleWidgetBase.hpp"
  6. #include "TSOSCConfigWidget.hpp"
  7. struct TSSeqDisplay;
  8. struct TSSequencerModuleBase;
  9. //-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
  10. // TSSequencerWidgetBase
  11. // Sequencer Widget Base Class (adds common UI controls).
  12. //-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
  13. struct TSSequencerWidgetBase : TSSModuleWidgetBase {
  14. // Top digital display for sequencer.
  15. TSSeqDisplay *display;
  16. // OSC configuration widget.
  17. TSOSCConfigWidget* oscConfigurationScreen;
  18. // Numer of steps this should have (for when we get a NULL module).
  19. int maxSteps = 16;
  20. //-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
  21. // TSSequencerWidgetBase() - Base constructor.
  22. // Instantiate a trowaSoft Sequencer widget. v0.60 must have module as param.
  23. // @seqModule : (IN) Pointer to the sequencer module.
  24. //-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
  25. TSSequencerWidgetBase(TSSequencerModuleBase* seqModule);
  26. // Step
  27. void step() override;
  28. // Add base controls.
  29. void addBaseControls() { addBaseControls(false); }
  30. // Add base controls.
  31. void addBaseControls(bool addGridLines);
  32. // Create context menu with common adds to sequencers.
  33. Menu *createContextMenu() override;
  34. };
  35. #endif