Ok I think I got it now, but I could use a little clarification. Here is my code:
t_atom f_out[9]; t_atom* myf = f_out; SETFLOAT(myf,f); SETFLOAT(myf+1,f+10); outlet_list(x->myobj.ob_outlet,&s_list,2,myf);
where f is a floatarg to the method. Why is it that Guenter is using (t_atom*)&a_out rather than a_out as the *argv pointer? I copied the same array and pointer declarations from his code.
Thanks for all the help! Ben
On Tue, 16 Jul 2002, Ben Bogart - FMPM/F1999 wrote:
Thanks Krzysztof,
I think I'm getting somewhere, based on code from prepend in ggee (Thanks Guenter!) I'm not clear on how to use SETFLOAT to set multiple values in my atom array. Here is some of my code:
t_atom f_out[9]; t_atom* myf = f_out;
I can use SETFLOAT(myf,f); to set the first value of the list, but I don't know how to set multiple list atoms... (I tried running SETFLOAT multiple times with the same pointer, but different values and I get a list "2Consistency check failed: atom_string2" Where 2 is the second value I set via SETFLOAT.
Pointers would be appriciated. Thanks
The simplest possible example of outputing a list of floats would be helpful.
Ben
On Tue, 16 Jul 2002, Krzysztof Czaja wrote:
hi Ben,
if 'x' is your object pointer, 'n' is the number of floats, and you already store them in an array of atoms 'a', then the call will be
outlet_list(x, &s_list, n, a);
If the floats are kept in a float* array, then you need to allocate an array of atoms, and copy the floats into it, using SETFLOAT macro in a loop.
The tricky part could be deciding, how to allocate this output array -- this was discussed some time ago on pd-dev. Also, there are several examples in zexy, ggee, cyclone, etc.
Krzysztof
Ben Bogart - FMPM/F1999 wrote:
I want to calculate a series of floats and output them as a list out the outlet, I see:
void outlet_list(t_outlet *x, t_symbol *s, int argc, t_atom *argv);
but don't know how to set the contents of the list, ie I'm not sure how to use gensym("list").
B. Bogart
PD-dev mailing list PD-dev@iem.kug.ac.at http://iem.kug.ac.at/cgi-bin/mailman/listinfo/pd-dev
B. Bogart ---------