midiInput.h (574B)
1 #pragma once 2 3 #include <string> 4 #include <vector> 5 6 #include "midiDevice.h" 7 8 #include "synthLib/midiTypes.h" 9 10 namespace mqConsoleLib 11 { 12 class MidiInput : public MidiDevice 13 { 14 public: 15 MidiInput(const std::string& _deviceName); 16 ~MidiInput() override; 17 18 bool process(std::vector<synthLib::SMidiEvent>& _events); 19 20 int getDefaultDeviceId() const override; 21 22 bool openDevice(int _devId) override; 23 private: 24 void process(std::vector<synthLib::SMidiEvent>& _events, uint32_t _message); 25 26 void* m_stream = nullptr; 27 std::vector<uint8_t> m_sysexBuffer; 28 bool m_readSysex = false; 29 }; 30 }