[Xfce4-commits] <parole:master> Handle volume updates from conf

Sean Davis noreply at xfce.org
Thu Dec 12 00:18:29 CET 2013


Updating branch refs/heads/master
         to c96da1b170d495e9313206cad4821ee22b213d70 (commit)
       from 0b59cbffe41e539f763fd05978c54697e875676a (commit)

commit c96da1b170d495e9313206cad4821ee22b213d70
Author: Sean Davis <smd.seandavis at gmail.com>
Date:   Sat Dec 7 08:49:12 2013 -0500

    Handle volume updates from conf

 src/plugins/mpris2/mpris2-provider.c |   22 ++++++++++++++++------
 1 file changed, 16 insertions(+), 6 deletions(-)

diff --git a/src/plugins/mpris2/mpris2-provider.c b/src/plugins/mpris2/mpris2-provider.c
index 1fc8a7e..34752ed 100644
--- a/src/plugins/mpris2/mpris2-provider.c
+++ b/src/plugins/mpris2/mpris2-provider.c
@@ -523,13 +523,20 @@ static GVariant* mpris_Player_get_Metadata (GError **error, Mpris2Provider *prov
     return g_variant_builder_end(&b);
 }
 
-static GVariant* mpris_Player_get_Volume (GError **error, Mpris2Provider *provider)
+static gdouble handle_get_volume (Mpris2Provider *provider)
 {
-    gdouble volume = 0;
-
-    g_object_get (G_OBJECT (provider->conf), "volume", &volume, NULL);
+    gint volume_int = 0;
+    gdouble volume_double;
+    
+    g_object_get (G_OBJECT (provider->conf), "volume", &volume_int, NULL);
+    volume_double = (double)volume_int / 100.0;
+    
+    return volume_double;
+}
 
-    return g_variant_new_double(volume / 100.0);
+static GVariant* mpris_Player_get_Volume (GError **error, Mpris2Provider *provider)
+{
+    return g_variant_new_double(handle_get_volume(provider));
 }
 
 static void mpris_Player_put_Volume (GVariant *value, GError **error, Mpris2Provider *provider)
@@ -662,7 +669,7 @@ static void parole_mpris_update_any (Mpris2Provider *provider)
         provider->saved_playbackstatus = repeat;
         g_variant_builder_add (&b, "{sv}", "LoopStatus", mpris_Player_get_LoopStatus (NULL, provider));
     }
-    //curr_vol = pragha_backend_get_volume (backend);
+    curr_vol = handle_get_volume(provider);
     if(provider->volume != curr_vol)
     {
         change_detected = TRUE;
@@ -953,6 +960,9 @@ mpris2_provider_set_player (ParoleProviderPlugin *plugin, ParoleProviderPlayer *
     g_signal_connect ( provider->conf, "notify::repeat",
                       G_CALLBACK (conf_changed_cb), plugin);
                       
+    g_signal_connect ( provider->conf, "notify::volume",
+                      G_CALLBACK (conf_changed_cb), plugin);
+                      
     window = parole_provider_player_get_main_window(provider->player);
     g_signal_connect(   G_OBJECT(window), 
                         "window-state-event", 


More information about the Xfce4-commits mailing list