cleanups and optimizations in value( int )

git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@886 0778d3d1-df1d-0410-868b-ea421aaaa00d
This commit is contained in:
Tobias Doerffel
2008-04-04 14:01:25 +00:00
parent dd051fbc63
commit ed7bbe04a3
3 changed files with 12 additions and 10 deletions

View File

@@ -1,3 +1,9 @@
2008-04-04 Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
* include/automatable_model.h:
* include/automatable_model_templates.h:
cleanups and optimizations in value( int )
2008-04-04 Paul Giblock <drfaygo/at/gmail/dot/com>
* include/controller.h:

View File

@@ -104,19 +104,12 @@ public:
return( static_cast<T>( _v ) );
}
inline virtual T value( void ) const
{
return value( 0 );
}
inline virtual T value( int _frameOffset ) const
inline virtual T value( int _frameOffset = 0 ) const
{
if( m_controller != NULL )
{
return minValue() +
( maxValue() - minValue() ) *
castValue( m_controller->currentValue( _frameOffset ) );
return minValue() + castValue( m_range *
m_controller->currentValue( _frameOffset ) );
}
return m_value;
@@ -235,6 +228,7 @@ private:
T m_initValue;
T m_minValue;
T m_maxValue;
T m_range;
T m_step;
int m_curLevel;

View File

@@ -50,6 +50,7 @@ automatableModel<T, EDIT_STEP_TYPE>::automatableModel(
m_initValue( _val ),
m_minValue( _min ),
m_maxValue( _max ),
m_range( _max-_min ),
m_step( _step ),
m_automationPattern( NULL ),
m_track( NULL ),
@@ -183,6 +184,7 @@ void automatableModel<T, EDIT_STEP_TYPE>::setRange( const T _min, const T _max,
{
qSwap<T>( m_minValue, m_maxValue );
}
m_range = m_maxValue - m_minValue;
setStep( _step );
// re-adjust value
autoModel::setInitValue( value() );