optimized envelope and LFO computations

git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@374 0778d3d1-df1d-0410-868b-ea421aaaa00d
This commit is contained in:
Javier Serrano Polo
2006-08-27 21:42:39 +00:00
parent 17eed98376
commit 3eb581b76c
2 changed files with 50 additions and 21 deletions

View File

@@ -87,9 +87,9 @@ public:
static void triggerLFO( engine * _engine );
static void resetLFO( engine * _engine );
float FASTCALL level( f_cnt_t _frame,
void FASTCALL fillLevel( float * _buf, f_cnt_t _frame,
const f_cnt_t _release_begin,
const f_cnt_t _frame_offset );
const fpab_t _frames );
inline bool used( void ) const
{
@@ -125,8 +125,8 @@ protected:
virtual void mousePressEvent( QMouseEvent * _me );
virtual void paintEvent( QPaintEvent * _pe );
float FASTCALL lfoLevel( f_cnt_t _frame,
const f_cnt_t _frame_offset ) const;
void FASTCALL fillLFOLevel( float * _buf, f_cnt_t _frame,
const fpab_t _frames );
protected slots:
@@ -181,6 +181,7 @@ private:
float m_lfoAmount;
bool m_lfoAmountIsZero;
sample_t * m_lfoShapeData;
bool m_bad_lfoShapeData;
sampleBuffer m_userWave;
enum lfoShapes
@@ -194,6 +195,9 @@ private:
QMutex m_busyMutex;
sample_t lfoShapeSample( fpab_t _frame_offset );
void updateLFOShapeData( void );
friend class envelopeTabWidget;