summaryrefslogtreecommitdiff
path: root/plugins/mpgmad
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-04-01 18:15:32 +0200
committerGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-04-01 18:15:32 +0200
commite4e910fe9afd65a9e138e69c8281eec918595f97 (patch)
treedc5d69d2744314fb020ba2fd80f2747007dabff3 /plugins/mpgmad
parentcdf0683006b8cb7099009286e364d26d3a9e37df (diff)
initial implementation of metadata reloading (MP3)
Diffstat (limited to 'plugins/mpgmad')
-rw-r--r--plugins/mpgmad/mpgmad.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/plugins/mpgmad/mpgmad.c b/plugins/mpgmad/mpgmad.c
index 8d99f1d3..5ec74088 100644
--- a/plugins/mpgmad/mpgmad.c
+++ b/plugins/mpgmad/mpgmad.c
@@ -1171,6 +1171,21 @@ cmp3_insert (DB_playItem_t *after, const char *fname) {
}
int
+cmp3_read_metadata (DB_playItem_t *it) {
+ DB_FILE *fp = deadbeef->fopen (it->fname);
+ if (!fp) {
+ return -1;
+ }
+ deadbeef->pl_delete_all_meta (it);
+ /*int apeerr = */deadbeef->junk_apev2_read (it, fp);
+ /*int v2err = */deadbeef->junk_id3v2_read (it, fp);
+ /*int v1err = */deadbeef->junk_id3v1_read (it, fp);
+ deadbeef->pl_add_meta (it, "title", NULL);
+ deadbeef->fclose (fp);
+ return 0;
+}
+
+int
cmp3_write_metadata (DB_playItem_t *it) {
int err = -1;
char *buffer = NULL;
@@ -1526,6 +1541,7 @@ static DB_decoder_t plugin = {
.seek = cmp3_seek,
.seek_sample = cmp3_seek_sample,
.insert = cmp3_insert,
+ .read_metadata = cmp3_read_metadata,
.write_metadata = cmp3_write_metadata,
.exts = exts,
.filetypes = filetypes