{
public:
Automatable(Session&);
- Automatable (const Automatable& other);
+ Automatable (const Automatable& other);
- virtual ~Automatable() {}
+ virtual ~Automatable();
boost::shared_ptr<Evoral::Control>
control_factory(const Evoral::Parameter& id);
virtual void add_control(boost::shared_ptr<Evoral::Control>);
void clear_controls ();
- virtual void automation_snapshot (framepos_t now, bool force);
+ virtual void transport_located (framepos_t now);
virtual void transport_stopped (framepos_t now);
virtual std::string describe_parameter(Evoral::Parameter param);
- virtual std::string value_as_string (boost::shared_ptr<AutomationControl>) const;
+ virtual std::string value_as_string (boost::shared_ptr<AutomationControl>) const;
AutoState get_parameter_automation_state (Evoral::Parameter param);
virtual void set_parameter_automation_state (Evoral::Parameter param, AutoState);
void protect_automation ();
- void what_has_visible_data(std::set<Evoral::Parameter>&) const;
const std::set<Evoral::Parameter>& what_can_be_automated() const { return _can_automate_list; }
-
- void mark_automation_visible(Evoral::Parameter, bool);
+ void what_has_existing_automation (std::set<Evoral::Parameter>&) const;
inline bool should_snapshot (framepos_t now) {
return (_last_automation_snapshot > now
return _automation_interval;
}
- typedef Evoral::ControlSet::Controls Controls;
-
- static const std::string xml_node_name;
+ static const std::string xml_node_name;
int set_automation_xml_state (const XMLNode&, Evoral::Parameter default_param);
XMLNode& get_automation_xml_state();
-
+
protected:
Session& _a_session;
int load_automation (const std::string& path);
int old_set_automation_state(const XMLNode&);
- std::set<Evoral::Parameter> _visible_controls;
std::set<Evoral::Parameter> _can_automate_list;
framepos_t _last_automation_snapshot;