P_INVOKE guint bp_equalizer_get_nbands (BansheePlayer *player) { guint count; g_return_val_if_fail (IS_BANSHEE_PLAYER (player), 0); if (player->equalizer == NULL) { return 0; } count = gst_child_proxy_get_children_count (GST_CHILD_PROXY (player->equalizer)); return count; }
P_INVOKE void bp_equalizer_set_gain (BansheePlayer *player, guint bandnum, gdouble gain) { g_return_if_fail (IS_BANSHEE_PLAYER (player)); if (player->equalizer != NULL) { GstObject *band; g_return_if_fail (bandnum < gst_child_proxy_get_children_count (GST_CHILD_PROXY (player->equalizer))); band = gst_child_proxy_get_child_by_index (GST_CHILD_PROXY (player->equalizer), bandnum); g_object_set (band, "gain", gain, NULL); g_object_unref (band); } }
static void test_bt_machine_check_voices (BT_TEST_ARGS) { BT_TEST_START; GST_INFO ("-- arrange --"); GST_INFO ("-- act --"); BtMachine *machine = BT_MACHINE (bt_source_machine_new (song, "gen", "buzztrax-test-poly-source", 2L, NULL)); GST_INFO ("-- assert --"); GstChildProxy *element = (GstChildProxy *) check_gobject_get_object_property (machine, "machine"); ck_assert_int_eq (gst_child_proxy_get_children_count (element), 2); //ck_assert_gobject_gulong_eq(machine,"voices",2); GST_INFO ("-- cleanup --"); gst_object_unref (element); BT_TEST_END; }
static GObject * gst_child_proxy_default_get_child_by_name (GstChildProxy * parent, const gchar * name) { guint count, i; GObject *object, *result; gchar *object_name; g_return_val_if_fail (GST_IS_CHILD_PROXY (parent), NULL); g_return_val_if_fail (name != NULL, NULL); result = NULL; count = gst_child_proxy_get_children_count (parent); for (i = 0; i < count; i++) { gboolean eq; if (!(object = gst_child_proxy_get_child_by_index (parent, i))) continue; if (!GST_IS_OBJECT (object)) { goto next; } object_name = gst_object_get_name (GST_OBJECT_CAST (object)); if (object_name == NULL) { g_warning ("child %u of parent %s has no name", i, GST_OBJECT_NAME (parent)); goto next; } eq = g_str_equal (object_name, name); g_free (object_name); if (eq) { result = object; break; } next: g_object_unref (object); } return result; }
P_INVOKE void bp_equalizer_get_frequencies (BansheePlayer *player, gdouble **freq) { gint i, count; g_return_if_fail (IS_BANSHEE_PLAYER (player)); if (player->equalizer == NULL) { return; } count = gst_child_proxy_get_children_count (GST_CHILD_PROXY (player->equalizer)); for (i = 0; i < count; i++) { GstObject *band; band = gst_child_proxy_get_child_by_index (GST_CHILD_PROXY (player->equalizer), i); g_object_get (G_OBJECT (band), "freq", &(*freq)[i], NULL); g_object_unref (band); } }
uint ChildProxy::childrenCount() const { return gst_child_proxy_get_children_count(object<GstChildProxy>()); }