Fix lost MIDI note offs and controllers.
authorDavid Robillard <d@drobilla.net>
Thu, 20 Nov 2014 20:36:11 +0000 (15:36 -0500)
committerDavid Robillard <d@drobilla.net>
Thu, 20 Nov 2014 20:36:11 +0000 (15:36 -0500)
commit4bc0d1c475f4f8c87b0fea690e5105d31337d6f4
treefe0aed2c39451cfcea385d91166bc43d82a97b74
parent8bba63282a4d641287d6da945fc7ce49b583038c
Fix lost MIDI note offs and controllers.

Fix initial read of discrete MIDI controllers.

Fix spurious note offs when starting to play in the middle of a note.

Faster search for initial event when cached iterator is invalid.

So much for dropping the cached iterator.  The iterator is responsible for
handling note offs, so that doesn't work.  This design means we have some stuck
note issues at the source read level, but they should be taken care of by the
state tracker anyway.
libs/ardour/ardour/midi_source.h
libs/ardour/midi_model.cc
libs/ardour/midi_region.cc
libs/ardour/midi_source.cc
libs/ardour/smf_source.cc
libs/evoral/src/Sequence.cpp