GNOME Bugzilla – Bug 374073
Drop esound in favour of a more robust desktop sound event architecture
Last modified: 2006-11-13 21:16:01 UTC
Create a new DBus-driven desktop sound event daemon. Not for playing media streams, just to play the usual desktop sounds like "login," "logout," "IM user is online" and such. As I see it, the daemon should make use of a directory tree similar to /usr/share/themes, where there are "sound themes" and each theme is split into a number of subdirectories like "apps," "actions" and similar. There should be a base theme like there is "hicolor" for GTK that allows apps to provide their own generic sound events. Each theme could override these sounds by providing a file with identical base name in its own directory. Similar caching techniques could be used as are currently in use for GTK themes. The DBus interface should provide a way to play a generic sound event by name (without the extension, the daemon should be able to find a matching file and use gstreamer to play it). This would allow for easy handling of non-blocking event sounds in virtually all desktop applications without relying on forking to execute "aplay" or "esdplay" as some do currently. Additionally all sound should have a priority attribute, one of "notice," "normal," "warning," "critical." Ideally the sound applet should be able to talk to the daemon and tell it to suppress all sound below a chosen threshold so I can opt to only hear critical events while watching a movie in totem. If you talk this over with freedesktop guys, this can provide perfect interoperability between GNOME and KDE apps in the terms of sound event handling. Hope above is clear enough. Not sure where to post this so I just put it under esound. Would love to hear your opinion on this.
Bugzilla is not suited for desktop-wide discussions. Mailing lists are much better suited for that. Anyway, dupe of the existing esd-killing bug. *** This bug has been marked as a duplicate of 82340 ***
Not quite a dupe, simply switching existing apps to use gstreamer directly is not a good idea. Gstreamer is too lowlevel for easy sound event handling. Each app needs to maintain a pipe and a player object for each sound. This makes playing several files concurrently a major pain in the ass to maintain. Simply asking another dameon to handle the playback would be much easier and would allow lots of apps to drop their sound playing hacks in favour of a common API.
Wouldn't daemon would be appropriate place for this.
This is not a bug in esound, and should not be discussed here. Also, enhancement bugs are not accepted for esound. Marking as NOTABUG.