use new applyRelease()-method

git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@520 0778d3d1-df1d-0410-868b-ea421aaaa00d
This commit is contained in:
Tobias Doerffel
2007-08-06 13:29:54 +00:00
parent 02433380c6
commit 8cdcbfcc05
3 changed files with 31 additions and 0 deletions

View File

@@ -1,5 +1,29 @@
2007-08-06 Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
* plugins/triple_oscillator/triple_oscillator.h:
* plugins/triple_oscillator/triple_oscillator.cpp:
use new applyRelease()-method
* include/instrument.h:
* src/core/instrument.cpp:
added method instrument::applyRelease( ... ) which applies a release
on given buffer according to the value returned by
desiredReleaseFrames() - instruments can use this easily by simply
calling this method before calling
getInstrumentTrack()->processAudioBuffer()
* src/core/preset_preview_play_handle.cpp:
* src/tracks/instrument_track.cpp:
use only half of valueRange<f_cnt_t>::max because otherwise we have
overflows at several places
* src/core/note_play_handle.cpp:
fixed framesLeft()-method to return correct values if plugin has
desiredReleaseFrames() > 0
* include/note_play_handle.h:
cleanups
* configure.in:
bumped to 0.3.0-rc2

View File

@@ -692,6 +692,8 @@ void tripleOscillator::playNote( notePlayHandle * _n, bool )
osc_l->update( buf, frames, 0 );
osc_r->update( buf, frames, 1 );
applyRelease( buf, _n );
getInstrumentTrack()->processAudioBuffer( buf, frames, _n );
delete[] buf;

View File

@@ -111,6 +111,11 @@ public:
virtual QString nodeName( void ) const;
virtual f_cnt_t desiredReleaseFrames( void ) const
{
return( 128 );
}
protected slots:
void updateAllDetuning( void );