Update of /cvsroot/pure-data/pd/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17743
Modified Files: Tag: desiredata desire.c desire.h kernel.c m_class.c Log Message: removing c_ prefixes and stuff
Index: m_class.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/m_class.c,v retrieving revision 1.3.4.7.2.22.2.14 retrieving revision 1.3.4.7.2.22.2.15 diff -C2 -d -r1.3.4.7.2.22.2.14 -r1.3.4.7.2.22.2.15 *** m_class.c 20 Dec 2006 06:10:06 -0000 1.3.4.7.2.22.2.14 --- m_class.c 27 Dec 2006 00:26:28 -0000 1.3.4.7.2.22.2.15 *************** *** 121,130 ****
va_start(ap, type1); ! while (*vp) ! { ! if (count == MAXPDARG) ! { ! error("class %s: sorry: only %d creation args allowed", ! s->s_name, MAXPDARG); break; } --- 121,127 ----
va_start(ap, type1); ! while (*vp) { ! if (count == MAXPDARG) { ! error("class %s: sorry: only %d creation args allowed", s->s_name, MAXPDARG); break; } *************** *** 136,164 ****
#ifdef QUALIFIED_NAME ! if (pd_library_name){ char namespacename[MAXPDSTRING]; ! namespacename[0]='\0'; ! strcat(namespacename, pd_library_name); ! strcat(namespacename, QUALIFIED_NAME); ! strcat(namespacename, s->s_name); s=gensym(namespacename); } #endif
! if (pd_objectmaker && newmethod) ! { ! /* add a "new" method by the name specified by the object */ ! class_addmethod(pd_objectmaker, (t_method)newmethod, s, ! vec[0], vec[1], vec[2], vec[3], vec[4], vec[5]); ! if (class_loadsym) ! { ! /* if we're loading an extern it might have been invoked by a ! longer file name; in this case, make this an admissible name ! too. */ char *loadstring = class_loadsym->s_name, l1 = strlen(s->s_name), l2 = strlen(loadstring); if (l2 > l1 && !strcmp(s->s_name, loadstring + (l2 - l1))) ! class_addmethod(pd_objectmaker, (t_method)newmethod, ! class_loadsym, vec[0], vec[1], vec[2], vec[3], vec[4], vec[5]); } --- 133,153 ----
#ifdef QUALIFIED_NAME ! if (pd_library_name) { char namespacename[MAXPDSTRING]; ! sprintf(namespacename, "%s%s%s", pd_library_name, QUALIFIED_NAME, s->s_name); s=gensym(namespacename); } #endif
! if (pd_objectmaker && newmethod) { ! /* add a "new" method by the name specified by the object */ ! class_addmethod(pd_objectmaker, (t_method)newmethod, s, vec[0], vec[1], vec[2], vec[3], vec[4], vec[5]); ! if (class_loadsym) { ! /* if we're loading an extern it might have been invoked by a ! longer file name; in this case, make this an admissible name too. */ char *loadstring = class_loadsym->s_name, l1 = strlen(s->s_name), l2 = strlen(loadstring); if (l2 > l1 && !strcmp(s->s_name, loadstring + (l2 - l1))) ! class_addmethod(pd_objectmaker, (t_method)newmethod, class_loadsym, vec[0], vec[1], vec[2], vec[3], vec[4], vec[5]); } *************** *** 177,183 **** c->c_anymethod = pd_defaultanything; c->c_firstin = ((flags & CLASS_NOINLET) == 0); ! c->c_firsttip = gensym("?"); ! c->c_fields = (t_symbol **)malloc(sizeof(t_symbol *)*31); ! c->c_nfields = 0; c->c_patchable = (typeflag == CLASS_PATCHABLE); c->c_gobj = (typeflag >= CLASS_GOBJ); --- 166,172 ---- c->c_anymethod = pd_defaultanything; c->c_firstin = ((flags & CLASS_NOINLET) == 0); ! c->firsttip = gensym("?"); ! c->fields = (t_symbol **)malloc(sizeof(t_symbol *)*31); ! c->nfields = 0; c->c_patchable = (typeflag == CLASS_PATCHABLE); c->c_gobj = (typeflag >= CLASS_GOBJ); *************** *** 190,208 **** c->c_helpname = S; // like a class_addcreator ! if (pd_library_name&&newmethod){ ! class_addmethod(pd_objectmaker, (t_method)newmethod, S, ! vec[0], vec[1], vec[2], vec[3], vec[4], vec[5]); } #endif - hash_set(class_table, c->c_name, c); return c; }
! /* add a creation method, which is a function that returns a Pd object ! suitable for putting in an object box. We presume you've got a class it ! can belong to, but this won't be used until the newmethod is actually ! called back (and the new method explicitly takes care of this.) */ ! void class_addcreator(t_newmethod newmethod, t_symbol *s, t_atomtype type1, ...) { va_list ap; --- 179,194 ---- c->c_helpname = S; // like a class_addcreator ! if (pd_library_name&&newmethod) { ! class_addmethod(pd_objectmaker, (t_method)newmethod, S, vec[0], vec[1], vec[2], vec[3], vec[4], vec[5]); } #endif hash_set(class_table, c->c_name, c); return c; }
! /* add a creation method, which is a function that returns a Pd object ! suitable for putting in an object box. We presume you've got a class it ! can belong to, but this won't be used until the newmethod is actually ! called back (and the new method explicitly takes care of this.) */ void class_addcreator(t_newmethod newmethod, t_symbol *s, t_atomtype type1, ...) { va_list ap; *************** *** 221,238 **** } va_end(ap); ! class_addmethod(pd_objectmaker, (t_method)newmethod, s, ! vec[0], vec[1], vec[2], vec[3], vec[4], vec[5]);
#ifdef QUALIFIED_NAME ! if (pd_library_name){ char namespacename[MAXPDSTRING]; ! namespacename[0]='\0'; ! strcat(namespacename, pd_library_name); ! strcat(namespacename, QUALIFIED_NAME); ! strcat(namespacename, s->s_name); s=gensym(namespacename); } ! class_addmethod(pd_objectmaker, (t_method)newmethod, s, ! vec[0], vec[1], vec[2], vec[3], vec[4], vec[5]); #endif hash_set(class_table,s,0); --- 207,219 ---- } va_end(ap); ! class_addmethod(pd_objectmaker, (t_method)newmethod, s, vec[0], vec[1], vec[2], vec[3], vec[4], vec[5]);
#ifdef QUALIFIED_NAME ! if (pd_library_name) { char namespacename[MAXPDSTRING]; ! sprintf(namespacename, "%s%s%s", pd_library_name, QUALIFIED_NAME, s->s_name); s=gensym(namespacename); } ! class_addmethod(pd_objectmaker, (t_method)newmethod, s, vec[0], vec[1], vec[2], vec[3], vec[4], vec[5]); #endif hash_set(class_table,s,0); *************** *** 327,331 **** void class_setdrawcommand(t_class *c) {c->c_drawcommand = 1;} int class_isdrawcommand( t_class *c) {return c->c_drawcommand;} ! void class_setnotice(t_class *c, t_notice notice) {c->c_notice = notice;}
static void pd_floatforsignal(t_pd *x, t_float f) --- 308,312 ---- void class_setdrawcommand(t_class *c) {c->c_drawcommand = 1;} int class_isdrawcommand( t_class *c) {return c->c_drawcommand;} ! void class_setnotice(t_class *c, t_notice notice) {c->notice = notice;}
static void pd_floatforsignal(t_pd *x, t_float f) *************** *** 460,488 ****
/* replace everything but [a-zA-Z0-9_] by "0x%x" */ ! static char*alternative_classname(char*classname) ! { char *altname=(char*)getbytes(sizeof(char)*MAXPDSTRING); int count=0; int i=0; ! for(i=0; i<MAXPDSTRING; i++) ! altname[i]=0; i=0; ! while(*classname) ! { char c=*classname; ! if((c>=48 && c<=57)|| /* [0-9] */ ! (c>=65 && c<=90)|| /* [A-Z] */ ! (c>=97 && c<=122)||/* [a-z] */ ! (c==95)) /* [_] */ ! { altname[i]=c; i++; ! } ! else /* a "bad" character */ ! { sprintf(altname+i, "0x%02x", c); i+=4; count++; ! } classname++; } --- 441,460 ----
/* replace everything but [a-zA-Z0-9_] by "0x%x" */ ! static char *alternative_classname(char*classname) { char *altname=(char*)getbytes(sizeof(char)*MAXPDSTRING); int count=0; int i=0; ! for(i=0; i<MAXPDSTRING; i++) altname[i]=0; i=0; ! while(*classname) { char c=*classname; ! if((c>=48 && c<=57) || (c>=65 && c<=90) || (c>=97 && c<=122) || c==95) { altname[i]=c; i++; ! } else { sprintf(altname+i, "0x%02x", c); i+=4; count++; ! } classname++; } *************** *** 577,583 **** #undef REST
! void pd_typedmess(t_pd *x, t_symbol *s, int argc, t_atom *argv) ! { ! t_method *f; t_class *c = *x; t_methodentry *m; --- 549,553 ---- #undef REST
! void pd_typedmess(t_pd *x, t_symbol *s, int argc, t_atom *argv) { t_class *c = *x; t_methodentry *m; *************** *** 738,742 **** }
! void class_settip(t_class *x,t_symbol* s) {x->c_firsttip = s;}
/* ---------------------------------------------------------------- */ --- 708,712 ---- }
! void class_settip(t_class *x,t_symbol* s) {x->firsttip = s;}
/* ---------------------------------------------------------------- */ *************** *** 752,756 **** memcpy(foo,s,i); foo[i]=0; ! x->c_fields[x->c_nfields++] = gensym(foo); s=s+i+1; } --- 722,726 ---- memcpy(foo,s,i); foo[i]=0; ! x->fields[x->nfields++] = gensym(foo); s=s+i+1; } *************** *** 760,764 **** t_symbol *sy = gensym((char *)s); int i; ! for (i=0; i<x->c_nfields; i++) if (x->c_fields[i]==sy) return i; return -1; } --- 730,734 ---- t_symbol *sy = gensym((char *)s); int i; ! for (i=0; i<x->nfields; i++) if (x->fields[i]==sy) return i; return -1; } *************** *** 782,786 **** "gobj "%d" patchable "%d" firstin "%d" " "firsttip "%s" methods {",s->s_name,c->c_helpname->s_name,c->c_externdir->s_name, ! c->c_size,c->c_gobj,c->c_patchable,c->c_firstin,c->c_firsttip->s_name); if (c-> c_bangmethod != pd_defaultbang) sys_vgui("<bang> "); if (c->c_pointermethod != pd_defaultpointer) sys_vgui("<pointer> "); --- 752,756 ---- "gobj "%d" patchable "%d" firstin "%d" " "firsttip "%s" methods {",s->s_name,c->c_helpname->s_name,c->c_externdir->s_name, ! c->c_size,c->c_gobj,c->c_patchable,c->c_firstin,c->firsttip->s_name); if (c-> c_bangmethod != pd_defaultbang) sys_vgui("<bang> "); if (c->c_pointermethod != pd_defaultpointer) sys_vgui("<pointer> ");
Index: kernel.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/Attic/kernel.c,v retrieving revision 1.1.2.6 retrieving revision 1.1.2.7 diff -C2 -d -r1.1.2.6 -r1.1.2.7 *** kernel.c 20 Dec 2006 13:29:52 -0000 1.1.2.6 --- kernel.c 27 Dec 2006 00:26:28 -0000 1.1.2.7 *************** *** 330,335 ****
typedef struct _bindelem { ! t_pd *e_who; ! struct _bindelem *e_next; } t_bindelem;
--- 330,335 ----
typedef struct _bindelem { ! t_pd *who; ! struct _bindelem *next; } t_bindelem;
*************** *** 339,359 **** } t_bindlist;
! #define bind_each(e,x) for (e = x->b_list; e; e = e->e_next) static void bindlist_bang(t_bindlist *x) { ! t_bindelem *e; bind_each(e,x) pd_bang(e->e_who);} static void bindlist_float(t_bindlist *x, t_float f) { ! t_bindelem *e; bind_each(e,x) pd_float(e->e_who, f);} static void bindlist_symbol(t_bindlist *x, t_symbol *s) { ! t_bindelem *e; bind_each(e,x) pd_symbol(e->e_who, s);} static void bindlist_pointer(t_bindlist *x, t_gpointer *gp) { ! t_bindelem *e; bind_each(e,x) pd_pointer(e->e_who, gp);} static void bindlist_list(t_bindlist *x, t_symbol *s, int argc, t_atom *argv) { ! t_bindelem *e; bind_each(e,x) pd_list(e->e_who, s, argc, argv);} static void bindlist_anything(t_bindlist *x, t_symbol *s, int argc, t_atom *argv) { ! t_bindelem *e; bind_each(e,x) pd_typedmess(e->e_who, s, argc, argv);}
void m_pd_setup(void) { ! bindlist_class = class_new(gensym("bindlist"), 0, 0, ! sizeof(t_bindlist), CLASS_PD, 0); class_addbang(bindlist_class, bindlist_bang); class_addfloat(bindlist_class, (t_method)bindlist_float); --- 339,358 ---- } t_bindlist;
! #define bind_each(e,x) for (e = x->b_list; e; e = e->next) static void bindlist_bang(t_bindlist *x) { ! t_bindelem *e; bind_each(e,x) pd_bang(e->who);} static void bindlist_float(t_bindlist *x, t_float f) { ! t_bindelem *e; bind_each(e,x) pd_float(e->who, f);} static void bindlist_symbol(t_bindlist *x, t_symbol *s) { ! t_bindelem *e; bind_each(e,x) pd_symbol(e->who, s);} static void bindlist_pointer(t_bindlist *x, t_gpointer *gp) { ! t_bindelem *e; bind_each(e,x) pd_pointer(e->who, gp);} static void bindlist_list(t_bindlist *x, t_symbol *s, int argc, t_atom *argv) { ! t_bindelem *e; bind_each(e,x) pd_list(e->who, s, argc, argv);} static void bindlist_anything(t_bindlist *x, t_symbol *s, int argc, t_atom *argv) { ! t_bindelem *e; bind_each(e,x) pd_typedmess(e->who, s, argc, argv);}
void m_pd_setup(void) { ! bindlist_class = class_new(gensym("bindlist"), 0, 0, sizeof(t_bindlist), CLASS_PD, 0); class_addbang(bindlist_class, bindlist_bang); class_addfloat(bindlist_class, (t_method)bindlist_float); *************** *** 364,384 **** }
void pd_bind(t_pd *x, t_symbol *s) { if (s->s_thing) { if (*s->s_thing == bindlist_class) { t_bindlist *b = (t_bindlist *)s->s_thing; ! t_bindelem *e = (t_bindelem *)getbytes(sizeof(t_bindelem)); ! e->e_next = b->b_list; ! e->e_who = x; ! b->b_list = e; } else { t_bindlist *b = (t_bindlist *)pd_new(bindlist_class); ! t_bindelem *e1 = (t_bindelem *)getbytes(sizeof(t_bindelem)); ! t_bindelem *e2 = (t_bindelem *)getbytes(sizeof(t_bindelem)); ! b->b_list = e1; ! e1->e_who = x; ! e1->e_next = e2; ! e2->e_who = s->s_thing; ! e2->e_next = 0; s->s_thing = &b->b_pd; } --- 363,381 ---- }
+ static t_bindelem *bindelem_new(t_pd *who, t_bindelem *next) { + t_bindelem *self = (t_bindelem *)getbytes(sizeof(t_bindelem)); + self->who = who; + self->next = next; + return self; + } + void pd_bind(t_pd *x, t_symbol *s) { if (s->s_thing) { if (*s->s_thing == bindlist_class) { t_bindlist *b = (t_bindlist *)s->s_thing; ! b->b_list = bindelem_new(x,b->b_list); } else { t_bindlist *b = (t_bindlist *)pd_new(bindlist_class); ! b->b_list = bindelem_new(x,bindelem_new(s->s_thing,0)); s->s_thing = &b->b_pd; } *************** *** 394,407 **** t_bindlist *b = (t_bindlist *)s->s_thing; t_bindelem *e, *e2; ! if ((e = b->b_list)->e_who == x) { ! b->b_list = e->e_next; freebytes(e, sizeof(t_bindelem)); ! } else for (e = b->b_list; (e2=e->e_next); e = e2) if (e2->e_who == x) { ! e->e_next = e2->e_next; freebytes(e2, sizeof(t_bindelem)); break; } ! if (!b->b_list->e_next) { ! s->s_thing = b->b_list->e_who; freebytes(b->b_list, sizeof(t_bindelem)); pd_free(&b->b_pd); --- 391,404 ---- t_bindlist *b = (t_bindlist *)s->s_thing; t_bindelem *e, *e2; ! if ((e = b->b_list)->who == x) { ! b->b_list = e->next; freebytes(e, sizeof(t_bindelem)); ! } else for (e = b->b_list; (e2=e->next); e = e2) if (e2->who == x) { ! e->next = e2->next; freebytes(e2, sizeof(t_bindelem)); break; } ! if (!b->b_list->next) { ! s->s_thing = b->b_list->who; freebytes(b->b_list, sizeof(t_bindelem)); pd_free(&b->b_pd); *************** *** 410,415 **** }
- void zz(void) {} - t_pd *pd_findbyclass(t_symbol *s, t_class *c) { t_pd *x = 0; --- 407,410 ---- *************** *** 420,430 **** t_bindelem *e; int warned = 0; ! for (e = b->b_list; e; e = e->e_next) if (*e->e_who == c) { ! if (x && !warned) { ! zz(); ! post("warning: %s: multiply defined", s->s_name); ! warned = 1; ! } ! x = e->e_who; } } --- 415,421 ---- t_bindelem *e; int warned = 0; ! for (e = b->b_list; e; e = e->next) if (*e->who == c) { ! if (x && !warned) {post("warning: %s: multiply defined", s->s_name); warned = 1;} ! x = e->who; } } *************** *** 782,809 **** static void outlet_stackerror(t_outlet *x) {pd_error(x->o_owner, "stack overflow");}
void outlet_bang(t_outlet *x) {ENTER{ t_outconnect *oc; ! for (oc = x->o_connections; oc; oc = oc->next) pd_bang(oc->oc_to); }LEAVE} void outlet_pointer(t_outlet *x, t_gpointer *gp) {ENTER{ t_outconnect *oc; t_gpointer gpointer = *gp; ! for (oc = x->o_connections; oc; oc = oc->next) pd_pointer(oc->oc_to, &gpointer); }LEAVE} void outlet_float(t_outlet *x, t_float f) {ENTER{ t_outconnect *oc; ! for (oc = x->o_connections; oc; oc = oc->next) pd_float(oc->oc_to, f); }LEAVE} void outlet_symbol(t_outlet *x, t_symbol *s) {ENTER{ t_outconnect *oc; ! for (oc = x->o_connections; oc; oc = oc->next) pd_symbol(oc->oc_to, s); }LEAVE} void outlet_list(t_outlet *x, t_symbol *s, int argc, t_atom *argv) {ENTER{ t_outconnect *oc; ! for (oc = x->o_connections; oc; oc = oc->next) pd_list(oc->oc_to, s, argc, argv); }LEAVE} void outlet_anything(t_outlet *x, t_symbol *s, int argc, t_atom *argv) {ENTER{ t_outconnect *oc; ! for (oc = x->o_connections; oc; oc = oc->next) typedmess(oc->oc_to, s, argc, argv); }LEAVE}
--- 773,801 ---- static void outlet_stackerror(t_outlet *x) {pd_error(x->o_owner, "stack overflow");}
+ #define each_connect(oc,x) for (oc = x->o_connections; oc; oc = oc->next) void outlet_bang(t_outlet *x) {ENTER{ t_outconnect *oc; ! each_connect(oc,x) pd_bang(oc->oc_to); }LEAVE} void outlet_pointer(t_outlet *x, t_gpointer *gp) {ENTER{ t_outconnect *oc; t_gpointer gpointer = *gp; ! each_connect(oc,x) pd_pointer(oc->oc_to, &gpointer); }LEAVE} void outlet_float(t_outlet *x, t_float f) {ENTER{ t_outconnect *oc; ! each_connect(oc,x) pd_float(oc->oc_to, f); }LEAVE} void outlet_symbol(t_outlet *x, t_symbol *s) {ENTER{ t_outconnect *oc; ! each_connect(oc,x) pd_symbol(oc->oc_to, s); }LEAVE} void outlet_list(t_outlet *x, t_symbol *s, int argc, t_atom *argv) {ENTER{ t_outconnect *oc; ! each_connect(oc,x) pd_list(oc->oc_to, s, argc, argv); }LEAVE} void outlet_anything(t_outlet *x, t_symbol *s, int argc, t_atom *argv) {ENTER{ t_outconnect *oc; ! each_connect(oc,x) typedmess(oc->oc_to, s, argc, argv); }LEAVE}
Index: desire.h =================================================================== RCS file: /cvsroot/pure-data/pd/src/Attic/desire.h,v retrieving revision 1.1.2.49.2.15 retrieving revision 1.1.2.49.2.16 diff -C2 -d -r1.1.2.49.2.15 -r1.1.2.49.2.16 *** desire.h 26 Dec 2006 23:37:20 -0000 1.1.2.49.2.15 --- desire.h 27 Dec 2006 00:26:28 -0000 1.1.2.49.2.16 *************** *** 84,98 **** t_listmethod c_listmethod; t_anymethod c_anymethod; ! t_savefn c_savefn; /* function to call when saving */ ! int c_floatsignalin; /* onset to float for signal input */ ! unsigned c_gobj:1; /* true if is a gobj */ ! unsigned c_patchable:1; /* true if we have a t_object header */ ! unsigned c_firstin:1; /* if patchable, true if draw first inlet */ ! unsigned c_drawcommand:1; /* a drawing command for a template */ ! unsigned c_newatoms:1; /* can handle refcounting of atoms (future use) */ ! t_symbol *c_firsttip; ! t_symbol **c_fields; /* names of fields aka attributes, and I don't mean the #V attributes. */ ! int c_nfields; /* ... and how many of them */ ! t_notice c_notice; /* observer method */ };
--- 84,99 ---- t_listmethod c_listmethod; t_anymethod c_anymethod; ! t_savefn c_savefn; /* function to call when saving */ ! int c_floatsignalin; /* onset to float for signal input */ ! unsigned c_gobj:1; /* true if is a gobj */ ! unsigned c_patchable:1; /* true if we have a t_object header */ ! unsigned c_firstin:1; /* if patchable, true if draw first inlet */ ! unsigned c_drawcommand:1; /* a drawing command for a template */ ! unsigned newatoms:1; /* can handle refcounting of atoms (future use) */ ! unsigned use_stringmethod:1; /* the symbolmethod slot holds a stringmethod instead */ ! t_symbol *firsttip; ! t_symbol **fields; /* names of fields aka attributes, and I don't mean the #V attributes. */ ! int nfields; /* ... and how many of them */ ! t_notice notice; /* observer method */ };
Index: desire.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/Attic/desire.c,v retrieving revision 1.1.2.217.2.92 retrieving revision 1.1.2.217.2.93 diff -C2 -d -r1.1.2.217.2.92 -r1.1.2.217.2.93 *** desire.c 26 Dec 2006 23:37:18 -0000 1.1.2.217.2.92 --- desire.c 27 Dec 2006 00:26:26 -0000 1.1.2.217.2.93 *************** *** 190,194 **** for (int i=0; i<d->nobs; i++) { t_gobj *obs = d->obs[i]; ! t_notice ice = obs->_class->c_notice; if (ice) ice(obs,origin,argc,argv); else post("null func ptr for class %s",self->_class->c_name->s_name); --- 190,194 ---- for (int i=0; i<d->nobs; i++) { t_gobj *obs = d->obs[i]; ! t_notice ice = obs->_class->notice; if (ice) ice(obs,origin,argc,argv); else post("null func ptr for class %s",self->_class->c_name->s_name); *************** *** 3078,3085 **** default: type = &s_float; bug("canvas_write"); } ! if (t->vec[j].type == DT_ARRAY) ! binbuf_addv(b, "sss", type, t->vec[j].name, ! gensym(t->vec[j].arraytemplate->s_name + 3)); ! else binbuf_addv(b, "ss", type, t->vec[j].name); } binbuf_addsemi(b); --- 3078,3083 ---- default: type = &s_float; bug("canvas_write"); } ! binbuf_addv(b, "ss", type, t->vec[j].name); ! if (t->vec[j].type == DT_ARRAY) binbuf_addv(b, "s", gensym(t->vec[j].arraytemplate->s_name + 3)); } binbuf_addsemi(b); *************** *** 3112,3133 ****
/* graphical inlets and outlets, both for control and signals. */ ! ! /* This code is highly inefficient; messages actually have to be forwarded ! by inlets and outlets. The outlet is in even worse shape than the inlet; ! in order to avoid having a "signal" method in the class, the oulet actually ! sprouts an inlet, which forwards the message to the "outlet" object, which ! sends it on to the outlet proper. Another way to do it would be to have ! separate classes for "signal" and "control" outlets, but this would complicate ! life elsewhere. */ ! ! ! /* hacked to run subpatches with different samplerates ! * ! * mfg.gfd.uil ! * IOhannes ! * ! * edited lines are marked with "IOhannes" ! * ! */
extern "C" void signal_setborrowed(t_signal *sig, t_signal *sig2); --- 3110,3114 ----
/* graphical inlets and outlets, both for control and signals. */ ! /* iohannes added multiple samplerates support in vinlet/voutlet */
extern "C" void signal_setborrowed(t_signal *sig, t_signal *sig2); *************** *** 6215,6219 **** t_text *o = symbol2opointer(name); if (!o) return; char foo[666]; ! if (o->ob_pd->c_firstin) strcpy(foo,o->ob_pd->c_firsttip->s_name); else strcpy(foo,""); int n = obj_ninlets(x); char *foop = foo; --- 6196,6200 ---- t_text *o = symbol2opointer(name); if (!o) return; char foo[666]; ! if (o->ob_pd->c_firstin) strcpy(foo,o->ob_pd->firsttip->s_name); else strcpy(foo,""); int n = obj_ninlets(x); char *foop = foo;