gearmulator

Emulation of classic VA synths of the late 90s/2000s that are based on Motorola 56300 family DSPs
Log | Files | Refs | Submodules | README | LICENSE

mqPartSelect.h (664B)


      1 #pragma once
      2 
      3 #include "jucePluginLib/parameterbinding.h"
      4 
      5 namespace mqJucePlugin
      6 {
      7 	class mqPartButton;
      8 	class Controller;
      9 	class Editor;
     10 
     11 	class mqPartSelect
     12 	{
     13 	public:
     14 		explicit mqPartSelect(mqJucePlugin::Editor& _editor, Controller& _controller, pluginLib::ParameterBinding& _parameterBinding);
     15 
     16 		void onPlayModeChanged() const;
     17 
     18 		void selectPart(uint8_t _index) const;
     19 
     20 	private:
     21 		void updateUiState() const;
     22 
     23 		struct Part
     24 		{
     25 			mqPartButton* button = nullptr;
     26 			juce::Button* led = nullptr;
     27 		};
     28 
     29 		mqJucePlugin::Editor& m_editor;
     30 		Controller& m_controller;
     31 		pluginLib::ParameterBinding& m_parameterBinding;
     32 		std::array<Part, 16> m_parts{};
     33 	};
     34 }