diff options
Diffstat (limited to 'libs/ardour/session.cc')
-rw-r--r-- | libs/ardour/session.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index eaea8a358e..2b530ba907 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -223,7 +223,6 @@ Session::Session (AudioEngine &eng, , _send_qf_mtc (false) , _pframes_since_last_mtc (0) , play_loop (false) - , loop_changing (false) , last_loopend (0) , _session_dir (new SessionDirectory (fullpath)) , _current_snapshot_name (snapshot_name) @@ -1517,11 +1516,13 @@ Session::auto_loop_changed (Location* location) * by loop-changing, and we do not cancel play loop */ - loop_changing = true; request_locate (location->start(), MustRoll); } else { + // schedule a locate-roll to refill the diskstreams at the + // previous loop end + /* schedule a buffer overwrite to refill buffers with the new loop. */ SessionEvent *ev = new SessionEvent (SessionEvent::OverwriteAll, SessionEvent::Add, SessionEvent::Immediate, 0, 0, 0.0); ev->overwrite = LoopChanged; |