summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2011-01-09 23:14:47 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2011-01-09 23:14:47 +0000
commitf7cef2016f737a7c80b5307d3d45d8065b9e8789 (patch)
tree1bcd6023100c3efd4ffe243857c78cd0863832fd /libs
parent9766e40235c97cf0231f0bbcb35a163ce18f01db (diff)
patch from lincoln to fix failure to leave loop play mode at transort stop
git-svn-id: svn://localhost/ardour2/branches/3.0@8489 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/panner.cc3
-rw-r--r--libs/ardour/session_transport.cc3
2 files changed, 6 insertions, 0 deletions
diff --git a/libs/ardour/panner.cc b/libs/ardour/panner.cc
index bbca86c549..e4dc417c83 100644
--- a/libs/ardour/panner.cc
+++ b/libs/ardour/panner.cc
@@ -119,6 +119,7 @@ StreamPanner::PanControllable::set_value (double val)
val = max (min (val, 1.0), 0.0);
if (p.set_stereo_pan (val, p.width_control()->get_value())) {
AutomationControl::set_value(val);
+ p.session().set_dirty ();
}
break;
@@ -127,6 +128,7 @@ StreamPanner::PanControllable::set_value (double val)
val = max (min (val, 1.0), -1.0);
if (p.set_stereo_pan (p.direction_control()->get_value(), val)) {
AutomationControl::set_value(val);
+ p.session().set_dirty ();
}
break;
@@ -134,6 +136,7 @@ StreamPanner::PanControllable::set_value (double val)
val = max (min (val, 1.0), 0.0);
streampanner->set_position (AngularVector (direct_control_to_stereo_pan (val), 0.0));
AutomationControl::set_value(val);
+ p.session().set_dirty ();
break;
}
diff --git a/libs/ardour/session_transport.cc b/libs/ardour/session_transport.cc
index aa3f2a6782..2258f70921 100644
--- a/libs/ardour/session_transport.cc
+++ b/libs/ardour/session_transport.cc
@@ -944,6 +944,7 @@ Session::set_transport_speed (double speed, bool abort, bool clear_state)
if (Config->get_monitoring_model() == HardwareMonitoring)
{
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);
if (tr && tr->record_enabled ()) {
@@ -965,6 +966,8 @@ Session::set_transport_speed (double speed, bool abort, bool clear_state)
} else {
stop_transport (abort);
}
+
+ unset_play_loop ();
} else if (transport_stopped() && speed == 1.0) {