summaryrefslogtreecommitdiff
path: root/plugins/gtkui/trkproperties.c
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-03-29 20:24:40 +0200
committerGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-03-29 20:24:40 +0200
commit101275a75598cbcfff93f7ec138e9f858e418f66 (patch)
tree57ff48ff6f5f961a758751fcc28822afbf625d18 /plugins/gtkui/trkproperties.c
parentc74205d7374733f9d200471a41144448c992acff (diff)
id3v2.4 -> 2.3 converter WIP
Diffstat (limited to 'plugins/gtkui/trkproperties.c')
-rw-r--r--plugins/gtkui/trkproperties.c26
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);