[PD] help with atom_getintarg()
J. Scott Hildebrand
jshildebrand at ucdavis.edu
Wed Aug 13 03:02:49 CEST 2003
here's some code i'm messing with. i want to get the second argument from
an external declaration, and then use that number to create a certain
amount of inlets. here' the code, and there's some shit commented out that
i was just playing around with but couldn't get to work.
static void *multi_source_convolution_tilde_new(t_floatarg f, int argc,
t_atom *argv)
{
int a = (int)atom_getintarg(0, argc, argv);
int i = (int)atom_getintarg(1, argc, argv);
t_multi_source_convolution_tilde *x = (t_multi_source_convolution_tilde
*)pd_new(multi_source_convolution_tilde_class);
x->f_multi_source_convolution = f;
//additional signal and float inlets
inlet_new(&x->x_obj, &x->x_obj.ob_pd, gensym("float"), gensym("first"));
inlet_new(&x->x_obj, &x->x_obj.ob_pd, gensym("float"), gensym("bound"));
//i = argv[2].a_w.w_float;
//i = argv[2].a_w->w_float;
/*
i = atom_getintarg(2, argc, argv);
if(argc == 2)
{
for(a = 0; a < i; a++)
{
inlet_new(&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal);
}
}
*/
post("OUTSIDE");
if(i == 0)
{
post("zero");
}
if(i == 1)
{
post("one");
}
if(i == 2)
{
post("two");
inlet_new(&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal);
inlet_new(&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal);
inlet_new(&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal);
inlet_new(&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal);
inlet_new(&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal);
inlet_new(&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal);
inlet_new(&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal);
inlet_new(&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal);
inlet_new(&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal);
inlet_new(&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal);
}
else if( (argc == 1) || (argc > 2) )
{
inlet_new(&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal);
}
//two signal outlets for stereo
outlet_new(&x->x_obj, &s_signal);
outlet_new(&x->x_obj, &s_signal);
return (void *)x;
}
--------------------------------------------------------------------
"640K ought to be enough for anybody." -- Bill Gates, 1981
--------------------------------------------------------------------
More information about the Pd-list
mailing list