summaryrefslogtreecommitdiff
path: root/libs/ardour/session_process.cc
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2012-06-20 18:46:05 +0000
committerCarl Hetherington <carl@carlh.net>2012-06-20 18:46:05 +0000
commit7a76e8ae96c20b270dd3104328f8bee199c9a770 (patch)
treeb2e81966aa9b87eddb7de53caddd6ba0da4d1697 /libs/ardour/session_process.cc
parentd863c200024d1e844f1b1d71471b85acfe671b36 (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.cc11
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;