[PD-dev] getting the classname in an class

Miller Puckette mpuckett at imusic1.ucsd.edu
Mon Oct 29 17:28:04 CET 2007


Hmm, well, the way Pd gets it is looking in the binbuf.  But perhaps you
need to look in the binbuf for the object you're looking at, not that of
the containing canvas, no?  Or, on the other hand. perhaps you're trying
to get the name of the abstraction the object is part of?

cheers
M

On Sun, Oct 28, 2007 at 10:57:52PM -0400, Hans-Christoph Steiner wrote:
> 
> It sounds like this isn't the way to do it then.  But somewhere the  
> whole classname with the namespace prefix must be stored for every  
> single object instantiated, since it will get written out to the  
> file.  How do I access that?
> 
> .hc
> 
> On Oct 28, 2007, at 10:50 PM, Miller Puckette wrote:
> 
> > I think the binbuf is always present, but in the case of a top-level
> > canvas, it might be empty; binbuf_getnatom() tells you how many atoms
> > there are.
> >
> > cheers
> > Miller
> >
> > On Sun, Oct 28, 2007 at 10:14:48PM -0400, Hans-Christoph Steiner  
> > wrote:
> >>
> >> 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
> >>
> >>
> >>
> >> _______________________________________________
> >> PD-dev mailing list
> >> PD-dev at iem.at
> >> http://lists.puredata.info/listinfo/pd-dev
> 
> 
> 
> 
> ------------------------------------------------------------------------ 
> ----
> 
> You can't steal a gift. Bird gave the world his music, and if you can  
> hear it, you can have it. - Dizzy Gillespie
> 
> 
> 
> 
> _______________________________________________
> PD-dev mailing list
> PD-dev at iem.at
> http://lists.puredata.info/listinfo/pd-dev




More information about the Pd-dev mailing list