[PD-cvs] pd/src desire.c,1.1.2.17,1.1.2.18

Mathieu Bouchard matju at users.sourceforge.net
Sat Sep 17 23:12:49 CEST 2005


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

Modified Files:
      Tag: devel_0_39
	desire.c 
Log Message:
.


Index: desire.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.c,v
retrieving revision 1.1.2.17
retrieving revision 1.1.2.18
diff -C2 -d -r1.1.2.17 -r1.1.2.18
*** desire.c	16 Sep 2005 20:53:50 -0000	1.1.2.17
--- desire.c	17 Sep 2005 21:12:47 -0000	1.1.2.18
***************
*** 11,18 ****
  
  #include "m_pd.h"
- //#include "g_canvas.h"
  #include "desire.h"
  #include "m_imp.h"
- //#include "t_tk.h"
  #include "s_stuff.h"
  #include <ctype.h>
--- 11,16 ----
***************
*** 22,28 ****
  #include <stdlib.h>
  #include <string.h>
  
! /*
! #define L fprintf(stdout,"%s:%d in %s",__FILE__,__LINE__,__PRETTY_FUNCTION__);
  #define sys_vgui(args...) do { \
  	fprintf(stderr,"\e[0;1;31m"); \
--- 20,26 ----
  #include <stdlib.h>
  #include <string.h>
+ #include "m_simd.h"
  
! #define L fprintf(stderr,"%s:%d in %s\n",__FILE__,__LINE__,__PRETTY_FUNCTION__);
  #define sys_vgui(args...) do { \
  	fprintf(stderr,"\e[0;1;31m"); \
***************
*** 30,34 ****
  	fprintf(stderr,"\e[0m"); \
  	sys_vgui(args); } while(0)
- */
  
  //--------------------------------------------------------------------------
--- 28,31 ----
***************
*** 55,67 ****
   */
  
- #include <stdlib.h>
- #include <stdio.h>
- #include "m_pd.h"
- #include "m_imp.h"
- #include "s_stuff.h"
- #include "g_canvas.h"
- #include <string.h>
- #include "g_all_guis.h"
- 
      /* LATER consider adding font size to this struct (see glist_getfont()) */
  struct _canvasenvironment
--- 52,55 ----
***************
*** 1483,1620 ****
  }
  
- /* ------------------------------- setup routine ------------------------ */
- 
- void glist_text(t_glist *x, t_symbol *s, int argc, t_atom *argv);
- void canvas_obj(t_glist *gl, t_symbol *s, int argc, t_atom *argv);
- void canvas_bng(t_glist *gl, t_symbol *s, int argc, t_atom *argv);
- void canvas_toggle(t_glist *gl, t_symbol *s, int argc, t_atom *argv);
- void canvas_vslider(t_glist *gl, t_symbol *s, int argc, t_atom *argv);
- void canvas_hslider(t_glist *gl, t_symbol *s, int argc, t_atom *argv);
- void canvas_vdial(t_glist *gl, t_symbol *s, int argc, t_atom *argv);
- void canvas_hdial(t_glist *gl, t_symbol *s, int argc, t_atom *argv);
- void canvas_hdial(t_glist *gl, t_symbol *s, int argc, t_atom *argv);
- void canvas_hradio(t_glist *gl, t_symbol *s, int argc, t_atom *argv);
- void canvas_vradio(t_glist *gl, t_symbol *s, int argc, t_atom *argv);
- void canvas_vumeter(t_glist *gl, t_symbol *s, int argc, t_atom *argv);
- void canvas_mycnv(t_glist *gl, t_symbol *s, int argc, t_atom *argv);
- void canvas_numbox(t_glist *gl, t_symbol *s, int argc, t_atom *argv);
- void canvas_msg(t_glist *gl, t_symbol *s, int argc, t_atom *argv);
- void canvas_floatatom(t_glist *gl, t_symbol *s, int argc, t_atom *argv);
- void canvas_symbolatom(t_glist *gl, t_symbol *s, int argc, t_atom *argv);
- void glist_scalar(t_glist *canvas, t_symbol *s, t_int argc, t_atom *argv);
- 
- void g_graph_setup(void);
- void g_editor_setup(void);
- void g_readwrite_setup(void);
- void canvas_properties(t_glist *z);
- 
- void g_canvas_setup(void)
- {
-         /* we prevent the user from typing "canvas" in an object box
-         by sending 0 for a creator function. */
-     canvas_class = class_new(gensym("canvas"), 0,
-         (t_method)canvas_free, sizeof(t_canvas), CLASS_NOINLET, 0);
-             /* here is the real creator function, invoked in patch files
-             by sending the "canvas" message to #N, which is bound
-             to pd_camvasmaker. */
-     class_addmethod(pd_canvasmaker, (t_method)canvas_new, gensym("canvas"),
-         A_GIMME, 0);
-     class_addmethod(canvas_class, (t_method)canvas_restore,
-         gensym("restore"), A_GIMME, 0);
-     class_addmethod(canvas_class, (t_method)canvas_coords,
-         gensym("coords"), A_GIMME, 0);
- 
- /* -------------------------- objects ----------------------------- */
-     class_addmethod(canvas_class, (t_method)canvas_obj,
-         gensym("obj"), A_GIMME, A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_msg,
-         gensym("msg"), A_GIMME, A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_floatatom,
-         gensym("floatatom"), A_GIMME, A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_symbolatom,
-         gensym("symbolatom"), A_GIMME, A_NULL);
-     class_addmethod(canvas_class, (t_method)glist_text,
-         gensym("text"), A_GIMME, A_NULL);
-     class_addmethod(canvas_class, (t_method)glist_glist, gensym("graph"),
-         A_GIMME, A_NULL);
-     class_addmethod(canvas_class, (t_method)glist_scalar,
-         gensym("scalar"), A_GIMME, A_NULL);
- 
-     /* -------------- Thomas Musil's GUI objects ------------ */
-     class_addmethod(canvas_class, (t_method)canvas_bng,     gensym("bng"),      A_GIMME, A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_toggle,  gensym("toggle"),   A_GIMME, A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_vslider, gensym("vslider"),  A_GIMME, A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_hslider, gensym("hslider"),  A_GIMME, A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_hdial,   gensym("hdial"),    A_GIMME, A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_vdial,   gensym("vdial"),    A_GIMME, A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_hradio,  gensym("hradio"),   A_GIMME, A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_vradio,  gensym("vradio"),   A_GIMME, A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_vumeter, gensym("vumeter"),  A_GIMME, A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_mycnv,   gensym("mycnv"),    A_GIMME, A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_numbox,  gensym("numbox"),   A_GIMME, A_NULL);
- 
- /* ------------------------ gui stuff --------------------------- */
-     class_addmethod(canvas_class, (t_method)canvas_pop, gensym("pop"),
-         A_DEFFLOAT, A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_loadbang,
-         gensym("loadbang"), A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_relocate,
-         gensym("relocate"), A_SYMBOL, A_SYMBOL, A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_vis,
-         gensym("vis"), A_FLOAT, A_NULL);
-     class_addmethod(canvas_class, (t_method)glist_menu_open,
-         gensym("menu-open"), A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_map,
-         gensym("map"), A_FLOAT, A_NULL);
-     class_setpropertiesfn(canvas_class, (t_propertiesfn)canvas_properties);
- 
- /* ---------------------- list handling ------------------------ */
-     class_addmethod(canvas_class, (t_method)glist_clear, gensym("clear"),
-         A_NULL);
- 
- /* ----- subcanvases, which you get by typing "pd" in a box ---- */
-     class_addcreator((t_newmethod)subcanvas_new, gensym("pd"), A_DEFSYMBOL, 0);
-     class_addcreator((t_newmethod)subcanvas_new, gensym("page"),  A_DEFSYMBOL, 0);
- 
-     class_addmethod(canvas_class, (t_method)canvas_click,
-         gensym("click"), A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, 0);
-     class_addmethod(canvas_class, (t_method)canvas_dsp, gensym("dsp"), 0);
-     class_addmethod(canvas_class, (t_method)canvas_rename_method,
-         gensym("rename"), A_GIMME, 0);
- 
- /*---------------------------- tables -- GG ------------------- */
- 
-     class_addcreator((t_newmethod)table_new, gensym("table"),
-         A_DEFSYM, A_DEFFLOAT, 0);
- 
- /* -------------- setups from other files for canvas_class ---------------- */
-     g_graph_setup();
-     g_editor_setup();
-     g_readwrite_setup();
- }
- 
  //--------------------------------------------------------------------------
  // from g_editor.c
  
- /* Copyright (c) 1997-2001 Miller Puckette and others.
- * For information on usage and redistribution, and for a DISCLAIMER OF ALL
- * WARRANTIES, see the file, "LICENSE.txt," in this distribution.  */
- 
- #include <stdlib.h>
- #include <stdio.h>
- #include "m_pd.h"
- #include "m_imp.h"
- #include "s_stuff.h"
- #include "g_canvas.h"
- #include <string.h>
- 
- void glist_readfrombinbuf(t_glist *x, t_binbuf *b, char *filename,
-     int selectem);
- 
- void open_via_helppath(const char *name, const char *dir);
- char *class_gethelpdir(t_class *c);
- char* inlet_tip(t_inlet* i,int num);
- 
- /* ------------------ forward declarations --------------- */
  static void canvas_doclear(t_canvas *x);
  static void glist_setlastxy(t_glist *gl, int xval, int yval);
--- 1471,1477 ----
***************
*** 1630,1667 ****
  /* ---------------- generic widget behavior ------------------------- */
  
! void gobj_getrect(t_gobj *x, t_glist *glist, int *x1, int *y1,
!     int *x2, int *y2)
! {
!     if (x->g_pd->c_wb && x->g_pd->c_wb->w_getrectfn)
!         (*x->g_pd->c_wb->w_getrectfn)(x, glist, x1, y1, x2, y2);
  }
  
! void gobj_displace(t_gobj *x, t_glist *glist, int dx, int dy)
! {
!     if (x->g_pd->c_wb && x->g_pd->c_wb->w_displacefn)
!         (*x->g_pd->c_wb->w_displacefn)(x, glist, dx, dy);
  }
  
! void gobj_select(t_gobj *x, t_glist *glist, int state)
! {
!     if (x->g_pd->c_wb && x->g_pd->c_wb->w_selectfn)
!         (*x->g_pd->c_wb->w_selectfn)(x, glist, state);
  }
  
! void gobj_activate(t_gobj *x, t_glist *glist, int state)
! {
!     if (x->g_pd->c_wb && x->g_pd->c_wb->w_activatefn)
!         (*x->g_pd->c_wb->w_activatefn)(x, glist, state);
  }
  
! void gobj_delete(t_gobj *x, t_glist *glist)
! {
!     if (x->g_pd->c_wb && x->g_pd->c_wb->w_deletefn)
!         (*x->g_pd->c_wb->w_deletefn)(x, glist);
  }
  
  void gobj_vis(t_gobj *x, struct _glist *glist, int flag)
  {
!     if (x->g_pd->c_wb && x->g_pd->c_wb->w_visfn)
      {
          if (!glist->gl_havewindow && glist->gl_isgraph && glist->gl_goprect &&
--- 1487,1519 ----
  /* ---------------- generic widget behavior ------------------------- */
  
! void gobj_getrect(t_gobj *x, t_glist *glist, int *x1, int *y1, int *x2, int *y2) {
!     t_widgetbehavior *w = x->g_pd->c_wb;
!     if (w && w->w_getrectfn) (*w->w_getrectfn)(x, glist, x1, y1, x2, y2);
  }
  
! void gobj_displace(t_gobj *x, t_glist *glist, int dx, int dy) {
!     t_widgetbehavior *w = x->g_pd->c_wb;
!     if (w && w->w_displacefn) (*w->w_displacefn)(x, glist, dx, dy);
  }
  
! void gobj_select(t_gobj *x, t_glist *glist, int state) {
!     t_widgetbehavior *w = x->g_pd->c_wb;
!     if (w && w->w_selectfn) (*w->w_selectfn)(x, glist, state);
  }
  
! void gobj_activate(t_gobj *x, t_glist *glist, int state) {
!     t_widgetbehavior *w = x->g_pd->c_wb;
!     if (w && w->w_activatefn) (*w->w_activatefn)(x, glist, state);
  }
  
! void gobj_delete(t_gobj *x, t_glist *glist) {
!     t_widgetbehavior *w = x->g_pd->c_wb;
!     if (w && w->w_deletefn) (*w->w_deletefn)(x, glist);
  }
  
  void gobj_vis(t_gobj *x, struct _glist *glist, int flag)
  {
!     t_widgetbehavior *w = x->g_pd->c_wb;
!     if (w && w->w_visfn)
      {
          if (!glist->gl_havewindow && glist->gl_isgraph && glist->gl_goprect &&
***************
*** 1672,1679 ****
              int x1, y1, x2, y2, gx1, gy1, gx2, gy2, m;
              gobj_getrect(&glist->gl_gobj, glist->gl_owner, &x1, &y1, &x2, &y2);
!             if (x1 > x2)
!                 m = x1, x1 = x2, x2 = m;
!             if (y1 > y2)
!                 m = y1, y1 = y2, x2 = m;
              gobj_getrect(x, glist, &gx1, &gy1, &gx2, &gy2);
              if (gx1 < x1 || gx1 > x2 || gx2 < x1 || gx2 > x2 ||
--- 1524,1529 ----
              int x1, y1, x2, y2, gx1, gy1, gx2, gy2, m;
              gobj_getrect(&glist->gl_gobj, glist->gl_owner, &x1, &y1, &x2, &y2);
!             if (x1 > x2) m = x1, x1 = x2, x2 = m;
!             if (y1 > y2) m = y1, y1 = y2, x2 = m;
              gobj_getrect(x, glist, &gx1, &gy1, &gx2, &gy2);
              if (gx1 < x1 || gx1 > x2 || gx2 < x1 || gx2 > x2 ||
***************
*** 1681,1685 ****
                      return;
          }
!         (*x->g_pd->c_wb->w_visfn)(x, glist, flag);
      }
  }
--- 1531,1535 ----
                      return;
          }
!         (*w->w_visfn)(x, glist, flag);
      }
  }
***************
*** 1688,1695 ****
      int xpix, int ypix, int shift, int alt, int dbl, int doit)
  {
!     if (x->g_pd->c_wb && x->g_pd->c_wb->w_clickfn)
!         return ((*x->g_pd->c_wb->w_clickfn)(x,
!             glist, xpix, ypix, shift, alt, dbl, doit));
!     else return (0);
  }
  
--- 1538,1545 ----
      int xpix, int ypix, int shift, int alt, int dbl, int doit)
  {
!     t_widgetbehavior *w = x->g_pd->c_wb;
!     if (w && w->w_clickfn)
!         return ((*w->w_clickfn)(x, glist, xpix, ypix, shift, alt, dbl, doit));
!     else return 0;
  }
  
***************
*** 4070,4164 ****
  
  
- void g_editor_setup(void)
- {
- /* ------------------------ events ---------------------------------- */
-     class_addmethod(canvas_class, (t_method)canvas_mousedown, gensym("mouse"),
-         A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_mouseup, gensym("mouseup"),
-         A_FLOAT, A_FLOAT, A_FLOAT, A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_key, gensym("key"),
-         A_GIMME, A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_motion, gensym("motion"),
-         A_FLOAT, A_FLOAT, A_FLOAT, A_NULL);
- 
- /* ------------------------ menu actions ---------------------------- */
-     class_addmethod(canvas_class, (t_method)canvas_menuclose,
-         gensym("menuclose"), A_DEFFLOAT, 0);
-     class_addmethod(canvas_class, (t_method)canvas_cut,
-         gensym("cut"), A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_copy,
-         gensym("copy"), A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_paste,
-         gensym("paste"), A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_duplicate,
-         gensym("duplicate"), A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_selectall,
-         gensym("selectall"), A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_undo,
-         gensym("undo"), A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_redo,
-         gensym("redo"), A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_tidy,
-         gensym("tidy"), A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_texteditor,
-         gensym("texteditor"), A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_editmode,
-         gensym("editmode"), A_DEFFLOAT, A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_print,
-         gensym("print"), A_SYMBOL, A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_menufont,
-         gensym("menufont"), A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_font,
-         gensym("font"), A_FLOAT, A_FLOAT, A_FLOAT, A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_find,
-         gensym("find"), A_GIMME, A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_find_again,
-         gensym("findagain"), A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_find_parent,
-         gensym("findparent"), A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_done_popup,
-         gensym("done-popup"), A_FLOAT, A_FLOAT, A_FLOAT, A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_donecanvasdialog,
-         gensym("donecanvasdialog"), A_GIMME, A_NULL);
-     class_addmethod(canvas_class, (t_method)glist_arraydialog,
-         gensym("arraydialog"), A_SYMBOL, A_FLOAT, A_FLOAT, A_FLOAT, A_NULL);
- 
- /* -------------- connect method used in reading files ------------------ */
-     class_addmethod(canvas_class, (t_method)canvas_connect,
-         gensym("connect"), A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, A_NULL);
- 
-     class_addmethod(canvas_class, (t_method)canvas_disconnect,
-         gensym("disconnect"), A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, A_NULL);
- /* -------------- copy buffer ------------------ */
-     copy_binbuf = binbuf_new();
- }
- 
  
  //--------------------------------------------------------------------------
  // from g_array.c
  
- /* Copyright (c) 1997-1999 Miller Puckette.
- * For information on usage and redistribution, and for a DISCLAIMER OF ALL
- * WARRANTIES, see the file, "LICENSE.txt," in this distribution.  */
- 
- #include <stdlib.h>
- #include <string.h>
- #include <stdio.h>      /* for read/write to files */
- #include "m_pd.h"
- #include "g_canvas.h"
- #include <math.h>
- 
- /* jsarlo { */
  #define ARRAYPAGESIZE 1000  /* this should match the page size in u_main.tk */
- /* } jsarlo */
- 
- /* see also the "plot" object in g_scalar.c which deals with graphing
- arrays which are fields in scalars.  Someday we should unify the
- two, but how? */
- 
      /* aux routine to bash leading '#' to '$' for dialogs in u_main.tk
      which can't send symbols starting with '$' (because the Pd message
      interpreter would change them!) */
- 
  static t_symbol *sharptodollar(t_symbol *s)
  {
--- 3920,3931 ----
***************
*** 4201,4208 ****
  }
  
- /* jsarlo { */
  void garray_arrayviewlist_close(t_garray *x);
- /* } jsarlo */
- 
  void array_resize(t_array *x, int n)
  {
--- 3968,3972 ----
***************
*** 5649,5670 ****
  // from g_graph.c
  
- /* Copyright (c) 1997-2001 Miller Puckette and others.
- * For information on usage and redistribution, and for a DISCLAIMER OF ALL
- * WARRANTIES, see the file, "LICENSE.txt," in this distribution.  */
- 
- /* This file deals with the behavior of glists as either "text objects" or
- "graphs" inside another glist.  LATER move the inlet/outlet code of g_canvas.c 
- to this file... */
- 
- #include <stdlib.h>
- #include "m_pd.h"
- #include "t_tk.h"
- #include "g_canvas.h"
- #include "s_stuff.h"    /* for sys_hostfontsize */
- #include <stdio.h>
- #include <string.h>
- 
- /* ---------------------- forward definitions ----------------- */
- 
  static void graph_vis(t_gobj *gr, t_glist *unused_glist, int vis);
  static void graph_graphrect(t_gobj *z, t_glist *glist,
--- 5413,5416 ----
***************
*** 5673,5678 ****
      int *xp1, int *yp1, int *xp2, int *yp2);
  
- /* -------------------- maintaining the list -------------------- */
- 
  void canvas_drawredrect(t_canvas *x, int doit);
  
--- 5419,5422 ----
***************
*** 6738,6778 ****
  extern void canvas_menuarray(t_glist *canvas);
  
- void g_graph_setup(void)
- {
-     class_setwidget(canvas_class, &graph_widgetbehavior);
-     class_addmethod(canvas_class, (t_method)graph_bounds, gensym("bounds"),
-         A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, 0);
-     class_addmethod(canvas_class, (t_method)graph_xticks, gensym("xticks"),
-         A_FLOAT, A_FLOAT, A_FLOAT, 0);
-     class_addmethod(canvas_class, (t_method)graph_xlabel, gensym("xlabel"),
-         A_GIMME, 0);
-     class_addmethod(canvas_class, (t_method)graph_yticks, gensym("yticks"),
-         A_FLOAT, A_FLOAT, A_FLOAT, 0);
-     class_addmethod(canvas_class, (t_method)graph_ylabel, gensym("ylabel"),
-         A_GIMME, 0);
-     class_addmethod(canvas_class, (t_method)graph_array, gensym("array"),
-         A_SYMBOL, A_FLOAT, A_SYMBOL, A_DEFFLOAT, A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_menuarray,
-         gensym("menuarray"), A_NULL);
-     class_addmethod(canvas_class, (t_method)glist_arraydialog,
-         gensym("arraydialog"), A_SYMBOL, A_FLOAT, A_FLOAT, A_FLOAT, A_NULL);
-     class_addmethod(canvas_class, (t_method)glist_sort,
-         gensym("sort"), A_NULL);
- }
- 
  //--------------------------------------------------------------------------
  // from g_guiconnect.c
  
- /* Copyright (c) 1997-2000 Miller Puckette.
- * For information on usage and redistribution, and for a DISCLAIMER OF ALL
- * WARRANTIES, see the file, "LICENSE.txt," in this distribution.  */
- 
  /*  a thing to forward messages from the GUI, dealing with race conditions
  in which the "target" gets deleted while the GUI is sending it something.
  */
  
- #include "m_pd.h"
- #include "g_canvas.h"
- 
  struct _guiconnect
  {
--- 6482,6492 ----
***************
*** 6862,6869 ****
  // from g_readwrite.c
  
- /* Copyright (c) 1997-2002 Miller Puckette and others.
- * For information on usage and redistribution, and for a DISCLAIMER OF ALL
- * WARRANTIES, see the file, "LICENSE.txt," in this distribution.  */
- 
  /* this file reads and writes the "data" portions of a canvas to a file.
  See also canvas_saveto(), etc., in g_editor.c.  The data portion is a
--- 6576,6579 ----
***************
*** 6872,6882 ****
  */
  
! #include <stdlib.h>
! #include <stdio.h>
! #include "m_pd.h"
! #include "g_canvas.h"
! #include <string.h>
! 
!     /* the following routines read "scalars" from a file into a canvas. */
  
  static int canvas_scanbinbuf(int natoms, t_atom *vec, int *p_indexout,
--- 6582,6586 ----
  */
  
! /* the following routines read "scalars" from a file into a canvas. */
  
  static int canvas_scanbinbuf(int natoms, t_atom *vec, int *p_indexout,
***************
*** 7585,7613 ****
  
  
- void g_readwrite_setup(void)
- {
-     class_addmethod(canvas_class, (t_method)glist_write,
-         gensym("write"), A_SYMBOL, A_DEFSYM, A_NULL);
-     class_addmethod(canvas_class, (t_method)glist_read,
-         gensym("read"), A_SYMBOL, A_DEFSYM, A_NULL);
-     class_addmethod(canvas_class, (t_method)glist_mergefile,
-         gensym("mergefile"), A_SYMBOL, A_DEFSYM, A_NULL);
-     class_addmethod(canvas_class, (t_method)canvas_savetofile,
-         gensym("savetofile"), A_SYMBOL, A_SYMBOL, 0);
-     class_addmethod(canvas_class, (t_method)canvas_saveto,
-         gensym("saveto"), A_CANT, 0);
- /* ------------------ from the menu ------------------------- */
-     class_addmethod(canvas_class, (t_method)canvas_menusave,
-         gensym("menusave"), 0);
-     class_addmethod(canvas_class, (t_method)canvas_menusaveas,
-         gensym("menusaveas"), 0);
- }
  ///////////////////////////////////////////////////////////////////////////
  // from g_io.c
  
- /* Copyright (c) 1997-1999 Miller Puckette.
- * For information on usage and redistribution, and for a DISCLAIMER OF ALL
- * WARRANTIES, see the file, "LICENSE.txt," in this distribution.  */
- 
  /* graphical inlets and outlets, both for control and signals.  */
  
--- 7289,7295 ----
***************
*** 7630,7637 ****
   */
  
- #include "m_pd.h"
- #include "m_simd.h"
- #include "g_canvas.h"
- #include <string.h>
  void signal_setborrowed(t_signal *sig, t_signal *sig2);
  void signal_makereusable(t_signal *sig);
--- 7312,7315 ----
***************
*** 7671,7702 ****
  
  static void vinlet_bang(t_vinlet *x)
! {
!     outlet_bang(x->x_obj.ob_outlet);
! }
! 
  static void vinlet_pointer(t_vinlet *x, t_gpointer *gp)
! {
!     outlet_pointer(x->x_obj.ob_outlet, gp);
! }
! 
  static void vinlet_float(t_vinlet *x, t_float f)
! {
!     outlet_float(x->x_obj.ob_outlet, f);
! }
! 
  static void vinlet_symbol(t_vinlet *x, t_symbol *s)
! {
!     outlet_symbol(x->x_obj.ob_outlet, s);
! }
! 
  static void vinlet_list(t_vinlet *x, t_symbol *s, int argc, t_atom *argv)
! {
!     outlet_list(x->x_obj.ob_outlet, s, argc, argv);
! }
! 
  static void vinlet_anything(t_vinlet *x, t_symbol *s, int argc, t_atom *argv)
! {
!     outlet_anything(x->x_obj.ob_outlet, s, argc, argv);
! }
  
  static void vinlet_free(t_vinlet *x)
--- 7349,7363 ----
  
  static void vinlet_bang(t_vinlet *x)
! {outlet_bang(x->x_obj.ob_outlet);}
  static void vinlet_pointer(t_vinlet *x, t_gpointer *gp)
! {outlet_pointer(x->x_obj.ob_outlet, gp);}
  static void vinlet_float(t_vinlet *x, t_float f)
! {outlet_float(x->x_obj.ob_outlet, f);}
  static void vinlet_symbol(t_vinlet *x, t_symbol *s)
! {outlet_symbol(x->x_obj.ob_outlet, s);}
  static void vinlet_list(t_vinlet *x, t_symbol *s, int argc, t_atom *argv)
! {outlet_list(x->x_obj.ob_outlet, s, argc, argv);}
  static void vinlet_anything(t_vinlet *x, t_symbol *s, int argc, t_atom *argv)
! {outlet_anything(x->x_obj.ob_outlet, s, argc, argv);}
  
  static void vinlet_free(t_vinlet *x)
***************
*** 7983,8014 ****
  
  static void voutlet_bang(t_voutlet *x)
! {
!     outlet_bang(x->x_parentoutlet);
! }
! 
  static void voutlet_pointer(t_voutlet *x, t_gpointer *gp)
! {
!     outlet_pointer(x->x_parentoutlet, gp);
! }
! 
  static void voutlet_float(t_voutlet *x, t_float f)
! {
!     outlet_float(x->x_parentoutlet, f);
! }
! 
  static void voutlet_symbol(t_voutlet *x, t_symbol *s)
! {
!     outlet_symbol(x->x_parentoutlet, s);
! }
! 
  static void voutlet_list(t_voutlet *x, t_symbol *s, int argc, t_atom *argv)
! {
!     outlet_list(x->x_parentoutlet, s, argc, argv);
! }
! 
  static void voutlet_anything(t_voutlet *x, t_symbol *s, int argc, t_atom *argv)
! {
!     outlet_anything(x->x_parentoutlet, s, argc, argv);
! }
  
  static void voutlet_free(t_voutlet *x)
--- 7644,7658 ----
  
  static void voutlet_bang(t_voutlet *x)
! {outlet_bang(x->x_parentoutlet);}
  static void voutlet_pointer(t_voutlet *x, t_gpointer *gp)
! {outlet_pointer(x->x_parentoutlet, gp);}
  static void voutlet_float(t_voutlet *x, t_float f)
! {outlet_float(x->x_parentoutlet, f);}
  static void voutlet_symbol(t_voutlet *x, t_symbol *s)
! {outlet_symbol(x->x_parentoutlet, s);}
  static void voutlet_list(t_voutlet *x, t_symbol *s, int argc, t_atom *argv)
! {outlet_list(x->x_parentoutlet, s, argc, argv);}
  static void voutlet_anything(t_voutlet *x, t_symbol *s, int argc, t_atom *argv)
! {outlet_anything(x->x_parentoutlet, s, argc, argv);}
  
  static void voutlet_free(t_voutlet *x)
***************
*** 8275,8282 ****
  // from g_scalar.c
  
- /* Copyright (c) 1997-1999 Miller Puckette.
- * For information on usage and redistribution, and for a DISCLAIMER OF ALL
- * WARRANTIES, see the file, "LICENSE.txt," in this distribution.  */
- 
  /* This file defines the "scalar" object, which is not a text object, just a
  "gobj".  Scalars have templates which describe their structures, which
--- 7919,7922 ----
***************
*** 8293,8302 ****
  */
  
- #include <stdlib.h>
- #include <string.h>
- #include <stdio.h>      /* for read/write to files */
- #include "m_pd.h"
- #include "g_canvas.h"
- 
  t_class *scalar_class;
  
--- 7933,7936 ----
***************
*** 8709,8724 ****
  // from g_template.c
  
- /* Copyright (c) 1997-1999 Miller Puckette.
- * For information on usage and redistribution, and for a DISCLAIMER OF ALL
- * WARRANTIES, see the file, "LICENSE.txt," in this distribution.  */
- 
- #include <stdlib.h>
- #include <string.h>
- #include <stdio.h>
- 
- #include "m_pd.h"
- #include "s_stuff.h"    /* for sys_hostfontsize */
- #include "g_canvas.h"
- 
  void array_redraw(t_array *a, t_glist *glist);
  
--- 8343,8346 ----
***************
*** 10904,10914 ****
  // from g_traversal.c
  
- /* Copyright (c) 1997-1999 Miller Puckette.
- * For information on usage and redistribution, and for a DISCLAIMER OF ALL
- * WARRANTIES, see the file, "LICENSE.txt," in this distribution.  */
- 
  /* This file defines Text objects which traverse data contained in scalars
  and arrays:
- 
  pointer - point to an object belonging to a template
  get -     get numeric fields
--- 10526,10531 ----
***************
*** 10919,10931 ****
  append -  add an element to a list
  sublist - get a pointer into a list which is an element of another scalar
- 
  */
  
- #include <stdlib.h>
- #include <string.h>
- #include <stdio.h>      /* for read/write to files */
- #include "m_pd.h"
- #include "g_canvas.h"
- 
  /* ------------- gstubs and gpointers - safe pointing --------------- */
  
--- 10536,10541 ----
***************
*** 14076,14077 ****
--- 13686,13784 ----
  }
  
+ //-----------
+ // blah
+ 
+ void g_canvas_setup(void)
+ {
+     /* we prevent the user from typing "canvas" in an object box
+        by sending 0 for a creator function. */
+     t_class *c = canvas_class = class_new(gensym("canvas"), 0,
+         (t_method)canvas_free, sizeof(t_canvas), CLASS_NOINLET, 0);
+             /* here is the real creator function, invoked in patch files
+             by sending the "canvas" message to #N, which is bound
+             to pd_camvasmaker. */
+     class_addmethod(pd_canvasmaker, (t_method)canvas_new, gensym("canvas"), A_GIMME, 0);
+     class_addmethod(c, (t_method)canvas_restore, gensym("restore"), A_GIMME, 0);
+     class_addmethod(c, (t_method)canvas_coords,  gensym("coords"), A_GIMME, 0);
+     class_addmethod(c, (t_method)canvas_obj,     gensym("obj"),      A_GIMME, A_NULL);
+     class_addmethod(c, (t_method)canvas_msg,     gensym("msg"),      A_GIMME, A_NULL);
+     class_addmethod(c, (t_method)canvas_floatatom, gensym("floatatom"), A_GIMME, A_NULL);
+     class_addmethod(c, (t_method)canvas_symbolatom, gensym("symbolatom"), A_GIMME, A_NULL);
+     class_addmethod(c, (t_method)glist_text,     gensym("text"),     A_GIMME, A_NULL);
+     class_addmethod(c, (t_method)glist_glist,    gensym("graph"),    A_GIMME, A_NULL);
+     class_addmethod(c, (t_method)glist_scalar,   gensym("scalar"),   A_GIMME, A_NULL);
+     class_addmethod(c, (t_method)canvas_bng,     gensym("bng"),      A_GIMME, A_NULL);
+     class_addmethod(c, (t_method)canvas_toggle,  gensym("toggle"),   A_GIMME, A_NULL);
+     class_addmethod(c, (t_method)canvas_vslider, gensym("vslider"),  A_GIMME, A_NULL);
+     class_addmethod(c, (t_method)canvas_hslider, gensym("hslider"),  A_GIMME, A_NULL);
+     class_addmethod(c, (t_method)canvas_hdial,   gensym("hdial"),    A_GIMME, A_NULL);
+     class_addmethod(c, (t_method)canvas_vdial,   gensym("vdial"),    A_GIMME, A_NULL);
+     class_addmethod(c, (t_method)canvas_hradio,  gensym("hradio"),   A_GIMME, A_NULL);
+     class_addmethod(c, (t_method)canvas_vradio,  gensym("vradio"),   A_GIMME, A_NULL);
+     class_addmethod(c, (t_method)canvas_vumeter, gensym("vumeter"),  A_GIMME, A_NULL);
+     class_addmethod(c, (t_method)canvas_mycnv,   gensym("mycnv"),    A_GIMME, A_NULL);
+     class_addmethod(c, (t_method)canvas_numbox,  gensym("numbox"),   A_GIMME, A_NULL);
+ 
+     class_addmethod(c, (t_method)canvas_pop, gensym("pop"), A_DEFFLOAT, A_NULL);
+     class_addmethod(c, (t_method)canvas_loadbang, gensym("loadbang"), A_NULL);
+     class_addmethod(c, (t_method)canvas_relocate, gensym("relocate"), A_SYMBOL, A_SYMBOL, A_NULL);
+     class_addmethod(c, (t_method)canvas_vis, gensym("vis"), A_FLOAT, A_NULL);
+     class_addmethod(c, (t_method)glist_menu_open, gensym("menu-open"), A_NULL);
+     class_addmethod(c, (t_method)canvas_map, gensym("map"), A_FLOAT, A_NULL);
+     class_setpropertiesfn(c, (t_propertiesfn)canvas_properties);
+ 
+     class_addmethod(c, (t_method)glist_clear, gensym("clear"), A_NULL);
+     class_addcreator((t_newmethod)subcanvas_new, gensym("pd"),    A_DEFSYMBOL, 0);
+     class_addcreator((t_newmethod)subcanvas_new, gensym("page"),  A_DEFSYMBOL, 0);
+ //  class_addmethod(c, (t_method)canvas_click, gensym("click"), A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, 0);
+     class_addmethod(c, (t_method)canvas_dsp, gensym("dsp"), 0);
+     class_addmethod(c, (t_method)canvas_rename_method, gensym("rename"), A_GIMME, 0);
+     class_addcreator((t_newmethod)table_new, gensym("table"), A_DEFSYM, A_DEFFLOAT, 0);
+ 
+     class_addmethod(c, (t_method)canvas_mousedown, gensym("mouse"), A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, A_NULL);
+     class_addmethod(c, (t_method)canvas_mouseup, gensym("mouseup"), A_FLOAT, A_FLOAT, A_FLOAT, A_NULL);
+     class_addmethod(c, (t_method)canvas_key, gensym("key"), A_GIMME, A_NULL);
+     class_addmethod(c, (t_method)canvas_motion, gensym("motion"),   A_FLOAT, A_FLOAT, A_FLOAT, A_NULL);
+     class_addmethod(c, (t_method)canvas_menuclose, gensym("menuclose"), A_DEFFLOAT, 0);
+     class_addmethod(c, (t_method)canvas_cut,       gensym("cut"), A_NULL);
+     class_addmethod(c, (t_method)canvas_copy,      gensym("copy"), A_NULL);
+     class_addmethod(c, (t_method)canvas_paste,     gensym("paste"), A_NULL);
+     class_addmethod(c, (t_method)canvas_duplicate, gensym("duplicate"), A_NULL);
+     class_addmethod(c, (t_method)canvas_selectall, gensym("selectall"), A_NULL);
+     class_addmethod(c, (t_method)canvas_undo,      gensym("undo"), A_NULL);
+     class_addmethod(c, (t_method)canvas_redo,      gensym("redo"), A_NULL);
+     class_addmethod(c, (t_method)canvas_tidy,      gensym("tidy"), A_NULL);
+     class_addmethod(c, (t_method)canvas_texteditor,gensym("texteditor"), A_NULL);
+     class_addmethod(c, (t_method)canvas_editmode,  gensym("editmode"), A_DEFFLOAT, A_NULL);
+     class_addmethod(c, (t_method)canvas_print,     gensym("print"), A_SYMBOL, A_NULL);
+     class_addmethod(c, (t_method)canvas_menufont,  gensym("menufont"), A_NULL);
+     class_addmethod(c, (t_method)canvas_font,      gensym("font"), A_FLOAT, A_FLOAT, A_FLOAT, A_NULL);
+     class_addmethod(c, (t_method)canvas_find,      gensym("find"), A_GIMME, A_NULL);
+     class_addmethod(c, (t_method)canvas_find_again,  gensym("findagain"), A_NULL);
+     class_addmethod(c, (t_method)canvas_find_parent, gensym("findparent"), A_NULL);
+     class_addmethod(c, (t_method)canvas_done_popup,  gensym("done-popup"), A_FLOAT, A_FLOAT, A_FLOAT, A_NULL);
+     class_addmethod(c, (t_method)canvas_donecanvasdialog, gensym("donecanvasdialog"), A_GIMME, A_NULL);
+     class_addmethod(c, (t_method)glist_arraydialog, gensym("arraydialog"), A_SYMBOL, A_FLOAT, A_FLOAT, A_FLOAT, A_NULL);
+     class_addmethod(c, (t_method)canvas_connect, gensym("connect"), A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, A_NULL);
+     class_addmethod(c, (t_method)canvas_disconnect, gensym("disconnect"), A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, A_NULL);
+     copy_binbuf = binbuf_new();
+ 
+     class_addmethod(c, (t_method)glist_write, gensym("write"), A_SYMBOL, A_DEFSYM, A_NULL);
+     class_addmethod(c, (t_method)glist_read,  gensym("read"), A_SYMBOL, A_DEFSYM, A_NULL);
+     class_addmethod(c, (t_method)glist_mergefile,   gensym("mergefile"), A_SYMBOL, A_DEFSYM, A_NULL);
+     class_addmethod(c, (t_method)canvas_savetofile, gensym("savetofile"), A_SYMBOL, A_SYMBOL, 0);
+     class_addmethod(c, (t_method)canvas_saveto,     gensym("saveto"), A_CANT, 0);
+     class_addmethod(c, (t_method)canvas_menusave,   gensym("menusave"), 0);
+     class_addmethod(c, (t_method)canvas_menusaveas, gensym("menusaveas"), 0);
+ 
+     class_setwidget(c, &graph_widgetbehavior);
+     class_addmethod(c, (t_method)graph_bounds, gensym("bounds"), A_FLOAT, A_FLOAT, A_FLOAT, A_FLOAT, 0);
+     class_addmethod(c, (t_method)graph_xticks, gensym("xticks"), A_FLOAT, A_FLOAT, A_FLOAT, 0);
+     class_addmethod(c, (t_method)graph_xlabel, gensym("xlabel"), A_GIMME, 0);
+     class_addmethod(c, (t_method)graph_yticks, gensym("yticks"), A_FLOAT, A_FLOAT, A_FLOAT, 0);
+     class_addmethod(c, (t_method)graph_ylabel, gensym("ylabel"), A_GIMME, 0);
+     class_addmethod(c, (t_method)graph_array, gensym("array"),   A_SYMBOL, A_FLOAT, A_SYMBOL, A_DEFFLOAT, A_NULL);
+     class_addmethod(c, (t_method)canvas_menuarray, gensym("menuarray"), A_NULL);
+     class_addmethod(c, (t_method)glist_arraydialog, gensym("arraydialog"), A_SYMBOL, A_FLOAT, A_FLOAT, A_FLOAT, A_NULL);
+     class_addmethod(c, (t_method)glist_sort, gensym("sort"), A_NULL);
+ }





More information about the Pd-cvs mailing list