fixed behaviour of automation-tracks in BB-editor (closes #2014486)

git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1311 0778d3d1-df1d-0410-868b-ea421aaaa00d
This commit is contained in:
Tobias Doerffel
2008-07-16 22:10:15 +00:00
parent 18eae929ad
commit 43b8eb9393
2 changed files with 20 additions and 3 deletions

View File

@@ -61,8 +61,17 @@ bool automationTrack::play( const midiTime & _start, const fpp_t _frames,
}
tcoVector tcos;
getTCOsInRange( tcos, _start, _start + static_cast<int>(
_frames / engine::framesPerTick() ) );
if( _tco_num >= 0 )
{
trackContentObject * tco = getTCO( _tco_num );
tcos.push_back( tco );
}
else
{
getTCOsInRange( tcos, _start, _start + static_cast<int>(
_frames / engine::framesPerTick()) );
}
for( tcoVector::iterator it = tcos.begin(); it != tcos.end(); ++it )
{
automationPattern * p =
@@ -71,7 +80,12 @@ bool automationTrack::play( const midiTime & _start, const fpp_t _frames,
{
continue;
}
p->processMidiTime( _start - p->startPosition() );
midiTime cur_start = _start;
if( _tco_num < 0 )
{
cur_start -= p->startPosition();
}
p->processMidiTime( cur_start );
}
return( FALSE );
}