diff options
author | Robin Gareus <robin@gareus.org> | 2014-06-22 23:16:32 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2014-06-22 23:18:00 +0200 |
commit | 14c6dfab075b20c19396516ea9f6f663cb2d1def (patch) | |
tree | 5baf3395e66bdbf255464da85b72c9c6090e342b /libs/ardour | |
parent | b46652c3c9dfcfa5e1964bb38826c6bfceb4b5af (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.cc | 4 |
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; |