Ok, I've seen a number of different ideas for how to get the complete classname an object was instantiated with from within that class, but I haven't been able to get one working.

Krzysztof did this in externals/miXed/cyclone/hammer/universal.c:

    t_gobj *g;
    for (g = glist->gl_list; g; g = g->g_next)
if (pd_class(&g->g_pd)->c_name == cname)  /* LATER rethink */
    pd_bang(&g->g_pd);


I tried this in my code, but got an error:

    binbuf_addv(b, "ssiisiiss", gensym("#X"),gensym("obj"),
                x->x_obj.te_xpix, x->x_obj.te_ypix, pd_class(&z->g_pd)->c_name,
                x->x_width, x->x_height, x->x_bgcolour, x->x_fgcolour);

    entry.c:504: error: dereferencing pointer to incomplete type


I think IOhannes recommended this, but I get the same error:

    binbuf_addv(b, "ssiisiiss", gensym("#X"),gensym("obj"),
                x->x_obj.te_xpix, x->x_obj.te_ypix, (*(t_pd *)x)->c_name->s_name,
                x->x_width, x->x_height, x->x_bgcolour, x->x_fgcolour);

    entry.c:504: error: dereferencing pointer to incomplete type

Any suggestions?

.hc


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

The arc of history bends towards justice.     - Dr. Martin Luther King, Jr.