summaryrefslogtreecommitdiff
path: root/libs/ardour/midi_track.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2019-11-06 16:00:00 -0700
committerPaul Davis <paul@linuxaudiosystems.com>2019-11-06 16:00:31 -0700
commitfebaa1ff2d1f5150d30902f7ccc8b5dfcfb3c913 (patch)
tree8fa79254ff807577eb6977987f834edfed8905fb /libs/ardour/midi_track.cc
parent9694f8996643e8845393aa60548f97ccc416d4e1 (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.cc6
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