song: added function song_get_duration()

This commit is contained in:
Max Kellermann 2009-12-26 13:56:35 +01:00
parent 216dff98d2
commit 6622d69fda
4 changed files with 14 additions and 4 deletions

View File

@ -135,8 +135,7 @@ searchStatsInDirectory(struct song *song, void *data)
if (locate_song_match(song, stats->criteria)) { if (locate_song_match(song, stats->criteria)) {
stats->numberOfSongs++; stats->numberOfSongs++;
if (song->tag->time > 0) stats->playTime += song_get_duration(song);
stats->playTime += song->tag->time;
} }
return 0; return 0;

View File

@ -212,8 +212,7 @@ player_wait_for_decoder(struct player *player)
player_lock(); player_lock();
/* update player_control's song information */ /* update player_control's song information */
pc.total_time = pc.next_song->tag != NULL pc.total_time = song_get_duration(pc.next_song);
? pc.next_song->tag->time : 0;
pc.bit_rate = 0; pc.bit_rate = 0;
audio_format_clear(&pc.audio_format); audio_format_clear(&pc.audio_format);

View File

@ -80,3 +80,12 @@ song_get_uri(const struct song *song)
return g_strconcat(directory_get_path(song->parent), return g_strconcat(directory_get_path(song->parent),
"/", song->uri, NULL); "/", song->uri, NULL);
} }
double
song_get_duration(const struct song *song)
{
if (song->tag == NULL)
return 0;
return song->tag->time;
}

View File

@ -69,6 +69,9 @@ song_file_update_inarchive(struct song *song);
char * char *
song_get_uri(const struct song *song); song_get_uri(const struct song *song);
double
song_get_duration(const struct song *song);
static inline bool static inline bool
song_in_database(const struct song *song) song_in_database(const struct song *song)
{ {