X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fproxy_controllable.h;h=e89cd17f0e32d29c04ce5f1d7925a9fbfa82f30f;hb=e5a181c323243a03338f5a9934a5df254986370d;hp=522c3a2794b36def43ec1ef220156d9ffb5d6108;hpb=ad017365f7a73f8ba57f667cc1aa36478b48c50e;p=ardour.git diff --git a/libs/ardour/ardour/proxy_controllable.h b/libs/ardour/ardour/proxy_controllable.h index 522c3a2794..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,19 +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 (); } - double internal_to_user (double i) const { return accurate_coefficient_to_dB (i);} - double user_to_internal (double u) const { return dB_to_coefficient(u) ;} + std::string get_user_string () const { + char theBuf[32]; sprintf( theBuf, "%3.1f dB", accurate_coefficient_to_dB (get_value())); + return std::string(theBuf); + } - 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: + private: boost::function1 _setter; boost::function0 _getter; };