Martin,
Thanks for all your help.  I have a final question about the sprintf solution.  
I have managed to get the 
out going(I think) but I am not quite undestanding the atol()inlet part.  I 
have this.

 void window_getframe(t_window *x, t_symbol *sym)
{
        char* decode;
        char symstr;
        x->sym->s_name = decode;
        symstr = atol(decode);
        frame = symstr;
}
But I get invalid conversion from 'char' to "IplImage*'. I have to read some 
more. If I used sprintf to write  
to an array a string/image formatted as a pointer and then turned that pointer 
to a symbol, how do i 
now convert the symbol back to a pointer of the original image, which I assume 
should still be in 
buffer?
Alain

> You can only work with atoms in pd's message system, and each atom usually 
> contains a bang, a 
float or a symbol. You could convert the pointer to a float but it probably 
won't work because the 
pointer is a large integer that won't be accurately represented as a float. You 
could convert the pointer 
to a symbol using something like: 
> char symstr[10];
> t_symbol sym;
> sprintf(symstr, "%p", frame);
> sym = gensym(symstr);
> ...then send sym through the outlet and convert it back to a pointer at the 
> receiving end by extracting 
the string from the s_name field of the symbol and passing it to atol().
> 
> Martin
> 


_______________________________________________
[email protected] mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list

Reply via email to