hi,.
ive been modifying a version of ggee unwonk object (to tokenize a space
seperated string + output the result as a list) and have noticed some
strange
(to me at least) behaviour.
the following function gives the same value for argc whether the input is
a
list, or if it is a single string with elements seperated by spaces.
im not really clear how pd handles lists, but i assumed argv is a pointer
to
a 'list' of atoms, which has argc number of elements?
static void slonk_slonk(t_slonk *x, t_symbol *s, int argc, t_atom *argv)
{
t_atom *ap;
t_slonkout *u;
int i;
int margc = argc;
post("slonk: how long? %d", argc);
if (argc > x->x_n - 1) margc = x->x_n - 1;
if (argc - margc > 0) {
ap = argv;
u = x->x_vec + margc;
outlet_list(u->u_outlet,0,argc, ap);
}
}
so, if i send this object two messages
slonk "0.4 0.34 1 0.11 8.33"
and
slonk 0.4 0.34 1 0.11 8.33
and the output is like this ->
slonk: how long? 5
-slkn: list "0.4 0.34 1 0.11 8.33"
slonk: how long? 5
-slkn: 0.4 0.34 1 0.11 8.33
maybe this isnt really the best way to do it, so the next question is
is there a better way to acomplish this?
nk