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(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 unsubscribe(Output* input);
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;

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


+ 4
- 0
src/rtmidi.cpp View File

@@ -70,6 +70,10 @@ struct RtMidiOutputDevice : midi::OutputDevice {
void sendMessage(midi::Message message) override {
rtMidiOut->sendMessage(message.bytes, message.size);
}

void sendMessage(uint8_t* bytes, size_t size) override {
rtMidiOut->sendMessage(bytes, size);
}
};




Loading…
Cancel
Save