diff --git a/libs/ardour/midi_playlist.cc b/libs/ardour/midi_playlist.cc index 63c3b49858..aa2979dfd1 100644 --- a/libs/ardour/midi_playlist.cc +++ b/libs/ardour/midi_playlist.cc @@ -129,10 +129,15 @@ MidiPlaylist::read (Evoral::EventSink& dst, framepos_t start, framec switch ((*i)->coverage (start, end)) { case Evoral::OverlapStart: case Evoral::OverlapInternal: - case Evoral::OverlapExternal: regs.push_back (*i); break; + case Evoral::OverlapExternal: + /* this region is entirely contained in the read range */ + regs.push_back (*i); + ended.push_back (*i); + break; + case Evoral::OverlapEnd: /* this region ends within the read range */ regs.push_back (*i);