Redesign Session+Route Template Meta Script API
[ardour.git] / libs / ardour / ardour / mute_control.h
index 36d5e112ccdf8fbd1e216fdbfe081cbbf9f47c0e..d54ff2dc34a43bc269845a4fe5a1f4740b973dad 100644 (file)
@@ -35,10 +35,11 @@ class Muteable;
 
 class LIBARDOUR_API MuteControl : public SlavableAutomationControl
 {
-  public:
+public:
        MuteControl (Session& session, std::string const& name, Muteable&);
 
        double get_value () const;
+       double get_save_value() const { return muted_by_self(); }
 
        /* Export additional API so that objects that only get access
         * to a Controllable/AutomationControl can do more fine-grained
@@ -67,14 +68,16 @@ class LIBARDOUR_API MuteControl : public SlavableAutomationControl
        void set_mute_points (MuteMaster::MutePoint);
        MuteMaster::MutePoint mute_points () const;
 
-  protected:
-       void master_changed (bool, PBD::Controllable::GroupControlDisposition, boost::shared_ptr<AutomationControl>);
+       void automation_run (framepos_t start, pframes_t nframes);
+
+protected:
+       bool handle_master_change (boost::shared_ptr<AutomationControl>);
        void actually_set_value (double, PBD::Controllable::GroupControlDisposition group_override);
 
        void pre_remove_master (boost::shared_ptr<AutomationControl>);
        void post_add_master (boost::shared_ptr<AutomationControl>);
 
-  private:
+private:
        Muteable& _muteable;
 };