- int set_state (const XMLNode&);
-
- static int disable_connecting (void);
- static int enable_connecting (void);
- static int disable_ports (void);
- static int enable_ports (void);
- static int disable_panners (void);
- static int reset_panners (void);
-
- static sigc::signal<int> PortsLegal;
- static sigc::signal<int> PannersLegal;
- static sigc::signal<int> ConnectingLegal;
- /// raised when the number of input or output ports changes
- static sigc::signal<void,ChanCount> PortCountChanged;
- static sigc::signal<int> PortsCreated;
-
- static void update_meters();
-
- private:
-
- static sigc::signal<void> Meter;
- static Glib::StaticMutex m_meter_signal_lock;
- sigc::connection m_meter_connection;
-
- public:
-
- /* automation */
-
- struct GainControl : public AutomationControl {
- GainControl (std::string name, IO* i, const Evoral::Parameter ¶m,
- boost::shared_ptr<AutomationList> al = boost::shared_ptr<AutomationList>() )
- : AutomationControl (i->_session, param, al, name )
- , _io (i)
- {}
-
- void set_value (float val);
- float get_value (void) const;
-
- IO* _io;
+ int set_state (const XMLNode&, int version);
+ int set_state_2X (const XMLNode&, int, bool);
+ static void prepare_for_reset (XMLNode&, const std::string&);
+
+ class BoolCombiner {
+ public:
+
+ typedef bool result_type;
+
+ template <typename Iter>
+ result_type operator() (Iter first, Iter last) const {
+ bool r = false;
+ while (first != last) {
+ if (*first) {
+ r = true;
+ }
+ ++first;
+ }
+
+ return r;
+ }