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 }