|  | #include "rack.hpp"
using namespace rack;
namespace rack_plugin_rcm {
namespace SongRoll {
  struct SongRollData;
  struct PatternHeaderWidget;
  struct PatternControlWidget;
  struct RepeatControlWidget;
  struct ClockDivControlWidget;
  class PatternControllerSlice : public VirtualWidget {
  public:
    const int channel;
    SongRollData& data;
    SequentialLayout* layout;
    PatternHeaderWidget* header;
    PatternControlWidget* pattern;
    RepeatControlWidget* repeats;
    ClockDivControlWidget* clock_div;
    PatternControllerSlice(int channel, SongRollData& data, int section);
    void draw(NVGcontext* ctx) override;
    void step() override;
    void onMouseDown(EventMouseDown& e) override;
    void setSection(int section);
  private:
      int section = 0;
      bool sectionChanged = true;
  };
}
} // namespace rack_plugin_rcm
 |