xtArp.h (761B)
1 #pragma once 2 3 #include "baseLib/event.h" 4 5 #include <vector> 6 #include <cstdint> 7 8 namespace juce 9 { 10 class Button; 11 class ComboBox; 12 class Slider; 13 } 14 15 namespace xtJucePlugin 16 { 17 class Editor; 18 19 class Arp 20 { 21 public: 22 explicit Arp(Editor& _editor); 23 24 private: 25 void bind(); 26 template<typename T> void bindT(T* _component, const char** _bindings); 27 28 Editor& m_editor; 29 30 juce::ComboBox* m_arpMode; 31 juce::ComboBox* m_arpClock; 32 juce::ComboBox* m_arpPattern; 33 juce::ComboBox* m_arpDirection; 34 juce::ComboBox* m_arpOrder; 35 juce::ComboBox* m_arpVelocity; 36 juce::Slider* m_arpTempo; 37 juce::Slider* m_arpRange; 38 std::vector<juce::Button*> m_arpReset; 39 40 baseLib::EventListener<bool> m_onPlayModeChanged; 41 baseLib::EventListener<uint8_t> m_onPartChanged; 42 }; 43 }