String MouseOverKnob::getTextFromValue(double val) { // calculate bipolar value, only makes sense if minimum is 0 since maximum is used for scaling if (displayBipolarValue) { float coeff = toBipolar(static_cast<float>(this->getMinimum()), static_cast<float>(this->getMaximum()), static_cast<float>(val)); val = this->getMaximum() * coeff; } int decimal = getNumDecimalPlacesToDisplay(); if (decimal > 0) { return String(val, decimal) + getTextValueSuffix(); } return String(roundToInt(val)) + getTextValueSuffix(); }
/// <summary>Gets GUI text from a given value by converting the value into Decibels</summary> /// <param name="value">Input value where 0 represents -inf dB and 1.0 represents max Decibels in specified range</param> /// <returns>String representing the input value in decibelsFS + Unit label</returns> String GainCtrlSlider::getTextFromValue(double value) { float decibelsFromGain = static_cast<float>(DecibelConversions::mapNormalizedValueToDecibels<float>(static_cast<float>(value), 0.0, 1.0, 0.5, minimumDecibelsInRange, maximumDecibelsInRange, 0.0)); if (decibelsFromGain <= -96.0f) { return String("-INF dB"); } else { std::stringstream gainRound; gainRound.setf(std::ios::fixed, std::ios::floatfield); gainRound << std::setprecision(2) << static_cast<float>(decibelsFromGain); return String(String(gainRound.str()) + getTextValueSuffix()); } }