diff options
author | Thomas O Fredericks <mrtof@users.sourceforge.net> | 2009-09-25 15:43:37 +0000 |
---|---|---|
committer | Thomas O Fredericks <mrtof@users.sourceforge.net> | 2009-09-25 15:43:37 +0000 |
commit | f9d32c165a873bab44967fa4b069a7945ecb6f7f (patch) | |
tree | 175eddd2209c9993eedd077769f499fe51660bf4 /src/openHelp.c | |
parent | 2ff72e22aed0bc587f6ad82e882d10dfc7e74fa8 (diff) |
Added the openHelp external to tof
svn path=/trunk/externals/tof/; revision=12450
Diffstat (limited to 'src/openHelp.c')
-rw-r--r-- | src/openHelp.c | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/src/openHelp.c b/src/openHelp.c new file mode 100644 index 0000000..d2d6810 --- /dev/null +++ b/src/openHelp.c @@ -0,0 +1,100 @@ + + +#include "tof.h" + + +EXTERN void open_via_helppath(const char *name, const char *dir); + +static t_class *openHelp_class; + + + + +typedef struct _openHelp { + t_object x_obj; + char buffer[MAXPDSTRING]; + //t_outlet* outlet1; + //t_canvas* canvas; + t_symbol* dir; + +} t_openHelp; + + + +/* +// BANG: output the current root path +static void openHelp_bang(t_openHelp *x) { + + outlet_symbol(x->outlet1, x->dir ); + +} +*/ + +//int canvas_open(t_canvas *x, const char *name, const char *ext, +// char *dirresult, char **nameresult, unsigned int size, int bin) + + +static void openHelp_symbol(t_openHelp *x, t_symbol *s) { + + + //int length = tof_anything_to_string(s,ac,av,tof_buf_temp_a); + //strcat(tof_buf_temp_a,".pd"); + int length = strlen(s->s_name) + 4; + char* name = getbytes(sizeof(*name)*length); + strcpy(name,s->s_name); + strcat(name,".pd"); + open_via_helppath(name, x->dir->s_name); + freebytes(name, length * sizeof *name ); + + + } + + + + +static void openHelp_free(t_openHelp *x) +{ + + //binbuf_free(x->binbuf); + +} + +void *openHelp_new(t_symbol *s, int argc, t_atom *argv) +{ + t_openHelp *x = (t_openHelp *)pd_new(openHelp_class); + + x->dir = tof_get_dir(tof_get_canvas()); + //strcpy(tof_buf_temp_a,x->dir->s_name); + //strcat(tof_buf_temp_a,"/"); + //x->dir = gensym(tof_buf_temp_a); + + //x->canvas = tof_get_canvas(); + + + + + return (void *)x; +} + +void openHelp_setup(void) { + openHelp_class = class_new(gensym("openHelp"), + (t_newmethod)openHelp_new, + (t_method)openHelp_free, sizeof(t_openHelp), + CLASS_DEFAULT, + A_GIMME, 0); + + // class_addbang(openHelp_class, openHelp_bang); + //class_addanything(openHelp_class,openHelp_anything); + class_addsymbol(openHelp_class,openHelp_symbol); + //class_addmethod(openHelp_class, + // (t_method)openHelp_append, gensym("append"), + // A_GIMME, 0); + + //class_addfloat (openHelp_class, openHelp_float); + /*class_addmethod(openHelp_class, + (t_method)openHelp_set, gensym("set"), + A_DEFFLOAT, 0); +*/ + //class_addlist (openHelp_class, openHelp_list); + +} |