Hello community, here is the log from the commit of package sound-juicer checked in at Sat Apr 8 02:04:14 CEST 2006. -------- --- GNOME/sound-juicer/sound-juicer.changes 2006-03-12 11:54:40.000000000 +0100 +++ sound-juicer/sound-juicer.changes 2006-04-05 16:45:53.000000000 +0200 @@ -1,0 +2,6 @@ +Wed Apr 5 16:45:22 CEST 2006 - jpr@suse.de + +- Update to sound-juicer 2.14.0 for gstreamer 0.10 support +- Back patch to not require new nautilus cd burner + +------------------------------------------------------------------- Old: ---- sound-juicer-2.12.3.tar.bz2 New: ---- sound-juicer-2.14.0.tar.bz2 sound-juicer-no-drive-unref.patch sound-juicer-no-goption.patch sound-juicer-old-burn.patch sound-juicer-versions.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ sound-juicer.spec ++++++ --- /var/tmp/diff_new_pack.QlXV1P/_old 2006-04-08 02:03:36.000000000 +0200 +++ /var/tmp/diff_new_pack.QlXV1P/_new 2006-04-08 02:03:36.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package sound-juicer (Version 2.12.3) +# spec file for package sound-juicer (Version 2.14.0) # # Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -11,24 +11,28 @@ # norootforbuild Name: sound-juicer -BuildRequires: docbook-xsl-stylesheets gcc-c++ gnome-doc-utils gnome-icon-theme gnome-media-devel gstreamer-plugins-devel gstreamer-plugins-excess kdelibs3-doc libgnomeui-devel libmusicbrainz-devel libstdc++ nautilus-cd-burner-devel nautilus-devel perl-XML-Parser scrollkeeper update-desktop-files +BuildRequires: docbook-xsl-stylesheets gcc-c++ gnome-common gnome-doc-utils gnome-icon-theme gnome-media-devel gstreamer010-plugins-base-devel gstreamer010-plugins-good intltool kdelibs3-doc libgnomeui-devel libmusicbrainz-devel libstdc++ nautilus-cd-burner-devel nautilus-devel perl-XML-Parser scrollkeeper update-desktop-files %define prefix /opt/gnome %define sysconfdir /etc%{prefix} License: GPL Group: Productivity/Multimedia/CD/Grabbers Autoreqprov: on PreReq: filesystem gconf2 -Version: 2.12.3 -Release: 14 -Source0: ftp://ftp.gnome.org/pub/gnome/sources/sound-juicer/2.11/%{name}-%{version}.tar.bz2 +Version: 2.14.0 +Release: 2 +Source0: ftp://ftp.gnome.org/pub/gnome/sources/sound-juicer/2.141/%{name}-%{version}.tar.bz2 Source1: sj-icons.tar.bz2 Patch1: sound-juicer-desktop.patch Patch2: sound-juicer-no_deprec.diff +Patch3: sound-juicer-no-goption.patch +Patch4: sound-juicer-versions.patch +Patch5: sound-juicer-no-drive-unref.patch +Patch6: sound-juicer-old-burn.patch URL: http://www.burtonini.com/blog/computers/sound-juicer/ BuildRoot: %{_tmppath}/%{name}-%{version}-build Summary: Clean and Lean GNOME CD Ripper Requires: gnome-icon-theme -Requires: gstreamer-plugins-extra gstreamer-plugins-default gstreamer-plugins-excess +Requires: gstreamer010-plugins-good %description GStreamer-based CD ripping tool. Saves audio CDs to Ogg/vorbis. @@ -43,14 +47,20 @@ %prep %setup -q -b 1 -%patch1 +#%patch1 %patch2 +%patch3 +%patch4 +#%patch5 +%patch6 %build rename no nb po/no.* sed "s/\(ALL_LINGUAS.*\) no /\1 nb /" configure.in > configure.in.tmp && mv configure.in.tmp configure.in sed "s/\(ALL_LINGUAS.*\) no /\1 nb /" configure > configure.tmp && mv configure.tmp configure && chmod a+x configure %{?suse_update_config:%{suse_update_config}} +intltoolize --force --copy +autoreconf -fi export CFLAGS="$RPM_OPT_FLAGS" export CXXFLAGS="$RPM_OPT_FLAGS" ./configure \ @@ -100,6 +110,9 @@ %{prefix}/share/sound-juicer %changelog -n sound-juicer +* Wed Apr 05 2006 - jpr@suse.de +- Update to sound-juicer 2.14.0 for gstreamer 0.10 support +- Back patch to not require new nautilus cd burner * Sun Mar 12 2006 - aj@suse.de - Reduce BuildRequires. * Mon Mar 06 2006 - sbrabec@suse.cz ++++++ sound-juicer-2.12.3.tar.bz2 -> sound-juicer-2.14.0.tar.bz2 ++++++ ++++ 62474 lines of diff (skipped) ++++++ sound-juicer-no-drive-unref.patch ++++++ --- src/sj-main.c +++ src/sj-main.c @@ -737,7 +737,7 @@ if (drive) { nautilus_burn_drive_unlock (drive); - nautilus_burn_drive_unref (drive); + g_object_unref (drive); drive = NULL; } ++++++ sound-juicer-no-goption.patch ++++++ --- src/sj-main.c +++ src/sj-main.c @@ -1218,30 +1218,24 @@ GError *error = NULL; GtkTreeSelection *selection; char *device = NULL; - GOptionContext *ctx; - const GOptionEntry entries[] = { - { "auto-start", 'a', 0, G_OPTION_ARG_NONE, &autostart, N_("Start extracting immediately"), NULL }, - { "play", 'p', 0, G_OPTION_ARG_NONE, &autoplay, N_("Start playing immediately"), NULL}, - { "device", 'd', 0, G_OPTION_ARG_FILENAME, &device, N_("What CD device to read"), N_("DEVICE") }, - { NULL } + struct poptOption options[] = { + { "auto-start", 'a', POPT_ARG_NONE, &autostart, 0, "Start extracting immediately", NULL }, + { "play", 'p', POPT_ARG_NONE, &autoplay, 0, "Start playing immediately", NULL }, + { "device", 'd', POPT_ARG_STRING, &device, 0, "What CD device to read", NULL }, + POPT_TABLEEND }; bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); textdomain (GETTEXT_PACKAGE); - g_set_application_name (_("Sound Juicer")); + gst_init (&argc, &argv); - ctx = g_option_context_new ("- Sound Juicer"); - g_option_context_add_main_entries (ctx, entries, GETTEXT_PACKAGE); - g_option_context_add_group (ctx, gst_init_get_option_group ()); - g_option_context_set_ignore_unknown_options (ctx, TRUE); - gnome_program_init ("sound-juicer", VERSION, LIBGNOMEUI_MODULE, argc, argv, GNOME_PROGRAM_STANDARD_PROPERTIES, - GNOME_PARAM_GOPTION_CONTEXT, ctx, + GNOME_PARAM_POPT_TABLE, options, NULL); sj_stock_init (); ++++++ sound-juicer-old-burn.patch ++++++ Index: src/sj-main.c ================================================================================ --- src/sj-main.c +++ src/sj-main.c @@ -82,7 +82,8 @@ gboolean strip_chars; gboolean eject_finished; gboolean extracting = FALSE; - +static gboolean tray_opened = FALSE; +static guint poll_id = 0; static gint total_no_of_tracks; static gint no_of_tracks_selected; static AlbumDetails *current_album; @@ -215,6 +216,26 @@ nautilus_burn_drive_eject (drive); } +static gboolean poll_tray_opened (gpointer data) +{ + gboolean new_status; + if (extracting == TRUE) + return TRUE; + + new_status = nautilus_burn_drive_door_is_open (drive); + if (new_status != tray_opened && new_status == FALSE) { + d(g_printerr("Poll detected new CD\n")); + reread_cd (TRUE); + } else if (new_status != tray_opened && new_status == TRUE) { + d(g_printerr("Poll detected removed CD\n")); + stop_ui_hack (); + update_ui_for_album (NULL); + } + tray_opened = new_status; + + return TRUE; +} + gboolean on_delete_event (GtkWidget *widget, GdkEvent *event, gpointer user_data) { if (extracting) { @@ -231,6 +252,9 @@ gtk_widget_destroy (dialog); if (response == GTK_RESPONSE_ACCEPT) { + if (poll_id > 0) { + g_source_remove (poll_id); + } return FALSE; } return TRUE; @@ -705,66 +729,12 @@ } static void -media_added_cb (NautilusBurnDrive *drive, - gpointer data) -{ - if (extracting == TRUE) { - /* FIXME: recover? */ - } - - d(g_printerr ("** media added to device %s\n", drive->device)); - reread_cd (TRUE); -} - -static void -media_removed_cb (NautilusBurnDrive *drive, - gpointer data) -{ - if (extracting == TRUE) { - /* FIXME: recover? */ - } - - d(g_printerr ("** media removed from device %s\n", drive->device)); - stop_ui_hack (); - update_ui_for_album (NULL); -} - -static void -set_drive_from_device (const char *device) -{ - gboolean is_locked; - char *reason; - - if (drive) { - nautilus_burn_drive_unlock (drive); - nautilus_burn_drive_unref (drive); - drive = NULL; - } - - if (! device) - return; - - drive = nautilus_burn_drive_new_from_path (device); - g_assert (drive); - - is_locked = nautilus_burn_drive_lock (drive, _("Extracting audio from CD"), &reason); - if (! is_locked) { - g_warning ("Could not lock drive: %s", reason); - g_free (reason); - } - - g_object_set (drive, "enable-monitor", TRUE, NULL); - g_signal_connect (drive, "media-added", G_CALLBACK (media_added_cb), NULL); - g_signal_connect (drive, "media-removed", G_CALLBACK (media_removed_cb), NULL); -} - -static void set_device (const char* device, gboolean ignore_no_media) { gboolean tray_opened; if (device == NULL) { - set_drive_from_device (device); + drive = NULL; } else if (access (device, R_OK) != 0) { GtkWidget *dialog; char *message; @@ -782,13 +752,12 @@ gtk_label_set_use_markup (GTK_LABEL (GTK_MESSAGE_DIALOG (dialog)->label), TRUE); gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); - /* Set a null device */ - set_drive_from_device (NULL); + drive = NULL; } else { - set_drive_from_device (device); + drive = nautilus_burn_drive_new_from_path (device); + g_assert (drive); } - sj_metadata_set_cdrom (metadata, device); sj_extractor_set_device (extractor, device); @@ -855,6 +824,7 @@ exit (1); #endif } + drive = nautilus_burn_drive_new_from_path (device); } else { device = gconf_value_get_string (entry->value); } @@ -1418,6 +1388,10 @@ return 0; } + /* Poke the CD drive every now and then */ + tray_opened = nautilus_burn_drive_door_is_open (drive); + poll_id = g_timeout_add (2000, poll_tray_opened, NULL); + gtk_main (); g_object_unref (metadata); g_object_unref (extractor); ++++++ sound-juicer-versions.patch ++++++ --- configure.in +++ configure.in @@ -37,12 +37,12 @@ AC_SUBST(GLIB_LIBS) # Find nautilus-burn -PKG_CHECK_MODULES(BURN, libnautilus-burn >= 2.13.93) +PKG_CHECK_MODULES(BURN, libnautilus-burn >= 2.12.2) AC_SUBST(BURN_CFLAGS) AC_SUBST(BURN_LIBS) # Find the UI libraries -PKG_CHECK_MODULES(UI, gtk+-2.0 >= 2.6 libglade-2.0 gconf-2.0 libgnomeui-2.0 >= 2.13.0 gnome-vfs-2.0 >= 2.9 gnome-vfs-module-2.0 > 2.9 gmodule-2.0) +PKG_CHECK_MODULES(UI, gtk+-2.0 >= 2.6 libglade-2.0 gconf-2.0 libgnomeui-2.0 >= 2.12.0 gnome-vfs-2.0 >= 2.9 gnome-vfs-module-2.0 > 2.9 gmodule-2.0) AC_SUBST(UI_CFLAGS) AC_SUBST(UI_LIBS) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun...