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. */
pgpYZCMhhKbXQ.pgp
Description: PGP signature

