- added level<->label methods

- minimized rounding errors


git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@180 0778d3d1-df1d-0410-868b-ea421aaaa00d
This commit is contained in:
Javier Serrano Polo
2006-06-28 00:48:13 +00:00
parent 1074b24610
commit 05e10b6125

View File

@@ -136,7 +136,7 @@ public:
if( m_step != 0 )
{
_value = static_cast<T>( floorf( _value / step() ) *
_value = static_cast<T>( roundf( _value / step() ) *
step() );
}
else
@@ -455,7 +455,17 @@ private:
inline int level( T _value ) const
{
return( (int)( _value / m_step ) );
return( (int)roundf( _value / m_step ) );
}
QString levelToLabel( int _level )
{
return( QString::number( _level * m_step ) );
}
int labelToLevel( QString _label )
{
return( level( attributeValue( _label ) ) );
}
} ;