DWI read/write fixes

This commit is contained in:
Glenn Maynard
2005-02-12 08:18:31 +00:00
parent 10a4f13c51
commit cea0103b59
2 changed files with 15 additions and 2 deletions
+14 -2
View File
@@ -300,7 +300,8 @@ bool DWILoader::LoadFromDWITokens(
continue;
int iTailRow = iHeadRow;
while( newNoteData.GetNextTapNoteRowForTrack(t, iTailRow) )
bool bFound = false;
while( !bFound && newNoteData.GetNextTapNoteRowForTrack(t, iTailRow) )
{
const TapNote &TailTap = newNoteData.GetTapNote( t, iTailRow );
if( TailTap.type == TapNote::empty )
@@ -309,7 +310,18 @@ bool DWILoader::LoadFromDWITokens(
newNoteData.SetTapNote( t, iTailRow, TAP_EMPTY );
tn.iDuration = iTailRow - iHeadRow;
newNoteData.SetTapNote( t, iHeadRow, tn );
break;
bFound = true;
}
if( !bFound )
{
/* The hold was never closed. */
LOG->Warn( "File \"%s\":\"%s\" failed to close a hold note on track %i",
m_sLoadingFile.c_str(),
sDescription.c_str(),
t );
newNoteData.SetTapNote( t, iHeadRow, TAP_EMPTY );
}
}
}