On Mon, Feb 2, 2009 at 4:59 PM, Bastien Nocera <bnocera@xxxxxxxxxx> wrote: > On Mon, 2009-02-02 at 10:20 -0800, Dan Nicholson wrote: >> On Mon, Feb 2, 2009 at 9:05 AM, Bastien Nocera <bnocera@xxxxxxxxxx> wrote: >> > On Mon, 2009-02-02 at 07:18 -0800, Dan Nicholson wrote: >> > <snip> >> >> What about the possibility of rewriting gnome_sound* to use libsydney? >> >> I know it's not the most exciting work available, but that would some >> >> to be the correct long term fix. It's not like the libgnome API can go >> >> away prior to GNOME-3.0. >> > >> > It's not possible to provide an ABI or API compatible replacement, >> > because gnome_sound_* exports some esound specific APIs. For example, >> > gnome_sound_connection_get () and gnome_sound_sample_load(). >> > >> > So if you're going to change the semantics, the apps will need to be >> > fixed. And if the applications need to be fixed, I don't see the >> > difference between rewriting the few lines of code to use libcanberra >> > and adapting it for a libgnome API with different semantics. >> >> Well, it seems like you could easily just keep most of the stub/noops >> for non-esd and create a canberra-specific path for >> gnome_sound_play(). That would probably cover most of the apps that >> just do a fire and forget gnome_sound_play(file). That would be API >> compatible with the non-esd libgnome. > > It's already just stubs, and it would break apps that rely on > gnome_sound_connection_get () and gnome_sound_sample_load() to work. I > also don't think we're interested in keeping libgnomeui in the future. That's exactly my point. Since ESD support has been removed in fedora, anyone trying to do gnome_sound_connection_get() will just get -1 back anyway. Furthermore, the gnome_sound_play() docs say that the sound may or may not play. So, why not just make it play a file with libcanberra? If it fails, oh well. You're in exactly the same situation you're in now. It seems pretty easy to me: void gnome_sound_play(const char *filename) { #ifdef HAVE_LIBCANBERRA_GTK ca_context_play(ca_gtk_context_get(), 0, CA_PROP_MEDIA_FILENAME, filename, NULL); #endif } I understand not wanting to write new apps to use gnome_sound_play since it's deprecated. But it's existing API that can't be removed. Why not have it work for apps that haven't been ported yet (or can't be ported)? > I'd rather spend time answering questions on how to make libcanberra > work with your app rather than spending time doing a half-working > work-around in libgnome. Sure. I would not suggest that new apps use gnome_sound*. -- Dan -- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list