playlist/cue: last track ends at end of file

libcue's track_get_length() returns 0 for the last track, because that
information is not available in the CUE sheet.  This makes MPD quit
playing the last track immediately.  If we set "song.end_ms=0", MPD
will play the track until the end of the song file, which is what we
want.
This commit is contained in:
Max Kellermann 2010-06-25 20:01:08 +02:00
parent eb6188f8c0
commit 1ea10db953

View File

@ -105,9 +105,6 @@ cue_playlist_read(struct playlist_provider *_playlist)
song->start_ms = ((track_get_start(track) song->start_ms = ((track_get_start(track)
+ track_get_index(track, 1) + track_get_index(track, 1)
- track_get_zero_pre(track)) * 1000) / 75; - track_get_zero_pre(track)) * 1000) / 75;
song->end_ms = ((track_get_start(track) + track_get_length(track)
- track_get_index(track, 1)
+ track_get_zero_pre(track)) * 1000) / 75;
/* append pregap of the next track to the end of this one */ /* append pregap of the next track to the end of this one */
track = cd_get_track(playlist->cd, playlist->next); track = cd_get_track(playlist->cd, playlist->next);
@ -115,6 +112,8 @@ cue_playlist_read(struct playlist_provider *_playlist)
song->end_ms = ((track_get_start(track) song->end_ms = ((track_get_start(track)
+ track_get_index(track, 1) + track_get_index(track, 1)
- track_get_zero_pre(track)) * 1000) / 75; - track_get_zero_pre(track)) * 1000) / 75;
else
song->end_ms = 0;
return song; return song;
} }