display db_playtime in stats
git-svn-id: https://svn.musicpd.org/mpd/trunk@98 09075e82-0dd4-0310-85a5-a0d7c8717e4f
This commit is contained in:
parent
a78c5e4aea
commit
79effd62e1
|
@ -477,6 +477,7 @@ int writeDirectoryDB() {
|
||||||
|
|
||||||
sortDirectory(mp3rootDirectory);
|
sortDirectory(mp3rootDirectory);
|
||||||
stats.numberOfSongs = countSongsIn(stderr,NULL);
|
stats.numberOfSongs = countSongsIn(stderr,NULL);
|
||||||
|
stats.dbPlayTime = sumSongTimesIn(stderr,NULL);
|
||||||
|
|
||||||
while(!(fp=fopen(directorydb,"w")) && errno==EINTR);
|
while(!(fp=fopen(directorydb,"w")) && errno==EINTR);
|
||||||
if(!fp) return -1;
|
if(!fp) return -1;
|
||||||
|
@ -570,6 +571,7 @@ int readDirectoryDB() {
|
||||||
while(fclose(fp) && errno==EINTR);
|
while(fclose(fp) && errno==EINTR);
|
||||||
|
|
||||||
stats.numberOfSongs = countSongsIn(stderr,NULL);
|
stats.numberOfSongs = countSongsIn(stderr,NULL);
|
||||||
|
stats.dbPlayTime = sumSongTimesIn(stderr,NULL);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -777,6 +779,14 @@ int directoryPrintSongInfo(FILE * fp, Song * song, void * data) {
|
||||||
return printSongInfo(fp,song);
|
return printSongInfo(fp,song);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int sumSongTime(FILE * fp, Song * song, void * data) {
|
||||||
|
unsigned long * time = (unsigned long *)data;
|
||||||
|
|
||||||
|
if(song->tag && song->tag->time>=0) *time+=song->tag->time;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int printInfoForAllIn(FILE * fp, char * name) {
|
int printInfoForAllIn(FILE * fp, char * name) {
|
||||||
return traverseAllIn(fp,name,directoryPrintSongInfo,NULL,NULL);
|
return traverseAllIn(fp,name,directoryPrintSongInfo,NULL,NULL);
|
||||||
}
|
}
|
||||||
|
@ -790,6 +800,15 @@ int countSongsIn(FILE * fp, char * name) {
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
unsigned long sumSongTimesIn(FILE * fp, char * name) {
|
||||||
|
unsigned long dbPlayTime = 0;
|
||||||
|
void * ptr = (void *)&dbPlayTime;
|
||||||
|
|
||||||
|
traverseAllIn(fp,name,sumSongTime,NULL,ptr);
|
||||||
|
|
||||||
|
return dbPlayTime;
|
||||||
|
}
|
||||||
|
|
||||||
void initMp3Directory() {
|
void initMp3Directory() {
|
||||||
mp3rootDirectory = newDirectory(NULL,NULL,0);
|
mp3rootDirectory = newDirectory(NULL,NULL,0);
|
||||||
exploreDirectory(mp3rootDirectory);
|
exploreDirectory(mp3rootDirectory);
|
||||||
|
|
|
@ -50,6 +50,8 @@ int findSongsIn(FILE * fp, char * name, char * item, char * string);
|
||||||
|
|
||||||
int countSongsIn(FILE * fp, char * name);
|
int countSongsIn(FILE * fp, char * name);
|
||||||
|
|
||||||
|
unsigned long sumSongTimesIn(FILE * fp, char * name);
|
||||||
|
|
||||||
Song * getSong(char * file);
|
Song * getSong(char * file);
|
||||||
|
|
||||||
time_t getDbModTime();
|
time_t getDbModTime();
|
||||||
|
|
|
@ -41,6 +41,7 @@ int printStats(FILE * fp) {
|
||||||
myfprintf(fp,"songs: %i\n",stats.numberOfSongs);
|
myfprintf(fp,"songs: %i\n",stats.numberOfSongs);
|
||||||
myfprintf(fp,"uptime: %li\n",time(NULL)-stats.daemonStart);
|
myfprintf(fp,"uptime: %li\n",time(NULL)-stats.daemonStart);
|
||||||
myfprintf(fp,"playtime: %li\n",(long)(getPlayerTotalPlayTime()+0.5));
|
myfprintf(fp,"playtime: %li\n",(long)(getPlayerTotalPlayTime()+0.5));
|
||||||
|
myfprintf(fp,"db_playtime: %li\n",stats.dbPlayTime);
|
||||||
/*myfprintf(fp,"songs_played: %li\n",stats.songsPlayed);*/
|
/*myfprintf(fp,"songs_played: %li\n",stats.songsPlayed);*/
|
||||||
myfprintf(fp,"db_update: %li\n",getDbModTime());
|
myfprintf(fp,"db_update: %li\n",getDbModTime());
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
typedef struct _Stats {
|
typedef struct _Stats {
|
||||||
unsigned long daemonStart;
|
unsigned long daemonStart;
|
||||||
int numberOfSongs;
|
int numberOfSongs;
|
||||||
|
unsigned long dbPlayTime;
|
||||||
/*unsigned long playTime;
|
/*unsigned long playTime;
|
||||||
unsigned long songsPlayed;*/
|
unsigned long songsPlayed;*/
|
||||||
} Stats;
|
} Stats;
|
||||||
|
|
Loading…
Reference in New Issue