diff options
author | Carl Hetherington <carl@carlh.net> | 2012-06-20 18:46:05 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2012-06-20 18:46:05 +0000 |
commit | 7a76e8ae96c20b270dd3104328f8bee199c9a770 (patch) | |
tree | b2e81966aa9b87eddb7de53caddd6ba0da4d1697 /libs/ardour/session_process.cc | |
parent | d863c200024d1e844f1b1d71471b85acfe671b36 (diff) |
Declick before the end of seamless loops, not after the end, so that loops are rendered accurately (#4213, #4593).
git-svn-id: svn://localhost/ardour2/branches/3.0@12801 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/session_process.cc')
-rw-r--r-- | libs/ardour/session_process.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libs/ardour/session_process.cc b/libs/ardour/session_process.cc index f92ca9f1a7..3936423b14 100644 --- a/libs/ardour/session_process.cc +++ b/libs/ardour/session_process.cc @@ -1021,6 +1021,17 @@ Session::process_event (SessionEvent* ev) del = false; break; + case SessionEvent::AutoLoopDeclick: + if (play_loop) { + /* Request a declick fade-out and a fade-in; the fade-out will happen + at the end of the loop, and the fade-in at the start. + */ + transport_sub_state |= (PendingLoopDeclickOut | PendingLoopDeclickIn); + } + remove = false; + del = false; + break; + case SessionEvent::Locate: if (ev->yes_or_no) { // cerr << "forced locate to " << ev->target_frame << endl; |