diff options
| author | Thomas Martitz <kugel@rockbox.org> | 2010-11-26 18:02:50 +0000 |
|---|---|---|
| committer | Thomas Martitz <kugel@rockbox.org> | 2010-11-26 18:02:50 +0000 |
| commit | 9393e4c24b4c18d7fe1fa8313008f30370cb726e (patch) | |
| tree | 746e9210b2144c96b6d58a3f858ccdcb358d854e /apps/metadata | |
| parent | 756c59a534d2e26b0e62fb94a326182f376b8a97 (diff) | |
| download | rockbox-9393e4c24b4c18d7fe1fa8313008f30370cb726e.zip rockbox-9393e4c24b4c18d7fe1fa8313008f30370cb726e.tar.gz rockbox-9393e4c24b4c18d7fe1fa8313008f30370cb726e.tar.bz2 rockbox-9393e4c24b4c18d7fe1fa8313008f30370cb726e.tar.xz | |
Change how all the metadata parsers are read from a giant swich/case to function pointers via array index. Also unify the api.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28672 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/metadata')
| -rw-r--r-- | apps/metadata/asap.c | 3 | ||||
| -rw-r--r-- | apps/metadata/metadata_parsers.h | 3 | ||||
| -rw-r--r-- | apps/metadata/monkeys.c | 2 | ||||
| -rw-r--r-- | apps/metadata/mp3.c | 8 | ||||
| -rw-r--r-- | apps/metadata/mpc.c | 2 | ||||
| -rw-r--r-- | apps/metadata/spc.c | 3 | ||||
| -rw-r--r-- | apps/metadata/wavpack.c | 1 |
7 files changed, 12 insertions, 10 deletions
diff --git a/apps/metadata/asap.c b/apps/metadata/asap.c index 0472798..9e7f227 100644 --- a/apps/metadata/asap.c +++ b/apps/metadata/asap.c @@ -248,6 +248,7 @@ bool get_asap_metadata(int fd, struct mp3entry* id3) id3->vbr = false; id3->filesize = filelength; - + id3->genre_string = id3_get_num_genre(36); + return true; } diff --git a/apps/metadata/metadata_parsers.h b/apps/metadata/metadata_parsers.h index 7238b71..7797b47 100644 --- a/apps/metadata/metadata_parsers.h +++ b/apps/metadata/metadata_parsers.h @@ -23,8 +23,7 @@ char* id3_get_num_genre(unsigned int genre_num); int getid3v2len(int fd); bool setid3v1title(int fd, struct mp3entry *entry); void setid3v2title(int fd, struct mp3entry *entry); -bool get_mp3_metadata(int fd, struct mp3entry* id3, const char *filename); - +bool get_mp3_metadata(int fd, struct mp3entry* id3); bool get_adx_metadata(int fd, struct mp3entry* id3); bool get_aiff_metadata(int fd, struct mp3entry* id3); bool get_flac_metadata(int fd, struct mp3entry* id3); diff --git a/apps/metadata/monkeys.c b/apps/metadata/monkeys.c index 1cacff1..4aff141 100644 --- a/apps/metadata/monkeys.c +++ b/apps/metadata/monkeys.c @@ -91,5 +91,7 @@ bool get_monkeys_metadata(int fd, struct mp3entry* id3) id3->length = ((int64_t) totalsamples * 1000) / id3->frequency; id3->bitrate = (id3->filesize * 8) / id3->length; + + read_ape_tags(fd, id3); return true; } diff --git a/apps/metadata/mp3.c b/apps/metadata/mp3.c index c65fb39..9309242 100644 --- a/apps/metadata/mp3.c +++ b/apps/metadata/mp3.c @@ -163,14 +163,8 @@ static int getsonglength(int fd, struct mp3entry *entry) * about an MP3 file and updates it's entry accordingly. * Note, that this returns true for successful, false for error! */ -bool get_mp3_metadata(int fd, struct mp3entry *entry, const char *filename) +bool get_mp3_metadata(int fd, struct mp3entry *entry) { -#if CONFIG_CODEC != SWCODEC - memset(entry, 0, sizeof(struct mp3entry)); -#endif - - strlcpy(entry->path, filename, sizeof(entry->path)); - entry->title = NULL; entry->filesize = filesize(fd); entry->id3v2len = getid3v2len(fd); diff --git a/apps/metadata/mpc.c b/apps/metadata/mpc.c index c6f3c3d..f70e1d3 100644 --- a/apps/metadata/mpc.c +++ b/apps/metadata/mpc.c @@ -211,5 +211,7 @@ bool get_musepack_metadata(int fd, struct mp3entry *id3) id3->filesize = filesize(fd); id3->bitrate = id3->filesize * 8 / id3->length; + + read_ape_tags(fd, id3); return true; } diff --git a/apps/metadata/spc.c b/apps/metadata/spc.c index 786c678..f1fcb81 100644 --- a/apps/metadata/spc.c +++ b/apps/metadata/spc.c @@ -124,5 +124,8 @@ bool get_spc_metadata(int fd, struct mp3entry* id3) id3->length = length+fade; + id3->filesize = filesize(fd); + id3->genre_string = id3_get_num_genre(36); + return true; } diff --git a/apps/metadata/wavpack.c b/apps/metadata/wavpack.c index a6ab6f2..bb181b8 100644 --- a/apps/metadata/wavpack.c +++ b/apps/metadata/wavpack.c @@ -136,6 +136,7 @@ bool get_wavpack_metadata(int fd, struct mp3entry* id3) id3->length = ((int64_t) totalsamples * 1000) / id3->frequency; id3->bitrate = filesize (fd) / (id3->length / 8); + read_ape_tags(fd, id3); return true; } |