// ########### filterbank procedures -- ydegoyon@free.fr ######### sys_gui("proc filterbank_apply {id} {\n"); // strip "." from the TK id to make a variable name suffix sys_gui("set vid [string trimleft $id .]\n"); // for each variable, make a local variable to hold its name... sys_gui("set var_graph_lowfreq [concat graph_lowfreq_$vid]\n"); sys_gui("global $var_graph_lowfreq\n"); sys_gui("set var_graph_highfreq [concat graph_highfreq_$vid]\n"); sys_gui("global $var_graph_highfreq\n"); sys_gui("set cmd [concat $id dialog [eval concat $$var_graph_lowfreq] [eval concat $$var_graph_highfreq] \\;]\n"); // puts stderr $cmd sys_gui("pd $cmd\n"); sys_gui("}\n"); sys_gui("proc filterbank_cancel {id} {\n"); sys_gui("set cmd [concat $id cancel \\;]\n"); // puts stderr $cmd sys_gui("pd $cmd\n"); sys_gui("}\n"); sys_gui("proc filterbank_ok {id} {\n"); sys_gui("filterbank_apply $id\n"); sys_gui("filterbank_cancel $id\n"); sys_gui("}\n"); sys_gui("proc pdtk_filterbank_dialog {id lowfreq highfreq} {\n"); sys_gui("set vid [string trimleft $id .]\n"); sys_gui("set var_graph_lowfreq [concat graph_lowfreq_$vid]\n"); sys_gui("global $var_graph_lowfreq\n"); sys_gui("set var_graph_highfreq [concat graph_highfreq_$vid]\n"); sys_gui("global $var_graph_highfreq\n"); sys_gui("set $var_graph_lowfreq $lowfreq\n"); sys_gui("set $var_graph_highfreq $highfreq\n"); sys_gui("toplevel $id\n"); sys_gui("wm title $id {filterbank}\n"); sys_gui("wm protocol $id WM_DELETE_WINDOW [concat filterbank_cancel $id]\n"); sys_gui("label $id.label -text {FILTERBANK PROPERTIES}\n"); sys_gui("pack $id.label -side top\n"); sys_gui("frame $id.buttonframe\n"); sys_gui("pack $id.buttonframe -side bottom -fill x -pady 2m\n"); sys_gui("button $id.buttonframe.cancel -text {Cancel} -command \"filterbank_cancel $id\"\n"); sys_gui("button $id.buttonframe.apply -text {Apply} -command \"filterbank_apply $id\"\n"); sys_gui("button $id.buttonframe.ok -text {OK} -command \"filterbank_ok $id\"\n"); sys_gui("pack $id.buttonframe.cancel -side left -expand 1\n"); sys_gui("pack $id.buttonframe.apply -side left -expand 1\n"); sys_gui("pack $id.buttonframe.ok -side left -expand 1\n"); sys_gui("frame $id.1rangef\n"); sys_gui("pack $id.1rangef -side top\n"); sys_gui("label $id.1rangef.llowfreq -text \"Lower Frequency :\"\n"); sys_gui("entry $id.1rangef.lowfreq -textvariable $var_graph_lowfreq -width 7\n"); sys_gui("pack $id.1rangef.llowfreq $id.1rangef.lowfreq -side left\n"); sys_gui("frame $id.2rangef\n"); sys_gui("pack $id.2rangef -side top\n"); sys_gui("label $id.2rangef.lhighfreq -text \"Higher Frequency :\"\n"); sys_gui("entry $id.2rangef.highfreq -textvariable $var_graph_highfreq -width 7\n"); sys_gui("pack $id.2rangef.lhighfreq $id.2rangef.highfreq -side left\n"); sys_gui("bind $id.1rangef.lowfreq [concat filterbank_ok $id]\n"); sys_gui("bind $id.2rangef.highfreq [concat filterbank_ok $id]\n"); sys_gui("focus $id.1rangef.lowfreq\n"); sys_gui("}\n"); // ########### filterbank procedures END -- ydegoyon@free.fr #########