goto -> fake infinite.
This commit is contained in:
+32
-28
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user