summaryrefslogtreecommitdiff
path: root/plugins/gtkui
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/gtkui')
-rw-r--r--plugins/gtkui/trkproperties.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/plugins/gtkui/trkproperties.c b/plugins/gtkui/trkproperties.c
index 216f414e..287da90c 100644
--- a/plugins/gtkui/trkproperties.c
+++ b/plugins/gtkui/trkproperties.c
@@ -198,7 +198,11 @@ void
on_write_tags_clicked (GtkButton *button,
gpointer user_data)
{
- return;
+ fprintf (stderr, "on_write_tags_clicked\n");
+ if (!deadbeef->conf_get_int ("enable_tag_writing", 0)) {
+ fprintf (stderr, "tag writing disabled\n");
+ return;
+ }
DB_id3v2_tag_t tag;
memset (&tag, 0, sizeof (tag));
DB_FILE *fp = deadbeef->fopen (track->fname);
@@ -207,11 +211,25 @@ on_write_tags_clicked (GtkButton *button,
fprintf (stderr, "failed to read tags from %s\n", track->fname);
goto error;
}
+ fprintf (stderr, "writing id3v2.%d.%d\n", tag.version[0], tag.version[1]);
+ if (tag.version[0] == 3) {
+ // remove frames
+ deadbeef->junk_id3v2_remove_frames (&tag, "TPE1");
+ deadbeef->junk_id3v2_remove_frames (&tag, "TIT2");
+
+ // 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;
}
}
+ else {
+ fprintf (stderr, "failed to open %s\n", track->fname);
+ }
error:
if (fp) {
deadbeef->fclose (fp);