Prepare export-format codec-quality setting
[ardour.git] / libs / ardour / automatable.cc
index 2f60024ff027858b865df73853d4e49ac0bb5384..fd7c0a9b01bc7d8b7c3c097b954e04cfba53a40f 100644 (file)
@@ -240,16 +240,24 @@ Automatable::set_automation_xml_state (const XMLNode& node, Evoral::Parameter le
                                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, "
                                        << "using default: " << EventTypeMap::instance().to_symbol(legacy_param) << endmsg;
                        }
 
+                       if (_can_automate_list.find (param) == _can_automate_list.end ()) {
+                               boost::shared_ptr<AutomationControl> actl = automation_control (param);
+                               if (actl && (*niter)->children().size() > 0 && Config->get_limit_n_automatables () > 0) {
+                                       actl->set_flags (Controllable::Flag ((int)actl->flags() & ~Controllable::NotAutomatable));
+                                       can_automate (param);
+                                       info << "Marked parmater as automatable" << endl;
+                               } else {
+                                       warning << "Ignored automation data for non-automatable parameter" << endl;
+                                       continue;
+                               }
+                       }
+
+
                        boost::shared_ptr<AutomationControl> existing = automation_control (param);
 
                        if (existing) {