diff options
Diffstat (limited to 'libs/ardour/session_transport.cc')
-rw-r--r-- | libs/ardour/session_transport.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/libs/ardour/session_transport.cc b/libs/ardour/session_transport.cc index 2f3c2e44f3..a5e8f3ea7f 100644 --- a/libs/ardour/session_transport.cc +++ b/libs/ardour/session_transport.cc @@ -1183,7 +1183,7 @@ Session::butler_transport_work () } if (ptw & PostTransportOverWrite) { - non_realtime_overwrite (on_entry, finished); + non_realtime_overwrite (on_entry, finished, (ptw & PostTransportLoopChanged)); if (!finished) { g_atomic_int_dec_and_test (&_butler->should_do_transport_work); goto restart; @@ -1200,8 +1200,12 @@ Session::butler_transport_work () } void -Session::non_realtime_overwrite (int on_entry, bool& finished) +Session::non_realtime_overwrite (int on_entry, bool& finished, bool update_loop_declicks) { + if (update_loop_declicks) { + DiskReader::reset_loop_declick (_locations->auto_loop_location(), sample_rate()); + } + boost::shared_ptr<RouteList> rl = routes.reader(); for (RouteList::iterator i = rl->begin(); i != rl->end(); ++i) { boost::shared_ptr<Track> tr = boost::dynamic_pointer_cast<Track> (*i); |