goto -> fake infinite.

This commit is contained in:
Jason Felds
2013-01-24 23:33:42 -05:00
parent 3ec76f4dc6
commit dacb721e4b
+32 -28
View File
@@ -1722,38 +1722,42 @@ void NoteDataUtil::InsertIntelligentTaps(
int iTrackOfNoteLater = -1;
inout.GetTapFirstNonEmptyTrack( iRowLater, iTrackOfNoteLater );
int iTrackOfNoteToAdd = 0;
if( bSkippy &&
iTrackOfNoteEarlier != iTrackOfNoteLater ) // Don't make skips on the same note
{
if( bEarlierHasNonEmptyTrack )
{
iTrackOfNoteToAdd = iTrackOfNoteEarlier;
goto done_looking_for_track_to_add;
}
}
// try to choose a track between the earlier and later notes
if( abs(iTrackOfNoteEarlier-iTrackOfNoteLater) >= 2 )
{
iTrackOfNoteToAdd = min(iTrackOfNoteEarlier,iTrackOfNoteLater)+1;
goto done_looking_for_track_to_add;
}
// try to choose a track just to the left
if( min(iTrackOfNoteEarlier,iTrackOfNoteLater)-1 >= 0 )
for (;;)
{
iTrackOfNoteToAdd = min(iTrackOfNoteEarlier,iTrackOfNoteLater)-1;
goto done_looking_for_track_to_add;
if( bSkippy &&
iTrackOfNoteEarlier != iTrackOfNoteLater ) // Don't make skips on the same note
{
if( bEarlierHasNonEmptyTrack )
{
iTrackOfNoteToAdd = iTrackOfNoteEarlier;
break;
}
}
// try to choose a track between the earlier and later notes
if( abs(iTrackOfNoteEarlier-iTrackOfNoteLater) >= 2 )
{
iTrackOfNoteToAdd = min(iTrackOfNoteEarlier,iTrackOfNoteLater)+1;
break;
}
// try to choose a track just to the left
if( min(iTrackOfNoteEarlier,iTrackOfNoteLater)-1 >= 0 )
{
iTrackOfNoteToAdd = min(iTrackOfNoteEarlier,iTrackOfNoteLater)-1;
break;
}
// try to choose a track just to the right
if( max(iTrackOfNoteEarlier,iTrackOfNoteLater)+1 < inout.GetNumTracks() )
{
iTrackOfNoteToAdd = max(iTrackOfNoteEarlier,iTrackOfNoteLater)+1;
break;
}
break;
}
// try to choose a track just to the right
if( max(iTrackOfNoteEarlier,iTrackOfNoteLater)+1 < inout.GetNumTracks() )
{
iTrackOfNoteToAdd = max(iTrackOfNoteEarlier,iTrackOfNoteLater)+1;
goto done_looking_for_track_to_add;
}
done_looking_for_track_to_add:
inout.SetTapNote(iTrackOfNoteToAdd, iRowToAdd, TAP_ADDITION_TAP);
}
}