Browse Source

Clamp log knob values

Signed-off-by: Damien Zammit <damien@zamaudio.com>
pull/7/head
Damien Zammit 9 years ago
parent
commit
133c1407ae
1 changed files with 2 additions and 2 deletions
  1. +2
    -2
      dgl/src/ImageWidgets.cpp

+ 2
- 2
dgl/src/ImageWidgets.cpp View File

@@ -647,14 +647,14 @@ float ImageKnob::_logscale(float value) const
{
const float b = std::log(fMaximum/fMinimum)/(fMaximum-fMinimum);
const float a = fMaximum/std::exp(fMaximum*b);
return a * std::exp(b*value);
return a * std::exp(b * std::max(std::min(value, fMaximum), fMinimum));
}

float ImageKnob::_invlogscale(float value) const
{
const float b = std::log(fMaximum/fMinimum)/(fMaximum-fMinimum);
const float a = fMaximum/std::exp(fMaximum*b);
return std::log(value/a)/b;
return std::log(std::max(std::min(value, fMaximum), fMinimum) / a) / b;
}

// -----------------------------------------------------------------------


Loading…
Cancel
Save