diff options
author | Max Kellermann <max@duempel.org> | 2009-12-25 22:59:13 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2009-12-27 14:46:04 +0100 |
commit | a038bca74580359a883dc8d526feb7104a677d8c (patch) | |
tree | 0ade8231ea065723839086f135d715d4284a21e9 /src/song.c | |
parent | cf38505d8fddbfee431936969e34b9d438243f31 (diff) | |
download | mpd-a038bca74580359a883dc8d526feb7104a677d8c.tar.gz mpd-a038bca74580359a883dc8d526feb7104a677d8c.tar.xz mpd-a038bca74580359a883dc8d526feb7104a677d8c.zip |
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.
Diffstat (limited to '')
-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; } |