+ Automatable (const Automatable& other);
+
+ virtual ~Automatable();
+
+ static bool skip_saving_automation; // to be used only by session-state
+
+ boost::shared_ptr<Evoral::Control> control_factory(const Evoral::Parameter& id);
+
+ boost::shared_ptr<AutomationControl> automation_control (PBD::ID const & id) const;
+ /* derived classes need to provide some way to search their own child
+ automatable's for a control. normally, we'd just make the method
+ above virtual, and let them override it. But that wouldn't
+ differentiate the "check children" and "just your own" cases.