[PD-cvs] pd/src g_all_guis.c,1.1.1.4.2.4.2.31,1.1.1.4.2.4.2.32 g_all_guis.h,1.1.1.4.2.2.2.26,1.1.1.4.2.2.2.27 g_bang.c,1.1.1.3.2.2.2.27,1.1.1.3.2.2.2.28 g_hdial.c,1.1.1.4.2.2.2.24,1.1.1.4.2.2.2.25 g_hslider.c,1.1.1.3.2.2.2.27,1.1.1.3.2.2.2.28 g_dropper.c,1.1.2.20,1.1.2.21 g_mycanvas.c,1.1.1.3.2.2.2.16,1.1.1.3.2.2.2.17 g_numbox.c,1.1.1.4.2.2.2.22,1.1.1.4.2.2.2.23 g_toggle.c,1.1.1.3.2.2.2.23,1.1.1.3.2.2.2.24 g_vumeter.c,1.1.1.3.2.2.2.20,1.1.1.3.2.2.2.21

Mathieu Bouchard matju at users.sourceforge.net
Wed May 12 11:13:21 CEST 2004


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

Modified Files:
      Tag: impd_0_37
	g_all_guis.c g_all_guis.h g_bang.c g_hdial.c g_hslider.c 
	g_dropper.c g_mycanvas.c g_numbox.c g_toggle.c g_vumeter.c 
Log Message:
t_iemgui: x_finemoved removed; x_loadinit,x_scale become x_isa


Index: g_toggle.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_toggle.c,v
retrieving revision 1.1.1.3.2.2.2.23
retrieving revision 1.1.1.3.2.2.2.24
diff -C2 -d -r1.1.1.3.2.2.2.23 -r1.1.1.3.2.2.2.24
*** g_toggle.c	12 May 2004 07:44:15 -0000	1.1.1.3.2.2.2.23
--- g_toggle.c	12 May 2004 09:13:18 -0000	1.1.1.3.2.2.2.24
***************
*** 31,37 ****
  
  static void toggle_action(t_toggle *x) {
!     outlet_float(x->x_gui.x_obj.ob_outlet, x->x_on);
!     if(x->x_gui.x_snd && x->x_gui.x_snd->s_thing)
! 	pd_float(x->x_gui.x_snd->s_thing, x->x_on);
  }
  
--- 31,37 ----
  
  static void toggle_action(t_toggle *x) {
!     t_iemgui *y = (t_iemgui *)x;
!     outlet_float(y->x_obj.ob_outlet, x->x_on);
!     if(y->x_snd && y->x_snd->s_thing) pd_float(y->x_snd->s_thing, x->x_on);
  }
  
***************
*** 58,62 ****
  
  static void toggle_loadbang(t_toggle *x)
! {if(!sys_noloadbang && x->x_gui.x_loadinit) toggle_fout(x, (float)x->x_on);}
  
  static void toggle_size(t_toggle *x, t_symbol *s, int ac, t_atom *av)
--- 58,62 ----
  
  static void toggle_loadbang(t_toggle *x)
! {if(iemgui_loadbang(x)) toggle_fout(x, (float)x->x_on);}
  
  static void toggle_size(t_toggle *x, t_symbol *s, int ac, t_atom *av)
***************
*** 71,83 ****
  {
      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,
  	&x->x_gui.x_ldx,&x->x_gui.x_ldy,&y->x_font_style,&y->x_fontsize,
  	&y->x_bcol,&y->x_fcol,&y->x_lcol,&x->x_on)) return;
-     iem_inttosymargs(y,isa);
      y->x_h = y->x_w;
!     x->x_on = y->x_loadinit && x->x_on ? x->x_nonzero : 0.0;
      x->x_nonzero = argc==14 && IS_A_FLOAT(argv,13) ? atom_getfloatarg(13, argc, argv) : 1.0;
      if (!x->x_nonzero) x->x_nonzero=1.0;
--- 71,81 ----
  {
      t_iemgui *y = (t_iemgui *)x;
      binbuf_update(y,gensym("tgl"),argc,argv);
      if (!pd_scanargs(argc,argv,"iiaaaiiiiccci;?",
! 	&y->x_w,&y->x_isa,&y->x_snd,&y->x_rcv,&y->x_lab,
  	&x->x_gui.x_ldx,&x->x_gui.x_ldy,&y->x_font_style,&y->x_fontsize,
  	&y->x_bcol,&y->x_fcol,&y->x_lcol,&x->x_on)) return;
      y->x_h = y->x_w;
!     x->x_on = y->x_isa&1 && x->x_on ? x->x_nonzero : 0.0;
      x->x_nonzero = argc==14 && IS_A_FLOAT(argv,13) ? atom_getfloatarg(13, argc, argv) : 1.0;
      if (!x->x_nonzero) x->x_nonzero=1.0;

Index: g_hdial.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_hdial.c,v
retrieving revision 1.1.1.4.2.2.2.24
retrieving revision 1.1.1.4.2.2.2.25
diff -C2 -d -r1.1.1.4.2.2.2.24 -r1.1.1.4.2.2.2.25
*** g_hdial.c	12 May 2004 07:44:15 -0000	1.1.1.4.2.2.2.24
--- g_hdial.c	12 May 2004 09:13:18 -0000	1.1.1.4.2.2.2.25
***************
*** 118,122 ****
  
  static void radio_loadbang(t_radio *x)
! {if(!sys_noloadbang && x->x_gui.x_loadinit) radio_bang(x);}
  
  static void radio_number(t_radio *x, t_floatarg num)
--- 118,122 ----
  
  static void radio_loadbang(t_radio *x)
! {if(iemgui_loadbang(x)) radio_bang(x);}
  
  static void radio_number(t_radio *x, t_floatarg num)
***************
*** 145,155 ****
  {
      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,
  	&y->x_ldx,&y->x_ldy,&y->x_font_style,&y->x_fontsize,
  	&y->x_bcol,&y->x_fcol,&y->x_lcol,&x->x_on)) return;
-     iem_inttosymargs(y,isa);
      iemgui_constrain(y);
      if (y->x_rcv) pd_bind((t_pd *)x, y->x_rcv);
--- 145,153 ----
  {
      t_iemgui *y = (t_iemgui *)x;
      binbuf_update(y,gensym(isvert(x)?"vradio":"hradio"),argc,argv);
      if(!pd_scanargs(argc,argv,"ibiiaaaiiiiccci",
!         &y->x_w,&x->x_change,&y->x_isa,&x->x_number,&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_fcol,&y->x_lcol,&x->x_on)) return;
      iemgui_constrain(y);
      if (y->x_rcv) pd_bind((t_pd *)x, y->x_rcv);
***************
*** 167,171 ****
      CLAMP(x->x_number,1,IEM_RADIO_MAX);
      CLAMP(x->x_on,0,x->x_number-1);
!     x->x_on_old = x->x_on = y->x_loadinit ? x->x_on : 0;
      outlet_new(&y->x_obj, &s_list);
      radio_reload(x,0,argc,argv);
--- 165,169 ----
      CLAMP(x->x_number,1,IEM_RADIO_MAX);
      CLAMP(x->x_on,0,x->x_number-1);
!     x->x_on_old = x->x_on = y->x_isa&1 ? x->x_on : 0;
      outlet_new(&y->x_obj, &s_list);
      radio_reload(x,0,argc,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.20
retrieving revision 1.1.1.3.2.2.2.21
diff -C2 -d -r1.1.1.3.2.2.2.20 -r1.1.1.3.2.2.2.21
*** g_vumeter.c	12 May 2004 07:44:15 -0000	1.1.1.3.2.2.2.20
--- g_vumeter.c	12 May 2004 09:13:18 -0000	1.1.1.3.2.2.2.21
***************
*** 99,107 ****
  {
      t_iemgui *y = (t_iemgui *)x;
-     int isa;
      if(!pd_scanargs(argc,argv,"iiaaiiiiccb;i",
  	&y->x_w,&y->x_h,&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,&x->x_scale,&isa)) return;
!     iem_inttosymargs(y,isa);
      iemgui_constrain(y);
      if(y->x_rcv) pd_bind((t_pd *)x, y->x_rcv);
--- 99,105 ----
  {
      t_iemgui *y = (t_iemgui *)x;
      if(!pd_scanargs(argc,argv,"iiaaiiiiccb;i",
  	&y->x_w,&y->x_h,&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,&x->x_scale,&y->x_isa)) return;
      iemgui_constrain(y);
      if(y->x_rcv) pd_bind((t_pd *)x, y->x_rcv);

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.31
retrieving revision 1.1.1.4.2.4.2.32
diff -C2 -d -r1.1.1.4.2.4.2.31 -r1.1.1.4.2.4.2.32
*** g_all_guis.c	12 May 2004 08:46:21 -0000	1.1.1.4.2.4.2.31
--- g_all_guis.c	12 May 2004 09:13:16 -0000	1.1.1.4.2.4.2.32
***************
*** 191,207 ****
  */
  
- void iem_inttosymargs(t_iemgui *self, int n)
- {
-     self->x_loadinit = n>>0;
-     self->x_scale = n>>20;
- }
- 
- int iem_symargstoint(t_iemgui *self)
- {
-     return
- 	(((self->x_loadinit&1) << 0) |
- 	((self->x_scale&1) <<  20));
- }
- 
  int pd_scanargs(int argc, t_atom *argv, char *fmt, ...) {
  	int i=0;
--- 191,194 ----
***************
*** 360,369 ****
  	x->x_ldx=0;
  	x->x_ldy=-6;
! 	iem_inttosymargs(x,0);
  	x->x_font_style = 0;
  	x->x_fontsize = 8;
  	x->x_put_in2out = 1;
! 	x->x_selected = x->x_finemoved =
! 		x->x_change = x->x_lin0_log1 = x->x_steady = 0;
  	x->x_snd = 0;
  	x->x_rcv = 0;
--- 347,355 ----
  	x->x_ldx=0;
  	x->x_ldy=-6;
! 	x->x_isa=0;
  	x->x_font_style = 0;
  	x->x_fontsize = 8;
  	x->x_put_in2out = 1;
! 	x->x_selected = x->x_change = x->x_lin0_log1 = x->x_steady = 0;
  	x->x_snd = 0;
  	x->x_rcv = 0;
***************
*** 402,406 ****
  }
  
! 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) {
--- 388,392 ----
  }
  
! EXTERN void iemgui_init(t_iemgui *x, t_floatarg f) {x->x_isa = (x->x_isa&~1) | !!f;}
  
  void binbuf_update(t_iemgui *x, t_symbol *qlass, int argc, t_atom *argv) {
***************
*** 414,415 ****
--- 400,406 ----
      }
  }
+ 
+ EXTERN /*bool*/ int iemgui_loadbang (/*t_iemgui*/ void *x) {
+ 	t_iemgui *self = (t_iemgui *)x;
+ 	return !sys_noloadbang && self->x_isa&1;
+ }

Index: g_mycanvas.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_mycanvas.c,v
retrieving revision 1.1.1.3.2.2.2.16
retrieving revision 1.1.1.3.2.2.2.17
diff -C2 -d -r1.1.1.3.2.2.2.16 -r1.1.1.3.2.2.2.17
*** g_mycanvas.c	12 May 2004 07:44:15 -0000	1.1.1.3.2.2.2.16
--- g_mycanvas.c	12 May 2004 09:13:18 -0000	1.1.1.3.2.2.2.17
***************
*** 55,64 ****
  {
      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);
      x->x_vis_w = MAX(x->x_vis_w,1);
--- 55,62 ----
  {
      t_iemgui *y = (t_iemgui *)x;
      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,&y->x_isa)) return;
      y->x_h = y->x_w = MAX(y->x_w,1);
      x->x_vis_w = MAX(x->x_vis_w,1);

Index: g_hslider.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_hslider.c,v
retrieving revision 1.1.1.3.2.2.2.27
retrieving revision 1.1.1.3.2.2.2.28
diff -C2 -d -r1.1.1.3.2.2.2.27 -r1.1.1.3.2.2.2.28
*** g_hslider.c	12 May 2004 07:44:15 -0000	1.1.1.3.2.2.2.27
--- g_hslider.c	12 May 2004 09:13:18 -0000	1.1.1.3.2.2.2.28
***************
*** 107,142 ****
  static void slider_range(t_slider *x, t_float min, t_float max)
  {x->x_min = min; x->x_max = max; slider_check_minmax(x);}
- 
  static void slider_lin(t_slider *x) {x->x_gui.x_lin0_log1 = 0; x->x_k = (x->x_max-x->x_min)/(double)((isvert(x)?x->x_gui.x_h:x->x_gui.x_w)-1);}
  static void slider_log(t_slider *x) {x->x_gui.x_lin0_log1 = 1; slider_check_minmax(x);}
  static void slider_steady(t_slider *x, t_floatarg f) {x->x_gui.x_steady   = !!f;}
- 
  static void slider_float(t_slider *x, t_floatarg f)
! {
!     slider_set(x, f);
!     if(x->x_gui.x_put_in2out) slider_bang(x);
! }
! 
  static void slider_loadbang(t_slider *x)
! {
!     t_iemgui *y = (t_iemgui *)x;
!     if(!sys_noloadbang && y->x_loadinit) {
! 	iemgui_dodraw((t_iemgui *)x);
! 	slider_bang(x);
!     }
! }
  
  static void slider_reload(t_slider *x, t_symbol *s, int argc, t_atom *argv)
  {
      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,
  	&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_fcol,&y->x_lcol,&v,&steady)) return;
!     iem_inttosymargs(y,isa);
!     x->x_pos = x->x_val = y->x_loadinit ? v : 0;
      y->x_lin0_log1 = lilo;
      y->x_steady = steady;
--- 107,129 ----
  static void slider_range(t_slider *x, t_float min, t_float max)
  {x->x_min = min; x->x_max = max; slider_check_minmax(x);}
  static void slider_lin(t_slider *x) {x->x_gui.x_lin0_log1 = 0; x->x_k = (x->x_max-x->x_min)/(double)((isvert(x)?x->x_gui.x_h:x->x_gui.x_w)-1);}
  static void slider_log(t_slider *x) {x->x_gui.x_lin0_log1 = 1; slider_check_minmax(x);}
  static void slider_steady(t_slider *x, t_floatarg f) {x->x_gui.x_steady   = !!f;}
  static void slider_float(t_slider *x, t_floatarg f)
! {slider_set(x, f); if(x->x_gui.x_put_in2out) slider_bang(x);}
  static void slider_loadbang(t_slider *x)
! {if(iemgui_loadbang(x)) slider_bang(x);}
  
  static void slider_reload(t_slider *x, t_symbol *s, int argc, t_atom *argv)
  {
      t_iemgui *y = (t_iemgui *)x;
!     int 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,&y->x_isa,
  	&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_fcol,&y->x_lcol,&v,&steady)) return;
!     x->x_pos = x->x_val = y->x_isa&1 ? v : 0;
      y->x_lin0_log1 = lilo;
      y->x_steady = steady;

Index: g_dropper.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/g_dropper.c,v
retrieving revision 1.1.2.20
retrieving revision 1.1.2.21
diff -C2 -d -r1.1.2.20 -r1.1.2.21
*** g_dropper.c	12 May 2004 08:46:21 -0000	1.1.2.20
--- g_dropper.c	12 May 2004 09:13:18 -0000	1.1.2.21
***************
*** 50,59 ****
  {
      t_iemgui *y = (t_iemgui *)x;
-     int isa=0;
      if (!pd_scanargs(argc,argv,"iiaaaiiiiccc",
! 		     &y->x_w,&isa,&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_fcol,&y->x_lcol)) return;
!     iem_inttosymargs(y,isa);
      y->x_h = y->x_w;
      if (y->x_rcv) pd_bind((t_pd *)x, y->x_rcv);
--- 50,57 ----
  {
      t_iemgui *y = (t_iemgui *)x;
      if (!pd_scanargs(argc,argv,"iiaaaiiiiccc",
! 	&y->x_w,&y->x_isa,&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_fcol,&y->x_lcol)) return;
      y->x_h = y->x_w;
      if (y->x_rcv) pd_bind((t_pd *)x, y->x_rcv);

Index: g_bang.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_bang.c,v
retrieving revision 1.1.1.3.2.2.2.27
retrieving revision 1.1.1.3.2.2.2.28
diff -C2 -d -r1.1.1.3.2.2.2.27 -r1.1.1.3.2.2.2.28
*** g_bang.c	12 May 2004 08:46:21 -0000	1.1.1.3.2.2.2.27
--- g_bang.c	12 May 2004 09:13:17 -0000	1.1.1.3.2.2.2.28
***************
*** 71,75 ****
  
  static void bng_loadbang(t_bng *x)
! {if(!sys_noloadbang && x->x_gui.x_loadinit) {bng_set(x); bng_bout2(x);}}
  
  static void bng_size(t_bng *x, t_symbol *s, int ac, t_atom *av)
--- 71,75 ----
  
  static void bng_loadbang(t_bng *x)
! {if(iemgui_loadbang(x)) {bng_set(x); bng_bout2(x);}}
  
  static void bng_size(t_bng *x, t_symbol *s, int ac, t_atom *av)
***************
*** 93,103 ****
  {
      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,
  	&y->x_ldx,&y->x_ldy,&y->x_font_style,&y->x_fontsize,
  	&y->x_bcol,&y->x_fcol,&y->x_lcol)) return;
-     iem_inttosymargs(y,isa);
      y->x_h = y->x_w;
      bng_check_minmax(x, x->x_flashtime_break, x->x_flashtime_hold);
--- 93,101 ----
  {
      t_iemgui *y = (t_iemgui *)x;
      binbuf_update(y,gensym("bng"),argc,argv);
      if (!pd_scanargs(argc,argv,"iiiiaaaiiiiccc",
! 	&y->x_w,&x->x_flashtime_hold,&x->x_flashtime_break,&y->x_isa,&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_fcol,&y->x_lcol)) return;
      y->x_h = y->x_w;
      bng_check_minmax(x, x->x_flashtime_break, x->x_flashtime_hold);

Index: g_numbox.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_numbox.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_numbox.c	12 May 2004 07:44:15 -0000	1.1.1.4.2.2.2.22
--- g_numbox.c	12 May 2004 09:13:18 -0000	1.1.1.4.2.2.2.23
***************
*** 58,66 ****
      if(x->x_gui.x_lin0_log1) {
  	if(min==0.0 && max==0.0) max = 1.0;
! 	if(max > 0.0) {
! 	    if(min <= 0.0) min = 0.01*max;
! 	} else {
! 	    if(min > 0.0) max = 0.01*min;
! 	}
      }
      x->x_min = min;
--- 58,63 ----
      if(x->x_gui.x_lin0_log1) {
  	if(min==0.0 && max==0.0) max = 1.0;
! 	if(max>0.0 && min<=0.0) min = 0.01*max;
! 	if(max<=0.0 && min>0.0) max = 0.01*min;
      }
      x->x_min = min;
***************
*** 80,88 ****
  static void my_numbox_motion(t_my_numbox *x, t_floatarg dx, t_floatarg dy)
  {
!     double k2= x->x_gui.x_finemoved ? 0.01 : 1.0;
!     if(x->x_gui.x_lin0_log1)
! 	x->x_val *= pow(x->x_k, -k2*dy);
!     else
! 	x->x_val -= k2*dy;
      my_numbox_clip(x);
      iemgui_dodraw((t_iemgui *)x);
--- 77,82 ----
  static void my_numbox_motion(t_my_numbox *x, t_floatarg dx, t_floatarg dy)
  {
!     double k2= x->x_finemoved ? 0.01 : 1.0;
!     if(x->x_gui.x_lin0_log1) x->x_val *= pow(x->x_k, -k2*dy); else x->x_val -= k2*dy;
      my_numbox_clip(x);
      iemgui_dodraw((t_iemgui *)x);
***************
*** 101,108 ****
  
  static void my_numbox_float(t_my_numbox *x, t_floatarg f)
! {
!     my_numbox_set(x, f);
!     if(x->x_gui.x_put_in2out) my_numbox_bang(x);
! }
  
  static void my_numbox_size(t_my_numbox *x, t_symbol *s, int ac, t_atom *av)
--- 95,99 ----
  
  static void my_numbox_float(t_my_numbox *x, t_floatarg f)
! {my_numbox_set(x, f); if(x->x_gui.x_put_in2out) my_numbox_bang(x);}
  
  static void my_numbox_size(t_my_numbox *x, t_symbol *s, int ac, t_atom *av)
***************
*** 123,130 ****
  
  static void my_numbox_loadbang(t_my_numbox *x)
! {
!     if(!sys_noloadbang && x->x_gui.x_loadinit)
! 	{iemgui_dodraw((t_iemgui *)x); my_numbox_bang(x);}
! }
  
  static void my_numbox_list(t_my_numbox *x, t_symbol *s, int ac, t_atom *av)
--- 114,118 ----
  
  static void my_numbox_loadbang(t_my_numbox *x)
! {if(iemgui_loadbang(x)) my_numbox_bang(x);}
  
  static void my_numbox_list(t_my_numbox *x, t_symbol *s, int ac, t_atom *av)
***************
*** 138,150 ****
  {
      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,
  	&y->x_ldx,&y->x_ldy,&y->x_font_style,&y->x_fontsize,
  	&y->x_bcol,&y->x_fcol,&y->x_lcol,&x->x_val,&x->x_log_height)) return;
-     iem_inttosymargs(&x->x_gui, isa);
      y->x_lin0_log1 = lilo;
!     if (!y->x_loadinit) x->x_val=0.0;
      w=y->x_w;
      iemgui_constrain(y);
--- 126,137 ----
  {
      t_iemgui *y = (t_iemgui *)x;
!     int 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,&y->x_isa,&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_fcol,&y->x_lcol,&x->x_val,&x->x_log_height)) return;
      y->x_lin0_log1 = lilo;
!     if (!y->x_isa&1) x->x_val=0.0;
      w=y->x_w;
      iemgui_constrain(y);
***************
*** 193,197 ****
      class_addfloat(c,my_numbox_float);
      class_addlist(c, my_numbox_list);
!     class_addmethod(c, (t_method)my_numbox_motion, gensym("motion"), A_FLOAT, A_FLOAT, 0);
      class_addmethod(c, (t_method)my_numbox_reload, gensym("reload"), A_GIMME, 0);
      class_addmethod(c, (t_method)my_numbox_loadbang, gensym("loadbang"), 0);
--- 180,184 ----
      class_addfloat(c,my_numbox_float);
      class_addlist(c, my_numbox_list);
!     //class_addmethod(c, (t_method)my_numbox_motion, gensym("motion"), A_FLOAT, A_FLOAT, 0);
      class_addmethod(c, (t_method)my_numbox_reload, gensym("reload"), A_GIMME, 0);
      class_addmethod(c, (t_method)my_numbox_loadbang, gensym("loadbang"), 0);

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.26
retrieving revision 1.1.1.4.2.2.2.27
diff -C2 -d -r1.1.1.4.2.2.2.26 -r1.1.1.4.2.2.2.27
*** g_all_guis.h	12 May 2004 08:46:21 -0000	1.1.1.4.2.2.2.26
--- g_all_guis.h	12 May 2004 09:13:17 -0000	1.1.1.4.2.2.2.27
***************
*** 21,29 ****
      int x_h, x_w;
      int x_ldx, x_ldy;
!     /* formerly x_isa: */
!     unsigned int x_loadinit:1, x_scale:1/*,x_flashed:1, x_locked:1*/;
!     /* formerly x_fsf: */
!     unsigned int x_selected:1,x_finemoved:1,x_put_in2out:1,
! 	x_change:1,x_lin0_log1:1,x_steady:1;
      int x_font_style, x_fontsize;
      int x_fcol, x_bcol, x_lcol; /* foreground, background, label colors */
--- 21,26 ----
      int x_h, x_w;
      int x_ldx, x_ldy;
!     int x_isa; /* bit 0: loadinit; bit 20: scale */
!     unsigned x_selected:1,x_put_in2out:1,x_change:1,x_lin0_log1:1,x_steady:1;
      int x_font_style, x_fontsize;
      int x_fcol, x_bcol, x_lcol; /* foreground, background, label colors */
***************
*** 112,115 ****
--- 109,113 ----
      int      x_numwidth;
      int      x_log_height;
+     int      x_finemoved;
  } t_my_numbox;
  
***************
*** 133,138 ****
  EXTERN int canvas_getdollarzero(void);
  EXTERN void canvas_getargs(int *argcp, t_atom **argvp);
- EXTERN void iem_inttosymargs(t_iemgui *symargp, int n);
- EXTERN int iem_symargstoint(t_iemgui *symargp);
  EXTERN int pd_scanargs(int argc, t_atom *argv, char *format, ...);
  EXTERN void pd_upload(t_gobj *self, t_canvas *can);
--- 131,134 ----
***************
*** 148,149 ****
--- 144,146 ----
  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);
+ EXTERN /*bool*/ int iemgui_loadbang (/*t_iemgui*/ void *x);





More information about the Pd-cvs mailing list