summaryrefslogtreecommitdiff
path: root/libs/pbd/pbd/controllable.h
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2011-02-15 01:42:48 +0000
committerCarl Hetherington <carl@carlh.net>2011-02-15 01:42:48 +0000
commitea11968f95c626fcba3f31423ed9de13c258bcdc (patch)
tree051d0df74da5196f0c3032cfa7c34d2df46184e5 /libs/pbd/pbd/controllable.h
parent4aaa507472ebc7752b32bb4398e694120acd98ee (diff)
Clean up and hopefully fix handling of logarithmic plugin parameters (fixes #3769).
git-svn-id: svn://localhost/ardour2/branches/3.0@8850 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/pbd/pbd/controllable.h')
-rw-r--r--libs/pbd/pbd/controllable.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/libs/pbd/pbd/controllable.h b/libs/pbd/pbd/controllable.h
index d0769ffd01..864a68b1a8 100644
--- a/libs/pbd/pbd/controllable.h
+++ b/libs/pbd/pbd/controllable.h
@@ -45,7 +45,18 @@ class Controllable : public PBD::StatefulDestructible {
Controllable (const std::string& name, Flag f = Flag (0));
virtual ~Controllable() { Destroyed (this); }
+ /* We express Controllable values in one of three ways:
+ * 1. `user' --- as presented to the user (e.g. dB, Hz etc.)
+ * 2. `UI' --- as used in some cases for the internal representation
+ * of the UI. This may be the same as `user', or may be something
+ * like the natural log of frequency in order that sliders operate
+ * in a logarithmic fashion.
+ * 3. `plugin' --- as passed to a plugin.
+ */
+
+ /** Set `user' value */
virtual void set_value (double) = 0;
+ /** @return `user' value */
virtual double get_value (void) const = 0;
PBD::Signal0<void> LearningFinished;