summaryrefslogtreecommitdiff
path: root/libs/ardour/session_process.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2012-06-22 14:27:51 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2012-06-22 14:27:51 +0000
commit8c10320497f09f85a90eb831f3e6d30d084eb7ab (patch)
tree9e352c2e5e763d780ccad3821cd78716d08908a2 /libs/ardour/session_process.cc
parentd70429a066dfd33cca0b6f64be7014649a9910ca (diff)
fix reset of transport speed when seamless looping; add a few comments and tidy-ups to related transport code
git-svn-id: svn://localhost/ardour2/branches/3.0@12818 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/session_process.cc')
-rw-r--r--libs/ardour/session_process.cc12
1 files changed, 8 insertions, 4 deletions
diff --git a/libs/ardour/session_process.cc b/libs/ardour/session_process.cc
index 585d0927f2..0c3b0a57ea 100644
--- a/libs/ardour/session_process.cc
+++ b/libs/ardour/session_process.cc
@@ -1015,6 +1015,9 @@ Session::process_event (SessionEvent* ev)
case SessionEvent::AutoLoop:
if (play_loop) {
+ /* roll after locate, do not flush, set "with loop"
+ true only if we are seamless looping
+ */
start_locate (ev->target_frame, true, false, Config->get_seamless_loop());
}
remove = false;
@@ -1034,10 +1037,10 @@ Session::process_event (SessionEvent* ev)
case SessionEvent::Locate:
if (ev->yes_or_no) {
- // cerr << "forced locate to " << ev->target_frame << endl;
+ /* args: do not roll after locate, do flush, not with loop */
locate (ev->target_frame, false, true, false);
} else {
- // cerr << "soft locate to " << ev->target_frame << endl;
+ /* args: do not roll after locate, do flush, not with loop */
start_locate (ev->target_frame, false, true, false);
}
_send_timecode_update = true;
@@ -1045,10 +1048,10 @@ Session::process_event (SessionEvent* ev)
case SessionEvent::LocateRoll:
if (ev->yes_or_no) {
- // cerr << "forced locate to+roll " << ev->target_frame << endl;
+ /* args: roll after locate, do flush, not with loop */
locate (ev->target_frame, true, true, false);
} else {
- // cerr << "soft locate to+roll " << ev->target_frame << endl;
+ /* args: roll after locate, do flush, not with loop */
start_locate (ev->target_frame, true, true, false);
}
_send_timecode_update = true;
@@ -1101,6 +1104,7 @@ Session::process_event (SessionEvent* ev)
break;
case SessionEvent::RangeLocate:
+ /* args: roll after locate, do flush, not with loop */
start_locate (ev->target_frame, true, true, false);
remove = false;
del = false;