diff options
author | 2010-04-01 18:15:32 +0200 | |
---|---|---|
committer | 2010-04-01 18:15:32 +0200 | |
commit | e4e910fe9afd65a9e138e69c8281eec918595f97 (patch) | |
tree | dc5d69d2744314fb020ba2fd80f2747007dabff3 /plugins/mpgmad | |
parent | cdf0683006b8cb7099009286e364d26d3a9e37df (diff) |
initial implementation of metadata reloading (MP3)
Diffstat (limited to 'plugins/mpgmad')
-rw-r--r-- | plugins/mpgmad/mpgmad.c | 16 |
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 |