[PD-cvs] pd/src g_all_guis.c,1.1.1.4.2.4.2.28,1.1.1.4.2.4.2.29 g_all_guis.h,1.1.1.4.2.2.2.23,1.1.1.4.2.2.2.24 g_bang.c,1.1.1.3.2.2.2.24,1.1.1.3.2.2.2.25 g_dropper.c,1.1.2.17,1.1.2.18 g_hdial.c,1.1.1.4.2.2.2.22,1.1.1.4.2.2.2.23 g_hslider.c,1.1.1.3.2.2.2.25,1.1.1.3.2.2.2.26 g_mycanvas.c,1.1.1.3.2.2.2.14,1.1.1.3.2.2.2.15 g_numbox.c,1.1.1.4.2.2.2.20,1.1.1.4.2.2.2.21 g_toggle.c,1.1.1.3.2.2.2.21,1.1.1.3.2.2.2.22 g_vumeter.c,1.1.1.3.2.2.2.18,1.1.1.3.2.2.2.19 u_main.tk,1.1.1.4.2.7.4.68,1.1.1.4.2.7.4.69

Mathieu Bouchard matju at users.sourceforge.net
Wed May 12 01:04:50 CEST 2004


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

Modified Files:
      Tag: impd_0_37
	g_all_guis.c g_all_guis.h g_bang.c g_dropper.c g_hdial.c 
	g_hslider.c g_mycanvas.c g_numbox.c g_toggle.c g_vumeter.c 
	u_main.tk 
Log Message:
defenestrating savefn, dollar2raute, etc



Index: g_toggle.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_toggle.c,v
retrieving revision 1.1.1.3.2.2.2.21
retrieving revision 1.1.1.3.2.2.2.22
diff -C2 -d -r1.1.1.3.2.2.2.21 -r1.1.1.3.2.2.2.22
*** g_toggle.c	8 May 2004 19:49:26 -0000	1.1.1.3.2.2.2.21
--- g_toggle.c	11 May 2004 23:04:47 -0000	1.1.1.3.2.2.2.22
***************
*** 14,27 ****
  #include "m_pd.h"
  #include "g_canvas.h"
- #include "t_tk.h"
  #include "g_all_guis.h"
  #include <math.h>
  
- #ifdef MSW
- #include <io.h>
- #else
- #include <unistd.h>
- #endif
- 
  static t_class *toggle_class;
  
--- 14,20 ----
***************
*** 37,55 ****
  }
  
- static void toggle_save(t_gobj *z, t_binbuf *b)
- {
-     t_toggle *x = (t_toggle *)z;
-     t_iemgui *y = (t_iemgui *)x;
-     t_symbol *srl[3];
-     iemgui_save(&x->x_gui, srl, 0);
-     binbuf_addv(b, "ssiisiisssiiiiiiiff;", gensym("#X"),gensym("obj"),
- 	(t_int)y->x_obj.te_xpix, (t_int)y->x_obj.te_ypix,
- 	gensym("tgl"), y->x_w, iem_symargstoint(y),
- 	srl[0], srl[1], srl[2], y->x_ldx, y->x_ldy,
- 	y->x_font_style, y->x_fontsize,
- 	convert_color2(y->x_bcol), convert_color2(y->x_fcol), convert_color2(y->x_lcol),
- 	x->x_on, x->x_nonzero);
- }
- 
  static void toggle_action(t_toggle *x) {
      outlet_float(x->x_gui.x_obj.ob_outlet, x->x_on);
--- 30,33 ----
***************
*** 67,73 ****
  static void toggle_set(t_toggle *x, t_floatarg f)
  {
      x->x_on=f;
      if(f) x->x_nonzero=f;
!     iemgui_dodraw((t_iemgui *)x);
  }
  
--- 45,52 ----
  static void toggle_set(t_toggle *x, t_floatarg f)
  {
+     float on=x->x_on;
      x->x_on=f;
      if(f) x->x_nonzero=f;
!     if (on!=x->x_on) iemgui_dodraw((t_iemgui *)x);
  }
  
***************
*** 93,96 ****
--- 72,76 ----
      t_iemgui *y = (t_iemgui *)x;
      int isa;
+     binbuf_update(y,gensym("tgl"),argc,argv);
      if (!pd_scanargs(argc,argv,"iiaaaiiiiccci;?",
  	&y->x_w,&isa,&y->x_snd,&y->x_rcv,&y->x_lab,
***************
*** 113,117 ****
      t_iemgui *y = iemgui_new(toggle_class);
      t_toggle *x = (t_toggle *)y;
-     y->x_binbufindex = 2;
      x->x_on=0.0;
      x->x_nonzero=1.0;
--- 93,96 ----
***************
*** 151,154 ****
      class_setwidget(c, &wb);
      class_sethelpsymbol(c, gensym("toggle"));
-     class_setsavefn(c, toggle_save);
  }
--- 130,132 ----

Index: g_hdial.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_hdial.c,v
retrieving revision 1.1.1.4.2.2.2.22
retrieving revision 1.1.1.4.2.2.2.23
diff -C2 -d -r1.1.1.4.2.2.2.22 -r1.1.1.4.2.2.2.23
*** g_hdial.c	8 May 2004 21:13:34 -0000	1.1.1.4.2.2.2.22
--- g_hdial.c	11 May 2004 23:04:47 -0000	1.1.1.4.2.2.2.23
***************
*** 17,24 ****
  #include "m_pd.h"
  #include "g_canvas.h"
- //#include "t_tk.h"
  #include "g_all_guis.h"
  #include <math.h>
- 
  #define IEM_RADIO_MAX 128
  
--- 17,22 ----
***************
*** 26,37 ****
  static t_symbol *sym_hdl, *sym_vdl, *sym_vradio;
  
- /* widget helper functions */
- 
  static int isvert(t_radio *x) {
  	return x->x_flavor == sym_vdl || x->x_flavor == sym_vradio;
  }
  
- /* ------------------------ hdl widgetbehaviour----------------------------- */
- 
  static void radio_getrect(t_gobj *z, t_glist *glist, int *xp1, int *yp1, int *xp2, int *yp2)
  {
--- 24,31 ----
***************
*** 43,64 ****
  }
  
- static void radio_save(t_gobj *z, t_binbuf *b)
- {
-     t_radio *x = (t_radio *)z;
-     t_iemgui *y = (t_iemgui *)x;
-     t_symbol *srl[3];
-     iemgui_save(&x->x_gui, srl, 0);
-     binbuf_addv(b, "ssiisiiiisssiiiiiiii", gensym("#X"),gensym("obj"),
- 	(t_int)x->x_gui.x_obj.te_xpix, (t_int)x->x_gui.x_obj.te_ypix,
- 	x->x_flavor, x->x_gui.x_w,
- 	x->x_change, iem_symargstoint(&x->x_gui), x->x_number,
- 	srl[0], srl[1], srl[2],
- 	x->x_gui.x_ldx, x->x_gui.x_ldy,
- 	x->x_gui.x_font_style, x->x_gui.x_fontsize,
- 	convert_color2(y->x_bcol), convert_color2(y->x_fcol), convert_color2(y->x_lcol),
- 	x->x_on);
-     binbuf_addv(b, ";");
- }
- 
  static void radio_set(t_radio *x, t_floatarg f)
  {
--- 37,40 ----
***************
*** 170,173 ****
--- 146,150 ----
      t_iemgui *y = (t_iemgui *)x;
      int isa;
+     binbuf_update(y,gensym(isvert(x)?"vradio":"hradio"),argc,argv);
      if(!pd_scanargs(argc,argv,"ibiiaaaiiiiccci",
          &y->x_w,&x->x_change,&isa,&x->x_number,&y->x_snd,&y->x_rcv,&y->x_lab,
***************
*** 190,194 ****
      x->x_change=1;
      x->x_flavor=s;
-     y->x_binbufindex = 4;
      CLAMP(x->x_number,1,IEM_RADIO_MAX);
      CLAMP(x->x_on,0,x->x_number-1);
--- 167,170 ----
***************
*** 237,241 ****
      class_setwidget(c, &wb);
      class_sethelpsymbol(c, gensym("hradio"));
-     class_setsavefn(c, radio_save);
      class_addcreator((t_newmethod)radio_new, gensym("hradio"), A_GIMME, 0);
      class_addcreator((t_newmethod)radio_new, gensym("vradio"), A_GIMME, 0);
--- 213,216 ----

Index: u_main.tk
===================================================================
RCS file: /cvsroot/pure-data/pd/src/u_main.tk,v
retrieving revision 1.1.1.4.2.7.4.68
retrieving revision 1.1.1.4.2.7.4.69
diff -C2 -d -r1.1.1.4.2.7.4.68 -r1.1.1.4.2.7.4.69
*** u_main.tk	11 May 2004 12:16:57 -0000	1.1.1.4.2.7.4.68
--- u_main.tk	11 May 2004 23:04:47 -0000	1.1.1.4.2.7.4.69
***************
*** 23,26 ****
--- 23,32 ----
  option add *Radiobutton*selectColor #dd3000
  
+ #option add *Entry*background #d8c0c0 # motif-style
+ # option add *Entry*background #b0d8d8 # hospital-green (call it "lichen)
+ # option add *Entry*selectBackground #60b0b0
+ 
+ option add *Entry*background #b0c4d8
+ option add *Entry*selectBackground #6088b0
  #option add *background #555555
  #option add *foreground #aaffff
***************
*** 1302,1305 ****
--- 1308,1317 ----
  }
  
+ proc change_entry {self val} {
+ 	set v [expr [$self get]+$val]
+ 	$self delete 0 end
+ 	$self insert 0 $v
+ }
+ 
  proc properties_dialog {self w ok struct} {
      global _
***************
*** 1329,1338 ****
  		switch -regexp -- $c { ^# { set c 0x[string trimleft $c #] } }
  		set c [expr $c & 0xFCFCFC]
! 		button $f.color -text "      " -font {Courier 8} -width 10 \
  			-command [list iemgui_choose_col $w $name $label] \
  			-relief sunken -background [format #%6.6x $c] \
  			-highlightbackground       [format #%6.6x $c]
  		
! 		button $f.preset -text "..." -font {Helvetica 8} -command [list color_popup $self $w $name $i]
  		pack  $f.label $f.color $f.preset -side left
  	    }
--- 1341,1350 ----
  		switch -regexp -- $c { ^# { set c 0x[string trimleft $c #] } }
  		set c [expr $c & 0xFCFCFC]
! 		button $f.color -text "      " -font {Courier 8} -width 10 -pady 2 \
  			-command [list iemgui_choose_col $w $name $label] \
  			-relief sunken -background [format #%6.6x $c] \
  			-highlightbackground       [format #%6.6x $c]
  		
! 		button $f.preset -text "..." -pady 2 -font {Helvetica 8} -command [list color_popup $self $w $name $i]
  		pack  $f.label $f.color $f.preset -side left
  	    }
***************
*** 1366,1371 ****
  		    integer|float|fontsize {
  			frame $f.b -borderwidth 0
! 			button $f.b.1 -image icon_uparrow   -command "incr _($self:$name) +1"
! 			button $f.b.2 -image icon_downarrow -command "incr _($self:$name) -1"
  			pack $f.b.1 $f.b.2 -side top
  			pack $f.b -side left
--- 1378,1383 ----
  		    integer|float|fontsize {
  			frame $f.b -borderwidth 0
! 			button $f.b.1 -image icon_uparrow   -command "change_entry $f.entry +1"
! 			button $f.b.2 -image icon_downarrow -command "change_entry $f.entry -1"
  			pack $f.b.1 $f.b.2 -side top
  			pack $f.b -side left
***************
*** 1440,1469 ****
  proc gatom_escape {sym} {
      if {[string length $sym] == 0} {
!     	set ret "-"
      } else {
      	if {[string equal -length 1 $sym "-"]} {
!     	set ret [string replace $sym 0 0 "--"]
  	} else {
!     	    if {[string equal -length 1 $sym "$"]} {
!     		set ret [string replace $sym 0 0 "#"]
!     	    } else {
!     		set ret $sym
!     	    }
  	}
      }
-     return $ret
  }
  
  proc gatom_unescape {sym} {
      if {[string equal -length 1 $sym "-"]} {
!     	set ret [string replace $sym 0 0 ""]
      } else {
!     	if {[string equal -length 1 $sym "#"]} {
!     	    set ret [string replace $sym 0 0 "$"]
!     	} else {
!     	    set ret $sym
!     	}
      }
-     return $ret
  }
      	
--- 1452,1471 ----
  proc gatom_escape {sym} {
      if {[string length $sym] == 0} {
!     	return "-"
      } else {
      	if {[string equal -length 1 $sym "-"]} {
! 	    return [string replace $sym 0 0 "--"]
  	} else {
! 	    return $sym
  	}
      }
  }
  
  proc gatom_unescape {sym} {
      if {[string equal -length 1 $sym "-"]} {
!     	return [string replace $sym 0 0 ""]
      } else {
! 	return $sym
      }
  }
      	
***************
*** 1651,1655 ****
  proc encode_symbol {s} {
      if {[string length $s]==0} {set s "empty"}
!     if {[string index $s 0]=="$"} {set s [string replace $s 0 0 #] }
      return $s
  }
--- 1653,1657 ----
  proc encode_symbol {s} {
      if {[string length $s]==0} {set s "empty"}
!     regsub {^\$} $s {\\$} s
      return $s
  }
***************
*** 1673,1677 ****
  		.col        {set v [unparse_color $v]}
  	}
! 	lappend l $v
      }
      pd "$l ;"
--- 1675,1680 ----
  		.col        {set v [unparse_color $v]}
  	}
! 	#lappend l $v
! 	set l "$l $v"
      }
      pd "$l ;"

Index: g_all_guis.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_all_guis.c,v
retrieving revision 1.1.1.4.2.4.2.28
retrieving revision 1.1.1.4.2.4.2.29
diff -C2 -d -r1.1.1.4.2.4.2.28 -r1.1.1.4.2.4.2.29
*** g_all_guis.c	8 May 2004 19:44:01 -0000	1.1.1.4.2.4.2.28
--- g_all_guis.c	11 May 2004 23:04:47 -0000	1.1.1.4.2.4.2.29
***************
*** 27,30 ****
--- 27,31 ----
  
  #define IEM_FONT_MINSIZE 4
+ #define IEM_GUI_DEFAULTSIZE 15
  
  t_symbol *sym_empty;
***************
*** 34,37 ****
--- 35,39 ----
  /*------------------ global varaibles -------------------------*/
  
+ #define IEM_GUI_MAX_COLOR      30
  int iemgui_color_hex[]=
  {
***************
*** 57,80 ****
  int iemgui_clip_font(int size) {return MAX(size,IEM_FONT_MINSIZE);}
  
- t_symbol *iemgui_raute2dollar(t_symbol *s)
- {
-     char buf[MAXPDSTRING];
-     if (s->s_name[0]!='#') return s;
-     strncpy(buf, s->s_name, MAXPDSTRING);
-     buf[MAXPDSTRING-1] = 0;
-     buf[0] = '$';
-     return gensym(buf);
- }
- 
- t_symbol *iemgui_dollar2raute(t_symbol *s)
- {
-     char buf[MAXPDSTRING];
-     if (s->s_name[0]!='$') return s;
-     strncpy(buf, s->s_name, MAXPDSTRING);
-     buf[MAXPDSTRING-1] = 0;
-     buf[0] = '#';
-     return gensym(buf);
- }
- 
  void iemgui_verify_snd_ne_rcv(t_iemgui *x)
  {
--- 59,62 ----
***************
*** 96,131 ****
  }
  
- /* convert symbols in "$" form to the expanded symbols */
- static void iemgui_all_dollararg2sym(t_iemgui *x, t_symbol **sym)
- {
-     /* save unexpanded ones for later */
-     x->x_snd_unexpanded = sym[0]; sym[0] = canvas_realizedollar(x->x_glist, sym[0]);
-     x->x_rcv_unexpanded = sym[1]; sym[1] = canvas_realizedollar(x->x_glist, sym[1]);
-     x->x_lab_unexpanded = sym[2]; sym[2] = canvas_realizedollar(x->x_glist, sym[2]);
- }
- 
-     /* initialize a single symbol in unexpanded form.  We reach into the
-     binbuf to grab them; if there's nothing there, set it to the
-     fallback; if still nothing, set to "empty". */
- static void sym2dollararg(t_iemgui *x, t_symbol **symp, int indx, t_symbol *fallback)
- {
-     t_binbuf *b = x->x_obj.ob_binbuf;
-     if (*symp) return;
-     if (binbuf_getnatom(b) > indx) {
-     	char buf[80];
- 	atom_string(binbuf_getvec(b) + indx, buf, 80);
- 	*symp = gensym(buf);
-     } else if (fallback) *symp = fallback;
-     else *symp = gensym("empty");
- }
- 
- /* get the unexpanded versions of the symbols; initialize them if necessary. */
- static void iemgui_all_sym2dollararg(t_iemgui *x, t_symbol **sym) {
-     int i=x->x_binbufindex;
-     sym2dollararg(x, &x->x_snd_unexpanded, i+1, x->x_snd); sym[0] = x->x_snd_unexpanded;
-     sym2dollararg(x, &x->x_rcv_unexpanded, i+2, x->x_rcv); sym[1] = x->x_rcv_unexpanded;
-     sym2dollararg(x, &x->x_lab_unexpanded, i+3, x->x_lab); sym[2] = x->x_lab_unexpanded;
- }
- 
  int convert_color2(int x) {
  	return ~ (((0xfc0000&x)>>6) | ((0xfc00&x)>>4) | ((0xfc&x)>>2));
--- 78,81 ----
***************
*** 138,155 ****
  }
  
- static void iemgui_all_raute2dollar(t_symbol **srlsym)
- {
-     srlsym[0] = iemgui_raute2dollar(srlsym[0]);
-     srlsym[1] = iemgui_raute2dollar(srlsym[1]);
-     srlsym[2] = iemgui_raute2dollar(srlsym[2]);
- }
- 
  static void iemgui_send(t_iemgui *x, t_symbol *s)
  {
!     t_symbol *snd = iemgui_raute2dollar(s);
!     x->x_snd_unexpanded = snd;
!     x->x_snd = canvas_realizedollar(x->x_glist, snd);
!     //post("send: before %s, after %s", x->x_snd_unexpanded->s_name, x->x_snd->s_name);
!     x->x_snd_able = strcmp(s->s_name, "empty");
      iemgui_verify_snd_ne_rcv(x);
      iemgui_dodraw(x);
--- 88,95 ----
  }
  
  static void iemgui_send(t_iemgui *x, t_symbol *s)
  {
!     x->x_snd = canvas_realizedollar(x->x_glist, s);
!     x->x_snd_able = !!strcmp(s->s_name, "empty");
      iemgui_verify_snd_ne_rcv(x);
      iemgui_dodraw(x);
***************
*** 158,165 ****
  static void iemgui_receive(t_iemgui *x, t_symbol *s)
  {
!     t_symbol *rcv = iemgui_raute2dollar(s);
      int rcvable = !!strcmp(s->s_name, "empty");
-     x->x_rcv_unexpanded = rcv;
-     x->x_rcv = rcv = canvas_realizedollar(x->x_glist, rcv);
      if(rcvable) {
  	if(rcv!=x->x_rcv) {
--- 98,103 ----
  static void iemgui_receive(t_iemgui *x, t_symbol *s)
  {
!     t_symbol *rcv = canvas_realizedollar(x->x_glist, s);
      int rcvable = !!strcmp(s->s_name, "empty");
      if(rcvable) {
  	if(rcv!=x->x_rcv) {
***************
*** 178,183 ****
  
  static void iemgui_label(t_iemgui *x, t_symbol *s) {
!     t_symbol *lab = x->x_lab_unexpanded = iemgui_raute2dollar(s);
!     x->x_lab = lab = canvas_realizedollar(x->x_glist, lab);
      if(glist_isvisible(x->x_glist)) iemgui_dodraw(x);
  }
--- 116,120 ----
  
  static void iemgui_label(t_iemgui *x, t_symbol *s) {
!     x->x_lab = s;
      if(glist_isvisible(x->x_glist)) iemgui_dodraw(x);
  }
***************
*** 246,296 ****
  {((t_iemgui *)z)->x_draw(z, glist, vis ? 0 : IEM_GUI_DRAW_MODE_ERASE);}
  
! void iemgui_save(t_iemgui *iemgui, t_symbol **srl, int *col)
! {
!     srl[0] = iemgui->x_snd;
!     srl[1] = iemgui->x_rcv;
!     srl[2] = iemgui->x_lab;
!     iemgui_all_sym2dollararg(iemgui, srl);
!     if (!col) return;
!     col[0] = convert_color2(iemgui->x_bcol);
!     col[1] = convert_color2(iemgui->x_fcol);
!     col[2] = convert_color2(iemgui->x_lcol);
! }
! 
! /* it used to be that [bng] et al would call iemgui_properties(&x->x_gui, srl);
! when opening a dialog. i don't exactly know what this code is for... */
! /*
! static void iemgui_properties(t_iemgui *iemgui, t_symbol **srl)
! {
!     srl[0] = iemgui->x_snd;
!     srl[1] = iemgui->x_rcv;
!     srl[2] = iemgui->x_lab;
!     iemgui_all_sym2dollararg(iemgui, srl);
!     srl[0] = iemgui_dollar2raute(srl[0]);
!     srl[1] = iemgui_dollar2raute(srl[1]);
!     srl[2] = iemgui_dollar2raute(srl[2]);
! }
! */
! 
! /*
! int iemgui_dialog(t_iemgui *iemgui, t_symbol **srl, int argc, t_atom *argv)
! {
!     iemgui_all_raute2dollar(srl);
!     iemgui_all_dollararg2sym(iemgui, srl);
!     if(rcvable) {
! 	if(strcmp(srl[1]->s_name, iemgui->x_rcv->s_name)) {
! 	    if(iemgui->x_rcv_able) pd_unbind((t_pd *)iemgui, iemgui->x_rcv);
! 	    iemgui->x_rcv = srl[1];
! 	    pd_bind((t_pd *)iemgui, iemgui->x_rcv);
  	}
!     }
!     else if(!rcvable && iemgui->x_rcv_able) {
! 	pd_unbind((t_pd *)iemgui, iemgui->x_rcv);
! 	iemgui->x_rcv = srl[1];
!     }
!     iemgui->x_snd = srl[0];
!     iemgui->x_lab = srl[2];
!     return 0;
! }
  */
  
--- 183,196 ----
  {((t_iemgui *)z)->x_draw(z, glist, vis ? 0 : IEM_GUI_DRAW_MODE_ERASE);}
  
! /*int iemgui_dialog(t_iemgui *x, t_symbol **srl, int argc, t_atom *argv) {
! 	if(rcvable) {
! 		if(srl[1]==x->x_rcv)) {
! 			if(x->x_rcv_able) pd_unbind((t_pd *)x, x->x_rcv);
! 			x->x_rcv = srl[1]; pd_bind((t_pd *)x, x->x_rcv);
! 		}
! 	} else if(!rcvable && x->x_rcv_able) {
! 		pd_unbind((t_pd *)x, x->x_rcv); x->x_rcv = srl[1];
  	}
! 	x->x_snd = srl[0]; x->x_lab = srl[2]; return 0;}
  */
  
***************
*** 381,385 ****
  	return 1;
  err:
! 	/* post("WARNING: pd_scanargs failed; fmt=%s, i=%d",fmt,i); */
  	return 0;
  }
--- 281,285 ----
  	return 1;
  err:
! 	post("WARNING: pd_scanargs failed; fmt=%s, i=%d",fmt,i);
  	return 0;
  }
***************
*** 401,405 ****
  	}
  	binbuf_gettext(buf,&s,&n);
! 	if (s[n-1]=='\n') n--;
  	sys_vgui("update_object %x {%.*s}\n",
  	    /*c->c_wb==&text_widgetbehavior ?
--- 301,306 ----
  	}
  	binbuf_gettext(buf,&s,&n);
! 	post("%.*s",n,s);
! 	binbuf_gettext(buf,&s,&n);
  	sys_vgui("update_object %x {%.*s}\n",
  	    /*c->c_wb==&text_widgetbehavior ?
***************
*** 414,418 ****
  void sys_mgui(t_iemgui *self, const char *sel, const char *fmt, ...) {
  	char buf[4096];
! 	int i=0, n=4096;
  	t_canvas *canvas=glist_getcanvas(self->x_glist);
  	va_list val;
--- 315,319 ----
  void sys_mgui(t_iemgui *self, const char *sel, const char *fmt, ...) {
  	char buf[4096];
! 	int i=0, n=sizeof(buf);
  	t_canvas *canvas=glist_getcanvas(self->x_glist);
  	va_list val;
***************
*** 437,441 ****
  	i+=snprintf(buf+i,n-i,"\n");
  	if (i>=n) goto over;
! 	//fprintf(stderr,"%s",buf);
  	sys_gui(buf);
  	return;
--- 338,342 ----
  	i+=snprintf(buf+i,n-i,"\n");
  	if (i>=n) goto over;
! 	fprintf(stderr,"%s",buf);
  	sys_gui(buf);
  	return;
***************
*** 470,476 ****
  	x->x_selected = x->x_finemoved = x->x_put_in2out =
  		x->x_change = x->x_lin0_log1 = x->x_steady = 0;
! 	x->x_snd = gensym("empty"); x->x_snd_unexpanded = 0;
! 	x->x_rcv = gensym("empty"); x->x_rcv_unexpanded = 0;
! 	x->x_lab = gensym("empty"); x->x_lab_unexpanded = 0;
  	x->x_bcol = 0xffffff;
  	x->x_fcol = 0x000000;
--- 371,377 ----
  	x->x_selected = x->x_finemoved = x->x_put_in2out =
  		x->x_change = x->x_lin0_log1 = x->x_steady = 0;
! 	x->x_snd = gensym("empty");
! 	x->x_rcv = gensym("empty");
! 	x->x_lab = gensym("empty");
  	x->x_bcol = 0xffffff;
  	x->x_fcol = 0x000000;
***************
*** 508,509 ****
--- 409,421 ----
  
  EXTERN void iemgui_init(t_iemgui *x, t_floatarg f) {x->x_loadinit = !!f;}
+ 
+ void binbuf_update(t_iemgui *x, t_symbol *qlass, int argc, t_atom *argv) {
+     t_binbuf *buf = x->x_obj.te_binbuf;
+     if (buf) {
+ 	t_atom foo;
+ 	binbuf_clear(buf);
+ 	SETSYMBOL(&foo,qlass);
+ 	binbuf_add(buf,1,&foo);
+ 	binbuf_add(buf,argc,argv);
+     }
+ }

Index: g_mycanvas.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_mycanvas.c,v
retrieving revision 1.1.1.3.2.2.2.14
retrieving revision 1.1.1.3.2.2.2.15
diff -C2 -d -r1.1.1.3.2.2.2.14 -r1.1.1.3.2.2.2.15
*** g_mycanvas.c	8 May 2004 19:54:14 -0000	1.1.1.3.2.2.2.14
--- g_mycanvas.c	11 May 2004 23:04:47 -0000	1.1.1.3.2.2.2.15
***************
*** 12,25 ****
  #include "m_pd.h"
  #include "g_canvas.h"
- #include "t_tk.h"
  #include "g_all_guis.h"
  #include <math.h>
  
- #ifdef MSW
- #include <io.h>
- #else
- #include <unistd.h>
- #endif
- 
  static t_class *my_canvas_class;
  
--- 12,18 ----
***************
*** 35,54 ****
  }
  
- static void my_canvas_save(t_gobj *z, t_binbuf *b)
- {
-     t_my_canvas *x = (t_my_canvas *)z;
-     t_iemgui *y = (t_iemgui *)x;
-     t_symbol *srl[3];
-     iemgui_save(&x->x_gui, srl, 0);
-     binbuf_addv(b, "ssiisiiisssiiiiiii", gensym("#X"),gensym("obj"),
- 	(t_int)x->x_gui.x_obj.te_xpix, (t_int)x->x_gui.x_obj.te_ypix,
- 	gensym("cnv"), x->x_gui.x_w, x->x_vis_w, x->x_vis_h,
- 	srl[0], srl[1], srl[2], x->x_gui.x_ldx, x->x_gui.x_ldy,
- 	x->x_gui.x_font_style, x->x_gui.x_fontsize,
- 	convert_color2(y->x_bcol), convert_color2(y->x_lcol),
- 	iem_symargstoint(&x->x_gui));
-     binbuf_addv(b, ";");
- }
- 
  static void my_canvas_get_pos(t_my_canvas *x)
  {
--- 28,31 ----
***************
*** 79,86 ****
      t_iemgui *y = (t_iemgui *)x;
      int isa=0;
      if (!pd_scanargs(argc,argv,"iiiaaaiiiicc;i",&y->x_w,&x->x_vis_w,&x->x_vis_h,
  	&y->x_snd,&y->x_rcv,&y->x_lab,&y->x_ldx,&y->x_ldy,
  	&y->x_font_style,&y->x_fontsize,&y->x_bcol,&y->x_lcol,&isa)) return;
-     y->x_binbufindex = 3;
      iem_inttosymargs(y,isa);
      y->x_h = y->x_w = MAX(y->x_w,1);
--- 56,63 ----
      t_iemgui *y = (t_iemgui *)x;
      int isa=0;
+     binbuf_update(y,gensym("cnv"),argc,argv);
      if (!pd_scanargs(argc,argv,"iiiaaaiiiicc;i",&y->x_w,&x->x_vis_w,&x->x_vis_h,
  	&y->x_snd,&y->x_rcv,&y->x_lab,&y->x_ldx,&y->x_ldy,
  	&y->x_font_style,&y->x_fontsize,&y->x_bcol,&y->x_lcol,&isa)) return;
      iem_inttosymargs(y,isa);
      y->x_h = y->x_w = MAX(y->x_w,1);
***************
*** 135,138 ****
      class_setwidget(c, &wb);
      class_sethelpsymbol(c, gensym("my_canvas"));
-     class_setsavefn(c, my_canvas_save);
  }
--- 112,114 ----

Index: g_all_guis.h
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_all_guis.h,v
retrieving revision 1.1.1.4.2.2.2.23
retrieving revision 1.1.1.4.2.2.2.24
diff -C2 -d -r1.1.1.4.2.2.2.23 -r1.1.1.4.2.2.2.24
*** g_all_guis.h	8 May 2004 19:44:01 -0000	1.1.1.4.2.2.2.23
--- g_all_guis.h	11 May 2004 23:04:47 -0000	1.1.1.4.2.2.2.24
***************
*** 1,26 ****
! /* 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. */
! /* g_all_guis.h written by Thomas Musil, Copyright (c) IEM KUG Graz Austria 2000-2001 */
! /* Copyright 2004 by Mathieu Bouchard */
  
- #define IEM_GUI_COLOR_SELECTED 255
- #define IEM_GUI_COLOR_NORMAL   0
- #define IEM_GUI_MAX_COLOR      30
- #define IEM_GUI_DEFAULTSIZE 15
- #define IEM_GUI_MAXSIZE 1000
- #define IEM_SL_DEFAULTSIZE 128
- #define IEM_SL_MINSIZE 2
  #define IEM_GUI_DRAW_MODE_SELECT 3
  #define IEM_GUI_DRAW_MODE_ERASE  4
- #define IS_A_POINTER(atom,index) ((atom+index)->a_type == A_POINTER)
  #define IS_A_FLOAT(atom,index)   ((atom+index)->a_type == A_FLOAT)
  #define IS_A_SYMBOL(atom,index)  ((atom+index)->a_type == A_SYMBOL)
- #define IS_A_DOLLAR(atom,index)  ((atom+index)->a_type == A_DOLLAR)
- #define IS_A_DOLLSYM(atom,index) ((atom+index)->a_type == A_DOLLSYM)
- /*#define IEM_FSTYLE_FLAGS_ALL 0x007fffff*/
- /*#define IEM_INIT_ARGS_ALL    0x01ffffff*/
- #define IEMGUI_MAX_NUM_LEN 32
- 
  typedef void (*t_iemfunptr)(void *x, t_glist *glist, int mode);
  
--- 1,15 ----
! /*
!   This file is part of PureData (impd branch)
!   Copyright (c) 1997-1999 Miller Puckette.
!   Copyright 2000-2001 IEM KUG Graz Austria (Thomas Musil)
!   Copyright 2004 by Mathieu Bouchard
!   For information on usage and redistribution, and for a DISCLAIMER OF ALL
!   WARRANTIES, see the file, "LICENSE.txt", in this distribution.
! */
  
  #define IEM_GUI_DRAW_MODE_SELECT 3
  #define IEM_GUI_DRAW_MODE_ERASE  4
  #define IS_A_FLOAT(atom,index)   ((atom+index)->a_type == A_FLOAT)
  #define IS_A_SYMBOL(atom,index)  ((atom+index)->a_type == A_SYMBOL)
  typedef void (*t_iemfunptr)(void *x, t_glist *glist, int mode);
  
***************
*** 30,34 ****
      t_glist *x_glist;
      t_iemfunptr x_draw;
!     int x_h,   x_w;
      int x_ldx, x_ldy;
      /* formerly x_isa: */
--- 19,23 ----
      t_glist *x_glist;
      t_iemfunptr x_draw;
!     int x_h, x_w;
      int x_ldx, x_ldy;
      /* formerly x_isa: */
***************
*** 40,46 ****
      int x_fcol, x_bcol, x_lcol; /* foreground, background, label colors */
      t_symbol *x_snd, *x_rcv, *x_lab; /* send, receive, label symbols */
-     /* same 3, with '$' unexpanded */
-     t_symbol *x_snd_unexpanded, *x_rcv_unexpanded, *x_lab_unexpanded;
-     int x_binbufindex; /* where in binbuf to find snd/rcv/lab */
  } t_iemgui;
  
--- 29,32 ----
***************
*** 122,126 ****
      double   x_max;
      double   x_k;
!     char     x_buf[IEMGUI_MAX_NUM_LEN];
      int      x_numwidth;
      int      x_log_height;
--- 108,112 ----
      double   x_max;
      double   x_k;
!     char     x_buf[32];
      int      x_numwidth;
      int      x_log_height;
***************
*** 132,136 ****
  EXTERN void iemgui_verify_snd_ne_rcv(t_iemgui *iemgui);
  EXTERN t_symbol *iemgui_new_dogetname(t_iemgui *iemgui, int indx, t_atom *argv);
! EXTERN void iemgui_size      (t_iemgui *x);
  
  /* adds the aforementioned methods to a iemgui class (pd has no inheritance) */
--- 118,122 ----
  EXTERN void iemgui_verify_snd_ne_rcv(t_iemgui *iemgui);
  EXTERN t_symbol *iemgui_new_dogetname(t_iemgui *iemgui, int indx, t_atom *argv);
! EXTERN void iemgui_size(t_iemgui *x);
  
  /* adds the aforementioned methods to a iemgui class (pd has no inheritance) */
***************
*** 142,147 ****
  EXTERN void iemgui_delete(t_gobj *z, t_glist *glist);
  EXTERN void iemgui_vis(t_gobj *z, t_glist *glist, int vis);
- EXTERN void iemgui_save(t_iemgui *iemgui, t_symbol **srl, int *bflcol);
- EXTERN int  iemgui_dialog(t_iemgui *iemgui, t_symbol **srl, int argc, t_atom *argv);
  
  /* miscellaneous */
--- 128,131 ----
***************
*** 162,163 ****
--- 146,148 ----
  EXTERN void iemgui_dodraw(t_iemgui *x);
  EXTERN void iemgui_init(t_iemgui *x, t_floatarg f);
+ EXTERN void binbuf_update(t_iemgui *x, t_symbol *qlass, int argc, t_atom *argv);

Index: g_vumeter.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_vumeter.c,v
retrieving revision 1.1.1.3.2.2.2.18
retrieving revision 1.1.1.3.2.2.2.19
diff -C2 -d -r1.1.1.3.2.2.2.18 -r1.1.1.3.2.2.2.19
*** g_vumeter.c	8 May 2004 21:13:34 -0000	1.1.1.3.2.2.2.18
--- g_vumeter.c	11 May 2004 23:04:47 -0000	1.1.1.3.2.2.2.19
***************
*** 12,26 ****
  #include "m_pd.h"
  #include "g_canvas.h"
- #include "t_tk.h"
  #include "g_all_guis.h"
  #include <math.h>
! 
! #ifdef MSW
! #include <io.h>
! #else
! #include <unistd.h>
! #endif
! 
! #define IEM_VU_STEPS       40
  
  static int iemgui_vu_db2i[]=
--- 12,18 ----
  #include "m_pd.h"
  #include "g_canvas.h"
  #include "g_all_guis.h"
  #include <math.h>
! #define IEM_VU_STEPS 40
  
  static int iemgui_vu_db2i[]=
***************
*** 40,49 ****
  };
  
- /* ----- vu  gui-peak- & rms- vu-meter-display ---------- */
- 
  static t_class *vu_class;
  
- /* widget helper functions */
- 
  static void vu_update(t_vu *x, t_glist *glist)
  {if(glist_isvisible(glist)) sys_mgui((t_iemgui *)x,"set","ii",x->x_rms,x->x_peak);}
--- 32,37 ----
***************
*** 58,63 ****
  }
  
- /* ------------------------ vu widgetbehaviour----------------------------- */
- 
  static void vu_getrect(t_gobj *z, t_glist *glist,
  int *xp1, int *yp1, int *xp2, int *yp2)
--- 46,49 ----
***************
*** 70,87 ****
  }
  
- static void vu_save(t_gobj *z, t_binbuf *b)
- {
-     t_vu *x = (t_vu *)z;
-     t_iemgui *y = (t_iemgui *)x;
-     t_symbol *srl[3];
-     iemgui_save(&x->x_gui, srl, 0);
-     binbuf_addv(b, "ssiisiissiiiiiiii;", gensym("#X"),gensym("obj"),
- 	(t_int)y->x_obj.te_xpix, (t_int)y->x_obj.te_ypix,
- 	gensym("vu"), y->x_w, y->x_h, srl[1], srl[2],
- 	y->x_ldx, y->x_ldy, y->x_font_style, y->x_fontsize,
- 	convert_color2(y->x_bcol), convert_color2(y->x_lcol),
- 	x->x_scale, iem_symargstoint(y));
- }
- 
  void vu_check_height(t_vu *x, int h)
  {
--- 56,59 ----
***************
*** 147,155 ****
      y->x_h=IEM_VU_STEPS*3;
      x->x_scale = 1;
!     x->x_peak = 0;
!     x->x_rms = 0;
!     x->x_fp = -101.0;
!     x->x_fr = -101.0;
!     y->x_binbufindex = 1;
      vu_check_height(x, y->x_h);
      inlet_new(&y->x_obj, &y->x_obj.ob_pd, &s_float, gensym("ft1"));
--- 119,124 ----
      y->x_h=IEM_VU_STEPS*3;
      x->x_scale = 1;
!     x->x_peak = x->x_rms = 0; /* ??? */
!     x->x_fp = x->x_fr = -101.0;
      vu_check_height(x, y->x_h);
      inlet_new(&y->x_obj, &y->x_obj.ob_pd, &s_float, gensym("ft1"));
***************
*** 185,188 ****
      class_setwidget(c,&wb);
      class_sethelpsymbol(c, gensym("vu"));
-     class_setsavefn(c, vu_save);
  }
--- 154,156 ----

Index: g_hslider.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_hslider.c,v
retrieving revision 1.1.1.3.2.2.2.25
retrieving revision 1.1.1.3.2.2.2.26
diff -C2 -d -r1.1.1.3.2.2.2.25 -r1.1.1.3.2.2.2.26
*** g_hslider.c	8 May 2004 21:13:34 -0000	1.1.1.3.2.2.2.25
--- g_hslider.c	11 May 2004 23:04:47 -0000	1.1.1.3.2.2.2.26
***************
*** 14,28 ****
  #include "m_pd.h"
  #include "g_canvas.h"
- #include "t_tk.h"
  #include "g_all_guis.h"
  #include <math.h>
  
- #ifdef MSW
- #include <io.h>
- #else
- #include <unistd.h>
- #endif
- 
  #define CLAMP(_var,_min,_max) { if (_var<_min) _var=_min; else if (_var>_max) _var=_max; }
  
  static t_class *slider_class;
--- 14,23 ----
  #include "m_pd.h"
  #include "g_canvas.h"
  #include "g_all_guis.h"
  #include <math.h>
  
  #define CLAMP(_var,_min,_max) { if (_var<_min) _var=_min; else if (_var>_max) _var=_max; }
+ #define IEM_SL_DEFAULTSIZE 128
+ #define IEM_SL_MINSIZE 2
  
  static t_class *slider_class;
***************
*** 46,66 ****
  }
  
- static void slider_save(t_gobj *z, t_binbuf *b)
- {
-     t_slider *x = (t_slider *)z;
-     t_iemgui *y = (t_iemgui *)x;
-     t_symbol *srl[3];
-     iemgui_save(&x->x_gui, srl, 0);
-     binbuf_addv(b, "ssiisiiffiisssiiiiiiiii", gensym("#X"),gensym("obj"),
- 	(t_int)y->x_obj.te_xpix, (t_int)y->x_obj.te_ypix,
- 	isvert(x) ? gensym("vsl") : gensym("hsl"), x->x_gui.x_w, x->x_gui.x_h,
- 	(float)x->x_min, (float)x->x_max, x->x_gui.x_lin0_log1, iem_symargstoint(&x->x_gui),
- 	srl[0], srl[1], srl[2],	x->x_gui.x_ldx, x->x_gui.x_ldy,
- 	x->x_gui.x_font_style, x->x_gui.x_fontsize,
- 	convert_color2(y->x_bcol), convert_color2(y->x_fcol), convert_color2(y->x_lcol),
- 	x->x_val, x->x_gui.x_steady);
-     binbuf_addv(b, ";");
- }
- 
  static void slider_check_width(t_slider *x, int w)
  {
--- 41,44 ----
***************
*** 152,156 ****
  {
      t_iemgui *y = (t_iemgui *)x;
!     int isa,v,steady,lilo;
      if(!pd_scanargs(argc,argv,"iiddbiaaaiiiiccci;b",
  	&y->x_w,&y->x_h,&x->x_min,&x->x_max,&lilo,&isa,
--- 130,135 ----
  {
      t_iemgui *y = (t_iemgui *)x;
!     int isa,v,steady=1,lilo;
!     binbuf_update(y,gensym(isvert(x)?"vsl":"hsl"),argc,argv);
      if(!pd_scanargs(argc,argv,"iiddbiaaaiiiiccci;b",
  	&y->x_w,&y->x_h,&x->x_min,&x->x_max,&lilo,&isa,
***************
*** 180,184 ****
      x->x_max=(double)(IEM_SL_DEFAULTSIZE-1);
      if (isvert(x)) y->x_h=IEM_SL_DEFAULTSIZE; else y->x_w=IEM_SL_DEFAULTSIZE;
-     y->x_binbufindex = 6;
      outlet_new(&y->x_obj, &s_float);
      slider_reload(x,0,argc,argv);
--- 159,162 ----
***************
*** 226,229 ****
      class_setwidget(c, &wb);
      class_sethelpsymbol(c, gensym("hslider"));
-     class_setsavefn(c, slider_save);
  }
--- 204,206 ----

Index: g_dropper.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/g_dropper.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
*** g_dropper.c	10 May 2004 12:14:46 -0000	1.1.2.17
--- g_dropper.c	11 May 2004 23:04:47 -0000	1.1.2.18
***************
*** 34,52 ****
  }
  
- static void dropper_save(t_gobj *z, t_binbuf *b)
- {
-     t_dropper *x = (t_dropper *)z;
-     t_iemgui *y = (t_iemgui *)x;
-     t_symbol *srl[3];
-     iemgui_save(y,srl,0);
-     binbuf_addv(b, "ssiisiisssiiiiiii", gensym("#X"),gensym("obj"),
- 	(t_int)((t_text *)x)->te_xpix,(t_int)((t_text *)x)->te_ypix,
- 	gensym("dropper"), y->x_w, iem_symargstoint(&x->x_gui),
- 	srl[0], srl[1], srl[2],
- 	y->x_ldx, y->x_ldy, y->x_font_style, y->x_fontsize,
- 	convert_color2(y->x_bcol), convert_color2(y->x_fcol), convert_color2(y->x_lcol));
-     binbuf_addv(b, ";");
- }
- 
  static void dropper_bang(t_dropper *x)
  {
--- 34,37 ----
***************
*** 65,69 ****
  {
      t_iemgui *y = (t_iemgui *)x;
-     y->x_binbufindex = 2;
      int isa=0;
      if (!pd_scanargs(argc,argv,"iiaaaiiiiccc",
--- 50,53 ----
***************
*** 114,117 ****
      class_setwidget(c, &wb);
      class_sethelpsymbol(c, gensym("dropper"));
-     class_setsavefn(c, dropper_save);
  }
--- 98,100 ----

Index: g_bang.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_bang.c,v
retrieving revision 1.1.1.3.2.2.2.24
retrieving revision 1.1.1.3.2.2.2.25
diff -C2 -d -r1.1.1.3.2.2.2.24 -r1.1.1.3.2.2.2.25
*** g_bang.c	8 May 2004 19:49:26 -0000	1.1.1.3.2.2.2.24
--- g_bang.c	11 May 2004 23:04:47 -0000	1.1.1.3.2.2.2.25
***************
*** 14,27 ****
  #include "m_pd.h"
  #include "g_canvas.h"
- #include "t_tk.h"
  #include "g_all_guis.h"
  #include <math.h>
  
- #ifdef MSW
- #include <io.h>
- #else
- #include <unistd.h>
- #endif
- 
  static t_class *bng_class;
  
--- 14,20 ----
***************
*** 37,55 ****
  }
  
- static void bng_save(t_gobj *z, t_binbuf *b)
- {
-     t_bng *x = (t_bng *)z;
-     t_iemgui *y = (t_iemgui *)x;
-     t_symbol *srl[3];
-     iemgui_save(y,srl,0);
-     binbuf_addv(b, "ssiisiiiisssiiiiiii", gensym("#X"),gensym("obj"),
- 	(t_int)((t_text *)x)->te_xpix, (t_int)((t_text *)x)->te_ypix,
- 	gensym("bng"), y->x_w, x->x_flashtime_hold, x->x_flashtime_break,
- 	iem_symargstoint(&x->x_gui), srl[0], srl[1], srl[2],
- 	y->x_ldx, y->x_ldy, y->x_font_style, y->x_fontsize,
- 	convert_color2(y->x_bcol), convert_color2(y->x_fcol), convert_color2(y->x_lcol));
-     binbuf_addv(b, ";");
- }
- 
  void bng_check_minmax(t_bng *x, int ftbreak, int fthold) {
      if(ftbreak > fthold) {int h = ftbreak; ftbreak = fthold; fthold = h;}
--- 30,33 ----
***************
*** 115,120 ****
  {
      t_iemgui *y = (t_iemgui *)x;
-     y->x_binbufindex = 4;
      int isa=0;
      if (!pd_scanargs(argc,argv,"iiiiaaaiiiiccc",
  	&y->x_w,&x->x_flashtime_hold,&x->x_flashtime_break,&isa,&y->x_snd,&y->x_rcv,&y->x_lab,
--- 93,98 ----
  {
      t_iemgui *y = (t_iemgui *)x;
      int isa=0;
+     binbuf_update(y,gensym("bng"),argc,argv);
      if (!pd_scanargs(argc,argv,"iiiiaaaiiiiccc",
  	&y->x_w,&x->x_flashtime_hold,&x->x_flashtime_break,&isa,&y->x_snd,&y->x_rcv,&y->x_lab,
***************
*** 183,186 ****
      class_setwidget(c, &wb);
      class_sethelpsymbol(c, gensym("bng"));
-     class_setsavefn(c, bng_save);
  }
--- 161,163 ----

Index: g_numbox.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_numbox.c,v
retrieving revision 1.1.1.4.2.2.2.20
retrieving revision 1.1.1.4.2.2.2.21
diff -C2 -d -r1.1.1.4.2.2.2.20 -r1.1.1.4.2.2.2.21
*** g_numbox.c	8 May 2004 21:10:43 -0000	1.1.1.4.2.2.2.20
--- g_numbox.c	11 May 2004 23:04:47 -0000	1.1.1.4.2.2.2.21
***************
*** 11,24 ****
  #include "m_pd.h"
  #include "g_canvas.h"
- #include "t_tk.h"
  #include "g_all_guis.h"
  #include <math.h>
- 
- #ifdef MSW
- #include <io.h>
- #else
- #include <unistd.h>
- #endif
- 
  #define CH post("%d: change=%d", __LINE__, (int)x->x_gui.x_change);
   
--- 11,16 ----
***************
*** 60,80 ****
  }
  
- static void my_numbox_save(t_gobj *z, t_binbuf *b)
- {
-     t_my_numbox *x = (t_my_numbox *)z;
-     t_iemgui *y = (t_iemgui *)x;
-     t_symbol *srl[3];
-     iemgui_save(&x->x_gui, srl, 0);
-     binbuf_addv(b, "ssiisiiffiisssiiiiiiifi", gensym("#X"),gensym("obj"),
- 	(t_int)x->x_gui.x_obj.te_xpix, (t_int)x->x_gui.x_obj.te_ypix,
- 	gensym("nbx"), x->x_gui.x_w, x->x_gui.x_h, x->x_min, x->x_max,
- 	x->x_gui.x_lin0_log1, iem_symargstoint(&x->x_gui),
- 	srl[0], srl[1], srl[2], x->x_gui.x_ldx, x->x_gui.x_ldy,
- 	x->x_gui.x_font_style, x->x_gui.x_fontsize,
- 	convert_color2(y->x_bcol), convert_color2(y->x_fcol), convert_color2(y->x_lcol),
- 	x->x_val, x->x_log_height);
-     binbuf_addv(b, ";");
- }
- 
  int my_numbox_check_minmax(t_my_numbox *x)
  {
--- 52,55 ----
***************
*** 164,167 ****
--- 139,143 ----
      t_iemgui *y = (t_iemgui *)x;
      int isa=0, lilo=0, w;
+     binbuf_update(y,gensym("nbx"),argc,argv);
      if(!pd_scanargs(argc,argv,"iiddbiaaaiiiicccd;i",
  	&y->x_w,&y->x_h,&x->x_min,&x->x_max,&lilo,&isa,&y->x_snd,&y->x_rcv,&y->x_lab,
***************
*** 192,196 ****
      x->x_min=-1.0e+37;
      x->x_max=1.0e+37;
-     y->x_binbufindex = 6;
      x->x_buf[0]=0;
      x->x_clock_reset = clock_new(x, (t_method)my_numbox_tick_reset);
--- 168,171 ----
***************
*** 240,243 ****
      class_setwidget(c, &wb);
      class_sethelpsymbol(c, gensym("numbox2"));
-     class_setsavefn(c, my_numbox_save);
  }
--- 215,217 ----





More information about the Pd-cvs mailing list