[PD-cvs] pd/src kernel.c,1.1.2.22,1.1.2.23

Mathieu Bouchard matju at users.sourceforge.net
Wed Jan 3 05:25:29 CET 2007


Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13034

Modified Files:
      Tag: desiredata
	kernel.c 
Log Message:
removed i_ and iu_ in t_inlet structs


Index: kernel.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/kernel.c,v
retrieving revision 1.1.2.22
retrieving revision 1.1.2.23
diff -C2 -d -r1.1.2.22 -r1.1.2.23
*** kernel.c	3 Jan 2007 04:12:13 -0000	1.1.2.22
--- kernel.c	3 Jan 2007 04:25:27 -0000	1.1.2.23
***************
*** 41,47 ****
  
  void *getbytes(size_t nbytes) {
-     void *ret;
      if (nbytes < 1) nbytes = 1;
!     ret = (void *)calloc(nbytes, 1);
      if (!ret) post("pd: getbytes() failed -- out of memory");
      return ret;
--- 41,46 ----
  
  void *getbytes(size_t nbytes) {
      if (nbytes < 1) nbytes = 1;
!     void *ret = (void *)calloc(nbytes, 1);
      if (!ret) post("pd: getbytes() failed -- out of memory");
      return ret;
***************
*** 49,54 ****
  
  void *copybytes(void *src, size_t nbytes) {
!     void *ret;
!     ret = getbytes(nbytes);
      if (nbytes) memcpy(ret, src, nbytes);
      return ret;
--- 48,52 ----
  
  void *copybytes(void *src, size_t nbytes) {
!     void *ret = getbytes(nbytes);
      if (nbytes) memcpy(ret, src, nbytes);
      return ret;
***************
*** 111,116 ****
  /* TB: copy to aligned vector memory */
  void *copyalignedbytes(void *src, size_t nbytes) {
!     void *ret;
!     ret = getalignedbytes(nbytes);
      if (nbytes) memcpy(ret, src, nbytes);
      return ret;
--- 109,113 ----
  /* TB: copy to aligned vector memory */
  void *copyalignedbytes(void *src, size_t nbytes) {
!     void *ret = getalignedbytes(nbytes);
      if (nbytes) memcpy(ret, src, nbytes);
      return ret;
***************
*** 125,130 ****
  } t_hashentry;
  
! struct _hash {
!         t_pd pd;
  	long capa;
  	long size;
--- 122,126 ----
  } t_hashentry;
  
! struct _hash : t_pd {
  	long capa;
  	long size;
***************
*** 218,238 ****
     safe to return if there's an error. */
  
! t_float atom_getfloat(t_atom *a) {
!     return a->a_type==A_FLOAT ? a->a_float : 0;
! }
! 
! t_int atom_getint(t_atom *a) {return (t_int)atom_getfloat(a);}
! 
! /* why return &s_float here? */
! t_symbol *atom_getsymbol(t_atom *a) {
!     return a->a_type==A_SYMBOL ? a->a_symbol : &s_float;
! }
  
  t_symbol *atom_gensym(t_atom *a) { /* this works  better for graph labels */
-     char buf[30];
      if (a->a_type == A_SYMBOL) return a->a_symbol;
!     else if (a->a_type == A_FLOAT) sprintf(buf, "%g", a->a_float);
!     else strcpy(buf, "???");
!     return gensym(buf);
  }
  
--- 214,225 ----
     safe to return if there's an error. */
  
! t_float   atom_getfloat( t_atom *a) {return a->a_type==A_FLOAT ? a->a_float : 0;}
! t_int     atom_getint(   t_atom *a) {return (t_int)atom_getfloat(a);}
! t_symbol *atom_getsymbol(t_atom *a) {return a->a_type==A_SYMBOL ? a->a_symbol : &s_symbol;}
  
  t_symbol *atom_gensym(t_atom *a) { /* this works  better for graph labels */
      if (a->a_type == A_SYMBOL) return a->a_symbol;
!     if (a->a_type == A_FLOAT) {char buf[30]; sprintf(buf, "%g", a->a_float); return gensym(buf);}
!     return gensym("???");
  }
  
***************
*** 514,539 ****
  
  union inletunion {
!     t_symbol *iu_symto;
!     t_gpointer *iu_pointerslot;
!     t_float *iu_floatslot;
!     t_symbol **iu_symslot;
!     t_sample iu_floatsignalvalue;
  };
  
! struct _inlet {
!     t_pd i_pd;
!     struct _inlet *i_next;
!     t_object *i_owner;
!     t_pd *i_dest;
!     t_symbol *i_symfrom;
!     union inletunion i_un;
!     t_symbol* i_tip;
  };
  
- #define i_symto i_un.iu_symto
- #define i_pointerslot i_un.iu_pointerslot
- #define i_floatslot i_un.iu_floatslot
- #define i_symslot i_un.iu_symslot
- 
  static t_class *inlet_class, *pointerinlet_class, *floatinlet_class, *symbolinlet_class;
  
--- 501,520 ----
  
  union inletunion {
!     t_symbol *symto;
!     t_gpointer *pointerslot;
!     t_float *floatslot;
!     t_symbol **symslot;
!     t_sample floatsignalvalue;
  };
  
! struct _inlet : t_pd {
!     struct _inlet *next;
!     t_object *owner;
!     t_pd *dest;
!     t_symbol *symfrom;
!     union inletunion u;
!     t_symbol* tip;
  };
  
  static t_class *inlet_class, *pointerinlet_class, *floatinlet_class, *symbolinlet_class;
  
***************
*** 549,554 ****
      t_inlet *y = owner->ob_inlet, *y2;
      if (y) {
!         while ((y2 = y->i_next)) y = y2;
!         y->i_next = x;
      } else owner->ob_inlet = x;
  }
--- 530,535 ----
      t_inlet *y = owner->ob_inlet, *y2;
      if (y) {
!         while ((y2 = y->next)) y = y2;
!         y->next = x;
      } else owner->ob_inlet = x;
  }
***************
*** 556,565 ****
  t_inlet *inlet_new(t_object *owner, t_pd *dest, t_symbol *s1, t_symbol *s2) {
      t_inlet *x = (t_inlet *)pd_new(inlet_class);
!     x->i_owner = owner;
!     x->i_dest = dest;
!     if (s1 == &s_signal) x->i_un.iu_floatsignalvalue = 0; else x->i_symto = s2;
!     x->i_symfrom = s1;
!     x->i_next = 0;
!     x->i_tip = gensym("?");
      object_append_inlet(owner,x);
      return x;
--- 537,546 ----
  t_inlet *inlet_new(t_object *owner, t_pd *dest, t_symbol *s1, t_symbol *s2) {
      t_inlet *x = (t_inlet *)pd_new(inlet_class);
!     x->owner = owner;
!     x->dest = dest;
!     if (s1 == &s_signal) x->u.floatsignalvalue = 0; else x->u.symto = s2;
!     x->symfrom = s1;
!     x->next = 0;
!     x->tip = gensym("?");
      object_append_inlet(owner,x);
      return x;
***************
*** 568,585 ****
  t_inlet *signalinlet_new(t_object *owner, t_float f) {
      t_inlet *x = inlet_new(owner, owner, &s_signal, &s_signal);
!     x->i_un.iu_floatsignalvalue = f;
      return x;
  }
  
  static void inlet_wrong(t_inlet *x, t_symbol *s) {
!     pd_error(x->i_owner, "inlet: expected '%s' but got '%s'", x->i_symfrom->s_name, s->s_name);
  }
  
! void inlet_settip(t_inlet* i,t_symbol* s) {i->i_tip = s;}
  
  char* inlet_tip(t_inlet* i,int num) {
    if (num < 0) return "???";
!   while (num-- && i) i = i->i_next;
!   if (i && i->i_tip) return i->i_tip->s_name;
    return "?";
  }
--- 549,566 ----
  t_inlet *signalinlet_new(t_object *owner, t_float f) {
      t_inlet *x = inlet_new(owner, owner, &s_signal, &s_signal);
!     x->u.floatsignalvalue = f;
      return x;
  }
  
  static void inlet_wrong(t_inlet *x, t_symbol *s) {
!     pd_error(x->owner, "inlet: expected '%s' but got '%s'", x->symfrom->s_name, s->s_name);
  }
  
! void inlet_settip(t_inlet* i,t_symbol* s) {i->tip = s;}
  
  char* inlet_tip(t_inlet* i,int num) {
    if (num < 0) return "???";
!   while (num-- && i) i = i->next;
!   if (i && i->tip) return i->tip->s_name;
    return "?";
  }
***************
*** 587,632 ****
  /* LATER figure out how to make these efficient: */
  static void inlet_bang(t_inlet *x) {
!     if (x->i_symfrom == &s_bang) pd_vmess(x->i_dest, x->i_symto, "");
!     else if (!x->i_symfrom) pd_bang(x->i_dest);
      else inlet_wrong(x, &s_bang);
  }
  static void inlet_pointer(t_inlet *x, t_gpointer *gp) {
!     if (x->i_symfrom == &s_pointer) pd_vmess(x->i_dest, x->i_symto, "p", gp);
!     else if (!x->i_symfrom) pd_pointer(x->i_dest, gp);
      else inlet_wrong(x, &s_pointer);
  }
  static void inlet_float(t_inlet *x, t_float f) {
!     if (x->i_symfrom == &s_float) pd_vmess(x->i_dest, x->i_symto, "f", (t_floatarg)f);
!     else if (x->i_symfrom == &s_signal) x->i_un.iu_floatsignalvalue = f;
!     else if (!x->i_symfrom) pd_float(x->i_dest, f);
      else inlet_wrong(x, &s_float);
  }
  
  static void inlet_symbol(t_inlet *x, t_symbol *s) {
!     if (x->i_symfrom == &s_symbol) pd_vmess(x->i_dest, x->i_symto, "s", s);
!     else if (!x->i_symfrom) pd_symbol(x->i_dest, s);
      else inlet_wrong(x, &s_symbol);
  }
  
  static void inlet_list(t_inlet *x, t_symbol *s, int argc, t_atom *argv) {
!     if (x->i_symfrom == &s_list || x->i_symfrom == &s_float
!         || x->i_symfrom == &s_symbol || x->i_symfrom == &s_pointer)
!             typedmess(x->i_dest, x->i_symto, argc, argv);
!     else if (!x->i_symfrom) pd_list(x->i_dest, s, argc, argv);
      else inlet_wrong(x, &s_list);
  }
  
  static void inlet_anything(t_inlet *x, t_symbol *s, int argc, t_atom *argv) {
!     if (x->i_symfrom == s) typedmess(x->i_dest, x->i_symto, argc, argv);
!     else if (!x->i_symfrom) typedmess(x->i_dest, s, argc, argv);
      else inlet_wrong(x, s);
  }
  
  void inlet_free(t_inlet *x) {
!     t_object *y = x->i_owner;
      t_inlet *x2;
!     if (y->ob_inlet == x) y->ob_inlet = x->i_next;
!     else for (x2 = y->ob_inlet; x2; x2 = x2->i_next) if (x2->i_next == x) {
!         x2->i_next = x->i_next;
          break;
      }
--- 568,613 ----
  /* LATER figure out how to make these efficient: */
  static void inlet_bang(t_inlet *x) {
!     if (x->symfrom == &s_bang) pd_vmess(x->dest, x->u.symto, "");
!     else if (!x->symfrom) pd_bang(x->dest);
      else inlet_wrong(x, &s_bang);
  }
  static void inlet_pointer(t_inlet *x, t_gpointer *gp) {
!     if (x->symfrom == &s_pointer) pd_vmess(x->dest, x->u.symto, "p", gp);
!     else if (!x->symfrom) pd_pointer(x->dest, gp);
      else inlet_wrong(x, &s_pointer);
  }
  static void inlet_float(t_inlet *x, t_float f) {
!     if (x->symfrom == &s_float) pd_vmess(x->dest, x->u.symto, "f", (t_floatarg)f);
!     else if (x->symfrom == &s_signal) x->u.floatsignalvalue = f;
!     else if (!x->symfrom) pd_float(x->dest, f);
      else inlet_wrong(x, &s_float);
  }
  
  static void inlet_symbol(t_inlet *x, t_symbol *s) {
!     if (x->symfrom == &s_symbol) pd_vmess(x->dest, x->u.symto, "s", s);
!     else if (!x->symfrom) pd_symbol(x->dest, s);
      else inlet_wrong(x, &s_symbol);
  }
  
  static void inlet_list(t_inlet *x, t_symbol *s, int argc, t_atom *argv) {
!     if (x->symfrom == &s_list || x->symfrom == &s_float
!         || x->symfrom == &s_symbol || x->symfrom == &s_pointer)
!             typedmess(x->dest, x->u.symto, argc, argv);
!     else if (!x->symfrom) pd_list(x->dest, s, argc, argv);
      else inlet_wrong(x, &s_list);
  }
  
  static void inlet_anything(t_inlet *x, t_symbol *s, int argc, t_atom *argv) {
!     if (x->symfrom == s) typedmess(x->dest, x->u.symto, argc, argv);
!     else if (!x->symfrom) typedmess(x->dest, s, argc, argv);
      else inlet_wrong(x, s);
  }
  
  void inlet_free(t_inlet *x) {
!     t_object *y = x->owner;
      t_inlet *x2;
!     if (y->ob_inlet == x) y->ob_inlet = x->next;
!     else for (x2 = y->ob_inlet; x2; x2 = x2->next) if (x2->next == x) {
!         x2->next = x->next;
          break;
      }
***************
*** 637,652 ****
  
  static void pointerinlet_pointer(t_inlet *x, t_gpointer *gp) {
!     gpointer_unset(x->i_pointerslot);
!     *(x->i_pointerslot) = *gp;
      if (gp->gp_stub) gp->gp_stub->gs_refcount++;
  }
  
! static void floatinlet_float(  t_inlet *x, t_float f)   { *(x->i_floatslot) = f; }
! static void symbolinlet_symbol(t_inlet *x, t_symbol *s) { *(x->i_symslot)   = s; }
  
  #define COMMON \
!     x->i_owner = owner; \
!     x->i_dest = 0; \
!     x->i_next = 0; \
      object_append_inlet(owner,x); \
      return x;
--- 618,633 ----
  
  static void pointerinlet_pointer(t_inlet *x, t_gpointer *gp) {
!     gpointer_unset(x->u.pointerslot);
!     *(x->u.pointerslot) = *gp;
      if (gp->gp_stub) gp->gp_stub->gs_refcount++;
  }
  
! static void floatinlet_float(  t_inlet *x, t_float f)   { *(x->u.floatslot) = f; }
! static void symbolinlet_symbol(t_inlet *x, t_symbol *s) { *(x->u.symslot)   = s; }
  
  #define COMMON \
!     x->owner = owner; \
!     x->dest = 0; \
!     x->next = 0; \
      object_append_inlet(owner,x); \
      return x;
***************
*** 654,666 ****
  t_inlet *floatinlet_new(t_object *owner, t_float *fp) {
      t_inlet *x = (t_inlet *)pd_new(floatinlet_class);
!     x->i_symfrom = &s_float; x->i_floatslot = fp; COMMON
  }
  t_inlet *symbolinlet_new(t_object *owner, t_symbol **sp) {
      t_inlet *x = (t_inlet *)pd_new(symbolinlet_class);
!     x->i_symfrom = &s_symbol; x->i_symslot = sp; COMMON
  }
  t_inlet *pointerinlet_new(t_object *owner, t_gpointer *gp) {
      t_inlet *x = (t_inlet *)pd_new(pointerinlet_class);
!     x->i_symfrom = &s_pointer; x->i_pointerslot = gp; COMMON
  }
  #undef COMMON
--- 635,647 ----
  t_inlet *floatinlet_new(t_object *owner, t_float *fp) {
      t_inlet *x = (t_inlet *)pd_new(floatinlet_class);
!     x->symfrom = &s_float; x->u.floatslot = fp; COMMON
  }
  t_inlet *symbolinlet_new(t_object *owner, t_symbol **sp) {
      t_inlet *x = (t_inlet *)pd_new(symbolinlet_class);
!     x->symfrom = &s_symbol; x->u.symslot = sp; COMMON
  }
  t_inlet *pointerinlet_new(t_object *owner, t_gpointer *gp) {
      t_inlet *x = (t_inlet *)pd_new(pointerinlet_class);
!     x->symfrom = &s_pointer; x->u.pointerslot = gp; COMMON
  }
  #undef COMMON
***************
*** 676,683 ****
      t_inlet *ip = ((t_object *)x)->ob_inlet;
      if (!argc) return;
!     for (count = argc-1, ap = argv+1; ip && count--; ap++, ip = ip->i_next) {
!         if      (ap->a_type == A_POINTER) pd_pointer(&ip->i_pd, ap->a_w.w_gpointer);
!         else if (ap->a_type == A_FLOAT)     pd_float(&ip->i_pd, ap->a_float);
!         else                               pd_symbol(&ip->i_pd, ap->a_symbol);
      }
      if      (argv->a_type == A_POINTER) pd_pointer(x, argv->a_w.w_gpointer);
--- 657,664 ----
      t_inlet *ip = ((t_object *)x)->ob_inlet;
      if (!argc) return;
!     for (count = argc-1, ap = argv+1; ip && count--; ap++, ip = ip->next) {
!         if      (ap->a_type == A_POINTER) pd_pointer(ip,ap->a_w.w_gpointer);
!         else if (ap->a_type == A_FLOAT)     pd_float(ip,ap->a_float);
!         else                               pd_symbol(ip,ap->a_symbol);
      }
      if      (argv->a_type == A_POINTER) pd_pointer(x, argv->a_w.w_gpointer);
***************
*** 786,790 ****
  }
  
! #define each_inlet(i,obj)  for ( t_inlet *i=obj->ob_inlet; i; i=i->i_next)
  #define each_outlet(o,obj) for (t_outlet *o=obj->ob_outlet; o; o=o->o_next)
  
--- 767,771 ----
  }
  
! #define each_inlet(i,obj)  for ( t_inlet *i=obj->ob_inlet; i; i=i->next)
  #define each_outlet(o,obj) for (t_outlet *o=obj->ob_outlet; o; o=o->o_next)
  
***************
*** 867,871 ****
      if (ISINLET(y)) {
          t_inlet *i = (t_inlet *)y;
!         t_object *dest = i->i_owner;
          int n = dest->ob_pd->firstin;
          each_inlet(i2,dest) if (i2==i) break; else n++;
--- 848,852 ----
      if (ISINLET(y)) {
          t_inlet *i = (t_inlet *)y;
!         t_object *dest = i->owner;
          int n = dest->ob_pd->firstin;
          each_inlet(i2,dest) if (i2==i) break; else n++;
***************
*** 891,897 ****
  void obj_moveinletfirst(t_object *x, t_inlet *i) {
      if (x->ob_inlet == i) return;
!     each_inlet(i2,x) if (i2->i_next == i) {
!         i2->i_next = i->i_next;
!         i->i_next = x->ob_inlet;
          x->ob_inlet = i;
          return;
--- 872,878 ----
  void obj_moveinletfirst(t_object *x, t_inlet *i) {
      if (x->ob_inlet == i) return;
!     each_inlet(i2,x) if (i2->next == i) {
!         i2->next = i->next;
!         i->next = x->ob_inlet;
          x->ob_inlet = i;
          return;
***************
*** 913,917 ****
  int obj_nsiginlets(t_object *x) {
      int n=0;
!     each_inlet(i,x) if (i->i_symfrom == &s_signal) n++;
      if (x->ob_pd->firstin && x->ob_pd->floatsignalin) n++;
      return n;
--- 894,898 ----
  int obj_nsiginlets(t_object *x) {
      int n=0;
!     each_inlet(i,x) if (i->symfrom == &s_signal) n++;
      if (x->ob_pd->firstin && x->ob_pd->floatsignalin) n++;
      return n;
***************
*** 929,933 ****
          if (!m--) return 0; else n++;
      }
!     each_inlet(i,x) if (i->i_symfrom == &s_signal) {
          if (!m) return n;
          n++; m--;
--- 910,914 ----
          if (!m--) return 0; else n++;
      }
!     each_inlet(i,x) if (i->symfrom == &s_signal) {
          if (!m) return n;
          n++; m--;
***************
*** 950,955 ****
          else m--;
      }
!     for (i = x->ob_inlet; i && m; i = i->i_next, m--) {}
!     return i && i->i_symfrom==&s_signal;
  }
  int obj_issignaloutlet(t_object *x, int m) {
--- 931,936 ----
          else m--;
      }
!     for (i = x->ob_inlet; i && m; i = i->next, m--) {}
!     return i && i->symfrom==&s_signal;
  }
  int obj_issignaloutlet(t_object *x, int m) {
***************
*** 966,971 ****
          n++;
      }
!     for (i = x->ob_inlet; i; i = i->i_next, m--) if (i->i_symfrom == &s_signal) {
!         if (m == 0) return &i->i_un.iu_floatsignalvalue;
          n++;
      }
--- 947,952 ----
          n++;
      }
!     for (i = x->ob_inlet; i; i = i->next, m--) if (i->symfrom == &s_signal) {
!         if (m == 0) return &i->u.floatsignalvalue;
          n++;
      }
***************
*** 976,980 ****
  int inlet_getsignalindex(t_inlet *x) {
      int n=0; t_inlet *i;
!     for (i = x->i_owner->ob_inlet; i && i != x; i = i->i_next) if (i->i_symfrom == &s_signal) n++;
      return n;
  }
--- 957,961 ----
  int inlet_getsignalindex(t_inlet *x) {
      int n=0; t_inlet *i;
!     for (i = x->owner->ob_inlet; i && i != x; i = i->next) if (i->symfrom == &s_signal) n++;
      return n;
  }





More information about the Pd-cvs mailing list