After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 567286 - [PATCH] Use libbrasero-media instead of nautilus-cd-burner for burning
[PATCH] Use libbrasero-media instead of nautilus-cd-burner for burning
Status: RESOLVED FIXED
Product: sound-juicer
Classification: Applications
Component: general
2.25.x
Other All
: Normal enhancement
: ---
Assigned To: Sound Juicer Maintainers
Sound Juicer Maintainers
: 565884 (view as bug list)
Depends on:
Blocks: 565884
 
 
Reported: 2009-01-10 17:26 UTC by Philippe Rouquier
Modified: 2009-01-30 11:10 UTC
See Also:
GNOME target: 2.26.x
GNOME version: Unversioned Enhancement


Attachments
The said patch (18.15 KB, patch)
2009-01-10 17:27 UTC, Philippe Rouquier
needs-work Details | Review
Try 2 (17.85 KB, patch)
2009-01-16 16:50 UTC, Philippe Rouquier
committed Details | Review

Description Philippe Rouquier 2009-01-10 17:26:00 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.
Comment 1 Philippe Rouquier 2009-01-10 17:27:11 UTC
Created attachment 126178 [details] [review]
The said patch
Comment 2 Bastien Nocera 2009-01-12 18:54:51 UTC
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.
Comment 3 Philippe Rouquier 2009-01-12 21:41:03 UTC
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.
Comment 4 Bastien Nocera 2009-01-12 21:59:51 UTC
Not all the code there belongs to you...
Comment 5 Luis Medinas 2009-01-13 00:17:08 UTC
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 ?
Comment 6 Bastien Nocera 2009-01-13 00:23:00 UTC
No, libnautilus-burn has been "conveniently" forgotten in the relicensing processes for both sound-juicer and Rhythmbox. That doesn't make it right.
Comment 7 Luis Medinas 2009-01-13 00:29:41 UTC
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. 
Comment 8 Philippe Rouquier 2009-01-13 06:05:36 UTC
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 =).
Comment 9 Philippe Rouquier 2009-01-14 15:56:31 UTC
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.
Comment 10 Philippe Rouquier 2009-01-16 16:50:58 UTC
Created attachment 126593 [details] [review]
Try 2

This patch is an update since API has changed in libbrasero-media.
Comment 11 Frederic Peters 2009-01-19 13:42:23 UTC
Ross: release team decided to go with brasero; could you review this patch?
Comment 12 Philippe Rouquier 2009-01-24 05:54:54 UTC
*** Bug 565884 has been marked as a duplicate of this bug. ***
Comment 13 Luis Medinas 2009-01-28 01:31:26 UTC
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.
Comment 14 Michael Monreal 2009-01-28 09:09:58 UTC
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
Comment 15 Frederic Peters 2009-01-28 09:18:28 UTC
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?
Comment 16 Michael Monreal 2009-01-28 09:34:56 UTC
(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/

Comment 17 Frederic Peters 2009-01-28 09:40:17 UTC
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"
Comment 18 Ross Burton 2009-01-28 10:14:46 UTC
Fixed,  thanks Frederic.
Comment 19 Philippe Rouquier 2009-01-28 13:08:53 UTC
Sorry about that mistake.