summaryrefslogtreecommitdiff
path: root/libs/ardour/midi_track.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2013-08-24 12:18:06 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2013-08-24 12:18:06 -0400
commitee1b49f87e4b8e6406c059f29371892872d3fb85 (patch)
tree107f163d9f707c97a0b8179a5f2afd9995d616ec /libs/ardour/midi_track.cc
parent8cd71108c1d153f84f25c3b9e5153a110826c130 (diff)
parent1421a34e52862b614f280c751a12893e4abecf88 (diff)
fix merge conflicts from master
Diffstat (limited to 'libs/ardour/midi_track.cc')
-rw-r--r--libs/ardour/midi_track.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/libs/ardour/midi_track.cc b/libs/ardour/midi_track.cc
index 6e193c3c09..6a998de90e 100644
--- a/libs/ardour/midi_track.cc
+++ b/libs/ardour/midi_track.cc
@@ -318,6 +318,12 @@ MidiTrack::roll (pframes_t nframes, framepos_t start_frame, framepos_t end_frame
{
Glib::Threads::RWLock::ReaderLock lm (_processor_lock, Glib::Threads::TRY_LOCK);
if (!lm.locked()) {
+ boost::shared_ptr<MidiDiskstream> diskstream = midi_diskstream();
+ framecnt_t playback_distance = diskstream->calculate_playback_distance(nframes);
+ if (can_internal_playback_seek(llabs(playback_distance))) {
+ /* TODO should declick, and/or note-off */
+ internal_playback_seek(playback_distance);
+ }
return 0;
}