added basic envelope for all notes to avoid clicks

git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@91 0778d3d1-df1d-0410-868b-ea421aaaa00d
This commit is contained in:
Tobias Doerffel
2006-02-27 09:01:13 +00:00
parent 841118a7f4
commit 023844e908
4 changed files with 13 additions and 7 deletions

View File

@@ -1,3 +1,9 @@
2006-02-25 Tobias Doerffel <tobydox/at/users.sourceforge.net>
* src/tracks/channel_track.cpp:
apply a very basic envelope at the beginning and the end of a note for
avoiding these "typical" clicks which were there before
2006-02-22 Tobias Doerffel <tobydox/at/users.sourceforge.net>
* configure.in:

View File

@@ -2,8 +2,8 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.50)
AC_INIT(lmms, 0.1.4-cvs20060222, tobydox/at/users/dot/sourceforge/dot/net)
AM_INIT_AUTOMAKE(lmms, 0.1.4-cvs20060222)
AC_INIT(lmms, 0.1.4-cvs20060225, tobydox/at/users/dot/sourceforge/dot/net)
AM_INIT_AUTOMAKE(lmms, 0.1.4-cvs20060225)
AM_CONFIG_HEADER(config.h)

View File

@@ -56,7 +56,7 @@ public:
virtual inline bool done( void ) const
{
return( ( m_released && m_framesBeforeRelease == 0 &&
m_releaseFramesDone >= m_releaseFramesToDo ) ||
m_releaseFramesDone >= m_releaseFramesToDo ) ||
m_channelTrack == NULL );
}

View File

@@ -51,7 +51,7 @@ notePlayHandle::notePlayHandle( channelTrack * _chnl_trk,
m_framesAhead( _frames_ahead ),
m_totalFramesPlayed( 0 ),
m_framesBeforeRelease( 0 ),
m_releaseFramesToDo( 0 ),
m_releaseFramesToDo( 0 ),
m_releaseFramesDone( 0 ),
m_released( FALSE ),
m_baseNote( TRUE ),
@@ -246,8 +246,8 @@ void notePlayHandle::noteOff( const f_cnt_t _s )
m_framesBeforeRelease = _s;
if( m_channelTrack != NULL )
{
m_releaseFramesToDo =
m_channelTrack->m_envWidget->releaseFrames();
m_releaseFramesToDo = tMax<f_cnt_t>( 10,
m_channelTrack->m_envWidget->releaseFrames() );
if( !configManager::inst()->value( "ui",
"manualchannelpiano" ).toInt() )
{
@@ -264,7 +264,7 @@ void notePlayHandle::noteOff( const f_cnt_t _s )
}
else
{
m_releaseFramesToDo = 0;
m_releaseFramesToDo = 10;
}
m_released = TRUE;