do not route AutomationControl changes to an RT thread if we are loading a session
authorPaul Davis <paul@linuxaudiosystems.com>
Wed, 13 Apr 2016 21:42:07 +0000 (17:42 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Tue, 31 May 2016 19:30:40 +0000 (15:30 -0400)
libs/ardour/automation_control.cc

index 99e2f5416541eba6620c92f903c2df2c88eaf3be..97765a7070f032e7a0bdca6565a573c44f95080b 100644 (file)
@@ -280,7 +280,7 @@ AutomationControl::set_group (boost::shared_ptr<ControlGroup> cg)
 bool
 AutomationControl::check_rt (double val, Controllable::GroupControlDisposition gcd)
 {
-       if ((flags() & Controllable::RealTime) && !AudioEngine::instance()->in_process_thread()) {
+       if (!_session.loading() && (flags() & Controllable::RealTime) && !AudioEngine::instance()->in_process_thread()) {
                /* queue change in RT context */
                std::cerr << "::set_value (" << val << ", " << enum_2_string (gcd) << ") called for " << enum_2_string ((AutomationType) _parameter.type()) << ", queueing in RT context\n";
                _session.set_control (shared_from_this(), val, gcd);