[PD-cvs] pd/src g_all_guis.c,1.1.1.4.2.4.2.24,1.1.1.4.2.4.2.25 g_bang.c,1.1.1.3.2.2.2.21,1.1.1.3.2.2.2.22 g_dropper.c,1.1.2.11,1.1.2.12 g_hdial.c,1.1.1.4.2.2.2.19,1.1.1.4.2.2.2.20 g_hslider.c,1.1.1.3.2.2.2.21,1.1.1.3.2.2.2.22 g_mycanvas.c,1.1.1.3.2.2.2.11,1.1.1.3.2.2.2.12 g_numbox.c,1.1.1.4.2.2.2.16,1.1.1.4.2.2.2.17 g_toggle.c,1.1.1.3.2.2.2.17,1.1.1.3.2.2.2.18 g_vumeter.c,1.1.1.3.2.2.2.15,1.1.1.3.2.2.2.16 g_all_guis.h,1.1.1.4.2.2.2.20,1.1.1.4.2.2.2.21

Mathieu Bouchard matju at users.sourceforge.net
Mon May 3 23:18:41 CEST 2004


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

Modified Files:
      Tag: impd_0_37
	g_all_guis.c g_bang.c g_dropper.c g_hdial.c g_hslider.c 
	g_mycanvas.c g_numbox.c g_toggle.c g_vumeter.c g_all_guis.h 
Log Message:
cleanup (nuked x_labelbindex, etc)


Index: g_dropper.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/g_dropper.c,v
retrieving revision 1.1.2.11
retrieving revision 1.1.2.12
diff -C2 -d -r1.1.2.11 -r1.1.2.12
*** g_dropper.c	3 May 2004 17:03:28 -0000	1.1.2.11
--- g_dropper.c	3 May 2004 21:18:38 -0000	1.1.2.12
***************
*** 48,55 ****
  {
      t_dropper *x = (t_dropper *)z;
!     int bflcol[3];
      t_symbol *srl[3];
! 
!     iemgui_save(&x->x_gui, srl, bflcol);
      binbuf_addv(b, "ssiisiisssiiiiiii", gensym("#X"),gensym("obj"),
  	(t_int)x->x_gui.x_obj.te_xpix, (t_int)x->x_gui.x_obj.te_ypix,
--- 48,54 ----
  {
      t_dropper *x = (t_dropper *)z;
!     t_iemgui *y = (t_iemgui *)x;
      t_symbol *srl[3];
!     iemgui_save(&x->x_gui, srl,0);
      binbuf_addv(b, "ssiisiisssiiiiiii", gensym("#X"),gensym("obj"),
  	(t_int)x->x_gui.x_obj.te_xpix, (t_int)x->x_gui.x_obj.te_ypix,
***************
*** 59,63 ****
  	x->x_gui.x_ldx, x->x_gui.x_ldy,
  	x->x_gui.x_font_style, x->x_gui.x_fontsize,
! 	bflcol[0], bflcol[1], bflcol[2]);
      binbuf_addv(b, ";");
  }
--- 58,62 ----
  	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));
      binbuf_addv(b, ";");
  }

Index: g_toggle.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_toggle.c,v
retrieving revision 1.1.1.3.2.2.2.17
retrieving revision 1.1.1.3.2.2.2.18
diff -C2 -d -r1.1.1.3.2.2.2.17 -r1.1.1.3.2.2.2.18
*** g_toggle.c	3 May 2004 17:03:29 -0000	1.1.1.3.2.2.2.17
--- g_toggle.c	3 May 2004 21:18:39 -0000	1.1.1.3.2.2.2.18
***************
*** 50,56 ****
  {
      t_toggle *x = (t_toggle *)z;
!     int bflcol[3];
      t_symbol *srl[3];
!     iemgui_save(&x->x_gui, srl, bflcol);
      binbuf_addv(b, "ssiisiisssiiiiiiiff", gensym("#X"),gensym("obj"),
  	(t_int)x->x_gui.x_obj.te_xpix,
--- 50,56 ----
  {
      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)x->x_gui.x_obj.te_xpix,
***************
*** 59,63 ****
  	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,
! 	bflcol[0], bflcol[1], bflcol[2], x->x_on, x->x_nonzero);
      binbuf_addv(b, ";");
  }
--- 59,64 ----
  	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, x->x_nonzero);
      binbuf_addv(b, ";");
  }
***************
*** 127,131 ****
      y->x_draw = (t_iemfunptr)toggle_draw;
      y->x_binbufindex = 2;
-     y->x_labelbindex = 2+3;
      x->x_on=0.0;
      outlet_new((t_text *)x, &s_float);
--- 128,131 ----

Index: g_hdial.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_hdial.c,v
retrieving revision 1.1.1.4.2.2.2.19
retrieving revision 1.1.1.4.2.2.2.20
diff -C2 -d -r1.1.1.4.2.2.2.19 -r1.1.1.4.2.2.2.20
*** g_hdial.c	3 May 2004 17:03:28 -0000	1.1.1.4.2.2.2.19
--- g_hdial.c	3 May 2004 21:18:38 -0000	1.1.1.4.2.2.2.20
***************
*** 59,73 ****
  {
      t_radio *x = (t_radio *)z;
!     int bflcol[3];
      t_symbol *srl[3];
!     iemgui_save(&x->x_gui, srl, bflcol);
      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,
! 		bflcol[0], bflcol[1], bflcol[2], x->x_on);
      binbuf_addv(b, ";");
  }
--- 59,74 ----
  {
      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, ";");
  }
***************
*** 247,251 ****
      x->x_flavor=s;
      y->x_binbufindex = 4;
-     y->x_labelbindex = 4+3;
      y->x_draw = (t_iemfunptr)radio_draw;
      CLAMP(x->x_number,1,IEM_RADIO_MAX);
--- 248,251 ----

Index: g_vumeter.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_vumeter.c,v
retrieving revision 1.1.1.3.2.2.2.15
retrieving revision 1.1.1.3.2.2.2.16
diff -C2 -d -r1.1.1.3.2.2.2.15 -r1.1.1.3.2.2.2.16
*** g_vumeter.c	3 May 2004 17:03:29 -0000	1.1.1.3.2.2.2.15
--- g_vumeter.c	3 May 2004 21:18:39 -0000	1.1.1.3.2.2.2.16
***************
*** 87,102 ****
  {
      t_vu *x = (t_vu *)z;
!     int bflcol[3];
      t_symbol *srl[3];
! 
!     iemgui_save(&x->x_gui, srl, bflcol);
      binbuf_addv(b, "ssiisiissiiiiiiii", gensym("#X"),gensym("obj"),
! 		(t_int)x->x_gui.x_obj.te_xpix, (t_int)x->x_gui.x_obj.te_ypix,
! 		gensym("vu"), x->x_gui.x_w, x->x_gui.x_h,
! 		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,
! 		bflcol[0], bflcol[2], x->x_scale,
! 		iem_symargstoint(&x->x_gui));
      binbuf_addv(b, ";");
  }
--- 87,102 ----
  {
      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)x->x_gui.x_obj.te_xpix, (t_int)x->x_gui.x_obj.te_ypix,
! 	gensym("vu"), x->x_gui.x_w, x->x_gui.x_h,
! 	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),
! 	x->x_scale,
! 	iem_symargstoint(&x->x_gui));
      binbuf_addv(b, ";");
  }
***************
*** 184,188 ****
      x->x_fr = -101.0;
      y->x_binbufindex = 1;
-     y->x_labelbindex = 1+3;
      vu_check_height(x, y->x_h);
      inlet_new(&y->x_obj, &y->x_obj.ob_pd, &s_float, gensym("ft1"));
--- 184,187 ----

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.24
retrieving revision 1.1.1.4.2.4.2.25
diff -C2 -d -r1.1.1.4.2.4.2.24 -r1.1.1.4.2.4.2.25
*** g_all_guis.c	3 May 2004 17:03:28 -0000	1.1.1.4.2.4.2.24
--- g_all_guis.c	3 May 2004 21:18:38 -0000	1.1.1.4.2.4.2.25
***************
*** 98,110 ****
  
  /* convert symbols in "$" form to the expanded symbols */
! static void iemgui_all_dollararg2sym(t_iemgui *iemgui, t_symbol **srlsym)
  {
      /* save unexpanded ones for later */
!     iemgui->x_snd_unexpanded = srlsym[0];
!     iemgui->x_rcv_unexpanded = srlsym[1];
!     iemgui->x_lab_unexpanded = srlsym[2];
!     srlsym[0] = canvas_realizedollar(iemgui->x_glist, srlsym[0]);
!     srlsym[1] = canvas_realizedollar(iemgui->x_glist, srlsym[1]);
!     srlsym[2] = canvas_realizedollar(iemgui->x_glist, srlsym[2]);
  }
  
--- 98,107 ----
  
  /* 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]);
  }
  
***************
*** 112,155 ****
      binbuf to grab them; if there's nothing there, set it to the
      fallback; if still nothing, set to "empty". */
! static void iemgui_init_sym2dollararg(t_iemgui *iemgui, t_symbol **symp,
!     int indx, t_symbol *fallback)
  {
!     if (!*symp)
!     {
!     	t_binbuf *b = iemgui->x_obj.ob_binbuf;
! 	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 *iemgui, t_symbol **srlsym)
! {
!     iemgui_init_sym2dollararg(iemgui, &iemgui->x_snd_unexpanded, iemgui->x_binbufindex+1, iemgui->x_snd);
!     iemgui_init_sym2dollararg(iemgui, &iemgui->x_rcv_unexpanded, iemgui->x_binbufindex+2, iemgui->x_rcv);
!     iemgui_init_sym2dollararg(iemgui, &iemgui->x_lab_unexpanded, iemgui->x_labelbindex,   iemgui->x_lab);
!     srlsym[0] = iemgui->x_snd_unexpanded;
!     srlsym[1] = iemgui->x_rcv_unexpanded;
!     srlsym[2] = iemgui->x_lab_unexpanded;
  }
  
! static int convert_color2(int x) {
  	return ~ (((0xfc0000&x)>>6) | ((0xfc00&x)>>4) | ((0xfc&x)>>2));
  }
  
- void iemgui_all_col2save(t_iemgui *iemgui, int *bflcol)
- {
-     bflcol[0] = convert_color2(iemgui->x_bcol);
-     bflcol[1] = convert_color2(iemgui->x_fcol);
-     bflcol[2] = convert_color2(iemgui->x_lcol);
- }
- 
  static int convert_color(int x) {
  	if (x>=0) return iemgui_color_hex[x%IEM_GUI_MAX_COLOR];
--- 109,136 ----
      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));
  }
  
  static int convert_color(int x) {
  	if (x>=0) return iemgui_color_hex[x%IEM_GUI_MAX_COLOR];
***************
*** 165,258 ****
  }
  
! void iemgui_send(t_iemgui *iemgui, t_symbol *s)
  {
      t_symbol *snd = iemgui_raute2dollar(s);
!     iemgui->x_snd_unexpanded = snd;
!     iemgui->x_snd = canvas_realizedollar(iemgui->x_glist, snd);
!     post("send: before %s, after %s", iemgui->x_snd_unexpanded->s_name, iemgui->x_snd->s_name);
!     iemgui->x_snd_able = strcmp(s->s_name, "empty");
!     iemgui_verify_snd_ne_rcv(iemgui);
!     iemgui->x_draw(iemgui, iemgui->x_glist, 0);
  }
  
! void iemgui_receive(t_iemgui *iemgui, t_symbol *s)
  {
      t_symbol *rcv = iemgui_raute2dollar(s);
      int rcvable = !!strcmp(s->s_name, "empty");
!     iemgui->x_rcv_unexpanded = rcv;
!     iemgui->x_rcv = rcv = canvas_realizedollar(iemgui->x_glist, rcv);
!     if(rcvable)
!     {
! 	if(strcmp(rcv->s_name, iemgui->x_rcv->s_name))
! 	{
! 	    if(iemgui->x_rcv_able)
! 		pd_unbind(&iemgui->x_obj.ob_pd, iemgui->x_rcv);
! 	    iemgui->x_rcv = rcv;
! 	    pd_bind(&iemgui->x_obj.ob_pd, iemgui->x_rcv);
  	}
      }
!     else if(!rcvable && iemgui->x_rcv_able)
!     {
! 	pd_unbind(&iemgui->x_obj.ob_pd, iemgui->x_rcv);
! 	iemgui->x_rcv = rcv;
!     }
!     iemgui->x_rcv_able = rcvable;
!     iemgui_verify_snd_ne_rcv(iemgui);
!     iemgui->x_draw(iemgui, iemgui->x_glist, 0);
  }
  
! void iemgui_label(t_iemgui *iemgui, t_symbol *s)
  {
      t_symbol *lab = iemgui_raute2dollar(s);
!     iemgui->x_lab_unexpanded = lab;
!     iemgui->x_lab = lab = canvas_realizedollar(iemgui->x_glist, lab);
!     if(glist_isvisible(iemgui->x_glist)) iemgui->x_draw(iemgui,iemgui->x_glist,0);
  }
  
! void iemgui_label_pos(t_iemgui *iemgui, t_symbol *s, int ac, t_atom *av)
! {
!     iemgui->x_ldx = (int)atom_getintarg(0, ac, av);
!     iemgui->x_ldy = (int)atom_getintarg(1, ac, av);
!     if(glist_isvisible(iemgui->x_glist))
! 	iemgui->x_draw(iemgui, iemgui->x_glist, 0);
  }
  
! void iemgui_label_font(t_iemgui *iemgui, t_symbol *s, int ac, t_atom *av)
  {
      int f = MAX(4,(int)atom_getintarg(1, ac, av));
!     iemgui->x_fontsize = f;
!     iemgui->x_font_style = atom_getintarg(0, ac, av);
!     if(glist_isvisible(iemgui->x_glist)) iemgui->x_draw(iemgui, iemgui->x_glist, 0);
  }
  
! void iemgui_size(t_iemgui *iemgui)
! {
!     if(glist_isvisible(iemgui->x_glist))
!     {
! 	iemgui->x_draw(iemgui, iemgui->x_glist, 0);
! 	canvas_fixlinesfor(glist_getcanvas(iemgui->x_glist), (t_text*)iemgui);
      }
  }
  
! void iemgui_delta(t_iemgui *iemgui, t_symbol *s, int ac, t_atom *av)
  {
!     iemgui->x_obj.te_xpix += (int)atom_getintarg(0, ac, av);
!     iemgui->x_obj.te_ypix += (int)atom_getintarg(1, ac, av);
!     if(glist_isvisible(iemgui->x_glist))
!     {
! 	iemgui->x_draw(iemgui, iemgui->x_glist, 0);
! 	canvas_fixlinesfor(glist_getcanvas(iemgui->x_glist), (t_text*)iemgui);
!     }
  }
  
! void iemgui_pos(t_iemgui *iemgui, t_symbol *s, int ac, t_atom *av)
  {
!     iemgui->x_obj.te_xpix = (int)atom_getintarg(0, ac, av);
!     iemgui->x_obj.te_ypix = (int)atom_getintarg(1, ac, av);
!     if(glist_isvisible(iemgui->x_glist))
!     {
! 	iemgui->x_draw(iemgui, iemgui->x_glist, 0);
! 	canvas_fixlinesfor(glist_getcanvas(iemgui->x_glist), (t_text*)iemgui);
!     }
  }
  
--- 146,222 ----
  }
  
! 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);
!     x->x_draw(x,x->x_glist, 0);
  }
  
! 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) {
! 	    if(x->x_rcv_able) pd_unbind((t_pd *)x, x->x_rcv);
! 	    x->x_rcv = rcv;
! 	    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 = rcv;
      }
!     x->x_rcv_able = rcvable;
!     iemgui_verify_snd_ne_rcv(x);
!     if(glist_isvisible(x->x_glist)) x->x_draw(x,x->x_glist, 0);
  }
  
! void iemgui_label(t_iemgui *x, t_symbol *s)
  {
      t_symbol *lab = iemgui_raute2dollar(s);
!     x->x_lab_unexpanded = lab;
!     x->x_lab = lab = canvas_realizedollar(x->x_glist, lab);
!     if(glist_isvisible(x->x_glist)) x->x_draw(x,x->x_glist, 0);
  }
  
! void iemgui_label_pos(t_iemgui *x, t_float ldx, t_float ldy) {
!     x->x_ldx = (int)ldx;
!     x->x_ldy = (int)ldy;
!     if(glist_isvisible(x->x_glist)) x->x_draw(x,x->x_glist, 0);
  }
  
! void iemgui_label_font(t_iemgui *x, t_symbol *s, int ac, t_atom *av)
  {
      int f = MAX(4,(int)atom_getintarg(1, ac, av));
!     x->x_fontsize = f;
!     x->x_font_style = atom_getintarg(0, ac, av);
!     if(glist_isvisible(x->x_glist)) x->x_draw(x,x->x_glist, 0);
  }
  
! void iemgui_size(t_iemgui *x) {
!     if(glist_isvisible(x->x_glist)) {
! 	x->x_draw(x,x->x_glist, 0);
! 	canvas_fixlinesfor(glist_getcanvas(x->x_glist), (t_text*)x);
      }
  }
  
! void iemgui_delta(t_iemgui *x, t_symbol *s, int ac, t_atom *av)
  {
!     x->x_obj.te_xpix += (int)atom_getintarg(0, ac, av);
!     x->x_obj.te_ypix += (int)atom_getintarg(1, ac, av);
!     iemgui_size(x);
  }
  
! void iemgui_pos(t_iemgui *x, t_symbol *s, int ac, t_atom *av)
  {
!     x->x_obj.te_xpix = (int)atom_getintarg(0, ac, av);
!     x->x_obj.te_ypix = (int)atom_getintarg(1, ac, av);
!     iemgui_size(x);
  }
  
***************
*** 260,271 ****
  {return i>=0 ? iemgui_color_hex[i%IEM_GUI_MAX_COLOR] : (~i)&0xffffff;}
  
! void iemgui_color(t_iemgui *iemgui, t_symbol *s, int ac, t_atom *av)
  {
      int i=0;
!     iemgui->x_bcol = iemgui_compatible_col(atom_getintarg(i++, ac, av));
!     if(ac > 2) iemgui->x_fcol = iemgui_compatible_col(atom_getintarg(i++, ac, av));
!     iemgui->x_lcol = iemgui_compatible_col(atom_getintarg(i++, ac, av));
!     if(glist_isvisible(iemgui->x_glist))
! 	iemgui->x_draw(iemgui, iemgui->x_glist, 0);
  }
  
--- 224,234 ----
  {return i>=0 ? iemgui_color_hex[i%IEM_GUI_MAX_COLOR] : (~i)&0xffffff;}
  
! void iemgui_color(t_iemgui *x, t_symbol *s, int ac, t_atom *av)
  {
      int i=0;
!     x->x_bcol = iemgui_compatible_col(atom_getintarg(i++, ac, av));
!     if(ac > 2) x->x_fcol = iemgui_compatible_col(atom_getintarg(i++, ac, av));
!     x->x_lcol = iemgui_compatible_col(atom_getintarg(i++, ac, av));
!     if(glist_isvisible(x->x_glist)) x->x_draw(x,x->x_glist,0);
  }
  
***************
*** 275,300 ****
      x->x_obj.te_xpix += dx;
      x->x_obj.te_ypix += dy;
!     x->x_draw((void *)z, glist, 0);
      canvas_fixlinesfor(glist_getcanvas(glist), (t_text *)z);
  }
  
  void iemgui_select(t_gobj *z, t_glist *glist, int selected)
! {
!     t_iemgui *x = (t_iemgui *)z;
!     x->x_selected = selected;
!     x->x_draw((void *)z, glist, IEM_GUI_DRAW_MODE_SELECT);
! }
  
  void iemgui_delete(t_gobj *z, t_glist *glist)
! {
!     canvas_deletelinesfor(glist, (t_text *)z); /*why?*/
! }
  
  void iemgui_vis(t_gobj *z, t_glist *glist, int vis)
! {
!     ((t_iemgui *)z)->x_draw(z, glist, vis ? 0 : IEM_GUI_DRAW_MODE_ERASE);
! }
  
! void iemgui_save(t_iemgui *iemgui, t_symbol **srl, int *bflcol)
  {
      srl[0] = iemgui->x_snd;
--- 238,255 ----
      x->x_obj.te_xpix += dx;
      x->x_obj.te_ypix += dy;
!     x->x_draw(z, glist, 0);
      canvas_fixlinesfor(glist_getcanvas(glist), (t_text *)z);
  }
  
  void iemgui_select(t_gobj *z, t_glist *glist, int selected)
! {t_iemgui *x = (t_iemgui *)z; x->x_selected = selected; x->x_draw(z, glist, IEM_GUI_DRAW_MODE_SELECT);}
  
  void iemgui_delete(t_gobj *z, t_glist *glist)
! {canvas_deletelinesfor(glist, (t_text *)z); /*why?*/}
  
  void iemgui_vis(t_gobj *z, t_glist *glist, int vis)
! {((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;
***************
*** 302,311 ****
      srl[2] = iemgui->x_lab;
      iemgui_all_sym2dollararg(iemgui, srl);
!     iemgui_all_col2save(iemgui, bflcol);
  }
  
  /* 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... */
! void iemgui_properties(t_iemgui *iemgui, t_symbol **srl)
  {
      srl[0] = iemgui->x_snd;
--- 257,270 ----
      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;
***************
*** 317,320 ****
--- 276,280 ----
      srl[2] = iemgui_dollar2raute(srl[2]);
  }
+ */
  
  /*
***************
*** 501,505 ****
      class_addmethod(c, (t_method)iemgui_receive, gensym("receive"), A_DEFSYM, 0);
      class_addmethod(c, (t_method)iemgui_label, gensym("label"), A_DEFSYM, 0);
!     class_addmethod(c, (t_method)iemgui_label_pos, gensym("label_pos"), A_GIMME, 0);
      class_addmethod(c, (t_method)iemgui_label_font, gensym("label_font"), A_GIMME, 0);
      class_setpropertiesfn(c, iemgui_propertiesfn);
--- 461,465 ----
      class_addmethod(c, (t_method)iemgui_receive, gensym("receive"), A_DEFSYM, 0);
      class_addmethod(c, (t_method)iemgui_label, gensym("label"), A_DEFSYM, 0);
!     class_addmethod(c, (t_method)iemgui_label_pos, gensym("label_pos"), A_FLOAT, A_FLOAT, 0);
      class_addmethod(c, (t_method)iemgui_label_font, gensym("label_font"), A_GIMME, 0);
      class_setpropertiesfn(c, iemgui_propertiesfn);

Index: g_mycanvas.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_mycanvas.c,v
retrieving revision 1.1.1.3.2.2.2.11
retrieving revision 1.1.1.3.2.2.2.12
diff -C2 -d -r1.1.1.3.2.2.2.11 -r1.1.1.3.2.2.2.12
*** g_mycanvas.c	3 May 2004 17:03:29 -0000	1.1.1.3.2.2.2.11
--- g_mycanvas.c	3 May 2004 21:18:38 -0000	1.1.1.3.2.2.2.12
***************
*** 43,55 ****
  {
      t_my_canvas *x = (t_my_canvas *)z;
!     int bflcol[3];
      t_symbol *srl[3];
!     iemgui_save(&x->x_gui, srl, bflcol);
      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,
! 		bflcol[0], bflcol[2], iem_symargstoint(&x->x_gui));
      binbuf_addv(b, ";");
  }
--- 43,56 ----
  {
      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, ";");
  }
***************
*** 88,92 ****
  	&y->x_font_style,&y->x_fontsize,&y->x_bcol,&y->x_lcol,&isa)) return;
      y->x_binbufindex = 3;
-     y->x_labelbindex = 3+3;
      iem_inttosymargs(y,isa);
      y->x_h = y->x_w = MAX(y->x_w,1);
--- 89,92 ----

Index: g_hslider.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_hslider.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_hslider.c	3 May 2004 17:03:28 -0000	1.1.1.3.2.2.2.21
--- g_hslider.c	3 May 2004 21:18:38 -0000	1.1.1.3.2.2.2.22
***************
*** 62,76 ****
  {
      t_slider *x = (t_slider *)z;
!     int bflcol[3];
      t_symbol *srl[3];
!     iemgui_save(&x->x_gui, srl, bflcol);
      binbuf_addv(b, "ssiisiiffiisssiiiiiiiii", gensym("#X"),gensym("obj"),
! 		(t_int)x->x_gui.x_obj.te_xpix, (t_int)x->x_gui.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,
! 		bflcol[0], bflcol[1], bflcol[2],
! 		x->x_val, x->x_gui.x_steady);
      binbuf_addv(b, ";");
  }
--- 62,76 ----
  {
      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, ";");
  }
***************
*** 221,225 ****
      if (isvert(x)) y->x_h=IEM_SL_DEFAULTSIZE; else y->x_w=IEM_SL_DEFAULTSIZE;
      y->x_binbufindex = 6;
-     y->x_labelbindex = 6+3;
      outlet_new(&y->x_obj, &s_float);
      slider_reload(x,argc,argv);
--- 221,224 ----

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.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_all_guis.h	3 May 2004 19:49:34 -0000	1.1.1.4.2.2.2.20
--- g_all_guis.h	3 May 2004 21:18:39 -0000	1.1.1.4.2.2.2.21
***************
*** 47,51 ****
      t_symbol *x_snd_unexpanded, *x_rcv_unexpanded, *x_lab_unexpanded;
      int x_binbufindex; /* where in binbuf to find snd/rcv/lab */
-     int x_labelbindex; /* where in binbuf to find label */
  } t_iemgui;
  
--- 47,50 ----
***************
*** 137,153 ****
  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_all_col2save(t_iemgui *iemgui, int *bflcol);
! //EXTERN void iemgui_all_colfromload(t_iemgui *iemgui, int *bflcol);
  
  /* methods common to iemgui classes */
! EXTERN void iemgui_send(t_iemgui *iemgui, t_symbol *s);
! EXTERN void iemgui_receive(t_iemgui *iemgui, t_symbol *s);
! EXTERN void iemgui_label(t_iemgui *iemgui, t_symbol *s);
! EXTERN void iemgui_label_pos(t_iemgui *iemgui, t_symbol *s, int ac, t_atom *av);
! EXTERN void iemgui_label_font(t_iemgui *iemgui, t_symbol *s, int ac, t_atom *av);
! EXTERN void iemgui_size(t_iemgui *iemgui);
! EXTERN void iemgui_delta(t_iemgui *iemgui, t_symbol *s, int ac, t_atom *av);
! EXTERN void iemgui_pos(t_iemgui *iemgui, t_symbol *s, int ac, t_atom *av);
! EXTERN void iemgui_color(t_iemgui *iemgui, t_symbol *s, int ac, t_atom *av);
  
  /* adds the aforementioned methods to a iemgui class (pd has no inheritance) */
--- 136,151 ----
  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_all_col2save(t_iemgui *iemgui, int *bflcol);
  
  /* methods common to iemgui classes */
! EXTERN void iemgui_send      (t_iemgui *x, t_symbol *s);
! EXTERN void iemgui_receive   (t_iemgui *x, t_symbol *s);
! EXTERN void iemgui_label     (t_iemgui *x, t_symbol *s);
! EXTERN void iemgui_label_pos (t_iemgui *x, t_float lx, t_float ly);
! EXTERN void iemgui_label_font(t_iemgui *x, t_symbol *s, int ac, t_atom *av);
! EXTERN void iemgui_delta     (t_iemgui *x, t_symbol *s, int ac, t_atom *av);
! EXTERN void iemgui_pos       (t_iemgui *x, t_symbol *s, int ac, t_atom *av);
! EXTERN void iemgui_color     (t_iemgui *x, t_symbol *s, int ac, t_atom *av);
! EXTERN void iemgui_size      (t_iemgui *x);
  
  /* adds the aforementioned methods to a iemgui class (pd has no inheritance) */
***************
*** 160,164 ****
  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 void iemgui_properties(t_iemgui *iemgui, t_symbol **srl);
  EXTERN int  iemgui_dialog(t_iemgui *iemgui, t_symbol **srl, int argc, t_atom *argv);
  
--- 158,161 ----
***************
*** 177,178 ****
--- 174,176 ----
  EXTERN void iemgui_constrain(t_iemgui *x);
  EXTERN t_symbol *sym_empty;
+ EXTERN int convert_color2(int x);

Index: g_bang.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_bang.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_bang.c	3 May 2004 17:03:28 -0000	1.1.1.3.2.2.2.21
--- g_bang.c	3 May 2004 21:18:38 -0000	1.1.1.3.2.2.2.22
***************
*** 44,56 ****
  {
      t_bng *x = (t_bng *)z;
!     int bflcol[3];
      t_symbol *srl[3];
!     iemgui_save(&x->x_gui, srl, bflcol);
      binbuf_addv(b, "ssiisiiiisssiiiiiii", gensym("#X"),gensym("obj"),
! 	(t_int)x->x_gui.x_obj.te_xpix, (t_int)x->x_gui.x_obj.te_ypix,
! 	gensym("bng"), x->x_gui.x_w, x->x_flashtime_hold, x->x_flashtime_break,
  	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,
! 	bflcol[0], bflcol[1], bflcol[2]);
      binbuf_addv(b, ";");
  }
--- 44,56 ----
  {
      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, ";");
  }
***************
*** 127,131 ****
      t_iemgui *y = (t_iemgui *)x;
      y->x_binbufindex = 4;
-     y->x_labelbindex = 4+3;
      int isa=0, ftbreak=250, fthold=50;
      if (!pd_scanargs(argc,argv,"iiiiaaaiiiiccc",
--- 127,130 ----

Index: g_numbox.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_numbox.c,v
retrieving revision 1.1.1.4.2.2.2.16
retrieving revision 1.1.1.4.2.2.2.17
diff -C2 -d -r1.1.1.4.2.2.2.16 -r1.1.1.4.2.2.2.17
*** g_numbox.c	3 May 2004 17:03:29 -0000	1.1.1.4.2.2.2.16
--- g_numbox.c	3 May 2004 21:18:38 -0000	1.1.1.4.2.2.2.17
***************
*** 131,137 ****
  {
      t_my_numbox *x = (t_my_numbox *)z;
!     int bflcol[3];
      t_symbol *srl[3];
!     iemgui_save(&x->x_gui, srl, bflcol);
      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,
--- 131,137 ----
  {
      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,
***************
*** 140,144 ****
  	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,
! 	bflcol[0], bflcol[1], bflcol[2], x->x_val, x->x_log_height);
      binbuf_addv(b, ";");
  }
--- 140,145 ----
  	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, ";");
  }
***************
*** 324,328 ****
  {
      t_iemgui *y = (t_iemgui *)x;
!     int isa=0, lilo=0;
      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,
--- 325,329 ----
  {
      t_iemgui *y = (t_iemgui *)x;
!     int isa=0, lilo=0, w;
      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,
***************
*** 332,336 ****
--- 333,339 ----
      y->x_lin0_log1 = lilo;
      if (!y->x_loadinit) x->x_val=0.0;
+     w=y->x_w;
      iemgui_constrain(y);
+     y->x_w=MAX(w,1);
      my_numbox_calc_fontwidth(x);
      my_numbox_check_minmax(x, x->x_min, x->x_max);
***************
*** 352,356 ****
      x->x_max=1.0e+37;
      y->x_binbufindex = 6;
-     y->x_labelbindex = 6+3;
      x->x_buf[0]=0;
      x->x_clock_reset = clock_new(x, (t_method)my_numbox_tick_reset);
--- 355,358 ----
***************
*** 397,400 ****
--- 399,403 ----
      wb.w_deletefn =   iemgui_delete;
      wb.w_visfn =      iemgui_vis;
+     wb.w_clickfn =    NULL;
      wb.w_clickfn =    my_numbox_newclick;
      class_setwidget(c, &wb);





More information about the Pd-cvs mailing list