diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2019-11-06 16:00:00 -0700 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2019-11-06 16:00:31 -0700 |
commit | febaa1ff2d1f5150d30902f7ccc8b5dfcfb3c913 (patch) | |
tree | 8fa79254ff807577eb6977987f834edfed8905fb /libs/ardour/midi_track.cc | |
parent | 9694f8996643e8845393aa60548f97ccc416d4e1 (diff) |
fix unconditional note resolution during DiskReader::realtime_locate()
When looping, we do not want to resolve notes at the end of the loop via ::realtime_locate() -
::get_midi_playback() has already taken care of this. But when not looping, we need this. So,
add an argument to tell all interested parties whether the locate is for a loop end or not
Diffstat (limited to 'libs/ardour/midi_track.cc')
-rw-r--r-- | libs/ardour/midi_track.cc | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/libs/ardour/midi_track.cc b/libs/ardour/midi_track.cc index 2711f2e864..4a0c181e7a 100644 --- a/libs/ardour/midi_track.cc +++ b/libs/ardour/midi_track.cc @@ -351,7 +351,7 @@ MidiTrack::no_roll_unlocked (pframes_t nframes, samplepos_t start_sample, sample } void -MidiTrack::realtime_locate () +MidiTrack::realtime_locate (bool for_loop_end) { Glib::Threads::RWLock::ReaderLock lm (_processor_lock, Glib::Threads::TRY_LOCK); @@ -360,10 +360,8 @@ MidiTrack::realtime_locate () } for (ProcessorList::iterator i = _processors.begin(); i != _processors.end(); ++i) { - (*i)->realtime_locate (); + (*i)->realtime_locate (for_loop_end); } - - _disk_reader->resolve_tracker (_immediate_events, 0); } void |