diff options
author | Alexey Yakovenko <wakeroid@gmail.com> | 2010-03-29 20:24:40 +0200 |
---|---|---|
committer | Alexey Yakovenko <wakeroid@gmail.com> | 2010-03-29 20:24:40 +0200 |
commit | 101275a75598cbcfff93f7ec138e9f858e418f66 (patch) | |
tree | 57ff48ff6f5f961a758751fcc28822afbf625d18 /plugins/gtkui/trkproperties.c | |
parent | c74205d7374733f9d200471a41144448c992acff (diff) |
id3v2.4 -> 2.3 converter WIP
Diffstat (limited to 'plugins/gtkui/trkproperties.c')
-rw-r--r-- | plugins/gtkui/trkproperties.c | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/plugins/gtkui/trkproperties.c b/plugins/gtkui/trkproperties.c index 287da90c..dfc02906 100644 --- a/plugins/gtkui/trkproperties.c +++ b/plugins/gtkui/trkproperties.c @@ -212,6 +212,9 @@ on_write_tags_clicked (GtkButton *button, goto error; } fprintf (stderr, "writing id3v2.%d.%d\n", tag.version[0], tag.version[1]); + +#if 0 + // 2.3 editing test if (tag.version[0] == 3) { // remove frames deadbeef->junk_id3v2_remove_frames (&tag, "TPE1"); @@ -220,12 +223,27 @@ on_write_tags_clicked (GtkButton *button, // add frames deadbeef->junk_id3v2_add_text_frame_23 (&tag, "TPE1", "test title"); deadbeef->junk_id3v2_add_text_frame_23 (&tag, "TIT2", "название на русском"); + if (deadbeef->junk_write_id3v2 (track->fname, &tag) < 0) { + fprintf (stderr, "failed to write tags to %s\n", track->fname); + goto error; + } } - - if (deadbeef->junk_write_id3v2 (track->fname, &tag) < 0) { - fprintf (stderr, "failed to write tags to %s\n", track->fname); - goto error; +#endif + // 2.4 -> 2.3 conversion test + if (tag.version[0] == 4) { + DB_id3v2_tag_t tag23; + memset (&tag23, 0, sizeof (tag23)); + int res = deadbeef->junk_id3v2_convert_24_to_23 (&tag, &tag23); + if (res == -1) { + deadbeef->junk_free_id3v2 (&tag23); + goto error; + } + if (deadbeef->junk_write_id3v2 (track->fname, &tag23) < 0) { + fprintf (stderr, "failed to write tags to %s\n", track->fname); + goto error; + } } + } else { fprintf (stderr, "failed to open %s\n", track->fname); |