| @@ -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; | |||
| } | |||
| }; | |||
| /** | |||