Hello everybody,
<div><br></div><div>I am trying to write a music manager using GTK+ and GStreamer. I would like to be able to extract some certain tags and apply it to the GtkTreeView in my software. However, I am not sure how to extract only a certain amount of tags from a stream. I know that I need to use gst_tag_list_foreach() to specify the GstForEachFunction for each tag, but I just need to display to the users some tags, like title, artist, name, not all the tags that are available. Here is part of my GstForEachFunction:</div>
<div><br></div><div><div>void insert_tag_on_tree(const GstTagList *list, const gchar *tag, gpointer user_data) {</div><div>  gchar *str = NULL;</div><div>  GtkTreeView *tree_view = NULL;</div><div>  GtkListStore *list_store = NULL;</div>
<div>  </div><div>  if (gst_tag_get_type(tag) == G_TYPE_STRING) {</div><div>    if (tag == (gchar*) &quot;artist&quot;) {</div><div>      gst_tag_list_get_string_index(list, tag, 0, &amp;str);</div><div>      g_print(&quot;%s : %20s\n&quot;, tag, str);</div>
<div>    }</div><div>  }</div><div>}</div></div><div><br></div><div>So in this GstForEachFunc I compare the tag&#39;s name to &quot;artist&quot; and if its name is &quot;artist&quot;, I will print it out. However, I could not get this function to work. Any idea on how to extract only a certain amount of tags from a stream?</div>
<div><br></div><div>Thank you for reading my message! I hope you guys have a good weekend!</div><div><br></div><div><br></div><div>Best regards,</div><div><br></div><div>Phong Cao</div>