QueueSave: use the long format to save partial songs

Previously, only streams were saved with range and tags, but this is
necessary for all "partial" songs (e.g. CUE tracks).
This commit is contained in:
Max Kellermann 2014-07-12 19:36:39 +02:00
parent 751995ab95
commit 80d9baa9e8
2 changed files with 7 additions and 1 deletions

1
NEWS
View File

@ -18,6 +18,7 @@ ver 0.19 (not yet released)
- smbclient: new plugin
* playlist
- cue: fix bogus duration of the last track
- cue: restore CUE tracks from state file
- soundcloud: use https instead of http
- soundcloud: add default API key
* archive

View File

@ -50,9 +50,14 @@ queue_save_full_song(FILE *fp, const DetachedSong &song)
static void
queue_save_song(FILE *fp, int idx, const DetachedSong &song)
{
if (song.IsInDatabase())
if (song.IsInDatabase() &&
song.GetStartMS() == 0 && song.GetEndMS() == 0)
/* use the brief format (just the URI) for "full"
database songs */
queue_save_database_song(fp, idx, song);
else
/* use the long format (URI, range, tags) for the
rest, so all metadata survives a MPD restart */
queue_save_full_song(fp, song);
}