<div dir="ltr">Hi,<br>
<br>
I am trying to get this right in GNOME Gingerblue 0.8.0, but it fails<br>
to write the tags in the record pipeline in GStreamer 1.19.1.<br>
<br>
See <a href="http://www.gingerblue.org/" rel="noreferrer" target="_blank">http://www.gingerblue.org/</a> and the committed code<br>
in <a href="https://gitlab.gnome.org/ole/gingerblue.git" rel="noreferrer" target="_blank">https://gitlab.gnome.org/ole/gingerblue.git</a><br>
<div><br></div><div>From <a href="https://gitlab.gnome.org/ole/gingerblue/-/commit/709572e09a8369b86cc499d2619144f46544d75e#b683de4daf44a8552743f88f71fa84c25937a5b8">https://gitlab.gnome.org/ole/gingerblue/-/commit/709572e09a8369b86cc499d2619144f46544d75e#b683de4daf44a8552743f88f71fa84c25937a5b8</a></div><div><br></div>
+#include <gst/tag/tag.h><br>
 #include <gtk/gtk.h><br>
 #include <glib/gstdio.h><br>
 #include <glib/gi18n.h><br>
@@ -49,6 +50,8 @@ GtkWidget *summary_entry, *summary_label;<br>
<br>
 GMainLoop *main_loops;<br>
<br>
+GstTagList *tag_list;<br>
+<br>
 static void gb_assistant_entry_changed(GtkEditable * editable,<br>
                                       GtkAssistant * assistant,<br>
                                       GstElement * pipeline)<br>
@@ -72,6 +75,27 @@ static void gb_assistant_button_clicked(GtkButton *<br>
button,<br>
<br>
        recorder = gst_pipeline_new("record_pipe");<br>
<br>
+       tag_list = gst_tag_list_new (GST_TAG_ARTIST,<br>
gtk_entry_get_text(GTK_ENTRY(musician_entry)), NULL);<br>
+       gst_stream_set_tags (GST_STREAM (recorder), tag_list);<br>
+<br>
+       tag_list = gst_tag_list_new (GST_TAG_ALBUM,<br>
gtk_entry_get_text(GTK_ENTRY(song_entry)), NULL);<br>
+       gst_stream_set_tags (GST_STREAM (recorder), tag_list);<br>
+<br>
+       tag_list = gst_tag_list_new (GST_TAG_TITLE,<br>
gtk_entry_get_text(GTK_ENTRY(song_entry)), NULL);<br>
+       gst_stream_set_tags (GST_STREAM (recorder), tag_list);<br>
+<br>
+       tag_list = gst_tag_list_new (GST_TAG_COPYRIGHT,<br>
gtk_entry_get_text(GTK_ENTRY(label_entry)), NULL);<br>
+       gst_stream_set_tags (GST_STREAM (recorder), tag_list);<br>
+<br>
+       tag_list = gst_tag_list_new (GST_TAG_PUBLISHER,<br>
gtk_entry_get_text(GTK_ENTRY(label_entry)), NULL);<br>
+       gst_stream_set_tags (GST_STREAM (recorder), tag_list);<br>
+<br>
+       tag_list = gst_tag_list_new (GST_TAG_DATE_TIME, datestamp,<br>
NULL);<br>
+       gst_stream_set_tags (GST_STREAM (recorder), tag_list);<br>
+<br>
+       tag_list = gst_tag_list_new (GST_TAG_DATE_TIME, datestamp,<br>
NULL);<br>
<br>
Alternative route:<br>
<br>
+       gst_vorbis_tag_add (tag_list, GST_TAG_ARTIST,<br>
gtk_entry_get_text(GTK_ENTRY(musician_entry)));<br>
+       gst_vorbis_tag_add (tag_list, GST_TAG_ALBUM,<br>
gtk_entry_get_text(GTK_ENTRY(song_entry)));<br>
+       gst_vorbis_tag_add (tag_list, GST_TAG_TITLE,<br>
gtk_entry_get_text(GTK_ENTRY(song_entry)));<br>
+       gst_vorbis_tag_add (tag_list, GST_TAG_COPYRIGHT,<br>
gtk_entry_get_text(GTK_ENTRY(label_entry)));<br>
+       gst_vorbis_tag_add (tag_list, GST_TAG_PUBLISHER,<br>
gtk_entry_get_text(GTK_ENTRY(label_entry)));<br>
+       gst_vorbis_tag_add (tag_list, GST_TAG_DATE_TIME, datestamp);<br>
+       gst_vorbis_tag_add (tag_list, GST_TAG_DATE_TIME, datestamp);<br>
+       gst_stream_set_tags (GST_STREAM (recorder), tag_list);<br>
<br>
Doesn't work and the comment does not show up in the recorded files.<br>
<br>
Best,<br>
Ole</div>