ignore automation for non-automatables.
authorRobin Gareus <robin@gareus.org>
Tue, 28 Jun 2016 16:43:31 +0000 (18:43 +0200)
committerRobin Gareus <robin@gareus.org>
Tue, 28 Jun 2016 16:43:31 +0000 (18:43 +0200)
Since 4.7-1477-g2c6d595 Ardour implements Control::NotAutomatable.
This can lead to situations where automation exists for parameters that
were not supposed to be automatable, which in turn caused a
"programming-error" abort() in
RouteTimeAxisView::add_processor_automation_curve()

libs/ardour/automatable.cc

index e108676fa7b5f6096b0a7667952b20d0031f5c50..dfc7be417ab06ac36899112ff083531f7002deb3 100644 (file)
@@ -233,7 +233,12 @@ Automatable::set_automation_xml_state (const XMLNode& node, Evoral::Parameter le
                        if (param.type() == NullAutomation) {
                                warning << "Automation has null type" << endl;
                                continue;
-                        }
+                       }
+
+                       if (_can_automate_list.find (param) == _can_automate_list.end ()) {
+                               warning << "Ignored automation data for non-automatable parameter" << endl;
+                               continue;
+                       }
 
                        if (!id_prop) {
                                warning << "AutomationList node without automation-id property, "