summaryrefslogtreecommitdiff
path: root/src/pa-sink-ctl.c
diff options
context:
space:
mode:
authorBenjamin Franzke <benjaminfranzke@googlemail.com>2011-12-19 10:22:30 +0100
committerBenjamin Franzke <benjaminfranzke@googlemail.com>2011-12-19 10:22:30 +0100
commit5760a65c1ae4f58fd3ce73049e95144d154ab816 (patch)
treeaa13cbe79b6b6c931c2eef1b0e8ef82549fb6b3a /src/pa-sink-ctl.c
parentc2c3cab90ad6375bcd4bd976f802d29e19a8d0f4 (diff)
downloadpa-sink-ctl-5760a65c1ae4f58fd3ce73049e95144d154ab816.tar.gz
pa-sink-ctl-5760a65c1ae4f58fd3ce73049e95144d154ab816.tar.bz2
pa-sink-ctl-5760a65c1ae4f58fd3ce73049e95144d154ab816.zip
Make main_ctl_childs_len a vol_ctl vfunc
Diffstat (limited to 'src/pa-sink-ctl.c')
-rw-r--r--src/pa-sink-ctl.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/pa-sink-ctl.c b/src/pa-sink-ctl.c
index 70c5ffa..77be8c1 100644
--- a/src/pa-sink-ctl.c
+++ b/src/pa-sink-ctl.c
@@ -81,6 +81,20 @@ main_ctl_childs_foreach(struct vol_ctl *ctl, GFunc func, gpointer user_data)
func(&sctl->base, user_data);
}
+static gint
+main_ctl_childs_len(struct vol_ctl *ctl)
+{
+ struct main_ctl *mctl = (struct main_ctl *) ctl;
+ struct slave_ctl *sctl;
+ int len = 0;
+
+ list_foreach(*mctl->childs_list, sctl)
+ if (sctl->parent_index == mctl->base.index)
+ len++;
+
+ return len;
+}
+
static void
sink_info_cb(pa_context *c, const pa_sink_info *i,
gint is_last, gpointer userdata)
@@ -112,6 +126,7 @@ sink_info_cb(pa_context *c, const pa_sink_info *i,
sink->base.mute_set = pa_context_set_sink_mute_by_index;
sink->base.volume_set = pa_context_set_sink_volume_by_index;
sink->base.childs_foreach = main_ctl_childs_foreach;
+ sink->base.childs_len = main_ctl_childs_len;
sink->move_child = pa_context_move_sink_input_by_index;
sink->childs_list = &ctx->input_list;
@@ -160,6 +175,7 @@ source_info_cb(pa_context *c, const pa_source_info *i,
source->base.mute_set = pa_context_set_source_mute_by_index;
source->base.volume_set = pa_context_set_source_volume_by_index;
source->base.childs_foreach = main_ctl_childs_foreach;
+ source->base.childs_len = main_ctl_childs_len;
source->move_child = pa_context_move_source_output_by_index;
source->childs_list = &ctx->output_list;