X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fproxy_controllable.h;h=e89cd17f0e32d29c04ce5f1d7925a9fbfa82f30f;hb=8a4518d76fe78e5fb99900ff5ff71a22e5912395;hp=066f2aac81f9266552f0871cd6c69f44b98e71f9;hpb=9aacefc17010a889222425f97b99050171165038;p=ardour.git diff --git a/libs/ardour/ardour/proxy_controllable.h b/libs/ardour/ardour/proxy_controllable.h index 066f2aac81..e89cd17f0e 100644 --- a/libs/ardour/ardour/proxy_controllable.h +++ b/libs/ardour/ardour/proxy_controllable.h @@ -31,7 +31,7 @@ namespace ARDOUR { */ class LIBARDOUR_API ProxyControllable : public PBD::Controllable { -public: + public: ProxyControllable (const std::string& name, PBD::Controllable::Flag flags, boost::function1 setter, boost::function0 getter) @@ -40,10 +40,15 @@ public: , _getter (getter) {} - void set_value (double v) { if (_setter (v)) { Changed(); /* EMIT SIGNAL */ } } - double get_value () const { return _getter (); } + void set_value (double v, PBD::Controllable::GroupControlDisposition gcd) { if (_setter (v)) { Changed (true, gcd); /* EMIT SIGNAL */ } } + double get_value () const { return _getter (); } -private: + std::string get_user_string () const { + char theBuf[32]; sprintf( theBuf, "%3.1f dB", accurate_coefficient_to_dB (get_value())); + return std::string(theBuf); + } + + private: boost::function1 _setter; boost::function0 _getter; };