[PD-dev] getting the classname in an class
Miller Puckette
mpuckett at imusic1.ucsd.edu
Mon Oct 29 03:50:37 CET 2007
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
More information about the Pd-dev
mailing list