From 9da1253288a035738db1c5c81050cbe78c98dbfd Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Thu, 5 Jul 2018 13:45:06 -0400 Subject: [PATCH] system common and system realtime messages are not valid in SMF files --- libs/evoral/src/SMF.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/libs/evoral/src/SMF.cpp b/libs/evoral/src/SMF.cpp index b4fa4a16c8..9bffa59805 100644 --- a/libs/evoral/src/SMF.cpp +++ b/libs/evoral/src/SMF.cpp @@ -367,6 +367,26 @@ SMF::append_event_delta(uint32_t delta_t, uint32_t size, const uint8_t* buf, eve printf("%X ", buf[i]); } printf("\n"); */ + switch (buf[0]) { + case 0xf1: + case 0xf2: + case 0xf3: + case 0xf4: + case 0xf5: + case 0xf6: + case 0xf8: + case 0xf9: + case 0xfa: + case 0xfb: + case 0xfc: + case 0xfd: + case 0xfe: + case 0xff: + /* System Real Time or System Common event: not valid in SMF + */ + return; + } + if (!midi_event_is_valid(buf, size)) { cerr << "WARNING: SMF ignoring illegal MIDI event" << endl; return; -- 2.30.2