diff options
author | Conor Curran <conor.curran@canonical.com> | 2011-02-18 13:05:58 +0000 |
---|---|---|
committer | Conor Curran <conor.curran@canonical.com> | 2011-02-18 13:05:58 +0000 |
commit | d8cc480485f8f46142298341ef5336a0572be5b4 (patch) | |
tree | 80f848454f6bc39384d9eb58e9b4f5c03ce337ba /src/active-sink.c | |
parent | 8263f9aed8c1c66cfe7a7749a4d78c096165acd3 (diff) | |
download | ayatana-indicator-sound-d8cc480485f8f46142298341ef5336a0572be5b4.tar.gz ayatana-indicator-sound-d8cc480485f8f46142298341ef5336a0572be5b4.tar.bz2 ayatana-indicator-sound-d8cc480485f8f46142298341ef5336a0572be5b4.zip |
all working nicely, custom mute behaviour needed
Diffstat (limited to 'src/active-sink.c')
-rw-r--r-- | src/active-sink.c | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/src/active-sink.c b/src/active-sink.c index d97419b..2e212e7 100644 --- a/src/active-sink.c +++ b/src/active-sink.c @@ -53,7 +53,6 @@ static pa_cvolume active_sink_construct_mono_volume (const pa_cvolume* vol); static void active_sink_volume_update (ActiveSink* self, gdouble percent); static void active_sink_mute_update (ActiveSink* self, gboolean muted); - G_DEFINE_TYPE (ActiveSink, active_sink, G_TYPE_OBJECT); static void @@ -88,17 +87,28 @@ active_sink_init (ActiveSink *self) } void -active_sink_activate_voip_item (ActiveSink* self) +active_sink_activate_voip_item (ActiveSink* self, gint sink_input_index, gint client_index) { ActiveSinkPrivate* priv = ACTIVE_SINK_GET_PRIVATE (self); - voip_input_menu_item_enable (priv->voip_input_menu_item, TRUE); + if (voip_input_menu_item_is_interested (priv->voip_input_menu_item, + sink_input_index, + client_index)){ + voip_input_menu_item_enable (priv->voip_input_menu_item, TRUE); + } } void active_sink_deactivate_voip_source (ActiveSink* self) { ActiveSinkPrivate* priv = ACTIVE_SINK_GET_PRIVATE (self); - voip_input_menu_item_enable (priv->voip_input_menu_item, FALSE); + voip_input_menu_item_deactivate_source (priv->voip_input_menu_item); +} + +void +active_sink_deactivate_voip_client (ActiveSink* self) +{ + ActiveSinkPrivate* priv = ACTIVE_SINK_GET_PRIVATE (self); + voip_input_menu_item_deactivate_voip_client (priv->voip_input_menu_item); } @@ -186,6 +196,13 @@ active_sink_update_volume (ActiveSink* self, gdouble percent) } +gint +active_sink_get_current_sink_input_index (ActiveSink* sink) +{ + ActiveSinkPrivate* priv = ACTIVE_SINK_GET_PRIVATE (sink); + return voip_input_menu_item_get_sink_input_index (priv->voip_input_menu_item); +} + static void active_sink_mute_update (ActiveSink* self, gboolean muted) { |