Update of /cvsroot/pure-data/pd/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5878
Modified Files: Tag: desiredata desire.c Log Message: replaced "flavor" field in sliders by "orient" and in radios by "orient" and "oldstyle"
Index: desire.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/Attic/desire.c,v retrieving revision 1.1.2.217.2.77 retrieving revision 1.1.2.217.2.78 diff -C2 -d -r1.1.2.217.2.77 -r1.1.2.217.2.78 *** desire.c 19 Dec 2006 03:29:15 -0000 1.1.2.217.2.77 --- desire.c 19 Dec 2006 06:04:36 -0000 1.1.2.217.2.78 *************** *** 5756,5760 ****
struct t_slider : t_iemgui { - t_symbol *flavor; int pos; int val; --- 5756,5759 ---- *************** *** 5763,5774 **** int steady; int is_log; };
struct t_radio : t_iemgui { - t_symbol *flavor; int on, on_old; int change; int number; t_atom at[2]; };
--- 5762,5775 ---- int steady; int is_log; + int orient; };
struct t_radio : t_iemgui { int on, on_old; int change; int number; t_atom at[2]; + int orient; + int oldstyle; };
*************** *** 5811,5815 ****
static t_class *radio_class, *slider_class; ! static t_symbol *sym_hdl, *sym_vdl, *sym_vradio, *sym_vsl, *sym_vslider;
t_class *dummy_class; --- 5812,5816 ----
static t_class *radio_class, *slider_class; ! static t_symbol *sym_hdl, *sym_hradio, *sym_vdl, *sym_vradio, *sym_vsl, *sym_vslider;
t_class *dummy_class; *************** *** 6741,6750 **** }
- static int isvert(void /* t_slider or t_radio */ *x_) { - t_slider *x = (t_slider *)x_; - return x->flavor == sym_vdl || x->flavor == sym_vradio || - x->flavor == sym_vsl || x->flavor == sym_vslider; - } - static void radio_set(t_radio *x, t_floatarg f) { int i=(int)f; --- 6742,6745 ---- *************** *** 6769,6774 ****
static void radio_bang(t_radio *x) { ! /* compatibility with earlier "hdial" behavior */ ! if (x->flavor == sym_vdl || x->flavor == sym_hdl) { if(x->change && x->on!=x->on_old) radio_send2(x,x->on_old,0.0); SET(on_old,x->on); --- 6764,6768 ----
static void radio_bang(t_radio *x) { ! if (x->oldstyle) { if(x->change && x->on!=x->on_old) radio_send2(x,x->on_old,0.0); SET(on_old,x->on); *************** *** 6780,6787 ****
static void radio_fout2(t_radio *x, t_floatarg f, int forwardonly) { - int isdial = x->flavor == sym_vdl || x->flavor == sym_hdl; int i=(int)f; CLAMP(i,0,x->number-1); ! if (isdial) { /* compatibility with earlier "hdial" behavior */ if(x->change && i!=x->on_old && (!forwardonly || iemgui_forward(x))) radio_send2(x,x->on_old,0.0); --- 6774,6780 ----
static void radio_fout2(t_radio *x, t_floatarg f, int forwardonly) { int i=(int)f; CLAMP(i,0,x->number-1); ! if (x->oldstyle) { /* compatibility with earlier "hdial" behavior */ if(x->change && i!=x->on_old && (!forwardonly || iemgui_forward(x))) radio_send2(x,x->on_old,0.0); *************** *** 6825,6836 **** }
static void radio_savefn(t_radio *x, t_binbuf *b) { t_foo foo = {0,0,b}; if (!b) return; ! pd_savehead(b,x,x->flavor->s_name); radio_pickle(x,&foo); }
static void radio_reload(t_radio *x, t_symbol *s, int argc, t_atom *argv) { t_foo foo = { argc, argv, 0 }; ! binbuf_update(x,x->flavor,argc,argv); if (!radio_pickle(x,&foo)) return; iemgui_constrain(x); --- 6818,6834 ---- }
+ static t_symbol *radio_flavor(t_radio *x) { + return x->orient?x->oldstyle?sym_vdl:sym_vradio:x->oldstyle?sym_hdl:sym_hradio; + } + static void radio_savefn(t_radio *x, t_binbuf *b) { t_foo foo = {0,0,b}; if (!b) return; ! pd_savehead(b,x,radio_flavor(x)->s_name); ! radio_pickle(x,&foo); }
static void radio_reload(t_radio *x, t_symbol *s, int argc, t_atom *argv) { t_foo foo = { argc, argv, 0 }; ! binbuf_update(x,radio_flavor(x),argc,argv); if (!radio_pickle(x,&foo)) return; iemgui_constrain(x); *************** *** 6845,6849 **** SET(number,8); SET(change,1); ! SET(flavor,s); SET(on,x->isa&1 ? x->on : 0); SET(on_old,x->on); --- 6843,6850 ---- SET(number,8); SET(change,1); ! if (s==sym_hdl) {SET(orient,0); SET(oldstyle,0);} else ! if (s==sym_vdl) {SET(orient,1); SET(oldstyle,0);} else ! if (s==sym_hradio) {SET(orient,0); SET(oldstyle,1);} else ! if (s==sym_vradio) {SET(orient,1); SET(oldstyle,1);} SET(on,x->isa&1 ? x->on : 0); SET(on_old,x->on); *************** *** 6857,6865 ****
static void slider_check_width(t_slider *x, int w) { ! double l = (double)(isvert(x) ? x->h : x->w)-1; int m = (int)(l*100); double span = x->is_log ? log(x->max/x->min) : (x->max - x->min); if(w < IEM_SL_MINSIZE) w = IEM_SL_MINSIZE; ! if (isvert(x)) SET(h,w); else SET(w,w); if(x->val > m) {SET(pos,m); SET(val,x->pos);} SET(k,span/l); --- 6858,6866 ----
static void slider_check_width(t_slider *x, int w) { ! double l = (double)(x->orient ? x->h : x->w)-1; int m = (int)(l*100); double span = x->is_log ? log(x->max/x->min) : (x->max - x->min); if(w < IEM_SL_MINSIZE) w = IEM_SL_MINSIZE; ! if (x->orient) SET(h,w); else SET(w,w); if(x->val > m) {SET(pos,m); SET(val,x->pos);} SET(k,span/l); *************** *** 6876,6880 **** SET(max,max); double diff = x->is_log ? log(x->max/x->min) : (x->max-x->min); ! SET(k,diff / (double)(isvert(x) ? (x->h-1) : (x->w-1))); }
--- 6877,6881 ---- SET(max,max); double diff = x->is_log ? log(x->max/x->min) : (x->max-x->min); ! SET(k,diff / (double)(x->orient ? (x->h-1) : (x->w-1))); }
*************** *** 6901,6905 **** int a = atom_getintarg(0,ac,av); int b = ac>1 ? atom_getintarg(1,ac,av) : 0; ! if (isvert(x)) { SET(w,iemgui_clip_size(a)); if(ac>1) slider_check_width(x,b); --- 6902,6906 ---- int a = atom_getintarg(0,ac,av); int b = ac>1 ? atom_getintarg(1,ac,av) : 0; ! if (x->orient) { SET(w,iemgui_clip_size(a)); if(ac>1) slider_check_width(x,b); *************** *** 6926,6935 **** static void slider_savefn(t_slider *x, t_binbuf *b) { t_foo foo = {0,0,b}; if (!b) return; ! pd_savehead(b,x,(char *)(isvert(x)?"vsl":"hsl")); slider_pickle(x,&foo); }
static void slider_reload(t_slider *x, t_symbol *s, int argc, t_atom *argv) { t_foo foo = { argc, argv, 0 }; ! binbuf_update(x,gensym((char *)(isvert(x)?"vsl":"hsl")),argc,argv); if (!slider_pickle(x,&foo)) return; // fprintf(stderr,"STEADY=%d\n",x->steady); --- 6927,6936 ---- static void slider_savefn(t_slider *x, t_binbuf *b) { t_foo foo = {0,0,b}; if (!b) return; ! pd_savehead(b,x,(char *)(x->orient?"vsl":"hsl")); slider_pickle(x,&foo); }
static void slider_reload(t_slider *x, t_symbol *s, int argc, t_atom *argv) { t_foo foo = { argc, argv, 0 }; ! binbuf_update(x,gensym((char *)(x->orient?"vsl":"hsl")),argc,argv); if (!slider_pickle(x,&foo)) return; // fprintf(stderr,"STEADY=%d\n",x->steady); *************** *** 6940,6944 **** iemgui_constrain(x); slider_check_minmax(x); ! slider_check_width(x, isvert(x) ? x->h : x->w); if(x->rcv) pd_bind(x,x->rcv); gobj_changed(x,0); --- 6941,6945 ---- iemgui_constrain(x); slider_check_minmax(x); ! slider_check_width(x, x->orient ? x->h : x->w); if(x->rcv) pd_bind(x,x->rcv); gobj_changed(x,0); *************** *** 6947,6956 **** static void *slider_new(t_symbol *s, int argc, t_atom *argv) { t_slider *x = (t_slider *)iemgui_new(slider_class); ! SET(flavor,s); SET(is_log,0); SET(min,0.0); SET(steady,1); SET(max,(double)(IEM_SL_DEFAULTSIZE-1)); ! if (isvert(x)) SET(h,IEM_SL_DEFAULTSIZE); else SET(w,IEM_SL_DEFAULTSIZE); outlet_new(x, &s_float); slider_reload(x,0,argc,argv); --- 6948,6957 ---- static void *slider_new(t_symbol *s, int argc, t_atom *argv) { t_slider *x = (t_slider *)iemgui_new(slider_class); ! SET(orient,s==sym_vslider||s==sym_vsl); SET(is_log,0); SET(min,0.0); SET(steady,1); SET(max,(double)(IEM_SL_DEFAULTSIZE-1)); ! if (x->orient) SET(h,IEM_SL_DEFAULTSIZE); else SET(w,IEM_SL_DEFAULTSIZE); outlet_new(x, &s_float); slider_reload(x,0,argc,argv); *************** *** 7613,7619 **** class_addmethod3(c,radio_single_change, "single_change",""); class_addmethod3(c,radio_double_change, "double_change",""); ! sym_hdl = gensym("hdl"); ! sym_vdl = gensym("vdl"); ! sym_vradio = gensym("vradio"); class_setsavefn(c,(t_savefn)radio_savefn); class_sethelpsymbol(c, gensym("hradio")); --- 7614,7619 ---- class_addmethod3(c,radio_single_change, "single_change",""); class_addmethod3(c,radio_double_change, "double_change",""); ! sym_hdl = gensym("hdl"); sym_hradio = gensym("hradio"); ! sym_vdl = gensym("vdl"); sym_vradio = gensym("vradio"); class_setsavefn(c,(t_savefn)radio_savefn); class_sethelpsymbol(c, gensym("hradio"));