summaryrefslogtreecommitdiff
path: root/libs/ardour/session_transport.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2007-03-20 01:43:54 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2007-03-20 01:43:54 +0000
commita13d2196c8c40350e90cba061e3f66e2a65a65dd (patch)
tree8ff443835c34c774768cb5dd56a577ac6bc408bd /libs/ardour/session_transport.cc
parent82b4c84e1d7de7e90fb65775d45154d1319a4309 (diff)
do not start transport on first locate if auto-play is on; wait till GUI says its OK
git-svn-id: svn://localhost/ardour2/trunk@1630 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/session_transport.cc')
-rw-r--r--libs/ardour/session_transport.cc10
1 files changed, 8 insertions, 2 deletions
diff --git a/libs/ardour/session_transport.cc b/libs/ardour/session_transport.cc
index c0468a63ca..950d74edec 100644
--- a/libs/ardour/session_transport.cc
+++ b/libs/ardour/session_transport.cc
@@ -639,7 +639,7 @@ Session::locate (nframes_t target_frame, bool with_roll, bool with_flush, bool w
}
}
- if (transport_rolling() && !Config->get_auto_play() && !with_roll && !(synced_to_jack() && play_loop)) {
+ if (transport_rolling() && (!auto_play_legal || Config->get_auto_play()) && !with_roll && !(synced_to_jack() && play_loop)) {
realtime_stop (false);
}
@@ -924,7 +924,7 @@ Session::post_transport ()
if (post_transport_work & PostTransportLocate) {
- if (((Config->get_slave_source() == None && Config->get_auto_play()) && !_exporting) || (post_transport_work & PostTransportRoll)) {
+ if (((Config->get_slave_source() == None && (auto_play_legal && Config->get_auto_play())) && !_exporting) || (post_transport_work & PostTransportRoll)) {
start_transport ();
} else {
@@ -1249,3 +1249,9 @@ Session::update_latency_compensation_proxy (void* ignored)
{
update_latency_compensation (false, false);
}
+
+void
+Session::allow_auto_play (bool yn)
+{
+ auto_play_legal = yn;
+}