Browse Source

support sending of longer (sysex) midi msgs

pull/1713/head
Ville Oikarinen 5 years ago
parent
commit
652b444954
4 changed files with 14 additions and 0 deletions
  1. +2
    -0
      include/dsp/midi.hpp
  2. +2
    -0
      include/midi.hpp
  3. +6
    -0
      src/midi.cpp
  4. +4
    -0
      src/rtmidi.cpp

+ 2
- 0
include/dsp/midi.hpp View File

@@ -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) {}
}; };






+ 2
- 0
include/midi.hpp View File

@@ -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);
}; };






+ 6
- 0
src/midi.cpp View File

@@ -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


+ 4
- 0
src/rtmidi.cpp View File

@@ -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);
}
}; };






Loading…
Cancel
Save