summaryrefslogtreecommitdiff
path: root/libs/ardour/session_transport.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2010-05-27 12:41:41 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2010-05-27 12:41:41 +0000
commit8b68707bc447597fd63c5dd3a4dd0c05e8bd8d4e (patch)
tree51a67bb1dde2ef9b139d40579106420a17ed5bfa /libs/ardour/session_transport.cc
parentb5569b0d9d3bf34b0dfc9fe857c716eb88792760 (diff)
fix handling of automation recording when stopping and restarting from the exact same location ("no spikes")
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@7180 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/session_transport.cc')
-rw-r--r--libs/ardour/session_transport.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/libs/ardour/session_transport.cc b/libs/ardour/session_transport.cc
index 3845e8cb81..f26be79a98 100644
--- a/libs/ardour/session_transport.cc
+++ b/libs/ardour/session_transport.cc
@@ -1044,6 +1044,14 @@ Session::start_transport ()
(*i)->realtime_set_speed ((*i)->speed(), true);
}
+ boost::shared_ptr<RouteList> r = routes.reader ();
+
+ /* force an automation snapshot as we start up */
+
+ for (RouteList::iterator i = r->begin(); i != r->end(); ++i) {
+ (*i)->automation_snapshot (transport_frame(), true);
+ }
+
send_mmc_in_another_thread (MIDI::MachineControl::cmdDeferredPlay, 0);
TransportStateChange (); /* EMIT SIGNAL */