diff options
Diffstat (limited to 'src/playlist/cue_playlist_plugin.c')
-rw-r--r-- | src/playlist/cue_playlist_plugin.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/playlist/cue_playlist_plugin.c b/src/playlist/cue_playlist_plugin.c index 4dd5a7c79..d2959dab2 100644 --- a/src/playlist/cue_playlist_plugin.c +++ b/src/playlist/cue_playlist_plugin.c @@ -102,10 +102,21 @@ cue_playlist_read(struct playlist_provider *_playlist) song = song_remote_new(filename); song->tag = tag; - song->start_ms = (track_get_start(track) * 1000) / 75; - song->end_ms = ((track_get_start(track) + track_get_length(track)) + song->start_ms = ((track_get_start(track) + + track_get_index(track, 1) + - 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 */ + track = cd_get_track(playlist->cd, playlist->next); + if (track != NULL) + song->end_ms = ((track_get_start(track) + + track_get_index(track, 1) + - track_get_zero_pre(track)) * 1000) / 75; + return song; } |