[PD-cvs] pd/src g_hslider.c,1.1.1.3.2.2.2.33,1.1.1.3.2.2.2.34
Mathieu Bouchard
matju at users.sourceforge.net
Wed Aug 18 21:09:11 CEST 2004
Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18254
Modified Files:
Tag: impd_0_37
g_hslider.c
Log Message:
.
Index: g_hslider.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/g_hslider.c,v
retrieving revision 1.1.1.3.2.2.2.33
retrieving revision 1.1.1.3.2.2.2.34
diff -C2 -d -r1.1.1.3.2.2.2.33 -r1.1.1.3.2.2.2.34
*** g_hslider.c 13 Aug 2004 16:39:38 -0000 1.1.1.3.2.2.2.33
--- g_hslider.c 18 Aug 2004 19:09:09 -0000 1.1.1.3.2.2.2.34
***************
*** 24,35 ****
static t_symbol *sym_vsl, *sym_vslider;
- /* widget helper functions */
-
static int isvert(t_slider *x) {
return x->x_flavor == sym_vsl || x->x_flavor == sym_vslider;
}
- /* ------------------------ hsl widgetbehaviour----------------------------- */
-
static void slider_getrect(t_gobj *z, t_glist *glist, int *xp1, int *yp1, int *xp2, int *yp2)
{
--- 24,31 ----
***************
*** 59,70 ****
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;
x->x_max = max;
diff = x->x_is_log ? log(x->x_max/x->x_min) : (x->x_max-x->x_min);
! x->x_k = isvert(x) ?
! diff/(double)(x->x_gui.x_h-1) :
! diff/(double)(x->x_gui.x_w-1);
}
--- 55,64 ----
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;
x->x_max = max;
diff = x->x_is_log ? log(x->x_max/x->x_min) : (x->x_max-x->x_min);
! x->x_k = diff / (double)(isvert(x) ? (x->x_gui.x_h-1) : (x->x_gui.x_w-1));
}
***************
*** 84,90 ****
static void slider_bang(t_slider *x)
{
! double out = x->x_is_log ?
! x->x_min*exp(x->x_k*(double)(x->x_val)*0.01) :
! (double)(x->x_val)*0.01*x->x_k + x->x_min;
if (fabs(out) < 1.0e-10) out = 0.0;
outlet_float(x->x_gui.x_obj.ob_outlet, out);
--- 78,83 ----
static void slider_bang(t_slider *x)
{
! double t = (double)(x->x_val)*x->x_k*0.01;
! double out = x->x_is_log ? x->x_min*exp(t) : x->x_min+t;
if (fabs(out) < 1.0e-10) out = 0.0;
outlet_float(x->x_gui.x_obj.ob_outlet, out);
***************
*** 98,104 ****
int b = ac>1 ? atom_getintarg(1,ac,av) : 0;
if (isvert(x)) {
! x->x_gui.x_w = iemgui_clip_size(a); if(ac>1) slider_check_width(x,b);
} else {
! slider_check_width(x,a); if(ac>1) x->x_gui.x_h = iemgui_clip_size(b);
}
iemgui_size((t_iemgui *)x);
--- 91,99 ----
int b = ac>1 ? atom_getintarg(1,ac,av) : 0;
if (isvert(x)) {
! x->x_gui.x_w = iemgui_clip_size(a);
! if(ac>1) slider_check_width(x,b);
} else {
! slider_check_width(x,a);
! if(ac>1) x->x_gui.x_h = iemgui_clip_size(b);
}
iemgui_size((t_iemgui *)x);
***************
*** 107,111 ****
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_is_log=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_is_log=1; slider_check_minmax(x);}
static void slider_steady(t_slider *x, t_floatarg f) {x->x_steady = !!f;}
--- 102,106 ----
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_is_log=0; slider_check_minmax(x);}
static void slider_log(t_slider *x) {x->x_is_log=1; slider_check_minmax(x);}
static void slider_steady(t_slider *x, t_floatarg f) {x->x_steady = !!f;}
More information about the Pd-cvs
mailing list