summaryrefslogtreecommitdiff
path: root/libs/evoral/src/Sequence.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2009-02-16 00:36:11 +0000
committerDavid Robillard <d@drobilla.net>2009-02-16 00:36:11 +0000
commit85ab34179583db06899105586e7ac2d264b437fb (patch)
tree2ce8b180e67a369d9deb0fac196f660a375d65f4 /libs/evoral/src/Sequence.cpp
parent473170200d3ce2a96b1425b6dfd57003124d8276 (diff)
Gracefully ignore illegal MIDI events.
git-svn-id: svn://localhost/ardour2/branches/3.0@4591 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/evoral/src/Sequence.cpp')
-rw-r--r--libs/evoral/src/Sequence.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/libs/evoral/src/Sequence.cpp b/libs/evoral/src/Sequence.cpp
index e834182637..ee5fabccb8 100644
--- a/libs/evoral/src/Sequence.cpp
+++ b/libs/evoral/src/Sequence.cpp
@@ -580,6 +580,11 @@ Sequence<Time>::append(const Event<Time>& event)
assert(_notes.empty() || ev.time() >= _notes.back()->time());
assert(_writing);
+ if (!midi_event_is_valid(ev.buffer(), ev.size())) {
+ cerr << "WARNING: Ignoring illegal MIDI event" << endl;
+ return;
+ }
+
if (ev.is_note_on()) {
append_note_on_unlocked(ev.channel(), ev.time(), ev.note(), ev.velocity());
} else if (ev.is_note_off()) {