@@ -213,6 +213,8 @@ struct MidiGenerator { | |||||
} | } | ||||
virtual void onMessage(midi::Message message) {} | virtual void onMessage(midi::Message message) {} | ||||
virtual void onMessage(uint8_t* bytes, size_t size) {} | |||||
}; | }; | ||||
@@ -106,6 +106,7 @@ struct OutputDevice : Device { | |||||
void subscribe(Output* input); | void subscribe(Output* input); | ||||
void unsubscribe(Output* input); | void unsubscribe(Output* input); | ||||
virtual void sendMessage(Message message) {} | virtual void sendMessage(Message message) {} | ||||
virtual void sendMessage(uint8_t* bytes, size_t size) {} | |||||
}; | }; | ||||
//////////////////// | //////////////////// | ||||
@@ -184,6 +185,7 @@ struct Output : Port { | |||||
std::vector<int> getChannels() override; | std::vector<int> getChannels() override; | ||||
void sendMessage(Message message); | void sendMessage(Message message); | ||||
void sendMessage(uint8_t* bytes, size_t size); | |||||
}; | }; | ||||
@@ -264,6 +264,12 @@ void Output::sendMessage(Message message) { | |||||
} | } | ||||
} | } | ||||
void Output::sendMessage(uint8_t* bytes, size_t size) { | |||||
if (outputDevice) { | |||||
outputDevice->sendMessage(bytes, size); | |||||
} | |||||
} | |||||
//////////////////// | //////////////////// | ||||
// midi | // midi | ||||
@@ -70,6 +70,10 @@ struct RtMidiOutputDevice : midi::OutputDevice { | |||||
void sendMessage(midi::Message message) override { | void sendMessage(midi::Message message) override { | ||||
rtMidiOut->sendMessage(message.bytes, message.size); | rtMidiOut->sendMessage(message.bytes, message.size); | ||||
} | } | ||||
void sendMessage(uint8_t* bytes, size_t size) override { | |||||
rtMidiOut->sendMessage(bytes, size); | |||||
} | |||||
}; | }; | ||||