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

xtSysexRemoteControl.h (806B)


      1 #pragma once
      2 
      3 #include <vector>
      4 
      5 #include "xtMidiTypes.h"
      6 
      7 namespace synthLib
      8 {
      9 	struct SMidiEvent;
     10 }
     11 
     12 namespace xt
     13 {
     14 	class Xt;
     15 
     16 	class SysexRemoteControl
     17 	{
     18 	public:
     19 		SysexRemoteControl(Xt& _mq) : m_mq(_mq) {}
     20 
     21 		static void createSysexHeader(std::vector<uint8_t>& _dst, SysexCommand _cmd);
     22 
     23 		void sendSysexLCD(std::vector<synthLib::SMidiEvent>& _dst) const;
     24 		void sendSysexButtons(std::vector<synthLib::SMidiEvent>& _dst) const;
     25 		void sendSysexLEDs(std::vector<synthLib::SMidiEvent>& _dst) const;
     26 		void sendSysexRotaries(std::vector<synthLib::SMidiEvent>& _dst) const;
     27 
     28 		bool receive(std::vector<synthLib::SMidiEvent>& _output, const std::vector<uint8_t>& _input) const;
     29 		void handleDirtyFlags(std::vector<synthLib::SMidiEvent>& _output, uint32_t _dirtyFlags) const;
     30 
     31 	private:
     32 		Xt& m_mq;
     33 	};
     34 }