1 #ifndef __libardour_proxy_controllable_h__
2 #define __libardour_proxy_controllable_h__
4 #include <boost/function.hpp>
6 #include "pbd/controllable.h"
10 /** this class converts a pair of setter/getter functors into a Controllable
11 so that it can be used like a regular Controllable, bound to MIDI, OSC etc.
14 class ProxyControllable : public PBD::Controllable {
16 ProxyControllable (const std::string& name, PBD::Controllable::Flag flags,
17 boost::function1<void,double> setter,
18 boost::function0<double> getter)
19 : PBD::Controllable (name, flags)
24 void set_value (double v) { _setter (v); }
25 double get_value () const { return _getter (); }
28 boost::function1<void,double> _setter;
29 boost::function0<double> _getter;
34 #endif /* __libardour_proxy_controllable_h__ */