New editor API to retrieve the Stripable with via presentation info order.
[ardour.git] / libs / ardour / ardour / slavable_automation_control.h
index 1f1847fb03288615c8c9a28ef08add63e7bd05a5..45b555595fad2b97c935b56d6c350af69ccf61cd 100644 (file)
 #define __ardour_slavable_automation_control_h__
 
 #include "ardour/automation_control.h"
+#include "ardour/libardour_visibility.h"
 
 namespace ARDOUR {
 
-class SlavableAutomationControl : public AutomationControl
+class LIBARDOUR_API SlavableAutomationControl : public AutomationControl
 {
     public:
        SlavableAutomationControl(ARDOUR::Session&,
@@ -45,6 +46,11 @@ class SlavableAutomationControl : public AutomationControl
                return get_masters_value_locked ();
        }
 
+       /* for toggled/boolean controls, returns a count of the number of
+          masters currently enabled. For other controls, returns zero.
+       */
+       int32_t   get_boolean_masters () const;
+
        std::vector<PBD::ID> masters () const;
 
        PBD::Signal0<void> MasterStatusChange;
@@ -96,7 +102,6 @@ class SlavableAutomationControl : public AutomationControl
        double get_value_locked() const;
        void   actually_set_value (double val, PBD::Controllable::GroupControlDisposition group_override);
        void   update_boolean_masters_records (boost::shared_ptr<AutomationControl>);
-       bool   get_boolean_masters () const;
 
        virtual void   master_changed (bool from_self, GroupControlDisposition gcd, boost::shared_ptr<AutomationControl>);
        virtual void   recompute_masters_ratios (double val) { /* do nothing by default */}