No more disk-reader roll-delay
[ardour.git] / libs / ardour / ardour / automatable.h
index 4e7c11d51c5e37d46cacfc0b8b64970cd5c33eaa..84164568c5680033c3d97201ff3c3ef4334954f5 100644 (file)
@@ -50,7 +50,7 @@ public:
        Automatable(Session&);
        Automatable (const Automatable& other);
 
-        virtual ~Automatable();
+       virtual ~Automatable();
 
        boost::shared_ptr<Evoral::Control> control_factory(const Evoral::Parameter& id);
 
@@ -83,18 +83,16 @@ public:
        virtual bool find_next_event (double start, double end, Evoral::ControlEvent& ev, bool only_active = true) const;
        void clear_controls ();
 
-        virtual void transport_located (framepos_t now);
-       virtual void transport_stopped (framepos_t now);
+       virtual void non_realtime_locate (samplepos_t now);
+       virtual void non_realtime_transport_stop (samplepos_t now, bool flush);
+
+       virtual void automation_run (samplepos_t, pframes_t);
 
        virtual std::string describe_parameter(Evoral::Parameter param);
-       virtual std::string value_as_string (boost::shared_ptr<const AutomationControl>) const;
 
        AutoState get_parameter_automation_state (Evoral::Parameter param);
        virtual void set_parameter_automation_state (Evoral::Parameter param, AutoState);
 
-       AutoStyle get_parameter_automation_style (Evoral::Parameter param);
-       void set_parameter_automation_style (Evoral::Parameter param, AutoStyle);
-
        void protect_automation ();
 
        const std::set<Evoral::Parameter>& what_can_be_automated() const { return _can_automate_list; }
@@ -107,7 +105,7 @@ public:
 
        PBD::Signal0<void> AutomationStateChanged;
 
-  protected:
+protected:
        Session& _a_session;
 
        void can_automate(Evoral::Parameter);
@@ -119,7 +117,9 @@ public:
 
        std::set<Evoral::Parameter> _can_automate_list;
 
-       framepos_t _last_automation_snapshot;
+       samplepos_t _last_automation_snapshot;
+
+       SlavableControlList slavables () const { return SlavableControlList(); }
 
 private:
        PBD::ScopedConnectionList _control_connections; ///< connections to our controls' signals