[PD-cvs] pd/src kernel.c,1.1.2.82,1.1.2.83

Mathieu Bouchard matju at users.sourceforge.net
Sun Aug 12 05:19:15 CEST 2007


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

Modified Files:
      Tag: desiredata
	kernel.c 
Log Message:
cleanup


Index: kernel.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/kernel.c,v
retrieving revision 1.1.2.82
retrieving revision 1.1.2.83
diff -C2 -d -r1.1.2.82 -r1.1.2.83
*** kernel.c	9 Aug 2007 07:18:17 -0000	1.1.2.82
--- kernel.c	12 Aug 2007 03:19:13 -0000	1.1.2.83
***************
*** 760,783 ****
  }
  
! /* move an inlet or outlet to the head of the list */
! /* this code is not safe with the latest additions in t_outconnect ! */
! void obj_moveinletfirst(t_object *x, t_inlet *i) {
      if (x->inlet == i) return;
!     each_inlet(i2,x) if (i2->next == i) {
!         i2->next = i->next;
!         i->next = x->inlet;
!         x->inlet = i;
!         return;
!     }
! }
  void obj_moveoutletfirst(t_object *x, t_outlet *o) {
      if (x->outlet == o) return;
!     each_outlet(o2,x) if (o2->next == o) {
!         o2->next = o->next;
!         o->next = x->outlet;
!         x->outlet = o;
!         return;
!     }
! }
  
  /* routines for DSP sorting, which are used in d_ugen.c and g_canvas.c */
--- 760,770 ----
  }
  
! /* move an inlet or outlet to the head of the list. this code is not safe with the latest additions in t_outconnect ! */
! void obj_moveinletfirst( t_object *x,  t_inlet *i) {
      if (x->inlet == i) return;
!     each_inlet( i2,x) if (i2->next == i) {i2->next = i->next; i->next = x-> inlet; x-> inlet = i; return;}}
  void obj_moveoutletfirst(t_object *x, t_outlet *o) {
      if (x->outlet == o) return;
!     each_outlet(o2,x) if (o2->next == o) {o2->next = o->next; o->next = x->outlet; x->outlet = o; return;}}
  
  /* routines for DSP sorting, which are used in d_ugen.c and g_canvas.c */
***************
*** 799,825 ****
  int obj_siginletindex(t_object *x, int m) {
      int n=0;
!     if (x->_class->firstin && x->_class->floatsignalin) {
!         if (!m--) return 0; else n++;
!     }
!     each_inlet(i,x) if (i->symfrom == &s_signal) {
!         if (!m) return n;
!         n++; m--;
!     }
      return -1;
  }
  int obj_sigoutletindex(t_object *x, int m) {
      int n=0;
!     each_outlet(o,x) if (o->sym == &s_signal) {
!         if (m == 0) return n;
!         n++; m--;
!     }
      return -1;
  }
  
  int obj_issignalinlet(t_object *x, int m) {
!     if (x->_class->firstin) {
!         if (!m) return x->_class->firstin && x->_class->floatsignalin;
!         else m--;
!     }
      t_inlet *i;
      for (i = x->inlet; i && m; i = i->next, m--) {}
--- 786,801 ----
  int obj_siginletindex(t_object *x, int m) {
      int n=0;
!     if (x->_class->firstin && x->_class->floatsignalin) {if (!m--) return 0; else n++;}
!     each_inlet(i,x)  if (i->symfrom == &s_signal) {if (!m) return n; else {n++; m--;}}
      return -1;
  }
  int obj_sigoutletindex(t_object *x, int m) {
      int n=0;
!     each_outlet(o,x) if (o->sym     == &s_signal) {if (!m) return n; else {n++; m--;}}
      return -1;
  }
  
  int obj_issignalinlet(t_object *x, int m) {
!     if (x->_class->firstin) {if (!m) return x->_class->floatsignalin; else m--;}
      t_inlet *i;
      for (i = x->inlet; i && m; i = i->next, m--) {}
***************
*** 846,860 ****
  }
  
! /* and those two are only used in g_io.c... */
  int inlet_getsignalindex(t_inlet *x) {
!     int n=0; t_inlet *i;
!     for (i = x->owner->inlet; i && i != x; i = i->next) if (i->symfrom == &s_signal) n++;
!     return n;
! }
  int outlet_getsignalindex(t_outlet *x) {
!     int n=0; t_outlet *o;
!     for (o = x->owner->outlet; o && o != x; o = o->next) if (o->sym == &s_signal) n++;
!     return n;
! }
  
  #ifdef QUALIFIED_NAME
--- 822,832 ----
  }
  
! /* and those two are only used in desire.c... */
  int inlet_getsignalindex(t_inlet *x) {
!     int n=0; for ( t_inlet *i = x->owner-> inlet; i; i = i->next) if (i->symfrom == &s_signal) n++; else if (i==x) return n;
!     return -1;}
  int outlet_getsignalindex(t_outlet *x) {
!     int n=0; for (t_outlet *o = x->owner->outlet; o; o = o->next) if (o->sym     == &s_signal) n++; else if (o==x) return n;
!     return -1;}
  
  #ifdef QUALIFIED_NAME
***************
*** 1901,1917 ****
              if (!ac) break;
              if (at->a_type == A_DOLLAR) {
!                 if (at->a_index <= 0 || at->a_index > argc) {
!                     error("$%d: not enough arguments supplied", at->a_index);
!                     goto cleanup;
!                 } else if (argv[at->a_index-1].a_type != A_SYMBOL) {
!                     error("$%d: symbol needed as message destination", at->a_index);
!                     goto cleanup;
!                 } else s = argv[at->a_index-1].a_symbol;
              } else if (at->a_type == A_DOLLSYM) {
                  s = binbuf_realizedollsym(at->a_symbol, argc, argv, 0);
!                 if (!s) {
!                     error("$%s: not enough arguments supplied", at->a_symbol->name);
!                     goto cleanup;
!                 }
              } else s = atom_getsymbol(at);
  	    target = s->thing;
--- 1873,1882 ----
              if (!ac) break;
              if (at->a_type == A_DOLLAR) {
!                 if (at->a_index <= 0 || at->a_index > argc)  {error("$%d: not enough arguments supplied", at->a_index); goto cleanup;}
!                 else if (argv[at->a_index-1].a_type != A_SYMBOL) {error("$%d: symbol needed as receiver", at->a_index); goto cleanup;}
!                 else s = argv[at->a_index-1].a_symbol;
              } else if (at->a_type == A_DOLLSYM) {
                  s = binbuf_realizedollsym(at->a_symbol, argc, argv, 0);
!                 if (!s) {error("$%s: not enough arguments supplied", at->a_symbol->name); goto cleanup;}
              } else s = atom_getsymbol(at);
  	    target = s->thing;
***************
*** 1926,1940 ****
  		}
  	    }
!             if (!target) {
!                 error("%s: no such object", s->name);
              cleanup:
!                 do at++, ac--;
!                 while (ac && at->a_type != A_SEMI);
!                     /* LATER eat args until semicolon and continue */
                  continue;
-             } else {
-                 at++, ac--;
-                 break;
-             }
          }
          if (!ac) break;
--- 1891,1901 ----
  		}
  	    }
!             if (!target) {error("%s: no such object", s->name); goto cleanup;}
!             at++;
!             ac--;
!             break;
              cleanup:
!                 do {at++; ac--;} while (ac && at->a_type != A_SEMI); /* is this the correct thing to do? */
                  continue;
          }
          if (!ac) break;
***************
*** 1942,1957 ****
          nexttarget = target;
          while (1) {
-             t_symbol *s9;
              if (!ac) goto gotmess;
!             if (msp >= ems) {error("message stack overflow"); goto broken;}
              switch (at->a_type) {
!             case A_SEMI:
!                 /* semis and commas in new message just get bashed to
!                    a symbol.  This is needed so you can pass them to "expr." */
!                 if (target == &pd_objectmaker) {SETSYMBOL(msp, gensym(";")); break;}
!                 else {nexttarget = 0; goto gotmess;}
!             case A_COMMA:
!                 if (target == &pd_objectmaker) {SETSYMBOL(msp, gensym(",")); break;}
!                 else goto gotmess;
              case A_FLOAT:
              case A_SYMBOL:
--- 1903,1912 ----
          nexttarget = target;
          while (1) {
              if (!ac) goto gotmess;
!             if (msp >= ems) {error("message too long"); goto broken;}
              switch (at->a_type) {
!             /* semis and commas in new message just get bashed to a symbol.  This is needed so you can pass them to "expr." */
!             case A_SEMI:  if (target == &pd_objectmaker) {SETSYMBOL(msp, gensym(";")); break;} else {nexttarget = 0; goto gotmess;}
!             case A_COMMA: if (target == &pd_objectmaker) {SETSYMBOL(msp, gensym(",")); break;} else                  goto gotmess;
              case A_FLOAT:
              case A_SYMBOL:
***************
*** 1959,1981 ****
                  break;
              case A_DOLLAR:
!                 if (at->a_index > 0 && at->a_index <= argc)
!                     *msp = argv[at->a_index-1];
!                 else if (at->a_index == 0)
!                     SETFLOAT(msp, canvas_getdollarzero());
                  else {
!                     if (target == &pd_objectmaker) SETFLOAT(msp, 0);
!                     else {
!                         error("$%d: argument number out of range", at->a_index);
!                         SETFLOAT(msp, 0);
!                     }
                  }
                  break;
!             case A_DOLLSYM:
!                 s9 = binbuf_realizedollsym(at->a_symbol, argc, argv, target == &pd_objectmaker);
                  if (!s9) {
                      error("%s: argument number out of range", at->a_symbol->name);
                      SETSYMBOL(msp, at->a_symbol);
                  } else SETSYMBOL(msp, s9);
!                 break;
              default:
                  bug("bad item in binbuf");
--- 1914,1931 ----
                  break;
              case A_DOLLAR:
!                 if (at->a_index > 0 && at->a_index <= argc) *msp = argv[at->a_index-1];
!                 else if (at->a_index == 0) SETFLOAT(msp, canvas_getdollarzero());
                  else {
!                     SETFLOAT(msp, 0);
!                     if (target != &pd_objectmaker) error("$%d: argument number out of range", at->a_index);
                  }
                  break;
!             case A_DOLLSYM: {
!                 t_symbol *s9 = binbuf_realizedollsym(at->a_symbol, argc, argv, target == &pd_objectmaker);
                  if (!s9) {
                      error("%s: argument number out of range", at->a_symbol->name);
                      SETSYMBOL(msp, at->a_symbol);
                  } else SETSYMBOL(msp, s9);
!                 break;}
              default:
                  bug("bad item in binbuf");
***************
*** 2001,2005 ****
          ac--;
      }
- 
      return;
  broken:
--- 1951,1954 ----





More information about the Pd-cvs mailing list