diff options
author | David Robillard <d@drobilla.net> | 2009-02-16 00:36:11 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2009-02-16 00:36:11 +0000 |
commit | 85ab34179583db06899105586e7ac2d264b437fb (patch) | |
tree | 2ce8b180e67a369d9deb0fac196f660a375d65f4 /libs/evoral/src/Sequence.cpp | |
parent | 473170200d3ce2a96b1425b6dfd57003124d8276 (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.cpp | 5 |
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()) { |