X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fmonitor_processor.h;h=d369cb9c282002b8330d02330260dea509bce53b;hb=cf52d6e4b40111eb04b244ec054055a4ec15dbe0;hp=c7d73dca001609ac68addc7a631bae21ab5d6961;hpb=c95c221493e03ee029223531d459c14b4d4d392d;p=ardour.git diff --git a/libs/ardour/ardour/monitor_processor.h b/libs/ardour/ardour/monitor_processor.h index c7d73dca00..d369cb9c28 100644 --- a/libs/ardour/ardour/monitor_processor.h +++ b/libs/ardour/ardour/monitor_processor.h @@ -54,11 +54,11 @@ public: /* Controllable API */ - void set_value (double v) { + void set_value (double v, PBD::Controllable::GroupControlDisposition gcd) { T newval = (T) v; if (newval != _value) { _value = std::max (_lower, std::min (_upper, newval)); - Changed(); /* EMIT SIGNAL */ + Changed (true, gcd); /* EMIT SIGNAL */ } } @@ -84,7 +84,7 @@ public: MPControl& operator=(const T& v) { if (v != _value) { _value = std::max (_lower, std::min (_upper, v)); - Changed (); /* EMIT SIGNAL */ + Changed (true, PBD::Controllable::UseGroup); /* EMIT SIGNAL */ } return *this; } @@ -127,7 +127,7 @@ public: bool display_to_user() const; - void run (BufferSet& /*bufs*/, framepos_t /*start_frame*/, framepos_t /*end_frame*/, pframes_t /*nframes*/, bool /*result_required*/); + void run (BufferSet& /*bufs*/, framepos_t /*start_frame*/, framepos_t /*end_frame*/, double /*speed*/, pframes_t /*nframes*/, bool /*result_required*/); XMLNode& state (bool full); int set_state (const XMLNode&, int /* version */); @@ -154,6 +154,8 @@ public: bool dim_all () const; bool mono () const; + bool monitor_active () const { return _monitor_active; } + PBD::Signal0 Changed; boost::shared_ptr channel_cut_control (uint32_t) const; @@ -198,6 +200,8 @@ private: std::vector _channels; uint32_t solo_cnt; + bool _monitor_active; + /* pointers - created first, but managed by boost::shared_ptr<> */ @@ -224,6 +228,7 @@ private: MPControl& _solo_boost_level; void allocate_channels (uint32_t); + void update_monitor_state (); }; } /* namespace */