diff --git a/.gitignore b/.gitignore index f1461d0c..8dd27f2b 100644 --- a/.gitignore +++ b/.gitignore @@ -12,5 +12,5 @@ /autosave.vcv /settings.json /screenshots -/.vs/Rack/v16/ipch/AutoPCH /.vs +/_ReSharper.Caches diff --git a/dep/osdialog b/dep/osdialog index e5db5de6..7be48961 160000 --- a/dep/osdialog +++ b/dep/osdialog @@ -1 +1 @@ -Subproject commit e5db5de6444f4b2c4e1390c67b3efd718080c3da +Subproject commit 7be4896180c9f78363d71e1d4510748b0ab01670 diff --git a/include/midi.hpp b/include/midi.hpp index f1bd35d4..f4296994 100644 --- a/include/midi.hpp +++ b/include/midi.hpp @@ -17,6 +17,13 @@ namespace midi { struct Message { uint8_t size = 3; uint8_t bytes[3] = {}; + uint8_t *longMessage = NULL; + + void setSysex(uint8_t *msg, uint8_t len) + { + size=len; + longMessage = msg; + } void setSize(uint8_t size) { assert(size <= 3); diff --git a/src/rtmidi.cpp b/src/rtmidi.cpp index df24af92..d6a26b1f 100644 --- a/src/rtmidi.cpp +++ b/src/rtmidi.cpp @@ -68,7 +68,10 @@ struct RtMidiOutputDevice : midi::OutputDevice { } void sendMessage(midi::Message message) override { - rtMidiOut->sendMessage(message.bytes, message.size); + if(message.size > 3) + rtMidiOut->sendMessage(message.longMessage, message.size); + else + rtMidiOut->sendMessage(message.bytes, message.size); } };