From a32020485a2f03948e06f8b163999dcfcd86e89e Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 9 Nov 2007 19:45:33 +0000 Subject: added quick hack to get the Tk canvas name in Pd space svn path=/trunk/externals/hcs/; revision=8974 --- canvas_name.c | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 canvas_name.c (limited to 'canvas_name.c') diff --git a/canvas_name.c b/canvas_name.c new file mode 100644 index 0000000..a8b93eb --- /dev/null +++ b/canvas_name.c @@ -0,0 +1,41 @@ +#include +#include +#include +#include + +#define DEBUG(x) + +static t_class *canvas_name_class; + +typedef struct _canvas_name +{ + t_object x_obj; + t_symbol *x_canvas_name; +} t_canvas_name; + +static void canvas_name_bang(t_canvas_name *x) +{ + outlet_symbol(x->x_obj.ob_outlet,x->x_canvas_name); +} + +static void *canvas_name_new(void) +{ + t_canvas_name *x = (t_canvas_name *)pd_new(canvas_name_class); + char buf[MAXPDSTRING]; + + snprintf(buf,MAXPDSTRING,".x%lx.c",(long unsigned int)canvas_getcurrent()); + x->x_canvas_name = gensym(buf); + + outlet_new(&x->x_obj, &s_symbol); + + return(x); +} + +void canvas_name_setup(void) +{ + canvas_name_class = class_new(gensym("canvas_name"), + (t_newmethod)canvas_name_new, NULL, + sizeof(t_canvas_name), 0, 0); + + class_addbang(canvas_name_class, (t_method)canvas_name_bang); +} -- cgit v1.2.1