From 795a1e930b6d3d606546689e991149b9ad583066 Mon Sep 17 00:00:00 2001 From: Warren Dukes Date: Wed, 31 Mar 2004 22:32:44 +0000 Subject: [PATCH] lets cleanup some file type detection and not call stat() so much git-svn-id: https://svn.musicpd.org/mpd/trunk@575 09075e82-0dd4-0310-85a5-a0d7c8717e4f --- src/ls.c | 30 ------------------------------ src/ls.h | 28 +++++++++++++++------------- src/player.c | 14 +++++++------- src/song.c | 28 ++++++++++++++-------------- 4 files changed, 36 insertions(+), 64 deletions(-) diff --git a/src/ls.c b/src/ls.c index 38aaebe40..a47f64d74 100644 --- a/src/ls.c +++ b/src/ls.c @@ -155,58 +155,28 @@ int hasWaveSuffix(char * utf8file) { return hasSuffix(utf8file,"wav"); } -int isWave(char * utf8file, time_t * mtime) { - if(isFile(utf8file,mtime)) return hasWaveSuffix(utf8file); - return 0; -} - int hasFlacSuffix(char * utf8file) { return hasSuffix(utf8file,"flac"); } -int isFlac(char * utf8file, time_t * mtime) { - if(isFile(utf8file,mtime)) return hasFlacSuffix(utf8file); - return 0; -} - int hasOggSuffix(char * utf8file) { return hasSuffix(utf8file,"ogg"); } -int isOgg(char * utf8file, time_t * mtime) { - if(isFile(utf8file,mtime)) return hasOggSuffix(utf8file); - return 0; -} - int hasAacSuffix(char * utf8file) { return hasSuffix(utf8file,"aac"); } -int isAac(char * utf8file, time_t * mtime) { - if(isFile(utf8file,mtime)) return hasAacSuffix(utf8file); - return 0; -} - int hasMp4Suffix(char * utf8file) { if(hasSuffix(utf8file,"mp4")) return 1; if(hasSuffix(utf8file,"m4a")) return 1; return 0; } -int isMp4(char * utf8file, time_t * mtime) { - if(isFile(utf8file,mtime)) return hasMp4Suffix(utf8file); - return 0; -} - int hasMp3Suffix(char * utf8file) { return hasSuffix(utf8file,"mp3"); } -int isMp3(char * utf8file, time_t * mtime) { - if(isFile(utf8file,mtime)) return hasMp3Suffix(utf8file); - return 0; -} - int isDir(char * utf8name, time_t * mtime) { struct stat st; diff --git a/src/ls.h b/src/ls.h index f117fa69c..b55bb2b1a 100644 --- a/src/ls.h +++ b/src/ls.h @@ -26,24 +26,26 @@ int lsPlaylists(FILE * fp, char * utf8path); -int isMp3(char * utf8file, time_t * mtime); - -int isAac(char * utf8file, time_t * mtime); - -int isMp4(char * utf8file, time_t * mtime); - -int isOgg(char * utf8file, time_t * mtime); - -int isFlac(char * utf8file, time_t * mtime); - -int isWave(char * utf8file, time_t * mtime); - -int isMusic(char * utf8file, time_t * mtime); +int isFile(char * utf8file, time_t * mtime); int isDir(char * utf8name, time_t * mtime); int isPlaylist(char * utf8file); +int isMusic(char * utf8file, time_t * mtime); + +int hasWaveSuffix(char * utf8file); + +int hasMp3Suffix(char * utf8file); + +int hasAacSuffix(char * utf8file); + +int hasMp4Suffix(char * utf8file); + +int hasOggSuffix(char * utf8file); + +int hasFlacSuffix(char * utf8file); + char * dupAndStripPlaylistSuffix(char * file); #endif diff --git a/src/player.c b/src/player.c index 19693c2c3..138a54a49 100644 --- a/src/player.c +++ b/src/player.c @@ -150,22 +150,22 @@ int playerInit() { } int playerGetDecodeType(char * utf8file) { - if(0); + if(!isFile(utf8file,NULL)); #ifdef HAVE_MAD - if(isMp3(utf8file,NULL)) return DECODE_TYPE_MP3; + else if(hasMp3Suffix(utf8file)) return DECODE_TYPE_MP3; #endif #ifdef HAVE_OGG - if(isOgg(utf8file,NULL)) return DECODE_TYPE_OGG; + else if(hasOggSuffix(utf8file)) return DECODE_TYPE_OGG; #endif #ifdef HAVE_FLAC - if(isFlac(utf8file,NULL)) return DECODE_TYPE_FLAC; + else if(hasFlacSuffix(utf8file)) return DECODE_TYPE_FLAC; #endif #ifdef HAVE_AUDIOFILE - if(isWave(utf8file,NULL)) return DECODE_TYPE_AUDIOFILE; + else if(hasWaveSuffix(utf8file)) return DECODE_TYPE_AUDIOFILE; #endif #ifdef HAVE_FAAD - if(isAac(utf8file,NULL)) return DECODE_TYPE_AAC; - if(isMp4(utf8file,NULL)) return DECODE_TYPE_MP4; + else if(hasAacSuffix(utf8file)) return DECODE_TYPE_AAC; + else if(hasMp4Suffix(utf8file)) return DECODE_TYPE_MP4; #endif return -1; } diff --git a/src/song.c b/src/song.c index 377487cbd..c7186d1e0 100644 --- a/src/song.c +++ b/src/song.c @@ -57,32 +57,32 @@ Song * newSong(char * utf8file) { song->utf8file = strdup(utf8file); - if(0); + if(!isFile(utf8file,&(song->mtime))); #ifdef HAVE_OGG - else if(isOgg(utf8file,&(song->mtime))) { + else if(hasOggSuffix(utf8file)) { song->tag = oggTagDup(utf8file); } #endif #ifdef HAVE_FLAC - else if((isFlac(utf8file,&(song->mtime)))) { + else if((hasFlacSuffix(utf8file))) { song->tag = flacTagDup(utf8file); } #endif #ifdef HAVE_MAD - else if(isMp3(utf8file,&(song->mtime))) { + else if(hasMp3Suffix(utf8file)) { song->tag = mp3TagDup(utf8file); } #endif #ifdef HAVE_AUDIOFILE - else if(isWave(utf8file,&(song->mtime))) { + else if(hasWaveSuffix(utf8file)) { song->tag = audiofileTagDup(utf8file); } #endif #ifdef HAVE_FAAD - else if(isAac(utf8file,&(song->mtime))) { + else if(hasAacSuffix(utf8file)) { song->tag = aacTagDup(utf8file); } - else if(isMp4(utf8file,&(song->mtime))) { + else if(hasMp4Suffix(utf8file)) { song->tag = mp4TagDup(utf8file); } #endif @@ -227,32 +227,32 @@ int updateSongInfo(Song * song) { song->tag = NULL; - if(0); + if(!isFile(utf8file,&(song->mtime))); #ifdef HAVE_OGG - else if(isOgg(utf8file,&(song->mtime))) { + else if(hasOggSuffix(utf8file)) { song->tag = oggTagDup(utf8file); } #endif #ifdef HAVE_FLAC - else if((isFlac(utf8file,&(song->mtime)))) { + else if((hasFlacSuffix(utf8file))) { song->tag = flacTagDup(utf8file); } #endif #ifdef HAVE_MAD - else if(isMp3(utf8file,&(song->mtime))) { + else if(hasMp3Suffix(utf8file)) { song->tag = mp3TagDup(utf8file); } #endif #ifdef HAVE_AUDIOFILE - else if(isWave(utf8file,&(song->mtime))) { + else if(hasWaveSuffix(utf8file)) { song->tag = audiofileTagDup(utf8file); } #endif #ifdef HAVE_FAAD - else if(isAac(utf8file,&(song->mtime))) { + else if(hasAacSuffix(utf8file)) { song->tag = aacTagDup(utf8file); } - else if(isMp4(utf8file,&(song->mtime))) { + else if(hasMp4Suffix(utf8file)) { song->tag = mp4TagDup(utf8file); } #endif