This is an automated email from the git hooks/post-receive script.

bluesabre pushed a 
commit to branch 
master
in repository panel-plugins/xfce4-pulseaudio-plugin.

commit f96e213b84af927e6b427322bb0e7b4ca907911a
Author: Sean Davis <smd.seanda...@gmail.com>
Date:   Wed Nov 22 06:38:09 2017 -0500

    Show volume change notifications when triggered without multimedia keys 
(bug #13677)
---
 panel-plugin/pulseaudio-volume.c | 25 +++++++++++++++++++++----
 1 file changed, 21 insertions(+), 4 deletions(-)

diff --git a/panel-plugin/pulseaudio-volume.c b/panel-plugin/pulseaudio-volume.c
index 6a2f1a0..b4f6597 100644
--- a/panel-plugin/pulseaudio-volume.c
+++ b/panel-plugin/pulseaudio-volume.c
@@ -64,6 +64,8 @@ struct _PulseaudioVolume
   pa_glib_mainloop     *pa_mainloop;
   pa_context           *pa_context;
   gboolean              connected;
+  gboolean              sink_connected;
+  gboolean              source_connected;
 
   gdouble               volume;
   gboolean              muted;
@@ -203,16 +205,22 @@ pulseaudio_volume_sink_info_cb (pa_context         
*context,
     {
       pulseaudio_debug ("Updated Mute: %d -> %d", volume->muted, muted);
       volume->muted = muted;
-      g_signal_emit (G_OBJECT (volume), pulseaudio_volume_signals 
[VOLUME_CHANGED], 0, FALSE);
+
+      if (volume->sink_connected)
+        g_signal_emit (G_OBJECT (volume), pulseaudio_volume_signals 
[VOLUME_CHANGED], 0, TRUE);
     }
 
   if (ABS (volume->volume - vol) > 2e-3)
     {
       pulseaudio_debug ("Updated Volume: %04.3f -> %04.3f", volume->volume, 
vol);
       volume->volume = vol;
-      g_signal_emit (G_OBJECT (volume), pulseaudio_volume_signals 
[VOLUME_CHANGED], 0, FALSE);
+
+      if (volume->sink_connected)
+        g_signal_emit(G_OBJECT(volume), 
pulseaudio_volume_signals[VOLUME_CHANGED], 0, TRUE);
     }
+
   pulseaudio_debug ("volume: %f, muted: %d", vol, muted);
+  volume->sink_connected = TRUE;
 }
 
 
@@ -240,16 +248,22 @@ pulseaudio_volume_source_info_cb (pa_context           
*context,
     {
       pulseaudio_debug ("Updated Mute Mic: %d -> %d", volume->muted_mic, 
muted_mic);
       volume->muted_mic = muted_mic;
-      g_signal_emit (G_OBJECT (volume), pulseaudio_volume_signals 
[VOLUME_MIC_CHANGED], 0, FALSE);
+
+      if (volume->source_connected)
+        g_signal_emit (G_OBJECT (volume), pulseaudio_volume_signals 
[VOLUME_MIC_CHANGED], 0, FALSE);
     }
 
   if (ABS (volume->volume_mic - vol_mic) > 2e-3)
     {
       pulseaudio_debug ("Updated Volume Mic: %04.3f -> %04.3f", 
volume->volume_mic, vol_mic);
       volume->volume_mic = vol_mic;
-      g_signal_emit (G_OBJECT (volume), pulseaudio_volume_signals 
[VOLUME_MIC_CHANGED], 0, FALSE);
+
+      if (volume->source_connected)
+        g_signal_emit(G_OBJECT(volume), 
pulseaudio_volume_signals[VOLUME_MIC_CHANGED], 0, FALSE);
     }
+
   pulseaudio_debug ("volume mic: %f, muted mic: %d", vol_mic, muted_mic);
+  volume->source_connected = TRUE;
 }
 
 
@@ -421,6 +435,9 @@ pulseaudio_volume_context_state_cb (pa_context *context,
       g_signal_emit (G_OBJECT (volume), pulseaudio_volume_signals 
[VOLUME_CHANGED], 0, FALSE);
       g_signal_emit (G_OBJECT (volume), pulseaudio_volume_signals 
[VOLUME_MIC_CHANGED], 0, FALSE);
 
+      volume->sink_connected = FALSE;
+      volume->source_connected = FALSE;
+
       pa_context_get_server_info (volume->pa_context, 
pulseaudio_volume_get_server_info_cb, volume);
 
       break;

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.
_______________________________________________
Xfce4-commits mailing list
Xfce4-commits@xfce.org
https://mail.xfce.org/mailman/listinfo/xfce4-commits

Reply via email to