Browse Source

Add overloaded double precision functions to parameter ranges

pull/321/merge
falkTX 2 years ago
parent
commit
eff1c6f578
1 changed files with 52 additions and 2 deletions
  1. +52
    -2
      distrho/DistrhoPlugin.hpp

+ 52
- 2
distrho/DistrhoPlugin.hpp View File

@@ -362,7 +362,7 @@ struct ParameterRanges {
*/
float getNormalizedValue(const float& value) const noexcept
{
const float normValue((value - min) / (max - min));
const float normValue = (value - min) / (max - min);

if (normValue <= 0.0f)
return 0.0f;
@@ -371,6 +371,21 @@ struct ParameterRanges {
return normValue;
}

/**
Get a value normalized to 0.0<->1.0.
Overloaded function using double precision values.
*/
double getNormalizedValue(const double& value) const noexcept
{
const double normValue = (value - min) / (max - min);

if (normValue <= 0.0)
return 0.0;
if (normValue >= 1.0)
return 1.0;
return normValue;
}

/**
Get a value normalized to 0.0<->1.0, fixed within range.
*/
@@ -381,7 +396,7 @@ struct ParameterRanges {
if (value >= max)
return 1.0f;

const float normValue((value - min) / (max - min));
const float normValue = (value - min) / (max - min);

if (normValue <= 0.0f)
return 0.0f;
@@ -391,6 +406,27 @@ struct ParameterRanges {
return normValue;
}

/**
Get a value normalized to 0.0<->1.0, fixed within range.
Overloaded function using double precision values.
*/
double getFixedAndNormalizedValue(const double& value) const noexcept
{
if (value <= min)
return 0.0;
if (value >= max)
return 1.0;

const double normValue = (value - min) / (max - min);

if (normValue <= 0.0)
return 0.0;
if (normValue >= 1.0)
return 1.0;

return normValue;
}

/**
Get a proper value previously normalized to 0.0<->1.0.
*/
@@ -403,6 +439,20 @@ struct ParameterRanges {

return value * (max - min) + min;
}

/**
Get a proper value previously normalized to 0.0<->1.0.
Overloaded function using double precision values.
*/
double getUnnormalizedValue(const double& value) const noexcept
{
if (value <= 0.0)
return min;
if (value >= 1.0)
return max;

return value * (max - min) + min;
}
};

/**


Loading…
Cancel
Save