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

xtFrontPanel.h (693B)


      1 #pragma once
      2 
      3 #include "xtLcd.h"
      4 
      5 #include "juce_gui_basics/juce_gui_basics.h"
      6 
      7 #include "xtLib/xtLeds.h"
      8 
      9 class Controller;
     10 
     11 namespace xtJucePlugin
     12 {
     13 	class Editor;
     14 
     15 	class FrontPanel
     16 	{
     17 	public:
     18 		explicit FrontPanel(const Editor& _editor, Controller& _controller);
     19 		~FrontPanel();
     20 
     21 		void processSysex(const std::vector<uint8_t>& _msg) const;
     22 
     23 		XtLcd* getLcd() const
     24 		{
     25 			return m_lcd.get();
     26 		}
     27 
     28 	private:
     29 		void processLCDUpdate(const std::vector<uint8_t>& _msg) const;
     30 		void processLedUpdate(const std::vector<uint8_t>& _msg) const;
     31 
     32 		std::array<juce::Button*, static_cast<uint32_t>(xt::LedType::Count)> m_leds{};
     33 
     34 		Controller& m_controller;
     35 		std::unique_ptr<XtLcd> m_lcd;
     36 	};
     37 }