diff options
Diffstat (limited to 'plugins/mpgmad/mpgmad.c')
-rw-r--r-- | plugins/mpgmad/mpgmad.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/plugins/mpgmad/mpgmad.c b/plugins/mpgmad/mpgmad.c index 21d3b8fb..8e54b6c8 100644 --- a/plugins/mpgmad/mpgmad.c +++ b/plugins/mpgmad/mpgmad.c @@ -498,6 +498,8 @@ cmp3_init (DB_playItem_t *it) { } else { int len = deadbeef->fgetlength (buffer.file); + const char *name = deadbeef->fget_content_name (buffer.file); + const char *genre = deadbeef->fget_content_genre (buffer.file); if (len > 0) { deadbeef->pl_delete_all_meta (it); int v2err = deadbeef->junk_read_id3v2 (it, buffer.file); @@ -506,6 +508,18 @@ cmp3_init (DB_playItem_t *it) { deadbeef->fseek (buffer.file, 0, SEEK_SET); } } + else { + deadbeef->pl_delete_all_meta (it); + if (name) { + deadbeef->pl_add_meta (it, "title", name); + } + else { + deadbeef->pl_add_meta (it, "title", NULL); + } + if (genre) { + deadbeef->pl_add_meta (it, "genre", genre); + } + } int res = cmp3_scan_stream (&buffer, 0); if (res < 0) { trace ("mpgmad: cmp3_init: initial cmp3_scan_stream failed\n"); |