GetNumUsedTracks -> GetMaxNonEmptyTrack

This commit is contained in:
Chris Danford
2007-09-04 04:21:15 +00:00
parent c1e67d7f26
commit b7d9b04507
3 changed files with 8 additions and 16 deletions
+4 -12
View File
@@ -2083,20 +2083,12 @@ void NoteDataUtil::RemoveAllTapsExceptForType( NoteData& ndInOut, TapNote::Type
} }
} }
int NoteDataUtil::GetNumUsedTracks( const NoteData& in ) int NoteDataUtil::GetMaxNonEmptyTrack( const NoteData& in )
{ {
for( int t=0; t<in.GetNumTracks(); t++ ) for( int t=in.GetNumTracks()-1; t>=0; t-- )
{ if( !in.IsTrackEmpty( t ) )
bool bHasAnyTapsInTrack = false;
FOREACH_NONEMPTY_ROW_IN_TRACK( in, t, row )
{
bHasAnyTapsInTrack = true;
break;
}
if( !bHasAnyTapsInTrack )
return t; return t;
} return -1;
return in.GetNumTracks();
} }
bool NoteDataUtil::AnyTapsAndHoldsInTrackRange( const NoteData& in, int iTrack, int iStart, int iEnd ) bool NoteDataUtil::AnyTapsAndHoldsInTrackRange( const NoteData& in, int iTrack, int iStart, int iEnd )
+1 -1
View File
@@ -112,7 +112,7 @@ namespace NoteDataUtil
void RemoveAllTapsOfType( NoteData& ndInOut, TapNote::Type typeToRemove ); void RemoveAllTapsOfType( NoteData& ndInOut, TapNote::Type typeToRemove );
void RemoveAllTapsExceptForType( NoteData& ndInOut, TapNote::Type typeToKeep ); void RemoveAllTapsExceptForType( NoteData& ndInOut, TapNote::Type typeToKeep );
int GetNumUsedTracks( const NoteData& in ); int GetMaxNonEmptyTrack( const NoteData& in );
bool AnyTapsAndHoldsInTrackRange( const NoteData& in, int iTrack, int iStart, int iEnd ); bool AnyTapsAndHoldsInTrackRange( const NoteData& in, int iTrack, int iStart, int iEnd );
bool GetNextEditorPosition( const NoteData& in, int &rowInOut ); bool GetNextEditorPosition( const NoteData& in, int &rowInOut );
+3 -3
View File
@@ -3163,10 +3163,10 @@ void ScreenEdit::HandleAreaMenuChoice( AreaMenuChoice c, const vector<int> &iAns
case autogen_to_fill_width: case autogen_to_fill_width:
{ {
NoteData temp( m_Clipboard ); NoteData temp( m_Clipboard );
int iNumUsedTracks = NoteDataUtil::GetNumUsedTracks( temp ); int iMaxNonEmptyTrack = NoteDataUtil::GetMaxNonEmptyTrack( temp );
if( iNumUsedTracks == 0 ) if( iMaxNonEmptyTrack == -1 )
break; break;
temp.SetNumTracks( iNumUsedTracks ); temp.SetNumTracks( iMaxNonEmptyTrack+1 );
NoteDataUtil::LoadTransformedSlidingWindow( temp, m_Clipboard, m_Clipboard.GetNumTracks() ); NoteDataUtil::LoadTransformedSlidingWindow( temp, m_Clipboard, m_Clipboard.GetNumTracks() );
NoteDataUtil::RemoveStretch( m_Clipboard, GAMESTATE->m_pCurSteps[0]->m_StepsType ); NoteDataUtil::RemoveStretch( m_Clipboard, GAMESTATE->m_pCurSteps[0]->m_StepsType );
} }