From a038bca74580359a883dc8d526feb7104a677d8c Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Fri, 25 Dec 2009 22:59:13 +0100 Subject: song: added support for selecting a time range Added attributes start_ms, end_ms. This allows us to address a portion of a song file (important for CUE support). There is no support yet for storing these attributes in the state file. --- src/song.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/song.c') 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; } -- cgit v1.2.3