GNOME Bugzilla – Bug 567286
[PATCH] Use libbrasero-media instead of nautilus-cd-burner for burning
Last modified: 2009-01-30 11:10:59 UTC
In case brasero gets accepted for inclusion in GNOME 2.26 here is a patch to port sound-juicer to brasero (duplication and drive selection). It uses brasero trunk. As a side note, sound-juicer may benefit from using brasero even further as brasero can retrieve (not exposed yet but for the disc title) the CD-TEXT from the disc (and convert it to UTF-8). This way the dep on libcdio could be dropped as I was under the impression that CD-TEXT retrieval was why libcdio was used.
Created attachment 126178 [details] [review] The said patch
libcdio isn't needed, and we already support fetching CD-Text through xattrs in gvfs. Also, libbrasero-media is GPLv2, which conflicts with sound-juicer's GPLv2+ with exception license.
GPLv2 is just the licence set by anjuta automatically. I don't really care about licence so if that's just a matter of +, well, then I'll change it.
Not all the code there belongs to you...
Bastien, afaik ncb is GPLv2 too so there's no problem here. I think you are not making this an easy task. What Ross have to say about this ?
No, libnautilus-burn has been "conveniently" forgotten in the relicensing processes for both sound-juicer and Rhythmbox. That doesn't make it right.
Ok so we need to wait until ncb got re-licensed or ask everyone if we can change the license. It doesn't have more options afaik.
Ah you're right, I had forgotten brasero-drive-selection.c/h came from ncb. OK, I'll rewrite my own then. After that, all the code in libbrasero-media will be mine and the licencing problem can go away. You're always punished when you cut and paste; one way or another; that's what I tell my pupils in class =).
Just to let you know I rewrite brasero-drive.c/h. and emailed the copyright owners of two files. So I hope to relicence before the weekend.
Created attachment 126593 [details] [review] Try 2 This patch is an update since API has changed in libbrasero-media.
Ross: release team decided to go with brasero; could you review this patch?
*** Bug 565884 has been marked as a duplicate of this bug. ***
Committed to svn trunk. Thanks for the review. 2009-01-28 Luis Medinas <lmedinas@gnome.org> * configure.in: * data/sound-juicer.glade: * libjuicer/sj-metadata.c (sj_metadata_helper_check_media): * src/sj-extracting.c (cleanup), (finished_actions), (on_extract_activate): * src/sj-main.c (on_eject_activate), (is_audio_cd), (media_added_cb), (media_removed_cb), (set_drive_from_device), (set_device), (cd_drive_exists), (prefs_get_default_device), (is_cd_duplication_available), (on_duplicate_activate), (main): * src/sj-play.c (setup): * src/sj-prefs.c (device_changed_cb), (prefs_drive_changed), (on_edit_preferences_cb): * src/sound-juicer.h: Use libbrasero-media instead of nautilus-cd-burner for burning, Brasero will replace n-c-b for GNOME 2.26. Patch from Philippe Rouquier <bonfire-app@wanadoo.fr> Closes bgo #567286.
Nice, but: sj-prefs.c:30:45: error: brasero/brasero-drive-selection.h: No such file or directory sj-prefs.c: In function ‘device_changed_cb’: sj-prefs.c:338: warning: implicit declaration of function ‘brasero_drive_selection_set_active’ sj-prefs.c:338: warning: nested extern declaration of ‘brasero_drive_selection_set_active’ sj-prefs.c:338: warning: implicit declaration of function ‘BRASERO_DRIVE_SELECTION’ sj-prefs.c:338: warning: nested extern declaration of ‘BRASERO_DRIVE_SELECTION’ sj-prefs.c: At top level: sj-prefs.c:344: error: expected ‘)’ before ‘*’ token sj-prefs.c: In function ‘on_edit_preferences_cb’: sj-prefs.c:446: error: ‘prefs_drive_changed’ undeclared (first use in this function) sj-prefs.c:446: error: (Each undeclared identifier is reported only once sj-prefs.c:446: error: for each function it appears in.) make[2]: *** [sound_juicer-sj-prefs.o] Error 1 make[2]: Leaving directory `/home/nx/code/svn/gnome/sound-juicer/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/nx/code/svn/gnome/sound-juicer' make: *** [all] Error 2 $ ls $GNOME/include/brasero/brasero-drive-selection.h /opt/gnome2.24/include/brasero/brasero-drive-selection.h
FWIW it built fine locally and on build slaves http://build.gnome.org/sound-juicer (all but one, which was already failing before this change). Did you run autogen.sh/configure again?
(In reply to comment #15) > Did you run autogen.sh/configure again? Quite sure I did. Btw, /opt/gnome2.24 has the latest brasero from trunk despite its name. In the gcc output, I see -I/opt/gnome2.24/include/brasero/ but not -I/opt/gnome2.24/include/
libbrasero-media.pc has Cflags: -I${includedir}/brasero/ So includes should be #include <brasero-drive-selection.h>, not #include <brasero/brasero-drive-selection.h>. The error only occurs in sj-prefs.c. Index: src/sj-prefs.c =================================================================== --- src/sj-prefs.c (revision 2404) +++ src/sj-prefs.c (working copy) @@ -27,7 +27,7 @@ #include <glade/glade-xml.h> #include <gconf/gconf-client.h> #include <profiles/gnome-media-profiles.h> -#include <brasero/brasero-drive-selection.h> +#include <brasero-drive-selection.h> #include "sj-util.h" #include "gconf-bridge.h"
Fixed, thanks Frederic.
Sorry about that mistake.