Remove unused punch+preroll API
[ardour.git] / libs / ardour / ardour / mute_control.h
index 8e5e3fd27ad5d2c9d08e872499dcde06abe841d8..494b5543427337c428179d4c18631a25ff887e33 100644 (file)
@@ -23,6 +23,9 @@
 
 #include <boost/shared_ptr.hpp>
 
+#include "ardour/slavable_automation_control.h"
+
+#include "ardour/mute_master.h"
 #include "ardour/libardour_visibility.h"
 
 namespace ARDOUR {
@@ -32,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
@@ -53,17 +57,27 @@ class LIBARDOUR_API MuteControl : public SlavableAutomationControl
         */
 
        bool muted () const;
+       bool muted_by_self () const;
+       bool muted_by_masters () const;
+       bool muted_by_self_or_masters () const {
+               return muted_by_self() || muted_by_masters ();
+       }
 
        bool muted_by_others_soloing () const;
-       bool muted_by_others () const;
 
        void set_mute_points (MuteMaster::MutePoint);
        MuteMaster::MutePoint mute_points () const;
 
-  protected:
+       void automation_run (samplepos_t start, pframes_t nframes);
+
+protected:
+       bool handle_master_change (boost::shared_ptr<AutomationControl>);
        void actually_set_value (double, PBD::Controllable::GroupControlDisposition group_override);
 
-  private:
+       void pre_remove_master (boost::shared_ptr<AutomationControl>);
+       void post_add_master (boost::shared_ptr<AutomationControl>);
+
+private:
        Muteable& _muteable;
 };