[PD-cvs] pd/src CHANGELOG.txt, 1.2, 1.3 configure.in, 1.7, 1.8 d_filter.c, 1.3, 1.4 d_mayer_fft.c, 1.2, 1.3 g_all_guis.c, 1.5, 1.6 g_array.c, 1.4, 1.5 g_canvas.c, 1.6, 1.7 g_canvas.h, 1.5, 1.6 g_editor.c, 1.6, 1.7 g_graph.c, 1.5, 1.6 g_scalar.c, 1.5, 1.6 g_template.c, 1.5, 1.6 g_text.c, 1.6, 1.7 m_obj.c, 1.3, 1.4 m_pd.h, 1.6, 1.7 m_sched.c, 1.7, 1.8 makefile, 1.10, 1.11 makefile.dependencies, 1.2, 1.3 makefile.in, 1.5, 1.6 notes.txt, 1.9, 1.10 s_audio_alsa.c, 1.6, 1.7 s_audio_alsamm.c, 1.2, 1.3 s_audio_pablio.c, 1.5, 1.6 s_file.c, 1.3, 1.4 s_inter.c, 1.7, 1.8 s_loader.c, 1.4, 1.5 s_main.c, 1.10, 1.11 s_path.c, 1.5, 1.6 s_print.c, 1.2, 1.3 u_main.tk, 1.8, 1.9

Miller Puckette millerpuckette at users.sourceforge.net
Wed May 18 06:28:53 CEST 2005


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

Modified Files:
	CHANGELOG.txt configure.in d_filter.c d_mayer_fft.c 
	g_all_guis.c g_array.c g_canvas.c g_canvas.h g_editor.c 
	g_graph.c g_scalar.c g_template.c g_text.c m_obj.c m_pd.h 
	m_sched.c makefile makefile.dependencies makefile.in notes.txt 
	s_audio_alsa.c s_audio_alsamm.c s_audio_pablio.c s_file.c 
	s_inter.c s_loader.c s_main.c s_path.c s_print.c u_main.tk 
Log Message:
Damn, edited this before and lost the update.  More data features.
Took about 12 patches.



Index: s_loader.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/s_loader.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** s_loader.c	6 Sep 2004 20:20:35 -0000	1.4
--- s_loader.c	18 May 2005 04:28:51 -0000	1.5
***************
*** 135,140 ****
          }
          ret = NSLinkModule( image, filename, 
!                NSLINKMODULE_OPTION_BINDNOW + NSLINKMODULE_OPTION_PRIVATE); 
! 
          s = NSLookupSymbolInModule(ret, symname); 
  
--- 135,150 ----
          }
          ret = NSLinkModule( image, filename, 
!                NSLINKMODULE_OPTION_BINDNOW |
!                //NSLINKMODULE_OPTION_PRIVATE |
!                NSLINKMODULE_OPTION_RETURN_ON_ERROR);
!                
!         if (ret == NULL) {
!                 int err;
!                 const char *fname, *errt;
!                 NSLinkEditErrors c;
!                 NSLinkEditError(&c, &err, &fname, &errt);
!                 post("link error %d %s %s", err, fname, errt);
!                 return 0;
!         }
          s = NSLookupSymbolInModule(ret, symname); 
  

Index: g_text.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_text.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** g_text.c	6 Nov 2004 16:07:33 -0000	1.6
--- g_text.c	18 May 2005 04:28:51 -0000	1.7
***************
*** 753,762 ****
                  "black");
          }
!         else
!         {
!             sys_vgui(".x%lx.c delete %lx.l\n", glist_getcanvas(glist), x);
!             sys_unqueuegui(x);
!         }
      }
  }
  
--- 753,760 ----
                  "black");
          }
!         else sys_vgui(".x%lx.c delete %lx.l\n", glist_getcanvas(glist), x);
      }
+     if (!vis)
+         sys_unqueuegui(x);
  }
  

Index: s_main.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/s_main.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** s_main.c	28 Nov 2004 21:20:43 -0000	1.10
--- s_main.c	18 May 2005 04:28:51 -0000	1.11
***************
*** 3,7 ****
  * WARRANTIES, see the file, "LICENSE.txt," in this distribution.  */
  
! char pd_version[] = "Pd version 0.39 TEST 0\n";
  char pd_compiletime[] = __TIME__;
  char pd_compiledate[] = __DATE__;
--- 3,7 ----
  * WARRANTIES, see the file, "LICENSE.txt," in this distribution.  */
  
! char pd_version[] = "Pd version 0.39 TEST 2\n";
  char pd_compiletime[] = __TIME__;
  char pd_compiledate[] = __DATE__;
***************
*** 61,64 ****
--- 61,65 ----
  int sys_midioutdevlist[MAXMIDIOUTDEV] = {1};
  
+ char sys_font[] = "courier"; /* tb: font name */
  static int sys_main_srate;
  static int sys_main_advance;
***************
*** 255,259 ****
      sys_rcfile();                               /* parse the startup file */
  #endif
!     if (sys_argparse(argc, argv))           /* parse cmd line */
          return (1);
      sys_afterargparse();                    /* post-argparse settings */
--- 256,260 ----
      sys_rcfile();                               /* parse the startup file */
  #endif
!     if (sys_argparse(argc-1, argv+1))           /* parse cmd line */
          return (1);
      sys_afterargparse();                    /* post-argparse settings */
***************
*** 359,362 ****
--- 360,364 ----
  "-lib <file>      -- load object library(s)\n",
  "-font <n>        -- specify default font size in points\n",
+ "-typeface <name> -- specify default font (default: courier)\n",
  "-verbose         -- extra printout on startup and when searching for files\n",
  "-version         -- don't run Pd; just print out which version it is \n",
***************
*** 508,512 ****
      char sbuf[MAXPDSTRING];
      int i;
-     argc--; argv++;
      while ((argc > 0) && **argv == '-')
      {
--- 510,513 ----
***************
*** 713,719 ****
              argv += 2;
          }
          else if (!strcmp(*argv, "-verbose"))
          {
!             sys_verbose = 1;
              argc--; argv++;
          }
--- 714,728 ----
              argv += 2;
          }
+                 /* tb: font name { */
+         else if (!strcmp(*argv, "-typeface") && argc > 1)
+         {
+                         strcpy(sys_font,*(argv+1));
+                         argc -= 2;
+                         argv += 2;
+                 }
+                 /* } tb */
          else if (!strcmp(*argv, "-verbose"))
          {
!             sys_verbose++;
              argc--; argv++;
          }

Index: u_main.tk
===================================================================
RCS file: /cvsroot/pure-data/pd/src/u_main.tk,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** u_main.tk	28 Nov 2004 21:20:43 -0000	1.8
--- u_main.tk	18 May 2005 04:28:51 -0000	1.9
***************
*** 51,54 ****
--- 51,66 ----
      load $pd_guidir/bin/pdtcl
      set pd_tearoff 0
+ 
+ 	 # tk::mac::OpenDocument is called with the filenames put into the 
+ 	 # var args whenever docs are either dropped on the Pd.app icon or 
+ 	 # opened from the Finder.
+ 	 # It uses menu_doc_open so it can handles numerous file types.
+ 	 proc tk::mac::OpenDocument {args} {
+ 		  foreach file $args {
[...1137 lines suppressed...]
      set edit_number [expr $edit_number + 1]
--- 3297,3301 ----
  
  proc pdtk_pd_texteditor {stuff} {
!     global edit_number pd_font3
      set name [format ".text%d" $edit_number]
      set edit_number [expr $edit_number + 1]
***************
*** 3106,3110 ****
  
      text $name.text -relief raised -bd 2 -height 12 -width 60 \
!     	-yscrollcommand "$name.scroll set" -font -*-courier-bold--normal--12-*
      scrollbar $name.scroll -command "$name.text yview"
      pack $name.scroll -side right -fill y
--- 3314,3318 ----
  
      text $name.text -relief raised -bd 2 -height 12 -width 60 \
!     	-yscrollcommand "$name.scroll set" -font $pd_font3
      scrollbar $name.scroll -command "$name.text yview"
      pack $name.scroll -side right -fill y

Index: s_path.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/s_path.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** s_path.c	7 Nov 2004 04:04:18 -0000	1.5
--- s_path.c	18 May 2005 04:28:51 -0000	1.6
***************
*** 360,363 ****
--- 360,365 ----
  deprecated in favor of the "settings" mechanism */
  
+ int sys_argparse(int argc, char **argv);
+ 
  #ifndef MSW
  
***************
*** 365,370 ****
  #define NUMARGS 1000
  
- int sys_argparse(int argc, char **argv);
- 
  int sys_rcfile(void)
  {
--- 367,370 ----
***************
*** 421,425 ****
          else post("no RC file arguments found");
      }
!     if (sys_argparse(rcargc, rcargv))
      {
          post("error parsing RC arguments");
--- 421,425 ----
          else post("no RC file arguments found");
      }
!     if (sys_argparse(rcargc-1, rcargv+1))
      {
          post("error parsing RC arguments");
***************
*** 435,439 ****
      int rcargc = 0;
      char *rcargv[MAXPDSTRING];
- 
      if (len > MAXPDSTRING)
      {
--- 435,438 ----
***************
*** 441,445 ****
          return;
      }
!     for (i = 0; i < len; i++)
      {
          int c = sys_flags->s_name[i];
--- 440,444 ----
          return;
      }
!     for (i = 0; i < len+1; i++)
      {
          int c = sys_flags->s_name[i];
***************
*** 465,473 ****
                  if (rcargc >= MAXPDSTRING)
                      break;
              }
          }
      }
      if (sys_argparse(rcargc, rcargv))
!         post("error parsing RC arguments");
  }
  
--- 464,473 ----
                  if (rcargc >= MAXPDSTRING)
                      break;
+                 state = 0;
              }
          }
      }
      if (sys_argparse(rcargc, rcargv))
!         post("error parsing startup arguments");
  }
  
***************
*** 481,485 ****
          bug("sys_decodedialog: %s", sp);
      else sp++;
!     for (i = 0; i < MAXPDSTRING-1; i++)
      {
          if (!sp[0])
--- 481,485 ----
          bug("sys_decodedialog: %s", sp);
      else sp++;
!     for (i = 0; i < MAXPDSTRING-1; i++, sp++)
      {
          if (!sp[0])
***************
*** 498,503 ****
                  buf[i] = '$', sp++;
              else buf[i] = sp[0];
-             sp++;
          }
      }
      buf[i] = 0;
--- 498,503 ----
                  buf[i] = '$', sp++;
              else buf[i] = sp[0];
          }
+         else buf[i] = sp[0];
      }
      buf[i] = 0;

Index: configure.in
===================================================================
RCS file: /cvsroot/pure-data/pd/src/configure.in,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** configure.in	7 Nov 2004 04:04:17 -0000	1.7
--- configure.in	18 May 2005 04:28:50 -0000	1.8
***************
*** 153,159 ****
      dnl Checking for JACK
  
!     AC_CHECK_LIB(rt,shm_open,LIBS="$LIBS -lrt")
!     AC_CHECK_LIB(jack,jack_set_xrun_callback,LIBS="$LIBS -ljack";jack=xrun,jack=no)
!     AC_CHECK_LIB(jack,jack_set_error_function,LIBS="$LIBS -ljack";jack=yes,jack=no)
  
      LDFLAGS="-Wl,-export-dynamic"
--- 153,161 ----
      dnl Checking for JACK
  
!     if test x$jack == xyes; then
!         AC_CHECK_LIB(rt,shm_open,LIBS="$LIBS -lrt")
!         AC_CHECK_LIB(jack,jack_set_xrun_callback,LIBS="$LIBS -ljack";jack=xrun,jack=no)
!         AC_CHECK_LIB(jack,jack_set_error_function,LIBS="$LIBS -ljack";jack=yes,jack=no)
!     fi
  
      LDFLAGS="-Wl,-export-dynamic"

Index: CHANGELOG.txt
===================================================================
RCS file: /cvsroot/pure-data/pd/src/CHANGELOG.txt,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** CHANGELOG.txt	6 Sep 2004 20:20:33 -0000	1.2
--- CHANGELOG.txt	18 May 2005 04:28:50 -0000	1.3
***************
*** 4,7 ****
--- 4,30 ----
  0.38.0
  
+ finally figured out how to do "-enable-", etc., flags in the configure
+ script correctly.
+ 
+ The scheduler now has a hook (set_so you can add polling routines) :
+     sys_idlehook().
+ 
+ I'm now uploading directly to CVS repository ("main" and "stable_0_38"
+ branches.)  There are still problems keeping CVS's and my versions of
+ portaudio the same (CVS bashes the "ident" lines).
+ 
+ t_int to int in binbuf_addv prototype
+ 
+ 64-bit fix to externs makefiles
+ 
+ Pd now uses portaudio out-of-the-box; customized files are moved to
+ "src" directory.
+ 
+ All "tags" are printf'd as %lx to make 64-bit safe.  
+ 
+ GUI queueing mechanism added: sys_queuegui() etc. 
+ 
+ massive rewrite of array code to unify arrays and scalars.
+ 
  fixed empty lists automatically to call "bang" method if one is supplied.
  

Index: m_obj.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/m_obj.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** m_obj.c	28 Nov 2004 21:20:42 -0000	1.3
--- m_obj.c	18 May 2005 04:28:51 -0000	1.4
***************
*** 63,66 ****
--- 63,73 ----
  }
  
+ t_inlet *signalinlet_new(t_object *owner, t_float f)
+ {
+     t_inlet *x = inlet_new(owner, &owner->ob_pd, &s_signal, &s_signal);
+     x->i_un.iu_floatsignalvalue = f;
+     return (x);
+ }
+ 
  static void inlet_wrong(t_inlet *x, t_symbol *s)
  {

Index: g_canvas.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_canvas.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** g_canvas.c	28 Nov 2004 21:20:42 -0000	1.6
--- g_canvas.c	18 May 2005 04:28:50 -0000	1.7
***************
*** 520,524 ****
  {
      int heightwas = y2 - y1;
!     int heightchange = y2 - y1 - (x->gl_screeny2 - x->gl_screeny1);
      if (x->gl_screenx1 == x1 && x->gl_screeny1 == y1 &&
          x->gl_screenx2 == x2 && x->gl_screeny2 == y2)
--- 520,524 ----
  {
      int heightwas = y2 - y1;
!     int heightchange = y2 - y1 - (x->gl_screeny2 - x->gl_screeny1);    
      if (x->gl_screenx1 == x1 && x->gl_screeny1 == y1 &&
          x->gl_screenx2 == x2 && x->gl_screeny2 == y2)
***************
*** 528,532 ****
      x->gl_screenx2 = x2;
      x->gl_screeny2 = y2;
-     /* post("set bounds %d %d %d %d", x1, y1, x2, y2); */
      if (!glist_isgraph(x) && (x->gl_y2 < x->gl_y1)) 
      {
--- 528,531 ----
***************
*** 754,757 ****
--- 753,757 ----
              return;
          }
+         sys_vgui("pdtk_canvas_getscroll .x%lx.c\n", x);
          glist_noselect(x);
          if (glist_isvisible(x))
***************
*** 1327,1332 ****
      /* redraw all "scalars" (do this if a drawing command is changed.) 
      LATER we'll use the "template" information to select which ones we
!     redraw.  */
! static void glist_redrawall(t_glist *gl)
  {
      t_gobj *g;
--- 1327,1332 ----
      /* redraw all "scalars" (do this if a drawing command is changed.) 
      LATER we'll use the "template" information to select which ones we
!     redraw.   Action = 0 for redraw, 1 for draw only, 2 for erase. */
! static void glist_redrawall(t_glist *gl, int action)
  {
      t_gobj *g;
***************
*** 1336,1352 ****
          t_class *cl;
          if (vis && g->g_pd == scalar_class)
!             glist_redrawitem(gl, g);
          else if (g->g_pd == canvas_class)
!             glist_redrawall((t_glist *)g);
      }
  }
  
!     /* public interface for above */
! void canvas_redrawallfortemplate( t_template *template)
  {
      t_canvas *x;
          /* find all root canvases */
      for (x = canvas_list; x; x = x->gl_next)
!         glist_redrawall(x);
  }
  
--- 1336,1388 ----
          t_class *cl;
          if (vis && g->g_pd == scalar_class)
!         {
!             if (action == 1)
!             {
!                 if (glist_isvisible(gl))
!                     gobj_vis(g, gl, 1);
!             }
!             else if (action == 2)
!             {
!                 if (glist_isvisible(gl))
!                     gobj_vis(g, gl, 0);
!             }
!             else glist_redrawitem(gl, g);
!         }
          else if (g->g_pd == canvas_class)
!             glist_redrawall((t_glist *)g, action);
      }
  }
  
!     /* public interface for above. */
! void canvas_redrawallfortemplate(t_template *template, int action)
  {
      t_canvas *x;
          /* find all root canvases */
      for (x = canvas_list; x; x = x->gl_next)
!         glist_redrawall(x, action);
! }
! 
!     /* find the template defined by a canvas, and redraw all elements
!     for that */
! void canvas_redrawallfortemplatecanvas(t_canvas *x, int action)
! {
!     t_gobj *g;
!     t_template *tmpl;
!     t_symbol *s1 = gensym("struct");
!     for (g = x->gl_list; g; g = g->g_next)
!     {
!         t_object *ob = pd_checkobject(&g->g_pd);
!         t_atom *argv;
!         if (!ob || ob->te_type != T_OBJECT ||
!             binbuf_getnatom(ob->te_binbuf) < 2)
!             continue;
!         argv = binbuf_getvec(ob->te_binbuf);
!         if (argv[0].a_type != A_SYMBOL || argv[1].a_type != A_SYMBOL
!             || argv[0].a_w.w_symbol != s1)
!                 continue;
!         tmpl = template_findbyname(argv[1].a_w.w_symbol);
!         canvas_redrawallfortemplate(tmpl, action);
!     }
!     canvas_redrawallfortemplate(0, action);
  }
  

Index: g_template.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_template.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** g_template.c	28 Nov 2004 21:20:42 -0000	1.5
--- g_template.c	18 May 2005 04:28:51 -0000	1.6
***************
*** 337,341 ****
  {
      int i, j;
!     t_template *scalartemplate;
      if (a->a_templatesym == tfrom->t_sym)
      {
--- 337,341 ----
  {
      int i, j;
!     t_template *scalartemplate = 0;
      if (a->a_templatesym == tfrom->t_sym)
[...1181 lines suppressed...]
+     if (!x->x_vis)
+         return;
      if (vis)
      {
***************
*** 1769,1774 ****
      drawnumber_class = class_new(gensym("drawnumber"),
          (t_newmethod)drawnumber_new, (t_method)drawnumber_free,
!         sizeof(t_drawnumber), CLASS_NOINLET, A_GIMME, 0);
      class_setdrawcommand(drawnumber_class);
      class_addcreator((t_newmethod)drawnumber_new, gensym("drawsymbol"),
          A_GIMME, 0);
--- 2050,2056 ----
      drawnumber_class = class_new(gensym("drawnumber"),
          (t_newmethod)drawnumber_new, (t_method)drawnumber_free,
!         sizeof(t_drawnumber), 0, A_GIMME, 0);
      class_setdrawcommand(drawnumber_class);
+     class_addfloat(drawnumber_class, drawnumber_float);
      class_addcreator((t_newmethod)drawnumber_new, gensym("drawsymbol"),
          A_GIMME, 0);

Index: g_array.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_array.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** g_array.c	28 Nov 2004 21:20:42 -0000	1.4
--- g_array.c	18 May 2005 04:28:50 -0000	1.5
***************
*** 246,249 ****
--- 246,255 ----
  }
  
+     /* get the array's name */
+ t_symbol *garray_getname(t_garray *x)
+ {
+     return (x->x_name);
+ }
+ 
          /* if there is one garray in a graph, reset the graph's coordinates
              to fit a new size and style for the garray */
***************
*** 554,557 ****
--- 560,564 ----
      char *elem, int xonset, int yonset, int wonset, int indx,
      float basex, float basey, float xinc,
+     t_fielddesc *xfielddesc, t_fielddesc *yfielddesc, t_fielddesc *wfielddesc,
      float *xp, float *yp, float *wp)
  {
***************
*** 563,577 ****
          yval = *(float *)(elem + yonset);
      else yval = 0;
!     ypix = glist_ytopixels(glist, basey + yval);
      if (wonset >= 0)
      {
              /* found "w" field which controls linewidth. */
          float wval = *(float *)(elem + wonset);
!         wpix = glist_ytopixels(glist, basey + yval + wval) - ypix;
          if (wpix < 0)
              wpix = -wpix;
      }
      else wpix = 1;
!     *xp = glist_xtopixels(glist, basex + xval);
      *yp = ypix;
      *wp = wpix;
--- 570,588 ----
          yval = *(float *)(elem + yonset);
      else yval = 0;
!     ypix = glist_ytopixels(glist, basey +
!         fielddesc_cvttocoord(yfielddesc, yval));
      if (wonset >= 0)
      {
              /* found "w" field which controls linewidth. */
          float wval = *(float *)(elem + wonset);
!         wpix = glist_ytopixels(glist, basey + 
!             fielddesc_cvttocoord(yfielddesc, yval) +
!                 fielddesc_cvttocoord(wfielddesc, wval)) - ypix;
          if (wpix < 0)
              wpix = -wpix;
      }
      else wpix = 1;
!     *xp = glist_xtopixels(glist, basex +
!         fielddesc_cvttocoord(xfielddesc, xval));
      *yp = ypix;
      *wp = wpix;
***************
*** 580,585 ****
  static float array_motion_xcumulative;
  static float array_motion_ycumulative;
! static t_symbol *array_motion_xfield;
! static t_symbol *array_motion_yfield;
  static t_glist *array_motion_glist;
  static t_scalar *array_motion_scalar;
--- 591,596 ----
  static float array_motion_xcumulative;
  static float array_motion_ycumulative;
! static t_fielddesc *array_motion_xfield;
! static t_fielddesc *array_motion_yfield;
  static t_glist *array_motion_glist;
  static t_scalar *array_motion_scalar;
***************
*** 603,625 ****
      array_motion_xcumulative += dx * array_motion_xperpix;
      array_motion_ycumulative += dy * array_motion_yperpix;
!     if (*array_motion_xfield->s_name)
      {
              /* it's an x, y plot; can drag many points at once */
          int i;
-         char *charword = (char *)array_motion_wp;
          for (i = 0; i < array_motion_npoints; i++)
          {
!             t_word *thisword = (t_word *)(charword + i * array_motion_elemsize);
!             if (*array_motion_xfield->s_name)
!             {
!                 float xwas = template_getfloat(array_motion_template,
!                     array_motion_xfield, thisword, 1);
!                 template_setfloat(array_motion_template,
!                     array_motion_xfield, thisword, xwas + dx, 1);
!             }
!             if (*array_motion_yfield->s_name)
              {
-                 float ywas = template_getfloat(array_motion_template,
-                     array_motion_yfield, thisword, 1);
                  if (array_motion_fatten)
                  {
--- 614,634 ----
      array_motion_xcumulative += dx * array_motion_xperpix;
      array_motion_ycumulative += dy * array_motion_yperpix;
!     if (array_motion_xfield)
      {
              /* it's an x, y plot; can drag many points at once */
          int i;
          for (i = 0; i < array_motion_npoints; i++)
          {
!             t_word *thisword = (t_word *)(((char *)array_motion_wp) +
!                 i * array_motion_elemsize);
!             float xwas = fielddesc_getcoord(array_motion_xfield, 
!                 array_motion_template, thisword, 1);
!             float ywas = (array_motion_yfield ?
!                 fielddesc_getcoord(array_motion_yfield, 
!                     array_motion_template, thisword, 1) : 0);
!             fielddesc_setcoord(array_motion_xfield,
!                 array_motion_template, thisword, xwas + dx, 1);
!             if (array_motion_yfield)
              {
                  if (array_motion_fatten)
                  {
***************
*** 629,640 ****
                          if (newy < 0)
                              newy = 0;
!                         template_setfloat(array_motion_template,
!                             array_motion_yfield, thisword, newy, 1);
                      }
                  }
                  else
                  {
!                     template_setfloat(array_motion_template,
!                         array_motion_yfield, thisword,
                              ywas + dy * array_motion_yperpix, 1);
                  }
--- 638,649 ----
                          if (newy < 0)
                              newy = 0;
!                         fielddesc_setcoord(array_motion_yfield,
!                             array_motion_template, thisword, newy, 1);
                      }
                  }
                  else
                  {
!                     fielddesc_setcoord(array_motion_yfield,
!                         array_motion_template, thisword,
                              ywas + dy * array_motion_yperpix, 1);
                  }
***************
*** 642,656 ****
          }
      }
!     else
      {
              /* a y-only plot. */
!         int thisx = array_motion_initx +
!             array_motion_xcumulative, x2;
          int increment, i, nchange;
-         char *charword = (char *)array_motion_wp;
          float newy = array_motion_ycumulative,
!             oldy = template_getfloat(
!             array_motion_template, array_motion_yfield,
!             (t_word *)(charword + array_motion_elemsize * array_motion_lastx), 1);
          float ydiff = newy - oldy;
          if (thisx < 0) thisx = 0;
--- 651,665 ----
          }
      }
!     else if (array_motion_yfield)
      {
              /* a y-only plot. */
!         int thisx = array_motion_initx + array_motion_xcumulative, x2;
          int increment, i, nchange;
          float newy = array_motion_ycumulative,
!             oldy = fielddesc_getcoord(array_motion_yfield,
!                 array_motion_template,
!                     (t_word *)(((char *)array_motion_wp) +
!                         array_motion_elemsize * array_motion_lastx),
!                             1);
          float ydiff = newy - oldy;
          if (thisx < 0) thisx = 0;
***************
*** 662,669 ****
          for (i = 0, x2 = thisx; i < nchange; i++, x2 += increment)
          {
!             template_setfloat(array_motion_template,
!                 array_motion_yfield,
!                     (t_word *)(charword + array_motion_elemsize * x2),
!                         newy, 1);
              if (nchange > 1)
                  newy -= ydiff * (1./(nchange - 1));
--- 671,678 ----
          for (i = 0, x2 = thisx; i < nchange; i++, x2 += increment)
          {
!             fielddesc_setcoord(array_motion_yfield,
!                 array_motion_template,
!                     (t_word *)(((char *)array_motion_wp) +
!                         array_motion_elemsize * x2), newy, 1);
              if (nchange > 1)
                  newy -= ydiff * (1./(nchange - 1));
***************
*** 689,692 ****
--- 698,702 ----
      t_symbol *elemtemplatesym,
      float linewidth, float xloc, float xinc, float yloc,
+     t_fielddesc *xfield, t_fielddesc *yfield, t_fielddesc *wfield,
      int xpix, int ypix, int shift, int alt, int dbl, int doit)
  {
***************
*** 698,703 ****
          return (0);
      if (array_getfields(elemtemplatesym, &elemtemplatecanvas,
!         &elemtemplate, &elemsize, &xonset, &yonset, &wonset))
!             return (0);
          /* if it has more than 2000 points, just check 300 of them. */
      if (array->a_n < 2000)
--- 708,714 ----
          return (0);
      if (array_getfields(elemtemplatesym, &elemtemplatecanvas,
!         &elemtemplate, &elemsize, xfield, yfield, wfield,
!             &xonset, &yonset, &wonset))
!                 return (0);
          /* if it has more than 2000 points, just check 300 of them. */
      if (array->a_n < 2000)
***************
*** 715,722 ****
  }
  
!     /* LATER move this and others back into plot parentwidget code. */
  int array_doclick(t_array *array, t_glist *glist, t_scalar *sc, t_array *ap,
      t_symbol *elemtemplatesym,
      float linewidth, float xloc, float xinc, float yloc,
      int xpix, int ypix, int shift, int alt, int dbl, int doit)
  {
--- 726,735 ----
  }
  
!     /* LATER move this and others back into plot parentwidget code, so
!     they can be static (look in g_canvas.h for candidates). */
  int array_doclick(t_array *array, t_glist *glist, t_scalar *sc, t_array *ap,
      t_symbol *elemtemplatesym,
      float linewidth, float xloc, float xinc, float yloc,
+     t_fielddesc *xfield, t_fielddesc *yfield, t_fielddesc *wfield,
      int xpix, int ypix, int shift, int alt, int dbl, int doit)
  {
***************
*** 726,730 ****
  
      if (!array_getfields(elemtemplatesym, &elemtemplatecanvas,
!         &elemtemplate, &elemsize, &xonset, &yonset, &wonset))
      {
          float best = 100;
--- 739,744 ----
  
      if (!array_getfields(elemtemplatesym, &elemtemplatecanvas,
!         &elemtemplate, &elemsize, xfield, yfield, wfield,
!         &xonset, &yonset, &wonset))
      {
          float best = 100;
***************
*** 739,743 ****
              array_getcoordinate(glist, (char *)(array->a_vec) + i * elemsize,
                  xonset, yonset, wonset, i, xloc, yloc, xinc,
!                 &pxpix, &pypix, &pwpix);
              if (pwpix < 4)
                  pwpix = 4;
--- 753,757 ----
              array_getcoordinate(glist, (char *)(array->a_vec) + i * elemsize,
                  xonset, yonset, wonset, i, xloc, yloc, xinc,
!                 xfield, yfield, wfield, &pxpix, &pypix, &pwpix);
              if (pwpix < 4)
                  pwpix = 4;
***************
*** 764,769 ****
          if (best > 8)
              return (array_doclick_element(array, glist, sc, ap,
!                 elemtemplatesym, linewidth,
!                     xloc, xinc, yloc, xpix, ypix, shift, alt, dbl, doit));
          best += 0.001;  /* add truncation error margin */
          for (i = 0; i < array->a_n; i += incr)
--- 778,784 ----
          if (best > 8)
              return (array_doclick_element(array, glist, sc, ap,
!                 elemtemplatesym, linewidth, xloc, xinc, yloc,
!                     xfield, yfield, wfield,
!                     xpix, ypix, shift, alt, dbl, doit));
          best += 0.001;  /* add truncation error margin */
          for (i = 0; i < array->a_n; i += incr)
***************
*** 772,776 ****
              array_getcoordinate(glist, (char *)(array->a_vec) + i * elemsize,
                  xonset, yonset, wonset, i, xloc, yloc, xinc,
!                 &pxpix, &pypix, &pwpix);
              if (pwpix < 4)
                  pwpix = 4;
--- 787,791 ----
              array_getcoordinate(glist, (char *)(array->a_vec) + i * elemsize,
                  xonset, yonset, wonset, i, xloc, yloc, xinc,
!                 xfield, yfield, wfield, &pxpix, &pypix, &pwpix);
              if (pwpix < 4)
                  pwpix = 4;
***************
*** 828,834 ****
                      if (xonset >= 0)
                      {
!                         array_motion_xfield = gensym("x");
                          array_motion_xcumulative = 
!                             *(float *)((elem + elemsize * i) + xonset);
                          array_motion_wp = (t_word *)(elem + i * elemsize);
                          array_motion_npoints = array->a_n - i;
--- 843,850 ----
                      if (xonset >= 0)
                      {
!                         array_motion_xfield = xfield;
                          array_motion_xcumulative = 
!                             fielddesc_getcoord(xfield, array_motion_template,
!                                 (t_word *)(elem + i * elemsize), 1);
                          array_motion_wp = (t_word *)(elem + i * elemsize);
                          array_motion_npoints = array->a_n - i;
***************
*** 836,840 ****
                      else
                      {
!                         array_motion_xfield = &s_;
                          array_motion_xcumulative = 0;
                          array_motion_wp = (t_word *)elem;
--- 852,856 ----
                      else
                      {
!                         array_motion_xfield = 0;
                          array_motion_xcumulative = 0;
                          array_motion_wp = (t_word *)elem;
***************
*** 847,864 ****
                      if (array_motion_fatten)
                      {
!                         array_motion_yfield = gensym("w");
                          array_motion_ycumulative = 
!                             *(float *)((elem + elemsize * i) + wonset);
!                         array_motion_yperpix *= array_motion_fatten;
                      }
                      else if (yonset >= 0)
                      {
!                         array_motion_yfield = gensym("y");
                          array_motion_ycumulative = 
!                             *(float *)((elem + elemsize * i) + yonset);
                      }
                      else
                      {
!                         array_motion_yfield = &s_;
                          array_motion_ycumulative = 0;
                      }
--- 863,883 ----
                      if (array_motion_fatten)
                      {
!                         array_motion_yfield = wfield;
                          array_motion_ycumulative = 
!                             fielddesc_getcoord(wfield, array_motion_template,
!                                 (t_word *)(elem + i * elemsize), 1);
!                         array_motion_yperpix *= -array_motion_fatten;
                      }
                      else if (yonset >= 0)
                      {
!                         array_motion_yfield = yfield;
                          array_motion_ycumulative = 
!                             fielddesc_getcoord(yfield, array_motion_template,
!                                 (t_word *)(elem + i * elemsize), 1);
!                             /* *(float *)((elem + elemsize * i) + yonset); */
                      }
                      else
                      {
!                         array_motion_yfield = 0;
                          array_motion_ycumulative = 0;
                      }
***************
*** 888,892 ****
  
      if (!array_getfields(array->a_templatesym, &elemtemplatecanvas,
!         &elemtemplate, &elemsize, &xonset, &yonset, &wonset))
      {
          int incr;
--- 907,911 ----
  
      if (!array_getfields(array->a_templatesym, &elemtemplatecanvas,
!         &elemtemplate, &elemsize, 0, 0, 0, &xonset, &yonset, &wonset))
      {
          int incr;
***************
*** 901,904 ****
--- 920,924 ----
                  i * elemsize,
                  xonset, yonset, wonset, i, 0, 0, 1,
+                 0, 0, 0,
                  &pxpix, &pypix, &pwpix);
              if (pwpix < 2)
***************
*** 1268,1272 ****
          }
          for (i = 0; i < argc; i++)
!             *((float *)(array->a_vec + elemsize * i) + yonset)
                  = atom_getfloat(argv + i);
      }
--- 1288,1292 ----
          }
          for (i = 0; i < argc; i++)
!             *((float *)(array->a_vec + elemsize * (i + firstindex)) + yonset)
                  = atom_getfloat(argv + i);
      }
***************
*** 1404,1407 ****
--- 1424,1429 ----
              gensym("style"), x->x_scalar->sc_vec, 1));
      array_resize_and_redraw(array, x->x_glist, n);
+     if (x->x_usedindsp)
+         canvas_update_dsp();
  }
  

Index: g_canvas.h
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_canvas.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** g_canvas.h	13 Jan 2005 09:52:12 -0000	1.5
--- g_canvas.h	18 May 2005 04:28:50 -0000	1.6
***************
*** 74,77 ****
--- 74,80 ----
  #define t_canvasenvironment struct _canvasenvironment 
  
+ EXTERN_STRUCT _fielddesc;
+ #define t_fielddesc struct _fielddesc
+ 
  typedef struct _selection
  {
***************
*** 454,458 ****
  EXTERN t_outlet *canvas_addoutlet(t_canvas *x, t_pd *who, t_symbol *sym);
  EXTERN void canvas_rmoutlet(t_canvas *x, t_outlet *op);
! EXTERN void canvas_redrawallfortemplate( t_template *tmpl);
  EXTERN void canvas_zapallfortemplate(t_canvas *tmpl);
  EXTERN void canvas_setusedastemplate(t_canvas *x);
--- 457,462 ----
  EXTERN t_outlet *canvas_addoutlet(t_canvas *x, t_pd *who, t_symbol *sym);
  EXTERN void canvas_rmoutlet(t_canvas *x, t_outlet *op);
! EXTERN void canvas_redrawallfortemplate(t_template *tmpl, int action);
! EXTERN void canvas_redrawallfortemplatecanvas(t_canvas *x, int action);
  EXTERN void canvas_zapallfortemplate(t_canvas *tmpl);
  EXTERN void canvas_setusedastemplate(t_canvas *x);
***************
*** 554,557 ****
--- 558,562 ----
      t_symbol *elemtemplatesym,
      float linewidth, float xloc, float xinc, float yloc,
+     t_fielddesc *xfield, t_fielddesc *yfield, t_fielddesc *wfield,
      int xpix, int ypix, int shift, int alt, int dbl, int doit);
  
***************
*** 559,562 ****
--- 564,568 ----
      char *elem, int xonset, int yonset, int wonset, int indx,
      float basex, float basey, float xinc,
+     t_fielddesc *xfielddesc, t_fielddesc *yfielddesc, t_fielddesc *wfielddesc,
      float *xp, float *yp, float *wp);
  
***************
*** 564,567 ****
--- 570,574 ----
      t_canvas **elemtemplatecanvasp,
      t_template **elemtemplatep, int *elemsizep,
+     t_fielddesc *xfielddesc, t_fielddesc *yfielddesc, t_fielddesc *wfielddesc, 
      int *xonsetp, int *yonsetp, int *wonsetp);
  
***************
*** 584,587 ****
--- 591,596 ----
  EXTERN t_template *template_findbyname(t_symbol *s);
  EXTERN t_canvas *template_findcanvas(t_template *tmpl);
+ EXTERN void template_notify(t_template *template,
+     t_symbol *s, int argc, t_atom *argv);
  
  EXTERN t_float template_getfloat(t_template *x, t_symbol *fieldname,
***************
*** 593,596 ****
--- 602,612 ----
  EXTERN void template_setsymbol(t_template *x, t_symbol *fieldname,
      t_word *wp, t_symbol *s, int loud);
+ EXTERN t_float fielddesc_getcoord(t_fielddesc *f, t_template *template,
+     t_word *wp, int loud);
+ EXTERN void fielddesc_setcoord(t_fielddesc *f, t_template *template,
+     t_word *wp, float pix, int loud);
+ EXTERN t_float fielddesc_cvttocoord(t_fielddesc *f, float val);
+ EXTERN float fielddesc_cvtfromcoord(t_fielddesc *f, float coord);
+ 
  
  /* ----------------------- guiconnects, g_guiconnect.c --------- */

Index: s_audio_alsamm.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/s_audio_alsamm.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** s_audio_alsamm.c	6 Nov 2004 16:07:34 -0000	1.2
--- s_audio_alsamm.c	18 May 2005 04:28:51 -0000	1.3
***************
*** 219,222 ****
--- 219,224 ----
      alsa_indev[i].a_channels=alsa_outdev[i].a_channels=0;
    }
+   alsamm_inchannels = 0;
+   alsamm_outchannels = 0;
  
    /* opening alsa debug channel */
***************
*** 252,257 ****
    for(i=0;i<alsa_noutdev;i++)
    {  
-       
-   
          /*   post("open audio out %d, of %lx, %d",i,&alsa_device[i],
                     alsa_outdev[i].a_handle); */
--- 254,257 ----
***************
*** 358,361 ****
--- 358,363 ----
  #endif
  
+   sys_setchsr(alsamm_inchannels,  alsamm_outchannels, alsamm_sr);
+ 
    alsamm_start();
  
***************
*** 774,780 ****
    if(sys_verbose)
      post("set sw finished");
  #else
    post("alsa: need version 1.0 or above for mmap operation");
- #endif
  #endif /* ALSAAPI9 */
    return 0;
--- 776,782 ----
    if(sys_verbose)
      post("set sw finished");
+ #endif
  #else
    post("alsa: need version 1.0 or above for mmap operation");
  #endif /* ALSAAPI9 */
    return 0;

Index: makefile.dependencies
===================================================================
RCS file: /cvsroot/pure-data/pd/src/makefile.dependencies,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** makefile.dependencies	28 Nov 2004 21:20:42 -0000	1.2
--- makefile.dependencies	18 May 2005 04:28:51 -0000	1.3
***************
*** 1,938 ****
- g_canvas.o: g_canvas.c /usr/include/stdlib.h /usr/include/features.h \
-   /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/sys/types.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
-   /usr/include/sys/select.h /usr/include/bits/select.h \
-   /usr/include/bits/sigset.h /usr/include/bits/time.h \
-   /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
-   /usr/include/bits/sched.h /usr/include/alloca.h /usr/include/stdio.h \
-   /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
-   /usr/include/bits/wchar.h /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h m_pd.h \
-   m_imp.h s_stuff.h g_canvas.h /usr/include/string.h g_all_guis.h
- g_graph.o: g_graph.c /usr/include/stdlib.h /usr/include/features.h \
-   /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/sys/types.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
-   /usr/include/sys/select.h /usr/include/bits/select.h \
-   /usr/include/bits/sigset.h /usr/include/bits/time.h \
-   /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
-   /usr/include/bits/sched.h /usr/include/alloca.h m_pd.h t_tk.h \
-   g_canvas.h /usr/include/stdio.h /usr/include/libio.h \
-   /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
-   /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
-   /usr/include/string.h
- g_text.o: g_text.c /usr/include/stdlib.h /usr/include/features.h \
-   /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/sys/types.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
-   /usr/include/sys/select.h /usr/include/bits/select.h \
-   /usr/include/bits/sigset.h /usr/include/bits/time.h \
-   /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
-   /usr/include/bits/sched.h /usr/include/alloca.h m_pd.h m_imp.h \
-   s_stuff.h t_tk.h g_canvas.h /usr/include/stdio.h /usr/include/libio.h \
-   /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
-   /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
-   /usr/include/string.h /usr/include/math.h /usr/include/bits/huge_val.h \
-   /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h
- g_rtext.o: g_rtext.c /usr/include/stdlib.h /usr/include/features.h \
-   /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/sys/types.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
-   /usr/include/sys/select.h /usr/include/bits/select.h \
-   /usr/include/bits/sigset.h /usr/include/bits/time.h \
-   /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
-   /usr/include/bits/sched.h /usr/include/alloca.h /usr/include/string.h \
-   /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
-   /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
-   /usr/include/ctype.h m_pd.h s_stuff.h g_canvas.h t_tk.h
- g_array.o: g_array.c /usr/include/stdlib.h /usr/include/features.h \
-   /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/sys/types.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
-   /usr/include/sys/select.h /usr/include/bits/select.h \
-   /usr/include/bits/sigset.h /usr/include/bits/time.h \
-   /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
-   /usr/include/bits/sched.h /usr/include/alloca.h /usr/include/string.h \
-   /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
-   /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h m_pd.h \
-   g_canvas.h /usr/include/math.h /usr/include/bits/huge_val.h \
-   /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h
- g_template.o: g_template.c /usr/include/stdlib.h /usr/include/features.h \
-   /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/sys/types.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
-   /usr/include/sys/select.h /usr/include/bits/select.h \
-   /usr/include/bits/sigset.h /usr/include/bits/time.h \
-   /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
-   /usr/include/bits/sched.h /usr/include/alloca.h /usr/include/string.h \
-   /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
-   /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h m_pd.h \
-   s_stuff.h g_canvas.h
- g_io.o: g_io.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h g_canvas.h \
-   /usr/include/string.h /usr/include/features.h /usr/include/sys/cdefs.h \
-   /usr/include/gnu/stubs.h
- g_scalar.o: g_scalar.c /usr/include/stdlib.h /usr/include/features.h \
-   /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/sys/types.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
-   /usr/include/sys/select.h /usr/include/bits/select.h \
-   /usr/include/bits/sigset.h /usr/include/bits/time.h \
-   /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
-   /usr/include/bits/sched.h /usr/include/alloca.h /usr/include/string.h \
-   /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
-   /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h m_pd.h \
-   g_canvas.h
- g_traversal.o: g_traversal.c /usr/include/stdlib.h \
-   /usr/include/features.h /usr/include/sys/cdefs.h \
-   /usr/include/gnu/stubs.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/sys/types.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
-   /usr/include/sys/select.h /usr/include/bits/select.h \
-   /usr/include/bits/sigset.h /usr/include/bits/time.h \
-   /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
-   /usr/include/bits/sched.h /usr/include/alloca.h /usr/include/string.h \
-   /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
-   /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h m_pd.h \
-   g_canvas.h
- g_guiconnect.o: g_guiconnect.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h g_canvas.h
- g_readwrite.o: g_readwrite.c /usr/include/stdlib.h \
-   /usr/include/features.h /usr/include/sys/cdefs.h \
-   /usr/include/gnu/stubs.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/sys/types.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
-   /usr/include/sys/select.h /usr/include/bits/select.h \
-   /usr/include/bits/sigset.h /usr/include/bits/time.h \
-   /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
-   /usr/include/bits/sched.h /usr/include/alloca.h /usr/include/stdio.h \
-   /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
-   /usr/include/bits/wchar.h /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h m_pd.h \
-   g_canvas.h /usr/include/string.h
- g_editor.o: g_editor.c /usr/include/stdlib.h /usr/include/features.h \
-   /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/sys/types.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
-   /usr/include/sys/select.h /usr/include/bits/select.h \
-   /usr/include/bits/sigset.h /usr/include/bits/time.h \
-   /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
-   /usr/include/bits/sched.h /usr/include/alloca.h /usr/include/stdio.h \
-   /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
-   /usr/include/bits/wchar.h /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h m_pd.h \
-   m_imp.h s_stuff.h g_canvas.h /usr/include/string.h
- g_all_guis.o: g_all_guis.c /usr/include/stdlib.h /usr/include/features.h \
-   /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/sys/types.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
-   /usr/include/sys/select.h /usr/include/bits/select.h \
-   /usr/include/bits/sigset.h /usr/include/bits/time.h \
-   /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
-   /usr/include/bits/sched.h /usr/include/alloca.h /usr/include/string.h \
-   /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
-   /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
-   /usr/include/ctype.h m_pd.h g_canvas.h t_tk.h g_all_guis.h \
-   /usr/include/math.h /usr/include/bits/huge_val.h \
-   /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \
-   /usr/include/unistd.h /usr/include/bits/posix_opt.h \
-   /usr/include/bits/confname.h /usr/include/getopt.h
- g_bang.o: g_bang.c /usr/include/stdlib.h /usr/include/features.h \
-   /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/sys/types.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
-   /usr/include/sys/select.h /usr/include/bits/select.h \
-   /usr/include/bits/sigset.h /usr/include/bits/time.h \
-   /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
-   /usr/include/bits/sched.h /usr/include/alloca.h /usr/include/string.h \
-   /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
-   /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
-   /usr/include/ctype.h m_pd.h g_canvas.h t_tk.h g_all_guis.h \
-   /usr/include/math.h /usr/include/bits/huge_val.h \
-   /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \
-   /usr/include/unistd.h /usr/include/bits/posix_opt.h \
-   /usr/include/bits/confname.h /usr/include/getopt.h
- g_hdial.o: g_hdial.c /usr/include/stdlib.h /usr/include/features.h \
-   /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/sys/types.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
-   /usr/include/sys/select.h /usr/include/bits/select.h \
-   /usr/include/bits/sigset.h /usr/include/bits/time.h \
-   /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
-   /usr/include/bits/sched.h /usr/include/alloca.h /usr/include/string.h \
-   /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
-   /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
-   /usr/include/ctype.h m_pd.h g_canvas.h t_tk.h g_all_guis.h \
-   /usr/include/math.h /usr/include/bits/huge_val.h \
-   /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \
-   /usr/include/unistd.h /usr/include/bits/posix_opt.h \
-   /usr/include/bits/confname.h /usr/include/getopt.h
- g_hslider.o: g_hslider.c /usr/include/stdlib.h /usr/include/features.h \
-   /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/sys/types.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
-   /usr/include/sys/select.h /usr/include/bits/select.h \
-   /usr/include/bits/sigset.h /usr/include/bits/time.h \
-   /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
-   /usr/include/bits/sched.h /usr/include/alloca.h /usr/include/string.h \
-   /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
-   /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
-   /usr/include/ctype.h m_pd.h g_canvas.h t_tk.h g_all_guis.h \
-   /usr/include/math.h /usr/include/bits/huge_val.h \
-   /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \
-   /usr/include/unistd.h /usr/include/bits/posix_opt.h \
-   /usr/include/bits/confname.h /usr/include/getopt.h
- g_mycanvas.o: g_mycanvas.c /usr/include/stdlib.h /usr/include/features.h \
-   /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/sys/types.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
-   /usr/include/sys/select.h /usr/include/bits/select.h \
-   /usr/include/bits/sigset.h /usr/include/bits/time.h \
-   /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
-   /usr/include/bits/sched.h /usr/include/alloca.h /usr/include/string.h \
-   /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
-   /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
-   /usr/include/ctype.h m_pd.h g_canvas.h t_tk.h g_all_guis.h \
-   /usr/include/math.h /usr/include/bits/huge_val.h \
-   /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \
-   /usr/include/unistd.h /usr/include/bits/posix_opt.h \
-   /usr/include/bits/confname.h /usr/include/getopt.h
- g_numbox.o: g_numbox.c /usr/include/stdlib.h /usr/include/features.h \
-   /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/sys/types.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
-   /usr/include/sys/select.h /usr/include/bits/select.h \
-   /usr/include/bits/sigset.h /usr/include/bits/time.h \
-   /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
-   /usr/include/bits/sched.h /usr/include/alloca.h /usr/include/string.h \
-   /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
-   /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
-   /usr/include/ctype.h m_pd.h g_canvas.h t_tk.h g_all_guis.h \
-   /usr/include/math.h /usr/include/bits/huge_val.h \
-   /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \
-   /usr/include/unistd.h /usr/include/bits/posix_opt.h \
-   /usr/include/bits/confname.h /usr/include/getopt.h
- g_toggle.o: g_toggle.c /usr/include/stdlib.h /usr/include/features.h \
-   /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/sys/types.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
-   /usr/include/sys/select.h /usr/include/bits/select.h \
-   /usr/include/bits/sigset.h /usr/include/bits/time.h \
-   /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
-   /usr/include/bits/sched.h /usr/include/alloca.h /usr/include/string.h \
-   /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
-   /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
-   /usr/include/ctype.h m_pd.h g_canvas.h t_tk.h g_all_guis.h \
-   /usr/include/math.h /usr/include/bits/huge_val.h \
-   /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \
-   /usr/include/unistd.h /usr/include/bits/posix_opt.h \
-   /usr/include/bits/confname.h /usr/include/getopt.h
- g_vdial.o: g_vdial.c /usr/include/stdlib.h /usr/include/features.h \
-   /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/sys/types.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
-   /usr/include/sys/select.h /usr/include/bits/select.h \
-   /usr/include/bits/sigset.h /usr/include/bits/time.h \
-   /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
-   /usr/include/bits/sched.h /usr/include/alloca.h /usr/include/string.h \
-   /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
-   /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
-   /usr/include/ctype.h m_pd.h g_canvas.h t_tk.h g_all_guis.h \
-   /usr/include/math.h /usr/include/bits/huge_val.h \
-   /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h
- g_vslider.o: g_vslider.c /usr/include/stdlib.h /usr/include/features.h \
-   /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/sys/types.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
-   /usr/include/sys/select.h /usr/include/bits/select.h \
-   /usr/include/bits/sigset.h /usr/include/bits/time.h \
-   /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
-   /usr/include/bits/sched.h /usr/include/alloca.h /usr/include/string.h \
-   /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
-   /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
-   /usr/include/ctype.h m_pd.h g_canvas.h t_tk.h g_all_guis.h \
-   /usr/include/math.h /usr/include/bits/huge_val.h \
-   /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \
-   /usr/include/unistd.h /usr/include/bits/posix_opt.h \
-   /usr/include/bits/confname.h /usr/include/getopt.h
- g_vumeter.o: g_vumeter.c /usr/include/stdlib.h /usr/include/features.h \
-   /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/sys/types.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
-   /usr/include/sys/select.h /usr/include/bits/select.h \
-   /usr/include/bits/sigset.h /usr/include/bits/time.h \
-   /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
-   /usr/include/bits/sched.h /usr/include/alloca.h /usr/include/string.h \
-   /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
-   /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
-   /usr/include/ctype.h m_pd.h g_canvas.h t_tk.h g_all_guis.h \
-   /usr/include/math.h /usr/include/bits/huge_val.h \
-   /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \
-   /usr/include/unistd.h /usr/include/bits/posix_opt.h \
-   /usr/include/bits/confname.h /usr/include/getopt.h
- m_pd.o: m_pd.c /usr/include/stdlib.h /usr/include/features.h \
-   /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/sys/types.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
-   /usr/include/sys/select.h /usr/include/bits/select.h \
-   /usr/include/bits/sigset.h /usr/include/bits/time.h \
-   /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
-   /usr/include/bits/sched.h /usr/include/alloca.h m_pd.h m_imp.h
- m_class.o: m_class.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h m_imp.h \
-   s_stuff.h /usr/include/stdlib.h /usr/include/features.h \
-   /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
-   /usr/include/sys/types.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
-   /usr/include/sys/select.h /usr/include/bits/select.h \
-   /usr/include/bits/sigset.h /usr/include/bits/time.h \
-   /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
-   /usr/include/bits/sched.h /usr/include/alloca.h /usr/include/unistd.h \
-   /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
-   /usr/include/getopt.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/string.h
- m_obj.o: m_obj.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h m_imp.h
- m_atom.o: m_atom.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
-   /usr/include/gnu/stubs.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
-   /usr/include/bits/wchar.h /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
-   /usr/include/string.h
- m_memory.o: m_memory.c /usr/include/stdlib.h /usr/include/features.h \
-   /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/sys/types.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
-   /usr/include/sys/select.h /usr/include/bits/select.h \
-   /usr/include/bits/sigset.h /usr/include/bits/time.h \
-   /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
-   /usr/include/bits/sched.h /usr/include/alloca.h /usr/include/string.h \
-   m_pd.h m_imp.h
- m_binbuf.o: m_binbuf.c /usr/include/stdlib.h /usr/include/features.h \
-   /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/sys/types.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
-   /usr/include/sys/select.h /usr/include/bits/select.h \
-   /usr/include/bits/sigset.h /usr/include/bits/time.h \
-   /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
-   /usr/include/bits/sched.h /usr/include/alloca.h m_pd.h s_stuff.h \
-   /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
-   /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
-   /usr/include/unistd.h /usr/include/bits/posix_opt.h \
-   /usr/include/bits/confname.h /usr/include/getopt.h /usr/include/fcntl.h \
-   /usr/include/bits/fcntl.h /usr/include/string.h
- m_conf.o: m_conf.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h
- m_glob.o: m_glob.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h m_imp.h
- m_sched.o: m_sched.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h m_imp.h \
-   s_stuff.h /usr/include/pthread.h /usr/include/features.h \
-   /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h /usr/include/sched.h \
-   /usr/include/bits/types.h /usr/include/bits/wordsize.h \
-   /usr/include/bits/typesizes.h /usr/include/time.h \
-   /usr/include/bits/sched.h /usr/include/bits/time.h \
-   /usr/include/signal.h /usr/include/bits/sigset.h \
-   /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \
-   /usr/include/bits/sigthread.h /usr/include/unistd.h \
-   /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
-   /usr/include/getopt.h
- s_main.o: s_main.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h m_imp.h \
-   s_stuff.h /usr/include/sys/types.h /usr/include/features.h \
-   /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
-   /usr/include/bits/types.h /usr/include/bits/wordsize.h \
-   /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
-   /usr/include/bits/endian.h /usr/include/sys/select.h \
-   /usr/include/bits/select.h /usr/include/bits/sigset.h \
-   /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
-   /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \
-   /usr/include/sys/stat.h /usr/include/bits/stat.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/limits.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/syslimits.h \
-   /usr/include/limits.h /usr/include/bits/posix1_lim.h \
-   /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
-   /usr/include/bits/posix2_lim.h /usr/include/string.h \
-   /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
-   /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
-   /usr/include/fcntl.h /usr/include/bits/fcntl.h /usr/include/stdlib.h \
-   /usr/include/alloca.h /usr/include/unistd.h \
-   /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
-   /usr/include/getopt.h
- s_inter.o: s_inter.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h s_stuff.h \
-   m_imp.h g_canvas.h /usr/include/unistd.h /usr/include/features.h \
-   /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
-   /usr/include/bits/posix_opt.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/bits/confname.h /usr/include/getopt.h \
-   /usr/include/sys/socket.h /usr/include/sys/uio.h \
-   /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \
-   /usr/include/bits/endian.h /usr/include/sys/select.h \
-   /usr/include/bits/select.h /usr/include/bits/sigset.h \
-   /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
-   /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \
-   /usr/include/bits/uio.h /usr/include/bits/socket.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/limits.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/syslimits.h \
-   /usr/include/limits.h /usr/include/bits/posix1_lim.h \
-   /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
-   /usr/include/bits/posix2_lim.h /usr/include/bits/sockaddr.h \
-   /usr/include/asm/socket.h /usr/include/asm/sockios.h \
-   /usr/include/netinet/in.h /usr/include/stdint.h \
-   /usr/include/bits/wchar.h /usr/include/bits/in.h \
-   /usr/include/bits/byteswap.h /usr/include/netinet/tcp.h \
-   /usr/include/netdb.h /usr/include/rpc/netdb.h /usr/include/bits/netdb.h \
-   /usr/include/stdlib.h /usr/include/alloca.h /usr/include/sys/time.h \
-   /usr/include/sys/mman.h /usr/include/bits/mman.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/signal.h /usr/include/bits/signum.h \
-   /usr/include/bits/siginfo.h /usr/include/bits/sigaction.h \
-   /usr/include/bits/sigcontext.h /usr/include/asm/sigcontext.h \
-   /usr/include/bits/sigstack.h /usr/include/bits/sigthread.h \
-   /usr/include/fcntl.h /usr/include/bits/fcntl.h /usr/include/errno.h \
-   /usr/include/bits/errno.h /usr/include/linux/errno.h \
-   /usr/include/asm/errno.h /usr/include/string.h /usr/include/stdio.h \
-   /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
-   /usr/include/gconv.h /usr/include/bits/stdio_lim.h \
-   /usr/include/bits/sys_errlist.h /usr/include/sched.h
- s_file.o: s_file.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h s_stuff.h \
-   /usr/include/string.h /usr/include/features.h /usr/include/sys/cdefs.h \
-   /usr/include/gnu/stubs.h /usr/include/stdlib.h /usr/include/sys/types.h \
-   /usr/include/bits/types.h /usr/include/bits/wordsize.h \
-   /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
-   /usr/include/bits/endian.h /usr/include/sys/select.h \
-   /usr/include/bits/select.h /usr/include/bits/sigset.h \
-   /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
-   /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \
-   /usr/include/alloca.h /usr/include/stdio.h /usr/include/libio.h \
-   /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
-   /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
-   /usr/include/errno.h /usr/include/bits/errno.h \
-   /usr/include/linux/errno.h /usr/include/asm/errno.h \
-   /usr/include/sys/stat.h /usr/include/bits/stat.h /usr/include/fcntl.h \
-   /usr/include/bits/fcntl.h /usr/include/unistd.h \
-   /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
-   /usr/include/getopt.h
- s_print.o: s_print.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/stdlib.h /usr/include/features.h /usr/include/sys/cdefs.h \
-   /usr/include/gnu/stubs.h /usr/include/sys/types.h \
-   /usr/include/bits/types.h /usr/include/bits/wordsize.h \
-   /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
-   /usr/include/bits/endian.h /usr/include/sys/select.h \
-   /usr/include/bits/select.h /usr/include/bits/sigset.h \
-   /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
-   /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \
-   /usr/include/alloca.h /usr/include/stdio.h /usr/include/libio.h \
-   /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
-   /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
-   /usr/include/string.h /usr/include/errno.h /usr/include/bits/errno.h \
-   /usr/include/linux/errno.h /usr/include/asm/errno.h s_stuff.h
- s_loader.o: s_loader.c /usr/include/dlfcn.h /usr/include/features.h \
-   /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/bits/dlfcn.h /usr/include/stdlib.h \
-   /usr/include/sys/types.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
-   /usr/include/sys/select.h /usr/include/bits/select.h \
-   /usr/include/bits/sigset.h /usr/include/bits/time.h \
-   /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
-   /usr/include/bits/sched.h /usr/include/alloca.h /usr/include/unistd.h \
-   /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
-   /usr/include/getopt.h /usr/include/string.h m_pd.h s_stuff.h \
-   /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
-   /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h
- s_path.o: s_path.c /usr/include/stdlib.h /usr/include/features.h \
-   /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/sys/types.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
-   /usr/include/sys/select.h /usr/include/bits/select.h \
-   /usr/include/bits/sigset.h /usr/include/bits/time.h \
-   /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
-   /usr/include/bits/sched.h /usr/include/alloca.h /usr/include/unistd.h \
-   /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
-   /usr/include/getopt.h /usr/include/sys/stat.h /usr/include/bits/stat.h \
-   /usr/include/string.h m_pd.h m_imp.h s_stuff.h /usr/include/stdio.h \
-   /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
-   /usr/include/bits/wchar.h /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
-   /usr/include/fcntl.h /usr/include/bits/fcntl.h /usr/include/ctype.h
- s_entry.o: s_entry.c
- s_audio.o: s_audio.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h s_stuff.h \
-   /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
-   /usr/include/gnu/stubs.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
-   /usr/include/bits/wchar.h /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
-   /usr/include/unistd.h /usr/include/bits/posix_opt.h \
-   /usr/include/bits/confname.h /usr/include/getopt.h \
-   /usr/include/sys/time.h /usr/include/time.h /usr/include/bits/time.h \
-   /usr/include/sys/select.h /usr/include/bits/select.h \
-   /usr/include/bits/sigset.h /usr/include/sys/resource.h \
-   /usr/include/bits/resource.h /usr/include/stdlib.h \
-   /usr/include/sys/types.h /usr/include/endian.h \
-   /usr/include/bits/endian.h /usr/include/sys/sysmacros.h \
-   /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \
-   /usr/include/alloca.h /usr/include/string.h /usr/include/errno.h \
-   /usr/include/bits/errno.h /usr/include/linux/errno.h \
-   /usr/include/asm/errno.h
- s_midi.o: s_midi.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h s_stuff.h \
-   m_imp.h /usr/include/unistd.h /usr/include/features.h \
-   /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
-   /usr/include/bits/posix_opt.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/bits/confname.h /usr/include/getopt.h \
-   /usr/include/sys/time.h /usr/include/time.h /usr/include/bits/time.h \
-   /usr/include/sys/select.h /usr/include/bits/select.h \
-   /usr/include/bits/sigset.h /usr/include/string.h /usr/include/stdio.h \
-   /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
-   /usr/include/bits/wchar.h /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
-   /usr/include/signal.h /usr/include/bits/signum.h \
-   /usr/include/bits/siginfo.h /usr/include/bits/sigaction.h \
-   /usr/include/bits/sigcontext.h /usr/include/asm/sigcontext.h \
-   /usr/include/bits/sigstack.h /usr/include/bits/pthreadtypes.h \
-   /usr/include/bits/sched.h /usr/include/bits/sigthread.h
- d_ugen.o: d_ugen.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h m_imp.h \
-   /usr/include/stdlib.h /usr/include/features.h /usr/include/sys/cdefs.h \
-   /usr/include/gnu/stubs.h /usr/include/sys/types.h \
-   /usr/include/bits/types.h /usr/include/bits/wordsize.h \
-   /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
-   /usr/include/bits/endian.h /usr/include/sys/select.h \
-   /usr/include/bits/select.h /usr/include/bits/sigset.h \
-   /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
-   /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \
-   /usr/include/alloca.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h
- d_ctl.o: d_ctl.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/math.h /usr/include/features.h /usr/include/sys/cdefs.h \
-   /usr/include/gnu/stubs.h /usr/include/bits/huge_val.h \
-   /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h
- d_arithmetic.o: d_arithmetic.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h
- d_osc.o: d_osc.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/math.h /usr/include/features.h /usr/include/sys/cdefs.h \
-   /usr/include/gnu/stubs.h /usr/include/bits/huge_val.h \
-   /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \
-   /usr/include/endian.h /usr/include/bits/endian.h \
-   /usr/include/sys/types.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/time.h /usr/include/sys/select.h \
-   /usr/include/bits/select.h /usr/include/bits/sigset.h \
-   /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
-   /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h
- d_filter.o: d_filter.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/math.h /usr/include/features.h /usr/include/sys/cdefs.h \
-   /usr/include/gnu/stubs.h /usr/include/bits/huge_val.h \
-   /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h
- d_dac.o: d_dac.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h s_stuff.h
- d_misc.o: d_misc.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
-   /usr/include/gnu/stubs.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
-   /usr/include/bits/wchar.h /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
-   /usr/include/string.h
- d_math.o: d_math.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/math.h /usr/include/features.h /usr/include/sys/cdefs.h \
-   /usr/include/gnu/stubs.h /usr/include/bits/huge_val.h \
-   /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h
- d_fft.o: d_fft.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h
- d_mayer_fft.o: d_mayer_fft.c
- d_fftroutine.o: d_fftroutine.c /usr/include/stdio.h \
-   /usr/include/features.h /usr/include/sys/cdefs.h \
-   /usr/include/gnu/stubs.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/bits/types.h /usr/include/bits/wordsize.h \
-   /usr/include/bits/typesizes.h /usr/include/libio.h \
-   /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
-   /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
-   /usr/include/math.h /usr/include/bits/huge_val.h \
-   /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \
-   /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h \
-   /usr/include/endian.h /usr/include/bits/endian.h \
-   /usr/include/sys/select.h /usr/include/bits/select.h \
-   /usr/include/bits/sigset.h /usr/include/bits/time.h \
-   /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
-   /usr/include/bits/sched.h /usr/include/alloca.h m_pd.h
- d_array.o: d_array.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/endian.h /usr/include/features.h /usr/include/sys/cdefs.h \
-   /usr/include/gnu/stubs.h /usr/include/bits/endian.h \
-   /usr/include/sys/types.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/time.h /usr/include/sys/select.h \
-   /usr/include/bits/select.h /usr/include/bits/sigset.h \
-   /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
-   /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h
- d_global.o: d_global.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/string.h /usr/include/features.h /usr/include/sys/cdefs.h \
-   /usr/include/gnu/stubs.h
- d_delay.o: d_delay.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h
- d_resample.o: d_resample.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h
- x_arithmetic.o: x_arithmetic.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/math.h /usr/include/features.h /usr/include/sys/cdefs.h \
-   /usr/include/gnu/stubs.h /usr/include/bits/huge_val.h \
-   /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h
- x_connective.o: x_connective.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/string.h /usr/include/features.h /usr/include/sys/cdefs.h \
-   /usr/include/gnu/stubs.h /usr/include/stdio.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
-   /usr/include/bits/wchar.h /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h
- x_interface.o: x_interface.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h
- x_midi.o: x_midi.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h
- x_misc.o: x_misc.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h s_stuff.h \
-   /usr/include/math.h /usr/include/features.h /usr/include/sys/cdefs.h \
-   /usr/include/gnu/stubs.h /usr/include/bits/huge_val.h \
-   /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \
-   /usr/include/stdio.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
-   /usr/include/bits/wchar.h /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
-   /usr/include/string.h /usr/include/sys/types.h /usr/include/time.h \
-   /usr/include/endian.h /usr/include/bits/endian.h \
-   /usr/include/sys/select.h /usr/include/bits/select.h \
-   /usr/include/bits/sigset.h /usr/include/bits/time.h \
-   /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
-   /usr/include/bits/sched.h /usr/include/sys/time.h \
-   /usr/include/sys/times.h /usr/include/sys/param.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/limits.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/syslimits.h \
-   /usr/include/limits.h /usr/include/bits/posix1_lim.h \
-   /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
-   /usr/include/bits/posix2_lim.h /usr/include/linux/param.h \
-   /usr/include/asm/param.h /usr/include/unistd.h \
-   /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
-   /usr/include/getopt.h
- x_time.o: x_time.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
-   /usr/include/gnu/stubs.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
-   /usr/include/bits/wchar.h /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h
- x_acoustics.o: x_acoustics.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/math.h /usr/include/features.h /usr/include/sys/cdefs.h \
-   /usr/include/gnu/stubs.h /usr/include/bits/huge_val.h \
-   /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h
- x_net.o: x_net.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h s_stuff.h \
-   /usr/include/sys/types.h /usr/include/features.h \
-   /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
-   /usr/include/bits/types.h /usr/include/bits/wordsize.h \
-   /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
-   /usr/include/bits/endian.h /usr/include/sys/select.h \
-   /usr/include/bits/select.h /usr/include/bits/sigset.h \
-   /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
-   /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \
-   /usr/include/string.h /usr/include/sys/socket.h /usr/include/sys/uio.h \
-   /usr/include/bits/uio.h /usr/include/bits/socket.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/limits.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/syslimits.h \
-   /usr/include/limits.h /usr/include/bits/posix1_lim.h \
-   /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
-   /usr/include/bits/posix2_lim.h /usr/include/bits/sockaddr.h \
-   /usr/include/asm/socket.h /usr/include/asm/sockios.h \
-   /usr/include/netinet/in.h /usr/include/stdint.h \
-   /usr/include/bits/wchar.h /usr/include/bits/in.h \
-   /usr/include/bits/byteswap.h /usr/include/netinet/tcp.h \
-   /usr/include/netdb.h /usr/include/rpc/netdb.h /usr/include/bits/netdb.h \
-   /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
-   /usr/include/wchar.h /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h
- x_qlist.o: x_qlist.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/string.h /usr/include/features.h /usr/include/sys/cdefs.h \
-   /usr/include/gnu/stubs.h /usr/include/unistd.h \
-   /usr/include/bits/posix_opt.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/bits/confname.h /usr/include/getopt.h
- x_gui.o: x_gui.c m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
-   /usr/include/gnu/stubs.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
-   /usr/include/bits/wchar.h /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
-   /usr/include/string.h /usr/include/unistd.h \
-   /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
-   /usr/include/getopt.h
- d_soundfile.o: d_soundfile.c /usr/include/unistd.h \
-   /usr/include/features.h /usr/include/sys/cdefs.h \
-   /usr/include/gnu/stubs.h /usr/include/bits/posix_opt.h \
-   /usr/include/bits/types.h /usr/include/bits/wordsize.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/bits/typesizes.h /usr/include/bits/confname.h \
-   /usr/include/getopt.h /usr/include/fcntl.h /usr/include/bits/fcntl.h \
-   /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \
-   /usr/include/bits/endian.h /usr/include/sys/select.h \
-   /usr/include/bits/select.h /usr/include/bits/sigset.h \
-   /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
-   /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \
-   /usr/include/pthread.h /usr/include/sched.h /usr/include/signal.h \
-   /usr/include/bits/initspin.h /usr/include/bits/sigthread.h \
-   /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
-   /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
-   /usr/include/string.h /usr/include/errno.h /usr/include/bits/errno.h \
-   /usr/include/linux/errno.h /usr/include/asm/errno.h m_pd.h
- s_midi_oss.o: s_midi_oss.c /usr/include/stdio.h /usr/include/features.h \
-   /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/bits/types.h /usr/include/bits/wordsize.h \
-   /usr/include/bits/typesizes.h /usr/include/libio.h \
-   /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
-   /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
-   /usr/include/unistd.h /usr/include/bits/posix_opt.h \
-   /usr/include/bits/confname.h /usr/include/getopt.h \
-   /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h \
-   /usr/include/endian.h /usr/include/bits/endian.h \
-   /usr/include/sys/select.h /usr/include/bits/select.h \
-   /usr/include/bits/sigset.h /usr/include/bits/time.h \
-   /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
-   /usr/include/bits/sched.h /usr/include/alloca.h /usr/include/sys/stat.h \
-   /usr/include/bits/stat.h /usr/include/fcntl.h /usr/include/bits/fcntl.h \
-   /usr/include/errno.h /usr/include/bits/errno.h \
-   /usr/include/linux/errno.h /usr/include/asm/errno.h m_pd.h s_stuff.h
- s_audio_oss.o: s_audio_oss.c /usr/include/linux/soundcard.h \
-   /usr/include/linux/ioctl.h /usr/include/asm/ioctl.h m_pd.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h s_stuff.h \
-   /usr/include/errno.h /usr/include/features.h /usr/include/sys/cdefs.h \
-   /usr/include/gnu/stubs.h /usr/include/bits/errno.h \
-   /usr/include/linux/errno.h /usr/include/asm/errno.h \
-   /usr/include/stdio.h /usr/include/bits/types.h \
-   /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
-   /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
-   /usr/include/bits/wchar.h /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
-   /usr/include/unistd.h /usr/include/bits/posix_opt.h \
-   /usr/include/bits/confname.h /usr/include/getopt.h \
-   /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h \
-   /usr/include/endian.h /usr/include/bits/endian.h \
-   /usr/include/sys/select.h /usr/include/bits/select.h \
-   /usr/include/bits/sigset.h /usr/include/bits/time.h \
-   /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
-   /usr/include/bits/sched.h /usr/include/alloca.h /usr/include/string.h \
-   /usr/include/sys/time.h /usr/include/sys/stat.h \
-   /usr/include/bits/stat.h /usr/include/sys/ioctl.h \
-   /usr/include/bits/ioctls.h /usr/include/asm/ioctls.h \
-   /usr/include/bits/ioctl-types.h /usr/include/sys/ttydefaults.h \
-   /usr/include/fcntl.h /usr/include/bits/fcntl.h /usr/include/sched.h \
-   /usr/include/sys/mman.h /usr/include/bits/mman.h
- s_audio_alsa.o: s_audio_alsa.c /usr/include/alsa/asoundlib.h \
-   /usr/include/unistd.h /usr/include/features.h /usr/include/sys/cdefs.h \
-   /usr/include/gnu/stubs.h /usr/include/bits/posix_opt.h \
-   /usr/include/bits/types.h /usr/include/bits/wordsize.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/bits/typesizes.h /usr/include/bits/confname.h \
-   /usr/include/getopt.h /usr/include/stdio.h /usr/include/libio.h \
-   /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
-   /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
-   /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h \
-   /usr/include/endian.h /usr/include/bits/endian.h \
-   /usr/include/sys/select.h /usr/include/bits/select.h \
-   /usr/include/bits/sigset.h /usr/include/bits/time.h \
-   /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
-   /usr/include/bits/sched.h /usr/include/alloca.h /usr/include/string.h \
-   /usr/include/fcntl.h /usr/include/bits/fcntl.h /usr/include/assert.h \
-   /usr/include/sys/poll.h /usr/include/bits/poll.h /usr/include/errno.h \
-   /usr/include/bits/errno.h /usr/include/linux/errno.h \
-   /usr/include/asm/errno.h /usr/include/alsa/asoundef.h \
-   /usr/include/alsa/version.h /usr/include/alsa/global.h \
-   /usr/include/alsa/input.h /usr/include/alsa/output.h \
-   /usr/include/alsa/error.h /usr/include/alsa/conf.h \
-   /usr/include/alsa/pcm.h /usr/include/alsa/rawmidi.h \
-   /usr/include/alsa/timer.h /usr/include/alsa/hwdep.h \
-   /usr/include/alsa/control.h /usr/include/alsa/mixer.h \
-   /usr/include/alsa/seq_event.h /usr/include/alsa/seq.h \
-   /usr/include/alsa/seqmid.h /usr/include/alsa/seq_midi_event.h \
-   /usr/include/alsa/conv.h /usr/include/alsa/instr.h m_pd.h s_stuff.h \
-   /usr/include/sys/time.h /usr/include/sys/stat.h \
-   /usr/include/bits/stat.h /usr/include/sys/ioctl.h \
-   /usr/include/bits/ioctls.h /usr/include/asm/ioctls.h \
-   /usr/include/asm/ioctl.h /usr/include/bits/ioctl-types.h \
-   /usr/include/sys/ttydefaults.h /usr/include/sched.h \
-   /usr/include/sys/mman.h /usr/include/bits/mman.h s_audio_alsa.h
- s_audio_alsamm.o: s_audio_alsamm.c /usr/include/alsa/asoundlib.h \
-   /usr/include/unistd.h /usr/include/features.h /usr/include/sys/cdefs.h \
-   /usr/include/gnu/stubs.h /usr/include/bits/posix_opt.h \
-   /usr/include/bits/types.h /usr/include/bits/wordsize.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stddef.h \
-   /usr/include/bits/typesizes.h /usr/include/bits/confname.h \
-   /usr/include/getopt.h /usr/include/stdio.h /usr/include/libio.h \
-   /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
-   /usr/include/gconv.h \
-   /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include/stdarg.h \
-   /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
-   /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h \
-   /usr/include/endian.h /usr/include/bits/endian.h \
-   /usr/include/sys/select.h /usr/include/bits/select.h \
-   /usr/include/bits/sigset.h /usr/include/bits/time.h \
-   /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
-   /usr/include/bits/sched.h /usr/include/alloca.h /usr/include/string.h \
-   /usr/include/fcntl.h /usr/include/bits/fcntl.h /usr/include/assert.h \
-   /usr/include/sys/poll.h /usr/include/bits/poll.h /usr/include/errno.h \
-   /usr/include/bits/errno.h /usr/include/linux/errno.h \
-   /usr/include/asm/errno.h /usr/include/alsa/asoundef.h \
-   /usr/include/alsa/version.h /usr/include/alsa/global.h \
-   /usr/include/alsa/input.h /usr/include/alsa/output.h \
-   /usr/include/alsa/error.h /usr/include/alsa/conf.h \
-   /usr/include/alsa/pcm.h /usr/include/alsa/rawmidi.h \
-   /usr/include/alsa/timer.h /usr/include/alsa/hwdep.h \
-   /usr/include/alsa/control.h /usr/include/alsa/mixer.h \
-   /usr/include/alsa/seq_event.h /usr/include/alsa/seq.h \
-   /usr/include/alsa/seqmid.h /usr/include/alsa/seq_midi_event.h \
-   /usr/include/alsa/conv.h /usr/include/alsa/instr.h m_pd.h s_stuff.h \
-   /usr/include/sys/time.h /usr/include/sys/stat.h \
-   /usr/include/bits/stat.h /usr/include/sys/ioctl.h \
-   /usr/include/bits/ioctls.h /usr/include/asm/ioctls.h \
-   /usr/include/asm/ioctl.h /usr/include/bits/ioctl-types.h \
-   /usr/include/sys/ttydefaults.h /usr/include/sched.h s_audio_alsa.h
--- 0 ----

Index: s_print.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/s_print.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** s_print.c	6 Sep 2004 20:20:36 -0000	1.2
--- s_print.c	18 May 2005 04:28:51 -0000	1.3
***************
*** 111,114 ****
--- 111,132 ----
  }
  
+ void verbose(int level, const char *fmt, ...)
+ {
+     char buf[MAXPDSTRING];
+     va_list ap;
+     t_int arg[8];
+     int i;
+     if(level>sys_verbose)return;
+     dopost("verbose(");
+     postfloat((float)level);
+     dopost("):");
+     
+     va_start(ap, fmt);
+     vsnprintf(buf, MAXPDSTRING-1, fmt, ap);
+     va_end(ap);
+     strcat(buf, "\n");
+     dopost(buf);
+ }
+ 
      /* here's the good way to log errors -- keep a pointer to the
      offending or offended object around so the user can search for it

Index: d_mayer_fft.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/d_mayer_fft.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** d_mayer_fft.c	6 Sep 2004 20:20:33 -0000	1.2
--- d_mayer_fft.c	18 May 2005 04:28:50 -0000	1.3
***************
*** 55,58 ****
--- 55,61 ----
  #endif
  
+ /* the following is needed only to declare pd_fft() as exportable in MSW */
+ #include "m_pd.h"
+ 
  #define REAL float
  #define GOOD_TRIG

Index: m_sched.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/m_sched.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** m_sched.c	28 Nov 2004 21:20:42 -0000	1.7
--- m_sched.c	18 May 2005 04:28:51 -0000	1.8
***************
*** 413,418 ****
          if (sched_usedacs)
          {
              timeforward = sys_send_dacs();
! 
                  /* if dacs remain "idle" for 1 sec, they're hung up. */
              if (timeforward != 0)
--- 413,428 ----
          if (sched_usedacs)
          {
+ #ifdef THREAD_LOCKING
+             /* T.Grill - send_dacs may sleep -> 
+                 unlock thread lock make that time available 
+                 - could messaging do any harm while sys_send_dacs is running?
+             */
+             sys_unlock();
+ #endif
              timeforward = sys_send_dacs();
! #ifdef THREAD_LOCKING
!             /* T.Grill - done */
!             sys_unlock();
! #endif
                  /* if dacs remain "idle" for 1 sec, they're hung up. */
              if (timeforward != 0)

Index: g_scalar.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_scalar.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** g_scalar.c	28 Nov 2004 21:20:42 -0000	1.5
--- g_scalar.c	18 May 2005 04:28:50 -0000	1.6
***************
*** 157,161 ****
  {
      t_scalar *x = (t_scalar *)z;
-     int hit = 0;
      t_template *template = template_findbyname(x->sc_template);
      t_canvas *templatecanvas = template_findcanvas(template);
--- 157,160 ----
***************
*** 172,176 ****
      else
      {
-         int hit = 0;
          x1 = y1 = 0x7fffffff;
          x2 = y2 = -0x7fffffff;
--- 171,174 ----
***************
*** 183,196 ****
                  x->sc_vec, template, basex, basey,
                  &nx1, &ny1, &nx2, &ny2);
!             if (hit)
!             {
!                 if (nx1 < x1) x1 = nx1;
!                 if (ny1 < y1) y1 = ny1;
!                 if (nx2 > x2) x2 = nx2;
!                 if (ny2 > y2) y2 = ny2;
!             }
!             else x1 = nx1, y1 = ny1, x2 = nx2, y2 = ny2, hit = 1;
          }
!         if (!hit) x1 = y1 = x2 = y2 = 0;
      }
      /* post("scalar x1 %d y1 %d x2 %d y2 %d", x1, y1, x2, y2); */
--- 181,191 ----
                  x->sc_vec, template, basex, basey,
                  &nx1, &ny1, &nx2, &ny2);
!             if (nx1 < x1) x1 = nx1;
!             if (ny1 < y1) y1 = ny1;
!             if (nx2 > x2) x2 = nx2;
!             if (ny2 > y2) y2 = ny2;
          }
!         if (x2 < x1 || y2 < y1)
!             x1 = y1 = x2 = y2 = 0;
      }
      /* post("scalar x1 %d y1 %d x2 %d y2 %d", x1, y1, x2, y2); */
***************
*** 209,212 ****
--- 204,218 ----
      {
          int x1, y1, x2, y2;
+         t_symbol *templatesym = x->sc_template;
+         t_template *tmpl;
+         t_atom at;
+         t_gpointer gp;
+         gpointer_init(&gp);
+         gpointer_setglist(&gp, owner, x);
+         SETPOINTER(&at, &gp);
+         if (tmpl = template_findbyname(templatesym))
+             template_notify(tmpl, gensym("select"), 1, &at);
+         gpointer_unset(&gp);
+         
          scalar_getrect(z, owner, &x1, &y1, &x2, &y2);
          x1--; x2++; y1--; y2++;

Index: s_file.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/s_file.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** s_file.c	6 Nov 2004 16:07:34 -0000	1.3
--- s_file.c	18 May 2005 04:28:51 -0000	1.4
***************
*** 153,182 ****
  static void sys_initloadpreferences( void)
  {
-                 fprintf(stderr, "here 1\n");
  }
  
  static int sys_getpreference(const char *key, char *value, int size)
  {
!     HKEY **hkey;
      DWORD bigsize = size;
-     char *val2 = value;
      LONG err = RegOpenKeyEx(HKEY_LOCAL_MACHINE,
          "Software\\Pd", 0,  KEY_QUERY_VALUE, &hkey);
      if (err != ERROR_SUCCESS)
      {
!                 fprintf(stderr, "here 3\n");
!             return (0);
      }
      err = RegQueryValueEx(hkey, key, 0, 0, value, &bigsize);
      if (err != ERROR_SUCCESS)
      {
!                 fprintf(stderr, "here 4\n");
!                 RegCloseKey(hkey);
          return (0);
      }
!         fprintf(stderr, "here 5\n");
!     if (val2 != value)
!         fprintf(stderr, "string moved for registry key %s",  key);
!         RegCloseKey(hkey);
      return (1);
  }
--- 153,175 ----
  static void sys_initloadpreferences( void)
  {
  }
  
  static int sys_getpreference(const char *key, char *value, int size)
  {
!     HKEY hkey;
      DWORD bigsize = size;
      LONG err = RegOpenKeyEx(HKEY_LOCAL_MACHINE,
          "Software\\Pd", 0,  KEY_QUERY_VALUE, &hkey);
      if (err != ERROR_SUCCESS)
      {
!         return (0);
      }
      err = RegQueryValueEx(hkey, key, 0, 0, value, &bigsize);
      if (err != ERROR_SUCCESS)
      {
!         RegCloseKey(hkey);
          return (0);
      }
!     RegCloseKey(hkey);
      return (1);
  }
***************
*** 184,188 ****
  static void sys_doneloadpreferences( void)
  {
-                 fprintf(stderr, "here 2\n");
  }
  
--- 177,180 ----
***************
*** 193,197 ****
  static void sys_putpreference(const char *key, const char *value)
  {
!     HKEY **hkey;
      LONG err = RegCreateKeyEx(HKEY_LOCAL_MACHINE,
          "Software\\Pd", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_SET_VALUE,
--- 185,189 ----
  static void sys_putpreference(const char *key, const char *value)
  {
!     HKEY hkey;
      LONG err = RegCreateKeyEx(HKEY_LOCAL_MACHINE,
          "Software\\Pd", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_SET_VALUE,
***************
*** 363,371 ****
          sscanf(prefbuf, "%d", &sys_defeatrt);
      if (sys_getpreference("flags", prefbuf, MAXPDSTRING))
!         {
!                 if (strcmp(prefbuf, "."))
!                         sys_flags = gensym(prefbuf);
      }
!         sys_doflags();
  
      if (sys_defeatrt)
--- 355,363 ----
          sscanf(prefbuf, "%d", &sys_defeatrt);
      if (sys_getpreference("flags", prefbuf, MAXPDSTRING))
!     {
!         if (strcmp(prefbuf, "."))
!             sys_flags = gensym(prefbuf);
      }
!     sys_doflags();
  
      if (sys_defeatrt)

Index: notes.txt
===================================================================
RCS file: /cvsroot/pure-data/pd/src/notes.txt,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** notes.txt	28 Nov 2004 21:20:42 -0000	1.9
--- notes.txt	18 May 2005 04:28:51 -0000	1.10
***************
*** 1,61 ****
  ---------------- dolist --------------------
! done:
! plug-in support
! atan2 inlets switched
! queued graphics updates for tables, number boxes
! cut/paste text (needs more testing)
! add standard bindings (ctl-o, etc) to dialogs
! separate audio on/off from nchans
! setuid flag in configure script
! settings saver (registry in Windows; .pdrc in linux; defaults system in OSX?)
!     audio API
!     MIDI -- fix to read MIDI on startup (rest works?)
!     path
!     startup flags
!     libs
! better params:
!     extra flag for path
!     startup flags
!     startup libraries
! printout to pd window
! startup from GUI
! %x to %lx in all "tags" to make 64-bit safe
! portaudio_pd files into src
! t_int to int in binbuf_addv
! 64-bit fix to externs makefiles
! new filter objects: cpole~, fpole~, etc.
! put in Wini's RME ALSA code; there are still bugs...
! portaudio fixed for inchans != outchans, e.g., emi emagic (2/6)
! sprout inlets/outlets on objects whose creation failed.
! uploaded to CVS
! bug fix: click on minaturized subpatch fails to "vis" it
! bug fix: CK on Oct. 4 (crash changing font size)
! sched_idle hook
! fixed startup flags, path, etc. so that spaces, "," chars, etc., are allowed
! configure script fixed to handle enable- and disable- correctly
! 
! 0.39:
  arrays are now first-class data
  array elements can be clicked on, etc
  
  
! bug bandaids:
! d_delay.c confusion
! '$' and help broken in OSX?
  
  garray change:
  make a gobj_redraw that schedules the redraw
  put two radio button banks side by side
- re-range tables when arrays change size (again)
  array_resize etc., should redraw the array directly?  Or should "setsize"
      and "garray_resize" do it instead?  check it's queued correctly.
  
- 
  doc:
  document env~ second argument (and why is it no less than 1/10 of first???)
  vibrato example
  block resampling arguments
  
  problems:
  '[' in numbox label breaks it (Yury Sept. 3)
  soundfiles with 3-byte samples buzz for the first readsf buffer (bug/x.pd)
--- 1,30 ----
  ---------------- dolist --------------------
! done for 0.39:
  arrays are now first-class data
  array elements can be clicked on, etc
+ fixed array onset bug
  
+ At the source level, "regular" arrays and arrays withing data structures
+ are now the same thing.  The main user-visible effect of this is that now
+ "arrays" may be graphed as "bezier curves".
  
! ------------ 0.39 ---------
  
  garray change:
  make a gobj_redraw that schedules the redraw
  put two radio button banks side by side
  array_resize etc., should redraw the array directly?  Or should "setsize"
      and "garray_resize" do it instead?  check it's queued correctly.
  
  doc:
  document env~ second argument (and why is it no less than 1/10 of first???)
  vibrato example
  block resampling arguments
+ document tabwrite~_start
  
  problems:
+ check if there's a problem loading libs on startup if superuser
+ tk errors for large tables?
+ wierdly small hotspot on lines
  '[' in numbox label breaks it (Yury Sept. 3)
  soundfiles with 3-byte samples buzz for the first readsf buffer (bug/x.pd)
***************
*** 66,71 ****
  Krzysztof's qlist_next reentrancy bug
  don't draw in/outlets on gui objects in graph-on-parent
  font size should depend on subpatch/abstraction
! moving a bang toward top of window creates problem
  check what happens when going back and forth between graph-on-parent
  get rid of messages causing renaming; try to prevent patches closing themselves.
--- 35,41 ----
  Krzysztof's qlist_next reentrancy bug
  don't draw in/outlets on gui objects in graph-on-parent
+ reasonable font size default for GUIs
  font size should depend on subpatch/abstraction
! moving a bang toward top of window creates problem (invisible label)
  check what happens when going back and forth between graph-on-parent
  get rid of messages causing renaming; try to prevent patches closing themselves.
***************
*** 73,84 ****
  scofo reports error on reading score1.txt
  rfft~ loses nyquist bin -- see "to hell with it" comment in d_fft.c
- open_via_path() followed by close() fails in windows? [can't reproduce]
  loading e-mailed patches without removing headers crashes pd
  pd $1 bug ($1 is saved as it was evaluated, not as '$1')
- data copy/paste doesn't check templates aren't changed
- figure out why Pd sometimes crashes when you close example after adding fields
  check if _vsnprintf with zero argument in windows works any better...
  
! next release:
  fix copyright notices
  update portmusic to latest
--- 43,53 ----
  scofo reports error on reading score1.txt
  rfft~ loses nyquist bin -- see "to hell with it" comment in d_fft.c
  loading e-mailed patches without removing headers crashes pd
  pd $1 bug ($1 is saved as it was evaluated, not as '$1')
  check if _vsnprintf with zero argument in windows works any better...
  
! features:
! flag to suppress printing array name above graph
! rename windowname-pd instead of pd-windowname
  fix copyright notices
  update portmusic to latest
***************
*** 95,99 ****
      flag to hide array names 
  queued graphics updates for IEMGUIs and scalars
- document tabwrite~_start
  think of a way to embed abstractions in a patch
  make watchdog work for MACOSX
--- 64,67 ----
***************
*** 112,115 ****
--- 80,85 ----
  
  data:
+ data copy/paste doesn't check templates aren't changed
+ figure out why Pd sometimes crashes when you close example after adding fields
  arrays of non-existent templates crash
  allow field(1,5,0,100) etc. in drawing commands
***************
*** 158,162 ****
  Float method for random
  figure out list, message objects
- separate control over alsaindev and alsaoutdev
  put in something for tilde order forcing
  extensible "toolbar" so people can add external GUI objects
--- 128,131 ----

Index: s_inter.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/s_inter.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** s_inter.c	28 Nov 2004 21:20:43 -0000	1.7
--- s_inter.c	18 May 2005 04:28:51 -0000	1.8
***************
*** 28,31 ****
--- 28,32 ----
  #include <process.h>
  #include <winsock.h>
+ #include <windows.h>
  typedef int pid_t;
  typedef int socklen_t;
***************
*** 86,89 ****
--- 87,91 ----
  extern char pd_version[];
  extern int sys_guisetportnumber;
+ extern char sys_font[]; /* tb: typeface */
  
  static int sys_nfdpoll;
***************
*** 163,166 ****
--- 165,173 ----
          for (fp = sys_fdpoll, i = sys_nfdpoll; i--; fp++)
              FD_SET(fp->fdp_fd, &readset);
+ #ifdef MSW
+         if (sys_maxfd == 0)
+                 Sleep(microsec/1000);
+         else
+ #endif
          select(sys_maxfd+1, &readset, &writeset, &exceptset, &timout);
          for (i = 0; i < sys_nfdpoll; i++)
***************
*** 174,177 ****
--- 181,189 ----
      else
      {
+ #ifdef MSW
+         if (sys_maxfd == 0)
+               Sleep(microsec/1000);
+         else
+ #endif
          select(0, 0, 0, 0, &timout);
          return (0);
***************
*** 618,621 ****
--- 630,638 ----
          sys_guibufsize - sys_guibufhead, fmt, ap);
      va_end(ap);
+     if(msglen < 0) 
+     {
+         fprintf(stderr, "Pd: buffer space wasn't sufficient for long GUI string\n");
+         return;
+     }
      if (msglen >= sys_guibufsize - sys_guibufhead)
      {
***************
*** 778,782 ****
      {
          gq->gq_next = gq2->gq_next;
!         t_freebytes(gq, sizeof(*gq));
          break;
      }
--- 795,799 ----
      {
          gq->gq_next = gq2->gq_next;
!         t_freebytes(gq2, sizeof(*gq2));
          break;
      }
***************
*** 1184,1188 ****
  #endif
           sys_get_audio_apis(buf);
!          sys_vgui("pdtk_pd_startup {%s} %s\n", pd_version, buf); 
      }
      return (0);
--- 1201,1206 ----
  #endif
           sys_get_audio_apis(buf);
!          sys_vgui("pdtk_pd_startup {%s} %s {%s}\n", pd_version, buf, 
!                                   sys_font); 
      }
      return (0);

Index: g_all_guis.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_all_guis.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** g_all_guis.c	15 Sep 2004 17:00:22 -0000	1.5
--- g_all_guis.c	18 May 2005 04:28:50 -0000	1.6
***************
*** 403,406 ****
--- 403,411 ----
      t_atom *pargv;
  
+         /* tb: fix for empty label { */
+         if (s == gensym(""))
+                 s = gensym("empty");
+         /* tb } */
+ 
      lab = iemgui_raute2dollar(s);
      iemgui->x_lab_unexpanded = lab;

Index: makefile
===================================================================
RCS file: /cvsroot/pure-data/pd/src/makefile,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** makefile	28 Nov 2004 21:20:42 -0000	1.10
--- makefile	18 May 2005 04:28:51 -0000	1.11
***************
*** 20,24 ****
  LIB =   -ldl -lpthread -lasound
  
! OPT_CFLAGS = -g
  WARN_CFLAGS = -Wall -W -Wstrict-prototypes \
      -Wno-unused -Wno-parentheses -Wno-switch
--- 20,24 ----
  LIB =   -ldl -lpthread -lasound
  
! OPT_CFLAGS = -O6 -funroll-loops -fomit-frame-pointer
  WARN_CFLAGS = -Wall -W -Wstrict-prototypes \
      -Wno-unused -Wno-parentheses -Wno-switch
***************
*** 163,167 ****
  tags: $(SRC) $(GSRC); ctags *.[ch]
  
! depend: 
  	$(CC) $(INCLUDE) $(CFLAGS) -M $(SRC) > makefile.dependencies
  
--- 163,169 ----
  tags: $(SRC) $(GSRC); ctags *.[ch]
  
! depend: makefile.dependencies
! 
! makefile.dependencies: makefile
  	$(CC) $(INCLUDE) $(CFLAGS) -M $(SRC) > makefile.dependencies
  

Index: s_audio_pablio.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/s_audio_pablio.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** s_audio_pablio.c	28 Nov 2004 21:20:43 -0000	1.5
--- s_audio_pablio.c	18 May 2005 04:28:51 -0000	1.6
***************
*** 1,4 ****
  /*
!  * $Id$
   * pablio.c
   * Portable Audio Blocking Input/Output utility.
--- 1,4 ----
  /*
! 
   * pablio.c
   * Portable Audio Blocking Input/Output utility.

Index: m_pd.h
===================================================================
RCS file: /cvsroot/pure-data/pd/src/m_pd.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** m_pd.h	28 Nov 2004 21:20:42 -0000	1.6
--- m_pd.h	18 May 2005 04:28:51 -0000	1.7
***************
*** 338,341 ****
--- 338,342 ----
  EXTERN t_inlet *floatinlet_new(t_object *owner, t_float *fp);
  EXTERN t_inlet *symbolinlet_new(t_object *owner, t_symbol **sp);
+ EXTERN t_inlet *signalinlet_new(t_object *owner, t_float f);
  EXTERN void inlet_free(t_inlet *x);
  
***************
*** 437,440 ****
--- 438,442 ----
  EXTERN void endpost(void);
  EXTERN void error(const char *fmt, ...);
+ EXTERN void verbose(int level, const char *fmt, ...);
  EXTERN void bug(const char *fmt, ...);
  EXTERN void pd_error(void *object, const char *fmt, ...);

Index: makefile.in
===================================================================
RCS file: /cvsroot/pure-data/pd/src/makefile.in,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** makefile.in	6 Nov 2004 16:07:33 -0000	1.5
--- makefile.in	18 May 2005 04:28:51 -0000	1.6
***************
*** 163,167 ****
  tags: $(SRC) $(GSRC); ctags *.[ch]
  
! depend: 
  	$(CC) $(INCLUDE) $(CFLAGS) -M $(SRC) > makefile.dependencies
  
--- 163,169 ----
  tags: $(SRC) $(GSRC); ctags *.[ch]
  
! depend: makefile.dependencies
! 
! makefile.dependencies: makefile
  	$(CC) $(INCLUDE) $(CFLAGS) -M $(SRC) > makefile.dependencies
  

Index: g_graph.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_graph.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** g_graph.c	28 Nov 2004 21:20:42 -0000	1.5
--- g_graph.c	18 May 2005 04:28:50 -0000	1.6
***************
*** 11,14 ****
--- 11,15 ----
  #include "t_tk.h"
  #include "g_canvas.h"
+ #include "s_stuff.h"    /* for sys_hostfontsize */
  #include <stdio.h>
  #include <string.h>
***************
*** 41,45 ****
      if (class_isdrawcommand(y->g_pd)) 
          canvas_redrawallfortemplate(template_findbyname(canvas_makebindsym(
!             glist_getcanvas(x)->gl_name)));
  }
  
--- 42,46 ----
      if (class_isdrawcommand(y->g_pd)) 
          canvas_redrawallfortemplate(template_findbyname(canvas_makebindsym(
!             glist_getcanvas(x)->gl_name)), 0);
  }
  
***************
*** 92,95 ****
--- 93,101 ----
          }
      }
+         /* if we're a drawing command, erase all scalars now, before deleting
+         it; we'll redraw them once it's deleted below. */
+     if (drawcommand)
+         canvas_redrawallfortemplate(template_findbyname(canvas_makebindsym(
+             glist_getcanvas(x)->gl_name)), 2);
      gobj_delete(y, x);
      if (glist_isvisible(canvas))
***************
*** 108,112 ****
      if (drawcommand)
          canvas_redrawallfortemplate(template_findbyname(canvas_makebindsym(
!             glist_getcanvas(x)->gl_name)));
      canvas_setdeleting(canvas, wasdeleting);
      x->gl_valid = ++glist_valid;
--- 114,118 ----
      if (drawcommand)
          canvas_redrawallfortemplate(template_findbyname(canvas_makebindsym(
!             glist_getcanvas(x)->gl_name)), 1);
      canvas_setdeleting(canvas, wasdeleting);
      x->gl_valid = ++glist_valid;
***************
*** 645,648 ****
--- 651,656 ----
  
  extern t_widgetbehavior text_widgetbehavior;
+ t_symbol *garray_getname(t_garray *x);
+ 
  
      /* Note that some code in here would also be useful for drawing
***************
*** 695,699 ****
          int i;
          float f;
! 
              /* draw a rectangle around the graph */
          sys_vgui(".x%lx.c create line\
--- 703,708 ----
          int i;
          float f;
!         t_gobj *g;
!         t_symbol *arrayname;
              /* draw a rectangle around the graph */
          sys_vgui(".x%lx.c create line\
***************
*** 701,705 ****
              glist_getcanvas(x->gl_owner),
              x1, y1, x1, y2, x2, y2, x2, y1, x1, y1, tag);
! 
              /* draw ticks on horizontal borders.  If lperb field is
              zero, this is disabled. */
--- 710,726 ----
              glist_getcanvas(x->gl_owner),
              x1, y1, x1, y2, x2, y2, x2, y1, x1, y1, tag);
!         
!             /* if there's just one "garray" in the graph, write its name
!                 along the top */
!         if ((g = x->gl_list) && !g->g_next && (g->g_pd == garray_class))
!         {
!             int ymin = (y1 < y2 ? y1 : y2);
!             t_symbol *s = garray_getname((t_garray *)g);
!             sys_vgui(".x%lx.c create text %d %d -text {%s} -anchor sw\
!              -font -*-courier-bold--normal--%d-* -tags %s\n",
!                 (long)glist_getcanvas(x),  x1, ymin, s->s_name,
!                 sys_hostfontsize(glist_getfont(x)), tag);
!         }
!         
              /* draw ticks on horizontal borders.  If lperb field is
              zero, this is disabled. */

Index: s_audio_alsa.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/s_audio_alsa.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** s_audio_alsa.c	6 Nov 2004 16:07:34 -0000	1.6
--- s_audio_alsa.c	18 May 2005 04:28:51 -0000	1.7
***************
*** 64,80 ****
  {
      snd_pcm_hw_params_t *hw_params;
!     int err;
      
      snd_pcm_hw_params_alloca(&hw_params);
  
!     err = snd_pcm_hw_params_any(dev->a_handle, hw_params);
!     if (err < 0) {
!       check_error(err,"Broken configuration: no configurations available"); 
        return (0);
      }
! 
!     err = snd_pcm_hw_params_set_access(dev->a_handle,
!         hw_params, SND_PCM_ACCESS_MMAP_NONINTERLEAVED);
!     return (err >= 0);
  }
  
--- 64,89 ----
  {
      snd_pcm_hw_params_t *hw_params;
!     int err1, err2;
      
      snd_pcm_hw_params_alloca(&hw_params);
  
!     err1 = snd_pcm_hw_params_any(dev->a_handle, hw_params);
!     if (err1 < 0) {
!       check_error(err1,"Broken configuration: no configurations available"); 
        return (0);
      }
!     err1 = snd_pcm_hw_params_set_access(dev->a_handle,
!         hw_params, SND_PCM_ACCESS_RW_INTERLEAVED);
!     if (err1 < 0)
!     {
!         err2 = snd_pcm_hw_params_set_access(dev->a_handle,
!             hw_params, SND_PCM_ACCESS_MMAP_NONINTERLEAVED);
!     }
!     else err2 = -1;
! #if 0
!     post("err 1 %d (%s), err2 %d (%s)", err1, snd_strerror(err1),
!          err2, snd_strerror(err2));
! #endif
!     return ((err1 < 0) && (err2 >= 0));
  }
  

Index: d_filter.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/d_filter.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** d_filter.c	6 Sep 2004 20:20:33 -0000	1.3
--- d_filter.c	18 May 2005 04:28:50 -0000	1.4
***************
*** 550,557 ****
  {
      t_sigrpole *x = (t_sigrpole *)pd_new(sigrpole_class);
!     inlet_new(&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal);
      outlet_new(&x->x_obj, &s_signal);
      x->x_last = 0;
-     x->x_f = f;
      return (x);
  }
--- 550,558 ----
  {
      t_sigrpole *x = (t_sigrpole *)pd_new(sigrpole_class);
!     pd_float(
!         (t_pd *)inlet_new(&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal),
!             f);
      outlet_new(&x->x_obj, &s_signal);
      x->x_last = 0;
      return (x);
  }
***************
*** 572,575 ****
--- 573,578 ----
          *out++ = last = coef * last + next;
      }
+     if (PD_BIGORSMALL(last))
+         last = 0;
      x->x_last = last;
      return (w+6);
***************
*** 620,627 ****
  {
      t_sigrzero *x = (t_sigrzero *)pd_new(sigrzero_class);
!     inlet_new(&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal);
      outlet_new(&x->x_obj, &s_signal);
      x->x_last = 0;
-     x->x_f = f;
      return (x);
  }
--- 623,631 ----
  {
      t_sigrzero *x = (t_sigrzero *)pd_new(sigrzero_class);
!     pd_float(
!         (t_pd *)inlet_new(&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal),
!             f);
      outlet_new(&x->x_obj, &s_signal);
      x->x_last = 0;
      return (x);
  }
***************
*** 691,698 ****
  {
      t_sigrzero_rev *x = (t_sigrzero_rev *)pd_new(sigrzero_rev_class);
!     inlet_new(&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal);
      outlet_new(&x->x_obj, &s_signal);
      x->x_last = 0;
-     x->x_f = f;
      return (x);
  }
--- 695,703 ----
  {
      t_sigrzero_rev *x = (t_sigrzero_rev *)pd_new(sigrzero_rev_class);
!     pd_float(
!         (t_pd *)inlet_new(&x->x_obj, &x->x_obj.ob_pd, &s_signal, &s_signal),
!             f);
      outlet_new(&x->x_obj, &s_signal);
      x->x_last = 0;
      return (x);
  }
***************
*** 801,804 ****
--- 806,813 ----
          lastre = tempre;
      }
+     if (PD_BIGORSMALL(lastre))
+         lastre = 0;
+     if (PD_BIGORSMALL(lastim))
+         lastim = 0;
      x->x_lastre = lastre;
      x->x_lastim = lastim;
***************
*** 976,981 ****
          float coefre = *inre2++;
          float coefim = *inim2++;
!         *outre++ = lastre - nextre * coefre + nextim * coefim;
!         *outim++ = lastim - nextre * coefim - nextim * coefre;
          lastre = nextre;
          lastim = nextim;
--- 985,992 ----
          float coefre = *inre2++;
          float coefim = *inim2++;
!             /* transfer function is (A bar) - Z^-1, for the same
!             frequency response as 1 - AZ^-1 from czero_tilde. */
!         *outre++ = lastre - nextre * coefre - nextim * coefim;
!         *outim++ = lastim - nextre * coefim + nextim * coefre;
          lastre = nextre;
          lastim = nextim;

Index: g_editor.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_editor.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** g_editor.c	28 Nov 2004 21:20:42 -0000	1.6
--- g_editor.c	18 May 2005 04:28:50 -0000	1.7
***************
*** 1912,1915 ****
--- 1912,1916 ----
          canvas_copy(x);
          canvas_doclear(x);
+         sys_vgui("pdtk_canvas_getscroll .x%lx.c\n", x);
      }
  }
***************
*** 1950,1953 ****
--- 1951,1955 ----
      canvas_resume_dsp(dspstate);
      canvas_dirty(x, 1);
+     sys_vgui("pdtk_canvas_getscroll .x%lx.c\n", x);
      glist_donewloadbangs(x);
  }





More information about the Pd-cvs mailing list