summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorDamien Zammit <damien@zamaudio.com>2014-04-19 18:30:29 +1000
committerDamien Zammit <damien@zamaudio.com>2014-04-19 18:30:29 +1000
commitd920b179ebd32d7c266c83640d85f128b1ebc526 (patch)
treede71ee54d40ec2cffadb4783be408f222cfb57e7 /libs
parent7200457fdf98d5a4607da0feb8b6a95f626c5be0 (diff)
Trying to fix log knob default value
Signed-off-by: Damien Zammit <damien@zamaudio.com>
Diffstat (limited to 'libs')
-rw-r--r--libs/dgl/ImageKnob.hpp3
-rw-r--r--libs/dgl/src/ImageKnob.cpp21
2 files changed, 10 insertions, 14 deletions
diff --git a/libs/dgl/ImageKnob.hpp b/libs/dgl/ImageKnob.hpp
index 99385ac..e774a4a 100644
--- a/libs/dgl/ImageKnob.hpp
+++ b/libs/dgl/ImageKnob.hpp
@@ -73,10 +73,9 @@ private:
float fMaximum;
float fStep;
bool fLog;
- bool fFirst;
float fValue;
- float fValueDef;
float fValueTmp;
+ float fValueDef;
Orientation fOrientation;
int fRotationAngle;
diff --git a/libs/dgl/src/ImageKnob.cpp b/libs/dgl/src/ImageKnob.cpp
index 5e2ec29..8b3c95b 100644
--- a/libs/dgl/src/ImageKnob.cpp
+++ b/libs/dgl/src/ImageKnob.cpp
@@ -30,7 +30,6 @@ ImageKnob::ImageKnob(Window& parent, const Image& image, Orientation orientation
fMaximum(1.0f),
fStep(0.0f),
fLog(false),
- fFirst(true),
fValue(0.5f),
fValueTmp(fValue),
fValueDef(fValue),
@@ -56,7 +55,6 @@ ImageKnob::ImageKnob(Widget* widget, const Image& image, Orientation orientation
fMaximum(1.0f),
fStep(0.0f),
fLog(false),
- fFirst(true),
fValue(0.5f),
fValueTmp(fValue),
fValueDef(fValue),
@@ -82,10 +80,9 @@ ImageKnob::ImageKnob(const ImageKnob& imageKnob)
fMaximum(imageKnob.fMaximum),
fStep(imageKnob.fStep),
fLog(imageKnob.fLog),
- fFirst(true),
fValue(imageKnob.fValue),
fValueTmp(fValue),
- fValueDef(imageKnob.fValueDef),
+ fValueDef(fValue),
fOrientation(imageKnob.fOrientation),
fRotationAngle(imageKnob.fRotationAngle),
fDragging(false),
@@ -180,16 +177,17 @@ float ImageKnob::invlogscale(float value)
void ImageKnob::setDefault(float value)
{
fValueDef = value;
- if (fFirst) {
- resetDefault();
- fFirst = false;
- }
+ fValueTmp = value;
+ resetDefault();
}
void ImageKnob::resetDefault()
{
- fFirst = true;
- setValue(fValueDef, true);
+ fValueTmp = invlogscale(fValueDef);
+ fValue = fValueDef;
+ if (fCallback != nullptr)
+ fCallback->imageKnobValueChanged(this, fValue);
+ repaint();
}
void ImageKnob::setValue(float value, bool sendCallback)
@@ -199,8 +197,7 @@ void ImageKnob::setValue(float value, bool sendCallback)
fValue = logscale(value);
- if (fStep == 0.0f || fFirst) {
- fFirst = false;
+ if (fStep == 0.0f) {
fValueTmp = value;
}