Hello,
sorry for forgetting to include the patch in my previous email. I just
discovered an API-page for gstreamer. Unfortunately I did not see a
detailed explanation, but I think the (new) patch is the correct one,
but please double check (with upstream?). For reference, I also attach
my firt (crude) patch.

Greetings

           Helge
-- 
Dr. Helge Kreutzmann, Dipl.-Phys.           [EMAIL PROTECTED]
                       gpg signed mail preferred 
    64bit GNU powered                  http://www.itp.uni-hannover.de/~kreutzm
          Help keep free software "libre": http://www.ffii.de/
--- dlg-ripper.c.orig   2005-04-05 13:55:40.000000000 +0200
+++ dlg-ripper.c        2005-08-20 20:47:16.339474288 +0200
@@ -519,6 +519,37 @@
        /* Set song tags. */
 
        if (GST_IS_TAG_SETTER (data->encoder)) {
+// HK: data->genre must not be added on every track
+#ifndef UPSTREAM
+               if (data->genre != NULL) {
+               gst_tag_setter_add (GST_TAG_SETTER (data->encoder),   
+                                   GST_TAG_MERGE_REPLACE_ALL,
+                                   GST_TAG_TITLE, track->title,
+                                   GST_TAG_ARTIST, data->artist,
+                                   GST_TAG_ALBUM, data->album,
+                                   GST_TAG_TRACK_NUMBER, (guint) track->number 
+ 1,
+                                   GST_TAG_TRACK_COUNT, (guint) 
data->total_tracks,
+                                   GST_TAG_DURATION, (guint64) track->length * 
GST_SECOND, 
+                                   GST_TAG_COMMENT, _("Ripped with Goobox"),
+                                   GST_TAG_ENCODER, PACKAGE_NAME,
+                                   GST_TAG_ENCODER_VERSION, PACKAGE_VERSION,
+                                   GST_TAG_GENRE, data->genre,
+                                   NULL); }
+               else {
+               gst_tag_setter_add (GST_TAG_SETTER (data->encoder),   
+                                   GST_TAG_MERGE_REPLACE_ALL,
+                                   GST_TAG_TITLE, track->title,
+                                   GST_TAG_ARTIST, data->artist,
+                                   GST_TAG_ALBUM, data->album,
+                                   GST_TAG_TRACK_NUMBER, (guint) track->number 
+ 1,
+                                   GST_TAG_TRACK_COUNT, (guint) 
data->total_tracks,
+                                   GST_TAG_DURATION, (guint64) track->length * 
GST_SECOND, 
+                                   GST_TAG_COMMENT, _("Ripped with Goobox"),
+                                   GST_TAG_ENCODER, PACKAGE_NAME,
+                                   GST_TAG_ENCODER_VERSION, PACKAGE_VERSION,
+                                   NULL);
+               }
+#else
                gst_tag_setter_add (GST_TAG_SETTER (data->encoder),   
                                    GST_TAG_MERGE_REPLACE_ALL,
                                    GST_TAG_TITLE, track->title,
@@ -536,6 +567,7 @@
                                            GST_TAG_MERGE_APPEND,
                                            GST_TAG_GENRE, data->genre,
                                            NULL);
+#endif
                if (data->year != 0) {
                        GDate *d = g_date_new_dmy (1, 1, data->year);
                        gst_tag_setter_add (GST_TAG_SETTER (data->encoder),   
@@ -589,7 +621,7 @@
 }
 
 
-
+
 
 
 /* create the main dialog. */
--- dlg-ripper.c.orig   2005-04-05 13:55:40.000000000 +0200
+++ dlg-ripper.c        2005-08-20 21:21:39.368846152 +0200
@@ -531,9 +531,10 @@
                                    GST_TAG_ENCODER, PACKAGE_NAME,
                                    GST_TAG_ENCODER_VERSION, PACKAGE_VERSION,
                                    NULL);
+// HK: data->genre must not be added on every track
                if (data->genre != NULL)
                        gst_tag_setter_add (GST_TAG_SETTER (data->encoder),   
-                                           GST_TAG_MERGE_APPEND,
+                                           GST_TAG_MERGE_REPLACE,
                                            GST_TAG_GENRE, data->genre,
                                            NULL);
                if (data->year != 0) {
@@ -589,7 +590,7 @@
 }
 
 
-
+
 
 
 /* create the main dialog. */

Attachment: pgpYZCMhhKbXQ.pgp
Description: PGP signature

Reply via email to