diff options
author | Lars Uebernickel <lars.uebernickel@canonical.com> | 2014-03-18 10:00:51 +0000 |
---|---|---|
committer | CI bot <ps-jenkins@lists.canonical.com> | 2014-03-18 10:00:51 +0000 |
commit | 0ab738762734b30a264504283b7ae0fc9e941720 (patch) | |
tree | f92a28a3f8e1542d66d61d37bf2b6e7e76c195b4 /src/volume-control.vala | |
parent | b51fa335562a99e80ec30daf89d0715e084d50d0 (diff) | |
parent | 2ad60576f3975fab265bd44751c9af634f51a375 (diff) | |
download | ayatana-indicator-sound-0ab738762734b30a264504283b7ae0fc9e941720.tar.gz ayatana-indicator-sound-0ab738762734b30a264504283b7ae0fc9e941720.tar.bz2 ayatana-indicator-sound-0ab738762734b30a264504283b7ae0fc9e941720.zip |
Show a red icon in the panel when a sound is playing while mute is on Fixes: 1291530
Diffstat (limited to 'src/volume-control.vala')
-rw-r--r-- | src/volume-control.vala | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/volume-control.vala b/src/volume-control.vala index e994922..8f21b60 100644 --- a/src/volume-control.vala +++ b/src/volume-control.vala @@ -31,6 +31,7 @@ public class VolumeControl : Object private PulseAudio.Context context; private bool _mute = true; + private bool _is_playing = false; private double _volume = 0.0; private double _mic_volume = 0.0; @@ -97,6 +98,13 @@ public class VolumeControl : Object this.notify_property ("mute"); } + var playing = (i.state == PulseAudio.SinkState.RUNNING); + if (_is_playing != playing) + { + _is_playing = playing; + this.notify_property ("is-playing"); + } + if (_volume != volume_to_double (i.volume.values[0])) { _volume = volume_to_double (i.volume.values[0]); @@ -235,6 +243,14 @@ public class VolumeControl : Object } } + public bool is_playing + { + get + { + return this._is_playing; + } + } + /* Volume operations */ private static PulseAudio.Volume double_to_volume (double vol) { |