CueParser.cxx: Append pregap to previous track
Only ignore indexes after first nonzero, preserving pregaps but appending them to the previous track instead of prepending to the current. The first index of the first track is used for the start time regardless of its number. Unneeded bool last_updated removed.
This commit is contained in:

committed by
Max Kellermann

parent
e31cdf0df9
commit
8461d71b52
@@ -250,7 +250,6 @@ CueParser::Feed2(char *p)
|
||||
song_tag = header_tag;
|
||||
song_tag.AddItem(TAG_TRACK, nr);
|
||||
|
||||
last_updated = false;
|
||||
} else if (state == IGNORE_TRACK) {
|
||||
return;
|
||||
} else if (state == TRACK && strcmp(command, "INDEX") == 0) {
|
||||
@@ -266,14 +265,12 @@ CueParser::Feed2(char *p)
|
||||
if (position_ms < 0)
|
||||
return;
|
||||
|
||||
if (!last_updated && previous != nullptr &&
|
||||
previous->GetStartTime().ToMS() < (unsigned)position_ms) {
|
||||
last_updated = true;
|
||||
if (previous != nullptr && previous->GetStartTime().ToMS() < (unsigned)position_ms)
|
||||
previous->SetEndTime(SongTime::FromMS(position_ms));
|
||||
}
|
||||
|
||||
current->SetStartTime(SongTime::FromMS(position_ms));
|
||||
state = IGNORE_TRACK;
|
||||
if(strcmp(nr, "00") != 0 || previous == nullptr)
|
||||
state = IGNORE_TRACK;
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user