diff --git a/externals/moonlib/mknob.c b/externals/moonlib/mknob.c index 9524a20b617595cb3abd21713f87be166bbb641b..eb53cba11cc7a0de281bfbd5d8ea5db3f8470fbe 100644 --- a/externals/moonlib/mknob.c +++ b/externals/moonlib/mknob.c @@ -14,7 +14,6 @@ #include "m_pd.h" #include "g_canvas.h" -//#include "../old_g_all_guis.inc" #include "g_all_guis.h" #include <math.h> @@ -78,8 +77,6 @@ static void mknob_update_knob(t_mknob *x, t_glist *glist) xpc = miniradius * cos(angle - M_PI / 2.0); ypc = miniradius * sin(angle - M_PI / 2.0); - //sys_vgui(".x%lx.c coords %xKNOB %f %f %f %f\n", - // canvas,x,xp,yp,xc,yc); gui_vmess("gui_turn_mknob", "xxffff", canvas, x, @@ -93,26 +90,7 @@ static void mknob_update_knob(t_mknob *x, t_glist *glist) static void mknob_draw_update(t_mknob *x, t_glist *glist) { if (glist_isvisible(glist)) - { mknob_update_knob(x,glist); - - /*if(x->x_val == x->x_center) - { - if(!x->x_thick) - { - sys_vgui(".x%lx.c itemconfigure %xKNOB -width 7\n", canvas, x); - x->x_thick = 1; - } - } - else - { - if(x->x_thick) - { - sys_vgui(".x%lx.c itemconfigure %xKNOB -width 3\n", canvas, x); - x->x_thick = 0; - } - }*/ - } } static void mknob_draw_config(t_mknob *x,t_glist *glist) @@ -124,85 +102,22 @@ static void mknob_draw_config(t_mknob *x,t_glist *glist) sprintf(fcol, "#%6.6x", x->x_gui.x_fcol); sprintf(lcol, "#%6.6x", x->x_gui.x_lcol); - //sys_vgui(".x%lx.c itemconfigure %xLABEL " - // "-font {{%s} %d bold} -fill #%6.6x -text {%s} \n", - // canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, - // x->x_gui.x_fsf.x_selected?IEM_GUI_COLOR_SELECTED:x->x_gui.x_lcol, - // strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:""); - //sys_vgui(".x%lx.c itemconfigure %xKNOB " - // "-fill #%6.6x\n", canvas, x, x->x_gui.x_fcol); - //sys_vgui(".x%lx.c itemconfigure %xCENTER " - // "-fill #%6.6x\n", canvas, x, x->x_gui.x_fcol); - //sys_vgui(".x%lx.c itemconfigure %xBASE " - // "-fill #%6.6x\n", canvas, x, x->x_gui.x_bcol); - - gui_vmess("gui_configure_mknob", "xxiiiisss", + gui_vmess("gui_configure_mknob", "xxiss", canvas, x, x->x_gui.x_w, - IOWIDTH, - x->x_gui.x_ldx, - x->x_gui.x_ldy, bcol, - fcol, - lcol + fcol ); mknob_update_knob(x,glist); } static void mknob_draw_new(t_mknob *x, t_glist *glist) { - int xpos=text_xpix(&x->x_gui.x_obj, glist); - int ypos=text_ypix(&x->x_gui.x_obj, glist); - int r = xpos + (x->x_val + 50)/100; - t_float xc=xpos+x->x_gui.x_w/2.0; - t_float yc=ypos+x->x_gui.x_w/2.0; - t_float rc=x->x_gui.x_w/2.0; - t_canvas *canvas=glist_getcanvas(glist); - - t_gobj *y = (t_gobj *)x; - t_object *ob = pd_checkobject(&y->g_pd); - - // GOP objects are unable to call findrtext triggering consistency - // check error - t_rtext *yyyy = NULL; - if (!glist->gl_isgraph || glist_istoplevel(glist)) - yyyy = glist_findrtext(canvas, (t_text *)&ob->ob_g); - - // on GOP we cause segfault as apparently text_gettag() returns bogus data - char *nlet_tag; - if (yyyy) nlet_tag = rtext_gettag(yyyy); - else nlet_tag = "bogus"; - - //sys_vgui(".x%lx.c create circle %f %f -r %f " - // "-fill #%6.6x -tags {%xBASE %xMKNOB %s}\n", - // canvas,xc,yc,rc, - // x->x_gui.x_bcol, x, x, nlet_tag); - //sys_vgui(".x%lx.c create ppolygon %f %d %f %f " - // "-strokewidth 2 -stroke #%6.6x -tags {%xKNOB %xMKNOB %s}\n", - // canvas,xc,ypos,xc,yc,x->x_gui.x_fcol,x,x,nlet_tag); - //mknob_update_knob(x,glist); - - //sys_vgui(".x%lx.c create text %d %d -text {%s} -anchor w \ - // -font {{%s} %d bold} -fill #%6.6x -tags {%xLABEL %xMKNOB %s}\n", - // canvas, xpos+x->x_gui.x_ldx, - // ypos+x->x_gui.x_ldy, - // strcmp(x->x_gui.x_lab->s_name, "empty") ? - // x->x_gui.x_lab->s_name : "", - // x->x_gui.x_font, x->x_gui.x_fontsize, x->x_gui.x_lcol, - // x, x, nlet_tag); - - //if (canvas == glist) { - // if (!x->x_gui.x_fsf.x_snd_able) - // sys_vgui(".x%lx.c create prect %d %d %d %d " - // "-tags {%xOUT%d %xMKNOB %so0 outlet}\n", - // canvas, xpos, ypos + x->x_gui.x_w-1, - // xpos + IOWIDTH, ypos + x->x_gui.x_w, x, 0, x, nlet_tag); - // if (!x->x_gui.x_fsf.x_rcv_able) - // sys_vgui(".x%lx.c create prect %d %d %d %d " - // "-tags {%xIN%d %xMKNOB %si0 inlet}\n", - // canvas, xpos, ypos-1, xpos + IOWIDTH, ypos, x, 0, x, nlet_tag); - //} + int xpos = text_xpix(&x->x_gui.x_obj, glist); + int ypos = text_ypix(&x->x_gui.x_obj, glist); + t_canvas *canvas = glist_getcanvas(glist); + gui_vmess("gui_mknob_new", "xxiiiii", canvas, x, @@ -215,110 +130,16 @@ static void mknob_draw_new(t_mknob *x, t_glist *glist) mknob_draw_config(x, glist); } -static void mknob_move_io(t_mknob *x,t_glist *glist) -{ - int xpos = text_xpix(&x->x_gui.x_obj, glist); - int ypos = text_ypix(&x->x_gui.x_obj, glist); - t_canvas *canvas = glist_getcanvas(glist); - t_gobj *y = (t_gobj *)x; - - gui_vmess("gui_mknob_outlet_coords", "xxi", canvas, x, x->x_gui.x_w); -} - - -static void mknob_draw_move(t_mknob *x, t_glist *glist) -{ - int xpos=text_xpix(&x->x_gui.x_obj, glist); - int ypos=text_ypix(&x->x_gui.x_obj, glist); - int r = xpos + (x->x_val + 50)/100; - t_float xc=xpos+x->x_gui.x_w/2.0; - t_float yc=ypos+x->x_gui.x_w/2.0; - t_float rc=x->x_gui.x_w/2.0; - t_canvas *canvas=glist_getcanvas(glist); - - //sys_vgui(".x%lx.c coords %xBASE %f %f\n", - // canvas, x, - // xc, yc); - //sys_vgui(".x%lx.c itemconfigure %xBASE -r %f\n", canvas, x, rc); - //sys_vgui(".x%lx.c coords %xCENTER %f %f\n", - // canvas, x, - // xc, yc); - mknob_update_knob(x, glist); - mknob_move_io(x, glist); - //sys_vgui(".x%lx.c coords %xLABEL %d %d\n", - // canvas, x, xpos+x->x_gui.x_ldx, ypos+x->x_gui.x_ldy); - //if (canvas == glist) { - // if(!x->x_gui.x_fsf.x_snd_able) - // sys_vgui(".x%lx.c coords %xOUT%d %d %d %d %d\n", - // canvas, x, 0, - // xpos, ypos + x->x_gui.x_w-1, xpos + IOWIDTH, ypos + x->x_gui.x_w); - // if(!x->x_gui.x_fsf.x_rcv_able) - // sys_vgui(".x%lx.c coords %xIN%d %d %d %d %d\n", - // canvas, x, 0, - // xpos, ypos-1, xpos + IOWIDTH, ypos); - //} -} - -static void mknob_draw_erase(t_mknob *x,t_glist *glist) -{ - t_canvas *canvas = glist_getcanvas(glist); - - //sys_vgui(".x%lx.c delete %xBASE\n", canvas, x); - //sys_vgui(".x%lx.c delete %xCENTER\n", canvas, x); - //sys_vgui(".x%lx.c delete %xKNOB\n", canvas, x); - //sys_vgui(".x%lx.c delete %xLABEL\n", canvas, x); - //if (canvas == glist) { - // if(!x->x_gui.x_fsf.x_snd_able) - // sys_vgui(".x%lx.c delete %xOUT%d\n", canvas, x, 0); - // if(!x->x_gui.x_fsf.x_rcv_able) - // sys_vgui(".x%lx.c delete %xIN%d\n", canvas, x, 0); - //} -} - - -//static void mknob_draw_select(t_mknob *x,t_glist *glist) -//{ -// t_canvas *canvas=glist_getcanvas(glist); -// -// if (x->x_gui.x_fsf.x_selected) -// { - //if (x->x_gui.x_glist == glist_getcanvas(glist)) - //{ - // sys_vgui(".x%lx.c itemconfigure %xBASE " - // "-stroke $pd_colors(selection)\n", canvas, x); - // sys_vgui(".x%lx.c itemconfigure %xLABEL " - // "-fill $pd_colors(selection)\n", canvas, x); - //} - //sys_vgui(".x%lx.c addtag selected withtag %lxMKNOB\n", canvas, x); -// gui_vmess("gui_gobj_select", "xx", canvas, x); -// } -// else -// { - //sys_vgui(".x%lx.c itemconfigure %xBASE " - // "-stroke #%6.6x\n", canvas, x, x->x_gui.x_fcol); - //sys_vgui(".x%lx.c itemconfigure %xLABEL " - // "-fill #%6.6x\n", canvas, x, x->x_gui.x_lcol); - //sys_vgui(".x%lx.c dtag %lxMKNOB selected\n", canvas, x); -// gui_vmess("gui_gobj_deselect", "xx", canvas, x); -// } -//} - void mknob_draw(t_mknob *x, t_glist *glist, int mode) { - if(mode == IEM_GUI_DRAW_MODE_UPDATE) + if (mode == IEM_GUI_DRAW_MODE_UPDATE) mknob_draw_update(x, glist); - else if(mode == IEM_GUI_DRAW_MODE_MOVE) - mknob_draw_move(x, glist); - else if(mode == IEM_GUI_DRAW_MODE_NEW) + else if (mode == IEM_GUI_DRAW_MODE_MOVE) + mknob_draw_config(x, glist); + else if (mode == IEM_GUI_DRAW_MODE_NEW) mknob_draw_new(x, glist); -// else if(mode == IEM_GUI_DRAW_MODE_SELECT) -// mknob_draw_select(x, glist); -// else if(mode == IEM_GUI_DRAW_MODE_ERASE) -// mknob_draw_erase(x, glist); - else if(mode == IEM_GUI_DRAW_MODE_CONFIG) + else if (mode == IEM_GUI_DRAW_MODE_CONFIG) mknob_draw_config(x, glist); - /*else if(mode >= IEM_GUI_DRAW_MODE_IO) - mknob_draw_io(x, glist, mode - IEM_GUI_DRAW_MODE_IO);*/ } /* ------------------------ mknob widgetbehaviour----------------------------- */ @@ -376,17 +197,6 @@ void mknob_check_wh(t_mknob *x, int w, int h) x->x_k = log(x->x_max/x->x_min)/(double)(x->x_H - 1); else x->x_k = (x->x_max - x->x_min)/(double)(x->x_H - 1); - - /*x->x_center = (x->x_gui.x_w-1)*50; - if(x->x_val > (x->x_gui.x_w*100 - 100)) - { - x->x_pos = x->x_gui.x_w*100 - 100; - x->x_val = x->x_pos; - } - if(x->x_lin0_log1) - x->x_k = log(x->x_max/x->x_min)/(double)(x->x_gui.x_w - 1); - else - x->x_k = (x->x_max - x->x_min)/(double)(x->x_gui.x_w - 1);*/ } void mknob_check_minmax(t_mknob *x, double min, double max) @@ -433,33 +243,16 @@ static void mknob_properties(t_gobj *z, t_glist *owner) t_symbol *srl[3]; iemgui_properties(&x->x_gui, srl); - //sprintf(buf, "pdtk_iemgui_dialog %%s mknob \ -// --------dimension(pix):-------- %d %d width: %d %d {# steps:} \ -// -----------output-range:----------- %g left: %g right: %g \ -// %d lin log %d %d empty %d \ -// %s %s \ -// %s %d %d \ -// %d %d \ -// %d %d %d\n", -// x->x_gui.x_w, MKNOB_MINSIZE, x->x_gui.x_h, -1, -// x->x_min, x->x_max, 0.0,/*no_schedule*/ -// x->x_lin0_log1, x->x_gui.x_isa.x_loadinit, x->x_steady, -1,/*no multi, but iem-characteristic*/ -// srl[0]->s_name, srl[1]->s_name, -// srl[2]->s_name, x->x_gui.x_ldx, x->x_gui.x_ldy, -// x->x_gui.x_fsf.x_font_style, x->x_gui.x_fontsize, -// 0xffffff & x->x_gui.x_bcol, 0xffffff & x->x_gui.x_fcol, 0xffffff & x->x_gui.x_lcol); - //gfxstub_new(&x->x_gui.x_obj.ob_pd, x, buf); - gfx_tag = gfxstub_new2(&x->x_gui.x_obj.ob_pd, x); gui_start_vmess("gui_iemgui_dialog", "s", gfx_tag); gui_start_array(); gui_s("type"); gui_s("mknob"); - gui_s("width"); gui_i(x->x_gui.x_w); /* Since mknob reuses the iemgui dialog code, we just - use the "height" slot for the number of steps and - re-label it on the GUI side */ + use the "width" slot for "size" and the "height" slot + for the number of steps and re-label it on the GUI side. */ + gui_s("width"); gui_i(x->x_gui.x_w); gui_s("height"); gui_i(x->x_gui.x_h); gui_s("minimum_range"); gui_f(x->x_min); gui_s("maximum_range"); gui_f(x->x_max); @@ -546,9 +339,12 @@ static void mknob_dialog(t_mknob *x, t_symbol *s, int argc, t_atom *argv) //x->x_gui.x_w = iemgui_clip_size(w); mknob_check_wh(x, w, h); mknob_check_minmax(x, min, max); - (*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_CONFIG); + iemgui_draw_config(&x->x_gui); + //(*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_CONFIG); //(*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_IO + sr_flags); - (*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_MOVE); + iemgui_draw_io(&x->x_gui, sr_flags); + iemgui_draw_move(&x->x_gui); + //(*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_MOVE); canvas_fixlinesfor(x->x_gui.x_glist, (t_text *)x); } @@ -626,10 +422,13 @@ static void mknob_motion_fullcircular(t_mknob *x, t_floatarg dx, t_floatarg dy) /*if(x->x_pos>31500) x->x_pos=0; else if(x->x_pos>(27000-100)) x->x_pos=(27000-100);*/ - if(x->x_pos>(36000-100)) x->x_pos=(36000-100); + if (x->x_pos > (36000-100)) + { + x->x_pos=(36000-100); + } x->x_val=x->x_pos; - if(old != x->x_val) + if (old != x->x_val) { (*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_UPDATE); mknob_bang(x); @@ -639,28 +438,25 @@ static void mknob_motion_fullcircular(t_mknob *x, t_floatarg dx, t_floatarg dy) static void mknob_click(t_mknob *x, t_floatarg xpos, t_floatarg ypos, t_floatarg shift, t_floatarg ctrl, t_floatarg alt) { - xm0=xm=xpos; - ym0=ym=ypos; - //if(!x->x_steady) - //x->x_val = (int)(100.0 * (xpos - text_xpix(&x->x_gui.x_obj, x->x_gui.x_glist))); - if(x->x_val > (100*x->x_H - 100)) + xm0 = xm = xpos; + ym0 = ym = ypos; + if (x->x_val > (100*x->x_H - 100)) x->x_val = 100*x->x_H - 100; - if(x->x_val < 0) + if (x->x_val < 0) x->x_val = 0; x->x_pos = x->x_val; (*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_UPDATE); mknob_bang(x); - if(x->x_gui.x_h<0) + if (x->x_gui.x_h<0) glist_grab(x->x_gui.x_glist, &x->x_gui.x_obj.te_g, (t_glistmotionfn)mknob_motion_fullcircular, 0, xpos, ypos); - else if(x->x_gui.x_h==0) + else if (x->x_gui.x_h==0) glist_grab(x->x_gui.x_glist, &x->x_gui.x_obj.te_g, (t_glistmotionfn)mknob_motion_circular, 0, xpos, ypos); else glist_grab(x->x_gui.x_glist, &x->x_gui.x_obj.te_g, (t_glistmotionfn)mknob_motion, 0, xpos, ypos); - } static int mknob_newclick(t_gobj *z, struct _glist *glist, @@ -668,11 +464,11 @@ static int mknob_newclick(t_gobj *z, struct _glist *glist, { t_mknob *x = (t_mknob *)z; - if(doit) + if (doit) { mknob_click( x, (t_floatarg)xpix, (t_floatarg)ypix, (t_floatarg)shift, 0, (t_floatarg)alt); - if(shift) + if (shift) x->x_gui.x_finemoved = 1; else x->x_gui.x_finemoved = 0; @@ -764,13 +560,13 @@ static void mknob_float(t_mknob *x, t_floatarg f) double out; mknob_set(x, f); - if(x->x_lin0_log1) + if (x->x_lin0_log1) out = x->x_min*exp(x->x_k*(double)(x->x_val)*0.01); else out = (double)(x->x_val)*0.01*x->x_k + x->x_min; - if((out < 1.0e-10)&&(out > -1.0e-10)) + if ((out < 1.0e-10)&&(out > -1.0e-10)) out = 0.0; - if(x->x_gui.x_put_in2out) + if (x->x_gui.x_put_in2out) { outlet_float(x->x_gui.x_obj.ob_outlet, out); if (iemgui_has_snd(x) && x->x_gui.x_snd->s_thing) @@ -780,29 +576,13 @@ static void mknob_float(t_mknob *x, t_floatarg f) static void mknob_loadbang(t_mknob *x) { - if(!sys_noloadbang && x->x_gui.x_loadinit) + if (!sys_noloadbang && x->x_gui.x_loadinit) { (*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_UPDATE); mknob_bang(x); } } -/*static void mknob_list(t_mknob *x, t_symbol *s, int ac, t_atom *av) -{ - int l=iemgui_list((void *)x, &x->x_gui, s, ac, av); - - if(l < 0) - { - if(IS_A_FLOAT(av,0)) - mknob_float(x, atom_getfloatarg(0, ac, av)); - } - else if(l > 0) - { - (*x->x_gui.x_draw)(x, x->x_gui.x_glist, IEM_GUI_DRAW_MODE_MOVE); - canvas_fixlinesfor(x->x_gui.x_glist, (t_text*)x); - } -}*/ - /* we may no longer need h_dragon... */ static void mknob__clickhook(t_scalehandle *sh, int newstate) { @@ -871,13 +651,15 @@ static void mknob__motionhook(t_scalehandle *sh, if (properties) { int new_w = x->x_gui.x_w + sh->h_dragx; - properties_set_field_int(properties,"size",new_w); + // This should actually be "size", but we're using the + // "width" input in dialog_iemgui and just relabelling it + // as a kluge. + properties_set_field_int(properties, "width", new_w); } } scalehandle_dragon_label(sh,mouse_x, mouse_y); } - static void *mknob_new(t_symbol *s, int argc, t_atom *argv) { t_mknob *x = (t_mknob *)pd_new(mknob_class); @@ -891,10 +673,6 @@ static void *mknob_new(t_symbol *s, int argc, t_atom *argv) //t_iem_fstyle_flags *fstyle=(t_iem_fstyle_flags *)(&ifstyle); char str[144]; - /*srl[0] = gensym("empty"); - srl[1] = gensym("empty"); - srl[2] = gensym("empty");*/ - if(((argc == 17)||(argc == 18))&&IS_A_FLOAT(argv,0)&&IS_A_FLOAT(argv,1) &&IS_A_FLOAT(argv,2)&&IS_A_FLOAT(argv,3) &&IS_A_FLOAT(argv,4)&&IS_A_FLOAT(argv,5) @@ -920,44 +698,14 @@ static void *mknob_new(t_symbol *s, int argc, t_atom *argv) bflcol[1] = (int)atom_getintarg(14, argc, argv); bflcol[2] = (int)atom_getintarg(15, argc, argv); v = (int)atom_getintarg(16, argc, argv); - /*iinit = (int)atom_getintarg(5, argc, argv); - if(IS_A_SYMBOL(argv,6)) - srl[0] = atom_getsymbolarg(6, argc, argv); - else if(IS_A_FLOAT(argv,6)) - { - sprintf(str, "%d", (int)atom_getintarg(6, argc, argv)); - srl[0] = gensym(str); - } - if(IS_A_SYMBOL(argv,7)) - srl[1] = atom_getsymbolarg(7, argc, argv); - else if(IS_A_FLOAT(argv,7)) - { - sprintf(str, "%d", (int)atom_getintarg(7, argc, argv)); - srl[1] = gensym(str); - } - if(IS_A_SYMBOL(argv,8)) - srl[2] = atom_getsymbolarg(8, argc, argv); - else if(IS_A_FLOAT(argv,8)) - { - sprintf(str, "%d", (int)atom_getintarg(8, argc, argv)); - srl[2] = gensym(str); - }*/ - //ifstyle = (int)atom_getintarg(11, argc, argv); } else iemgui_new_getnames(&x->x_gui, 6, 0); if((argc == 18)&&IS_A_FLOAT(argv,17)) steady = (int)atom_getintarg(17, argc, argv); - /*iinit &= IEM_INIT_ARGS_ALL; - ifstyle &= IEM_FSTYLE_FLAGS_ALL; - fstyle->x_snd_able = 1; - fstyle->x_rcv_able = 1;*/ x->x_gui.x_draw = (t_iemfunptr)mknob_draw; - //x->x_gui.x_fsf.x_snd_able = 1; - //x->x_gui.x_fsf.x_rcv_able = 1; x->x_gui.x_glist = (t_glist *)canvas_getcurrent(); - //x->x_gui.x_isa = *init; if(x->x_gui.x_loadinit) x->x_val = v; else @@ -967,11 +715,6 @@ static void *mknob_new(t_symbol *s, int argc, t_atom *argv) x->x_lin0_log1 = lilo; if(steady != 0) steady = 1; x->x_steady = steady; - //if(!strcmp(x->x_gui.x_snd->s_name, "empty")) x->x_gui.x_fsf.x_snd_able = 0; - //if(!strcmp(x->x_gui.x_rcv->s_name, "empty")) x->x_gui.x_fsf.x_rcv_able = 0; - //if(!strcmp(srl[0]->s_name, "empty")) fstyle->x_snd_able = 0; - //if(!strcmp(srl[1]->s_name, "empty")) fstyle->x_rcv_able = 0; - //x->x_gui.x_unique_num = 0; if (x->x_gui.x_font_style == 1) { //strcpy(x->x_gui.x_font, "helvetica"); @@ -983,17 +726,7 @@ static void *mknob_new(t_symbol *s, int argc, t_atom *argv) else { x->x_gui.x_font_style = 0; - /*if(fstyle->x_font_style == 1) strcpy(x->x_gui.x_font, "helvetica"); - else if(fstyle->x_font_style == 2) strcpy(x->x_gui.x_font, "times"); - else { fstyle->x_font_style = 0;*/ - //strcpy(x->x_gui.x_font, "courier"); } - //x->x_gui.x_fsf = *fstyle; - //iemgui_first_dollararg2sym(&x->x_gui, srl); - //if(x->x_gui.x_fsf.x_rcv_able) pd_bind(&x->x_gui.x_obj.ob_pd, srl[1]); - /*x->x_gui.x_snd = srl[0]; - x->x_gui.x_rcv = srl[1]; - x->x_gui.x_lab = srl[2];*/ if (iemgui_has_rcv(x)) pd_bind(&x->x_gui.x_obj.ob_pd, x->x_gui.x_rcv); x->x_gui.x_ldx = ldx; x->x_gui.x_ldy = ldy; @@ -1021,8 +754,6 @@ static void *mknob_new(t_symbol *s, int argc, t_atom *argv) static void mknob_free(t_mknob *x) { - /*if(x->x_gui.x_fsf.x_selected) - pd_unbind(&x->x_gui.x_obj.ob_pd, iemgui_key_sym);*/ if (iemgui_has_rcv(x)) pd_unbind(&x->x_gui.x_obj.ob_pd, x->x_gui.x_rcv); gfxstub_deleteforkey(x); diff --git a/pd/nw/dialog_iemgui.html b/pd/nw/dialog_iemgui.html index 3b3fde37b2dbe14836ed61cf6abb821ec54eafb4..340b432893cf03037f7642df8e113b111c4a926a 100644 --- a/pd/nw/dialog_iemgui.html +++ b/pd/nw/dialog_iemgui.html @@ -57,20 +57,20 @@ </tr> <tr class="width prop hidden"> <td> - <label data-i18n="[title]iem.prop.width_tt"> - <span data-i18n="iem.prop.width"></span> + <label data-i18n="[title]iem.prop.width_tt" class="mknob_size_tt"> + <span data-i18n="iem.prop.width" class="mknob_size"></span> </label> </td> - <td data-i18n="[title]iem.prop.width_tt"> + <td data-i18n="[title]iem.prop.width_tt" class="mknob_size_tt"> <input type="text" name="width" onchange="update_attr(this);"> </td> <td> - <label data-i18n="[title]iem.prop.height_tt" class="mknob_tt"> - <span data-i18n="iem.prop.height" class="mknob_label"></span> + <label data-i18n="[title]iem.prop.height_tt" class="mknob_steps_tt"> + <span data-i18n="iem.prop.height" class="mknob_steps"></span> </label> </td> - <td data-i18n="[title]iem.prop.height_tt" class="mknob_tt"> + <td data-i18n="[title]iem.prop.height_tt" class="mknob_steps_tt"> <input type="text" name="height" onchange="update_attr(this);"> </td> @@ -552,12 +552,14 @@ function ok() { cancel(false); } -function change_height_slot_labels_for_mknob() { - document.body.querySelectorAll(".mknob_label").forEach(function(e) { - e.setAttribute("data-i18n", "iem.prop.mknob_steps"); - }); - document.body.querySelectorAll(".mknob_tt").forEach(function(e) { - e.setAttribute("data-i18n", "[title]iem.prop.mknob_steps_tt"); +function change_width_and_height_labels() { + [".mknob_steps", ".mknob_size"].forEach(function(sel) { + document.body.querySelectorAll(sel).forEach(function(e) { + e.setAttribute("data-i18n", "iem.prop" + sel); + }); + document.body.querySelectorAll(sel + "_tt").forEach(function(e) { + e.setAttribute("data-i18n", "[title]iem.prop" + sel + "_tt"); + }); }); } @@ -579,7 +581,7 @@ function register_window_id(gfxstub, attr_object) { // Special case for [moonlib/mknob] which leverages the iemgui dialog-- // change the label for "height" to "steps" if (attr_object.type === "mknob") { - change_height_slot_labels_for_mknob(); + change_width_and_height_labels(); pdgui.post("Special case: mknob"); } diff --git a/pd/nw/locales/de/translation.json b/pd/nw/locales/de/translation.json index 3d854f5e06cacec533ed144ec257258d58bb91bc..76155cb0514b2efdf6fdde7aa0f6da816a02b1f4 100644 --- a/pd/nw/locales/de/translation.json +++ b/pd/nw/locales/de/translation.json @@ -71,7 +71,9 @@ "close": "Schließen", "close_tt": "Schließe das Dialog-Fenster", "mknob_steps": "# of steps", - "mknob_steps_tt": "number of dial positions for the knob" + "mknob_steps_tt": "number of dial positions for the knob", + "mknob_size": "size", + "mknob_size_tt": "size of the knob" } }, "gatom": { diff --git a/pd/nw/locales/en/translation.json b/pd/nw/locales/en/translation.json index c163f3815fde2974a92b5a5f381abfc41ef89083..7e6d7010d1af307889fcc878bb6dcfd7f68d5815 100644 --- a/pd/nw/locales/en/translation.json +++ b/pd/nw/locales/en/translation.json @@ -71,7 +71,9 @@ "close": "Close", "close_tt": "Close the dialog window", "mknob_steps": "# of steps", - "mknob_steps_tt": "number of dial positions for the knob" + "mknob_steps_tt": "number of dial positions for the knob", + "mknob_size": "size", + "mknob_size_tt": "size of the knob" } }, "gatom": { diff --git a/pd/nw/pdgui.js b/pd/nw/pdgui.js index fe636d5ca8f313f1e1a4b37328c0c2100153a3f2..d961cf864db3d0e6eec97ae3b52dd0d74ef1e26b 100644 --- a/pd/nw/pdgui.js +++ b/pd/nw/pdgui.js @@ -3725,18 +3725,13 @@ function gui_mknob_new(cid, tag, x, y, is_toplevel, show_in, show_out) { }), line = create_item(cid, "line", { class: "dial" - }), - label = create_item(cid, "text", { - class: "label" }); g.appendChild(border); g.appendChild(circle); g.appendChild(line); - g.appendChild(label); } -function gui_configure_mknob(cid, tag, size, xlet_width, label_x, label_y, - bg_color, fg_color, label_color) { +function gui_configure_mknob(cid, tag, size, bg_color, fg_color) { var g = get_gobj(cid, tag); configure_item(g.querySelector(".border"), { d: ["M", 0, 0, size, 0, @@ -3770,17 +3765,6 @@ function gui_turn_mknob(cid, tag, x1, y1, x2, y2) { }); } -function gui_mknob_outlet_coords(cid, tag, w) { - var g = get_gobj(cid, tag); - g.querySelectorAll(".xlet_iemgui").forEach(function(elem) { - if (elem.getAttributeNS(null, "y") !== "0") { - configure_item(elem, { - y: w - 1 - }); - } - }); -} - function add_popup(cid, popup) { popup_menu[cid] = popup; }