summaryrefslogtreecommitdiff
path: root/libs/pbd
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2012-01-21 16:38:56 +0000
committerCarl Hetherington <carl@carlh.net>2012-01-21 16:38:56 +0000
commit4381b590bbc6e5e6c3f8d5b4e8d88d8a085280b1 (patch)
treea4d7e211489431f9c592828571b036995fef69d6 /libs/pbd
parenta8bb49e5d89f2689d6aeb61381e3c4bd3560d859 (diff)
Reinstate user Controllable values, as they are needed
for gain (which I forgot about). git-svn-id: svn://localhost/ardour2/branches/3.0@11293 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/pbd')
-rw-r--r--libs/pbd/pbd/controllable.h32
1 files changed, 16 insertions, 16 deletions
diff --git a/libs/pbd/pbd/controllable.h b/libs/pbd/pbd/controllable.h
index f61a375ba7..b23cdc7e97 100644
--- a/libs/pbd/pbd/controllable.h
+++ b/libs/pbd/pbd/controllable.h
@@ -43,27 +43,27 @@ 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 two ways:
- * 1. `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.
- * 2. `user' --- as passed to a plugin, and presented to the user.
+ /* We express Controllable values in one of three ways:
+ * 1. `user' --- as presented to the user (e.g. dB, Hz, etc.)
+ * 2. `interface' --- as used in some cases for the UI representation
+ * (in order to make controls behave logarithmically).
+ * 3. `internal' --- as passed to a processor, track, plugin, or whatever.
+ *
+ * Note that in some cases user and processor may be the same
+ * (and interface different) e.g. frequency, which is presented
+ * to the user and passed to the processor in linear terms, but
+ * which needs log scaling in the interface.
+ *
+ * In other cases, user and interface may be the same (and processor different)
+ * e.g. gain, which is presented to the user in log terms (dB)
+ * but passed to the processor as a linear quantity.
*/
- /** Set `user' value */
+ /** Set `internal' value */
virtual void set_value (double) = 0;
- /** @return `user' value */
+ /** @return `internal' value */
virtual double get_value (void) const = 0;
- virtual double user_to_ui (double v) const {
- return v;
- }
-
- virtual double ui_to_user (double v) const {
- return v;
- }
-
PBD::Signal0<void> LearningFinished;
static PBD::Signal3<void,PBD::Controllable*,int,int> CreateBinding;
static PBD::Signal1<void,PBD::Controllable*> DeleteBinding;