[mutter/wip/carlosg/sound-abstraction: 15/17] core: Make MetaBell use MetaSound to play the bell sound



commit 02b5404a163266f6a14cdc05e7e37efba3449b27
Author: Carlos Garnacho <carlosg gnome org>
Date:   Sun Dec 9 12:58:00 2018 +0100

    core: Make MetaBell use MetaSound to play the bell sound
    
    Instead of using libcanberra/gtk+.

 src/core/bell.c | 35 +++++++----------------------------
 1 file changed, 7 insertions(+), 28 deletions(-)
---
diff --git a/src/core/bell.c b/src/core/bell.c
index a4b049145..cd96275be 100644
--- a/src/core/bell.c
+++ b/src/core/bell.c
@@ -51,10 +51,6 @@
 
 #include "core/bell.h"
 
-#ifdef HAVE_LIBCANBERRA
-#include <canberra-gtk.h>
-#endif
-
 #include "compositor/compositor-private.h"
 #include "core/util-private.h"
 #include "core/window-private.h"
@@ -248,31 +244,14 @@ static gboolean
 bell_audible_notify (MetaDisplay *display,
                      MetaWindow  *window)
 {
-#ifdef HAVE_LIBCANBERRA
-  ca_proplist *p;
-  int res;
-
-  ca_proplist_create (&p);
-  ca_proplist_sets (p, CA_PROP_EVENT_ID, "bell-window-system");
-  ca_proplist_sets (p, CA_PROP_EVENT_DESCRIPTION, _("Bell event"));
-  ca_proplist_sets (p, CA_PROP_CANBERRA_CACHE_CONTROL, "permanent");
-
-  if (window)
-    {
-      ca_proplist_sets (p, CA_PROP_WINDOW_NAME, window->title);
-      ca_proplist_setf (p, CA_PROP_WINDOW_X11_XID, "%lu", (unsigned long)window->xwindow);
-      ca_proplist_sets (p, CA_PROP_APPLICATION_NAME, window->res_name);
-      ca_proplist_setf (p, CA_PROP_APPLICATION_PROCESS_ID, "%d", window->net_wm_pid);
-    }
+  MetaSoundPlayer *player;
 
-  res = ca_context_play_full (ca_gtk_context_get (), 1, p, NULL, NULL);
-
-  ca_proplist_destroy (p);
-
-  return res == CA_SUCCESS || res == CA_ERROR_DISABLED;
-#endif /* HAVE_LIBCANBERRA */
-
-  return FALSE;
+  player = meta_display_get_sound_player (display);
+  meta_sound_player_play_from_theme (player,
+                                     "bell-window-system",
+                                     _("Bell event"),
+                                     NULL);
+  return TRUE;
 }
 
 gboolean


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]