[PD-dev] getting the classname in an class

Hans-Christoph Steiner hans at eds.org
Mon Oct 29 03:14:48 CET 2007


On Oct 28, 2007, at 8:47 PM, Martin Peach wrote:

> Hans-Christoph Steiner wrote:
>>
>> I tried this in entry_new() and entry_save(), and in both,  
>> "binbuf"  ends being nothing useful (i.e. segfault):
>>
>>      t_glist *glist = (t_glist *) canvas_getcurrent();
>>      t_canvas *canvas = (t_canvas*) glist_getcanvas(glist);
>>      t_binbuf *binbuf = canvas->gl_obj.te_binbuf;
>>      t_atom *ap = binbuf_getvec(binbuf);
>>      t_symbol *classname = atom_getsymbol(ap);
>>
>> What's going on here?  Am I doing something wrong?
>>
> I don't know what you're trying to do but it's normal to check for  
> NULL pointers after each of the above statements. That should give  
> you a clue.
> I suspect that the binbuf doesn't exist if you didn't allocate it  
> yourself.

I am just following IOhannes' code, which he says works (I haven't  
tested it...)

http://pure-data.cvs.sourceforge.net/pure-data/externals/iem/iemguts/ 
src/saveargs.c?view=markup

Somehow, he magically gets a binbuf with contents in it! ;)

.hc


------------------------------------------------------------------------ 
----

There is no way to peace, peace is the way.       -A.J. Muste






More information about the Pd-dev mailing list