Example #1
0
static void list_cat_anything(t_list_cat *x, t_symbol *s,
    int argc, t_atom *argv)
{
    t_atom *outv;
    int outc = x->x_alist.l_n + argc + 1;
    XL_ATOMS_ALLOCA(outv, outc);
    SETSYMBOL(outv + x->x_alist.l_n, s);
    atoms_copy(argc, argv, outv + x->x_alist.l_n + 1);
    if (x->x_alist.l_npointer)
    {
        t_alist y;
        alist_clone(&x->x_alist, &y);
        alist_toatoms(&y, outv);
        outlet_list(x->x_obj.ob_outlet, &s_list, outc, outv);
        alist_clear(&y);
    }
    else
    {
        alist_toatoms(&x->x_alist, outv);
        outlet_list(x->x_obj.ob_outlet, &s_list, outc, outv);
    }
    if (x->x_alist.l_n <= 1)
        alist_anything(&x->x_alist, s, outc, outv);
    else
        alist_list(&x->x_alist, s, outc, outv);
    XL_ATOMS_FREEA(outv, outc);
}
Example #2
0
static void prepender_list(t_prepender *x, t_symbol *s,
    int argc, t_atom *argv)
{
    t_atom *outv;
    
    if(x->x_id.a_type == A_FLOAT) {
    	ATOMS_ALLOCA(outv, argc + 1);
    	atoms_copy(argc, argv, outv + 1);
    	*outv = x->x_id;
    	argc++;
		outlet_list(x->x_obj.ob_outlet, &s_list, argc, outv);
    } else {
    	ATOMS_ALLOCA(outv, argc);
    	atoms_copy(argc, argv, outv);
		outlet_anything(x->x_obj.ob_outlet, x->x_id.a_w.w_symbol, argc, outv);
    }
    ATOMS_FREEA(outv, argc);
}
Example #3
0
static void list_split_anything(t_list_split *x, t_symbol *s,
    int argc, t_atom *argv)
{
    t_atom *outv;
    XL_ATOMS_ALLOCA(outv, argc+1);
    SETSYMBOL(outv, s);
    atoms_copy(argc, argv, outv + 1);
    list_split_list(x, &s_list, argc+1, outv);
    XL_ATOMS_FREEA(outv, argc+1);
}
Example #4
0
static void proxy_any(t_proxy *x, t_symbol *s, int argc, t_atom *argv)
{
	t_atom *outv;
    
    if(x->id.a_type == A_FLOAT) {
    	ATOMS_ALLOCA(outv, argc + 2);
    	atoms_copy(argc, argv, outv + 2);
    	argc += 2;
    	SETSYMBOL(outv+1, s);
    	*outv = x->id;
		outlet_list(x->x->x_obj.ob_outlet, &s_list, argc, outv);
    } else {
    	ATOMS_ALLOCA(outv, argc + 1);
    	atoms_copy(argc, argv, outv + 1);
    	argc++;
    	SETSYMBOL(outv, s);
		outlet_anything(x->x->x_obj.ob_outlet, x->id.a_w.w_symbol, argc, outv);
    }
    ATOMS_FREEA(outv, argc);
}
Example #5
0
File: sys.c Project: ilyak/vimol
struct sys *
sys_copy(struct sys *sys)
{
	struct sys *copy;
	int i;

	copy = malloc(sizeof(struct sys));
	memcpy(copy, sys, sizeof(struct sys));
	copy->graph = graph_copy(sys->graph);
	copy->sel = sel_copy(sys->sel);
	copy->visible = sel_copy(sys->visible);
	copy->frames = malloc(copy->nframesalloc * sizeof(struct frame));

	for (i = 0; i < sys_get_frame_count(sys); i++)
		copy->frames[i].atoms = atoms_copy(sys->frames[i].atoms);

	return (copy);
}
Example #6
0
static void list_prepend_list(t_list_prepend *x, t_symbol *s,
    int argc, t_atom *argv)
{
    t_atom *outv;
    int outc = x->x_alist.l_n + argc;
    XL_ATOMS_ALLOCA(outv, outc);
    atoms_copy(argc, argv, outv + x->x_alist.l_n);
    if (x->x_alist.l_npointer)
    {
        t_alist y;
        alist_clone(&x->x_alist, &y);
        alist_toatoms(&y, outv);
        outlet_list(x->x_obj.ob_outlet, &s_list, outc, outv);
        alist_clear(&y);
    }
    else
    {
        alist_toatoms(&x->x_alist, outv);
        outlet_list(x->x_obj.ob_outlet, &s_list, outc, outv);
    }
    XL_ATOMS_FREEA(outv, outc);
}
Example #7
0
static void list_append_anything(t_list_append *x, t_symbol *s,
    int argc, t_atom *argv)
{
    t_atom *outv;
    int n, outc = x->x_alist.l_n + argc + 1;
    ATOMS_ALLOCA(outv, outc);
    SETSYMBOL(outv, s);
    atoms_copy(argc, argv, outv + 1);
    if (x->x_alist.l_npointer)
    {
        t_alist y;
        alist_clone(&x->x_alist, &y);
        alist_toatoms(&y, outv + 1 + argc);
        outlet_list(x->x_obj.ob_outlet, &s_list, outc, outv);
        alist_clear(&y);
    }
    else
    {
        alist_toatoms(&x->x_alist, outv + 1 + argc);
        outlet_list(x->x_obj.ob_outlet, &s_list, outc, outv);
    }
    ATOMS_FREEA(outv, outc);
}