QString knob::displayValue() const { if( isVolumeKnob() && configManager::inst()->value( "app", "displaydbv" ).toInt() ) { return m_description.trimmed() + QString( " %1 dBV" ). arg( 20.0 * log10( model()->value() / volumeRatio() ), 3, 'f', 2 ); } return m_description.trimmed() + QString( " %1" ). arg( model()->value() ) + m_unit; }
void Knob::enterValue() { bool ok; float new_val; if( isVolumeKnob() && ConfigManager::inst()->value( "app", "displaydbfs" ).toInt() ) { new_val = QInputDialog::getDouble( this, windowTitle(), tr( "Please enter a new value between " "-96.0 dBFS and 6.0 dBFS:" ), 20.0 * log10( model()->getRoundedValue() / 100.0 ), -96.0, 6.0, model()->getDigitCount(), &ok ); if( new_val <= -96.0 ) { new_val = 0.0f; } else { new_val = dbfsToAmp( new_val ) * 100.0; } } else { new_val = QInputDialog::getDouble( this, windowTitle(), tr( "Please enter a new value between " "%1 and %2:" ). arg( model()->minValue() ). arg( model()->maxValue() ), model()->getRoundedValue(), model()->minValue(), model()->maxValue(), model()->getDigitCount(), &ok ); } if( ok ) { model()->setValue( new_val ); } }
void knob::enterValue() { bool ok; float new_val; if( isVolumeKnob() && configManager::inst()->value( "app", "displaydbv" ).toInt() ) { new_val = QInputDialog::getDouble( this, windowTitle(), tr( "Please enter a new value between " "-96.0 dBV and 6.0 dBV:" ), 20.0 * log10( model()->value() / 100.0 ), -96.0, 6.0, 4, &ok ); if( new_val <= -96.0 ) { new_val = 0.0f; } else { new_val = pow( 10.0, ( new_val / 20.0 ) ) * 100.0; } } else { new_val = QInputDialog::getDouble( this, windowTitle(), tr( "Please enter a new value between " "%1 and %2:" ). arg( model()->minValue() ). arg( model()->maxValue() ), model()->value(), model()->minValue(), model()->maxValue(), 4, &ok ); } if( ok ) { model()->setValue( new_val ); } }