diff --git a/pd/src/g_numbox.c b/pd/src/g_numbox.c index 8e48c6149cf7fd7e195121b6f1e734cdc818720e..d105be06db6f48c527b682c0bb2bcf78709a3bef 100644 --- a/pd/src/g_numbox.c +++ b/pd/src/g_numbox.c @@ -804,44 +804,52 @@ static void my_numbox_list(t_my_numbox *x, t_symbol *s, int ac, t_atom *av) my_numbox_set(x, atom_getfloatarg(0, ac, av)); my_numbox_bang(x); } - else if (ac == 2 && x->x_gui.x_change == 1 && IS_A_FLOAT(av,0) && IS_A_SYMBOL(av,1) && av[0].a_w.w_float == 1) + else if (ac == 2 && x->x_gui.x_change == 1 && IS_A_FLOAT(av,0) && IS_A_SYMBOL(av,1)) { //fprintf(stderr,"got keyname %s while grabbed\n", av[1].a_w.w_symbol->s_name); - if (!strcmp("Up", av[1].a_w.w_symbol->s_name)) + if (!strcmp("Shift", av[1].a_w.w_symbol->s_name)) { - //fprintf(stderr,"...Up\n"); - if(x->x_buf[0] == 0 && x->x_val != 0) - sprintf(x->x_buf, "%g", x->x_val+1); - else - sprintf(x->x_buf, "%g", atof(x->x_buf) + 1); - my_numbox_key((void *)x, -1); - } - else if (!strcmp("ShiftUp", av[1].a_w.w_symbol->s_name)) - { - //fprintf(stderr,"...ShiftUp\n"); - if(x->x_buf[0] == 0 && x->x_val != 0) - sprintf(x->x_buf, "%g", x->x_val+0.01); - else - sprintf(x->x_buf, "%g", atof(x->x_buf) + 0.01); - my_numbox_key((void *)x, -1); + x->x_gui.x_finemoved = (int)av[0].a_w.w_float; + //post("...Shift %d", x->a_shift); } - else if (!strcmp("Down", av[1].a_w.w_symbol->s_name)) + if (av[0].a_w.w_float == 1) { - //fprintf(stderr,"...Down\n"); - if(x->x_buf[0] == 0 && x->x_val != 0) - sprintf(x->x_buf, "%g", x->x_val-1); - else - sprintf(x->x_buf, "%g", atof(x->x_buf) - 1); - my_numbox_key((void *)x, -1); - } - else if (!strcmp("ShiftDown", av[1].a_w.w_symbol->s_name)) - { - //fprintf(stderr,"...ShiftDown\n"); - if(x->x_buf[0] == 0 && x->x_val != 0) - sprintf(x->x_buf, "%g", x->x_val-0.01); - else - sprintf(x->x_buf, "%g", atof(x->x_buf) - 0.01); - my_numbox_key((void *)x, -1); + if (!strcmp("Up", av[1].a_w.w_symbol->s_name)) + { + //fprintf(stderr,"...Up\n"); + if(x->x_buf[0] == 0 && x->x_val != 0) + sprintf(x->x_buf, "%g", x->x_val+1); + else + sprintf(x->x_buf, "%g", atof(x->x_buf) + 1); + my_numbox_key((void *)x, -1); + } + else if (!strcmp("ShiftUp", av[1].a_w.w_symbol->s_name)) + { + //fprintf(stderr,"...ShiftUp\n"); + if(x->x_buf[0] == 0 && x->x_val != 0) + sprintf(x->x_buf, "%g", x->x_val+0.01); + else + sprintf(x->x_buf, "%g", atof(x->x_buf) + 0.01); + my_numbox_key((void *)x, -1); + } + else if (!strcmp("Down", av[1].a_w.w_symbol->s_name)) + { + //fprintf(stderr,"...Down\n"); + if(x->x_buf[0] == 0 && x->x_val != 0) + sprintf(x->x_buf, "%g", x->x_val-1); + else + sprintf(x->x_buf, "%g", atof(x->x_buf) - 1); + my_numbox_key((void *)x, -1); + } + else if (!strcmp("ShiftDown", av[1].a_w.w_symbol->s_name)) + { + //fprintf(stderr,"...ShiftDown\n"); + if(x->x_buf[0] == 0 && x->x_val != 0) + sprintf(x->x_buf, "%g", x->x_val-0.01); + else + sprintf(x->x_buf, "%g", atof(x->x_buf) - 0.01); + my_numbox_key((void *)x, -1); + } } } }