diff options
Diffstat (limited to 'src/song.c')
-rw-r--r-- | src/song.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/song.c b/src/song.c index bc6cb11c4..64f476b7e 100644 --- a/src/song.c +++ b/src/song.c @@ -42,6 +42,7 @@ song_alloc(const char *uri, struct directory *parent) memcpy(song->uri, uri, uri_length + 1); song->parent = parent; song->mtime = 0; + song->start_ms = song->end_ms = 0; return song; } @@ -84,8 +85,11 @@ song_get_uri(const struct song *song) double song_get_duration(const struct song *song) { + if (song->end_ms > 0) + return (song->end_ms - song->start_ms) / 1000.0; + if (song->tag == NULL) return 0; - return song->tag->time; + return song->tag->time - song->start_ms / 1000.0; } |