summaryrefslogtreecommitdiff
path: root/libs/ardour
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-06-22 23:16:32 +0200
committerRobin Gareus <robin@gareus.org>2014-06-22 23:18:00 +0200
commit14c6dfab075b20c19396516ea9f6f663cb2d1def (patch)
tree5baf3395e66bdbf255464da85b72c9c6090e342b /libs/ardour
parentb46652c3c9dfcfa5e1964bb38826c6bfceb4b5af (diff)
Do not allow to de/activate a track while the transport is rolling.
roll_delay and latency are only re-calculated when the transport is stopped. de/activating a track is also not RT-safe.
Diffstat (limited to 'libs/ardour')
-rw-r--r--libs/ardour/route.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc
index 6930b9e71b..b50492031f 100644
--- a/libs/ardour/route.cc
+++ b/libs/ardour/route.cc
@@ -3694,6 +3694,10 @@ Route::denormal_protection () const
void
Route::set_active (bool yn, void* src)
{
+ if (_session.transport_rolling()) {
+ return;
+ }
+
if (_route_group && src != _route_group && _route_group->is_active() && _route_group->is_route_active()) {
_route_group->foreach_route (boost::bind (&Route::set_active, _1, yn, _route_group));
return;