diff --git a/pd/src/pd.tk b/pd/src/pd.tk index 2fb430bf3ed7f0ab9565ab94849b51496750506f..02aaad2502e8cffbf6e299b0390046ac14c41da2 100644 --- a/pd/src/pd.tk +++ b/pd/src/pd.tk @@ -17,6 +17,13 @@ #GUI improvements and dynamic runtime 8.5 widget upgrade for Linux by Ivica Ico Bukvic #http://ico.bukvic.net <ico@vt.edu> +rename proc proque +proque proc {name args body} { + puts "proc $name" + uplevel 1 [list proque $name $args $body] +} + + #puts stderr [info tclversion] ##--moo: force default system and stdio encoding to UTF-8 encoding system utf-8 @@ -7634,263 +7641,6 @@ proc audio_popup {name buttonname varname devlist} { tk_popup $name.popup [winfo pointerx $name] [winfo pointery $name] 0 } -# start a dialog window to select audio devices and settings. "multi" -# is 0 if only one device is allowed; 1 if one apiece may be specified for -# input and output; and 2 if we can select multiple devices. "longform" -# (which only makes sense if "multi" is 2) asks us to make controls for -# opening several devices; if not, we get an extra button to turn longform -# on and restart the dialog. - -proc old_audio_dialog {id indev1 indev2 indev3 indev4 \ - inchan1 inchan2 inchan3 inchan4 \ - outdev1 outdev2 outdev3 outdev4 \ - outchan1 outchan2 outchan3 outchan4 sr advance multi callback \ - longform} { - global audio_indev1 audio_indev2 audio_indev3 audio_indev4 - global audio_inchan1 audio_inchan2 audio_inchan3 audio_inchan4 - global audio_inenable1 audio_inenable2 audio_inenable3 audio_inenable4 - global audio_outdev1 audio_outdev2 audio_outdev3 audio_outdev4 - global audio_outchan1 audio_outchan2 audio_outchan3 audio_outchan4 - global audio_outenable1 audio_outenable2 audio_outenable3 audio_outenable4 - global audio_sr audio_advance audio_callback - global audio_indevlist audio_outdevlist - global pd_indev pd_outdev - global pd_nt - - set audio_indev1 $indev1 - set audio_indev2 $indev2 - set audio_indev3 $indev3 - set audio_indev4 $indev4 - - set audio_inchan1 [expr ( $inchan1 > 0 ? $inchan1 : -$inchan1 ) ] - set audio_inenable1 [expr $inchan1 > 0 ] - set audio_inchan2 [expr ( $inchan2 > 0 ? $inchan2 : -$inchan2 ) ] - set audio_inenable2 [expr $inchan2 > 0 ] - set audio_inchan3 [expr ( $inchan3 > 0 ? $inchan3 : -$inchan3 ) ] - set audio_inenable3 [expr $inchan3 > 0 ] - set audio_inchan4 [expr ( $inchan4 > 0 ? $inchan4 : -$inchan4 ) ] - set audio_inenable4 [expr $inchan4 > 0 ] - - set audio_outdev1 $outdev1 - set audio_outdev2 $outdev2 - set audio_outdev3 $outdev3 - set audio_outdev4 $outdev4 - - set audio_outchan1 [expr ( $outchan1 > 0 ? $outchan1 : -$outchan1 ) ] - set audio_outenable1 [expr $outchan1 > 0 ] - set audio_outchan2 [expr ( $outchan2 > 0 ? $outchan2 : -$outchan2 ) ] - set audio_outenable2 [expr $outchan2 > 0 ] - set audio_outchan3 [expr ( $outchan3 > 0 ? $outchan3 : -$outchan3 ) ] - set audio_outenable3 [expr $outchan3 > 0 ] - set audio_outchan4 [expr ( $outchan4 > 0 ? $outchan4 : -$outchan4 ) ] - set audio_outenable4 [expr $outchan4 > 0 ] - - set audio_sr $sr - set audio_advance $advance - set audio_callback $callback - - toplevel $id -class [winfo class .] - match_linux_wm [list $id configure] - wm title $id {Audio Settings} - wm resizable $id 0 0 - wm protocol $id WM_DELETE_WINDOW [concat audio_cancel $id] - - pdtk_panelkeybindings $id "audio" - - match_linux_wm [list frame $id.buttonframe] - pack $id.buttonframe -side bottom -fill x -pady 3 - match_linux_wm [list button $id.buttonframe.cancel -text {Cancel}\ - -command "audio_cancel $id"] - match_linux_wm [list button $id.buttonframe.apply -text {Apply}\ - -command "audio_apply $id"] - match_linux_wm [list button $id.buttonframe.ok -text {OK}\ - -command "audio_ok $id"] - match_linux_wm [list button $id.buttonframe.save\ - -text {Save all settings}\ - -command "audio_apply $id \; pd pd save-preferences \\;"] - pack $id.buttonframe.cancel $id.buttonframe.apply $id.buttonframe.ok \ - $id.buttonframe.save -side left -expand 1 -padx 3 - - # sample rate and advance - match_linux_wm [list frame $id.srf] - pack $id.srf -side top - - match_linux_wm [list label $id.srf.l1 -text "sample rate:"] - match_linux_wm [list entry $id.srf.x1 -textvariable audio_sr -width 7] - match_linux_wm [list label $id.srf.l2 -text "delay (msec):"] - match_linux_wm [list entry $id.srf.x2 -textvariable audio_advance -width 4] - pack $id.srf.l1 $id.srf.x1 $id.srf.l2 $id.srf.x2 -side left -pady 3 - - if {$audio_callback >= 0} { - match_linux_wm [list checkbutton $id.srf.x3 -variable audio_callback \ - -text {use callbacks} -anchor e] - pack $id.srf.x3 -side left - } - - # input device 1 - match_linux_wm [list frame $id.in1f] - pack $id.in1f -side top - - match_linux_wm [list checkbutton $id.in1f.x0 -variable audio_inenable1 \ - -text {input device 1 }] - - match_linux_wm [list button $id.in1f.x1 -text \ - [lindex $audio_indevlist $audio_indev1] \ - -command [list audio_popup $id $id.in1f.x1 \ - audio_indev1 $audio_indevlist]] - - match_linux_wm [list label $id.in1f.l2 -text "channels:"] - match_linux_wm [list entry $id.in1f.x2 -textvariable audio_inchan1 -width 3] - pack $id.in1f.x0 $id.in1f.x1 $id.in1f.l2 $id.in1f.x2 -side left -pady 3 - - # input device 2 - if {$longform && $multi > 1 && [llength $audio_indevlist] > 1} { - match_linux_wm [list frame $id.in2f] - pack $id.in2f -side top - - match_linux_wm [list checkbutton $id.in2f.x0 -variable audio_inenable2 \ - -text {input device 2 }] - - match_linux_wm [list button $id.in2f.x1 -text \ - [lindex $audio_indevlist $audio_indev2] \ - -command [list audio_popup $id $id.in2f.x1 \ - audio_indev2 $audio_indevlist]] - - match_linux_wm [list label $id.in2f.l2 -text "channels:"] - match_linux_wm [list entry $id.in2f.x2 -textvariable audio_inchan2 -width 3] - pack $id.in2f.x0 $id.in2f.x1 $id.in2f.l2 $id.in2f.x2 -side left -pady 3 - } - - # input device 3 - if {$longform && $multi > 1 && [llength $audio_indevlist] > 2} { - match_linux_wm [list frame $id.in3f] - pack $id.in3f -side top - - match_linux_wm [list checkbutton $id.in3f.x0 -variable audio_inenable3 \ - -text {input device 3 }] - - match_linux_wm [list button $id.in3f.x1 -text \ - [lindex $audio_indevlist $audio_indev3] \ - -command [list audio_popup $id $id.in3f.x1 \ - audio_indev3 $audio_indevlist]] - - match_linux_wm [list label $id.in3f.l2 -text "channels:"] - match_linux_wm [list entry $id.in3f.x2 -textvariable audio_inchan3 -width 3] - pack $id.in3f.x0 $id.in3f.x1 $id.in3f.l2 $id.in3f.x2 -side left -pady 3 - } - - # input device 4 - if {$longform && $multi > 1 && [llength $audio_indevlist] > 3} { - match_linux_wm [list frame $id.in4f] - pack $id.in4f -side top - - match_linux_wm [list checkbutton $id.in4f.x0 -variable audio_inenable4 \ - -text {input device 4 }] - - match_linux_wm [list button $id.in4f.x1 -text \ - [lindex $audio_indevlist $audio_indev4] \ - -command [list audio_popup $id $id.in4f.x1 \ - audio_indev4 $audio_indevlist]] - - match_linux_wm [list label $id.in4f.l2 -text "channels:"] - match_linux_wm [list entry $id.in4f.x2 -textvariable audio_inchan4 -width 3] - pack $id.in4f.x0 $id.in4f.x1 $id.in4f.l2 $id.in4f.x2 -side left -pady 3 - } - - # output device 1 - match_linux_wm [list frame $id.out1f] - pack $id.out1f -side top - - match_linux_wm [list checkbutton $id.out1f.x0 -variable audio_outenable1 \ - -text {output device 1}] - if {$multi == 0} { - match_linux_wm [list label $id.out1f.l1 \ - -text "(same as input device) ........................"] - } else { - match_linux_wm [list button $id.out1f.x1 -text \ - [lindex $audio_outdevlist $audio_outdev1] \ - -command [list audio_popup $id $id.out1f.x1 \ - audio_outdev1 $audio_outdevlist]] - } - match_linux_wm [list label $id.out1f.l2 -text "channels:"] - match_linux_wm [list entry $id.out1f.x2 -textvariable audio_outchan1 -width 3] - if {$multi == 0} { - pack $id.out1f.x0 $id.out1f.l1 $id.out1f.x2 -side left -pady 3 - } else { - pack $id.out1f.x0 $id.out1f.x1 $id.out1f.l2 $id.out1f.x2 -side left -pady 3 - } - - # output device 2 - if {$longform && $multi > 1 && [llength $audio_outdevlist] > 1} { - match_linux_wm [list frame $id.out2f] - pack $id.out2f -side top - - match_linux_wm [list checkbutton $id.out2f.x0 -variable audio_outenable2 \ - -text {output device 2}] - - match_linux_wm [list button $id.out2f.x1 -text \ - [lindex $audio_outdevlist $audio_outdev2] \ - -command [list audio_popup $id $id.out2f.x1 \ - audio_outdev2 $audio_outdevlist]] - - match_linux_wm [list label $id.out2f.l2 -text "channels:"] - match_linux_wm [list entry $id.out2f.x2 -textvariable audio_outchan2 -width 3] - pack $id.out2f.x0 $id.out2f.x1 $id.out2f.l2 $id.out2f.x2 -side left -pady 3 - } - - # output device 3 - if {$longform && $multi > 1 && [llength $audio_outdevlist] > 2} { - match_linux_wm [list frame $id.out3f] - pack $id.out3f -side top - - match_linux_wm [list checkbutton $id.out3f.x0 -variable audio_outenable3 \ - -text {output device 3}] - - match_linux_wm [list button $id.out3f.x1 -text \ - [lindex $audio_outdevlist $audio_outdev3] \ - -command [list audio_popup $id $id.out3f.x1 \ - audio_outdev3 $audio_outdevlist]] - - match_linux_wm [list label $id.out3f.l2 -text "channels:"] - match_linux_wm [list entry $id.out3f.x2 -textvariable audio_outchan3 -width 3] - pack $id.out3f.x0 $id.out3f.x1 $id.out3f.l2 $id.out3f.x2 -side left -pady 3 - } - - # output device 4 - if {$longform && $multi > 1 && [llength $audio_outdevlist] > 3} { - match_linux_wm [list frame $id.out4f] - pack $id.out4f -side top - - match_linux_wm [list checkbutton $id.out4f.x0 -variable audio_outenable4 \ - -text {output device 4}] - - match_linux_wm [list button $id.out4f.x1 -text \ - [lindex $audio_outdevlist $audio_outdev4] \ - -command [list audio_popup $id $id.out4f.x1 \ - audio_outdev4 $audio_outdevlist]] - - match_linux_wm [list label $id.out4f.l2 -text "channels:"] - match_linux_wm [list entry $id.out4f.x2 -textvariable audio_outchan4 -width 3] - pack $id.out4f.x0 $id.out4f.x1 $id.out4f.l2 $id.out4f.x2 -side left -pady 3 - } - - # if not the "long form" but if "multi" is 2, make a button to - # restart with longform set. - - if {$longform == 0 && $multi > 1} { - match_linux_wm [list frame $id.longbutton] - pack $id.longbutton -side top - match_linux_wm [list button $id.longbutton.b -text \ - {use multiple devices} -command {pd pd audio-properties 1 \;}] - pack $id.longbutton.b -pady 3 - } - if { [info tclversion] < 8.5 } { - $id.srf.x1 select from 0 - $id.srf.x1 select adjust end - } - focus $id.srf.x1 -} - ####################### midi dialog ################## proc midi_apply {id} { @@ -7946,297 +7696,6 @@ proc midi_popup {name buttonname varname devlist} { tk_popup $name.popup [winfo pointerx $name] [winfo pointery $name] 0 } -# start a dialog window to select midi devices. "longform" asks us to make -# controls for opening several devices; if not, we get an extra button to -# turn longform on and restart the dialog. -proc pdtk_midi_dialog_old {id indev1 indev2 indev3 indev4 \ - outdev1 outdev2 outdev3 outdev4 longform} { - global midi_indev1 midi_indev2 midi_indev3 midi_indev4 - global midi_outdev1 midi_outdev2 midi_outdev3 midi_outdev4 - global midi_indevlist midi_outdevlist - global midi_alsain midi_alsaout - global pd_nt - - set midi_indev1 $indev1 - set midi_indev2 $indev2 - set midi_indev3 $indev3 - set midi_indev4 $indev4 - set midi_outdev1 $outdev1 - set midi_outdev2 $outdev2 - set midi_outdev3 $outdev3 - set midi_outdev4 $outdev4 - set midi_alsain [llength $midi_indevlist] - set midi_alsaout [llength $midi_outdevlist] - - toplevel $id -class [winfo class .] - match_linux_wm [list $id configure] - wm resizable $id 0 0 - wm title $id {MIDI Settings} - wm protocol $id WM_DELETE_WINDOW [concat midi_cancel $id] - - pdtk_panelkeybindings $id "midi" - - match_linux_wm [list frame $id.buttonframe] - pack $id.buttonframe -side bottom -fill x -pady 3 - match_linux_wm [list button $id.buttonframe.cancel -text {Cancel}\ - -command "midi_cancel $id"] - match_linux_wm [list button $id.buttonframe.apply -text {Apply}\ - -command "midi_apply $id"] - match_linux_wm [list button $id.buttonframe.ok -text {OK}\ - -command "midi_ok $id"] - pack $id.buttonframe.cancel -side left -expand 1 -padx 3 - pack $id.buttonframe.apply -side left -expand 1 -padx 3 - pack $id.buttonframe.ok -side left -expand 1 -padx 3 - - # input device 1 - match_linux_wm [list frame $id.in1f] - pack $id.in1f -side top - - match_linux_wm [list label $id.in1f.l1 -text " input device 1:"] - match_linux_wm [list button $id.in1f.x1 -text [lindex $midi_indevlist $midi_indev1] \ - -command [list midi_popup $id $id.in1f.x1 midi_indev1 \ - $midi_indevlist]] - pack $id.in1f.l1 $id.in1f.x1 -side left -pady 3 - - # input device 2 - if {$longform && [llength $midi_indevlist] > 1} { - match_linux_wm [list frame $id.in2f] - pack $id.in2f -side top - - match_linux_wm [list label $id.in2f.l1 -text " input device 2:"] - match_linux_wm [list button $id.in2f.x1 -text [lindex $midi_indevlist $midi_indev2] \ - -command [list midi_popup $id $id.in2f.x1 midi_indev2 \ - $midi_indevlist]] - pack $id.in2f.l1 $id.in2f.x1 -side left -pady 3 - } - - # input device 3 - if {$longform && [llength $midi_indevlist] > 2} { - match_linux_wm [list frame $id.in3f] - pack $id.in3f -side top - match_linux_wm [list label $id.in3f.l1 -text " input device 3:"] - match_linux_wm [list button $id.in3f.x1 -text [lindex $midi_indevlist $midi_indev3] \ - -command [list midi_popup $id $id.in3f.x1 midi_indev3 \ - $midi_indevlist]] - pack $id.in3f.l1 $id.in3f.x1 -side left -pady 3 - } - - # input device 4 - if {$longform && [llength $midi_indevlist] > 3} { - match_linux_wm [list frame $id.in4f] - pack $id.in4f -side top - - match_linux_wm [list label $id.in4f.l1 -text " input device 4:"] - match_linux_wm [list button $id.in4f.x1 -text [lindex $midi_indevlist $midi_indev4] \ - -command [list midi_popup $id $id.in4f.x1 midi_indev4 \ - $midi_indevlist]] - pack $id.in4f.l1 $id.in4f.x1 -side left -pady 3 - } - - # output device 1 - match_linux_wm [list frame $id.out1f] - pack $id.out1f -side top - match_linux_wm [list label $id.out1f.l1 -text "output device 1:"] - match_linux_wm [list button $id.out1f.x1 -text [lindex $midi_outdevlist $midi_outdev1] \ - -command [list midi_popup $id $id.out1f.x1 midi_outdev1 \ - $midi_outdevlist]] - pack $id.out1f.l1 $id.out1f.x1 -side left -pady 3 - - # output device 2 - if {$longform && [llength $midi_outdevlist] > 1} { - match_linux_wm [list frame $id.out2f] - pack $id.out2f -side top - match_linux_wm [list label $id.out2f.l1 -text "output device 2:"] - match_linux_wm [list button $id.out2f.x1 -text [lindex $midi_outdevlist $midi_outdev2] \ - -command [list midi_popup $id $id.out2f.x1 \ - midi_outdev2 $midi_outdevlist]] - pack $id.out2f.l1 $id.out2f.x1 -side left -pady 3 - } - - # output device 3 - if {$longform && [llength $midi_outdevlist] > 2} { - match_linux_wm [list frame $id.out3f] - pack $id.out3f -side top - match_linux_wm [list label $id.out3f.l1 -text "output device 3:"] - match_linux_wm [list button $id.out3f.x1 -text [lindex $midi_outdevlist $midi_outdev3] \ - -command [list midi_popup $id $id.out3f.x1 \ - midi_outdev3 $midi_outdevlist]] - pack $id.out3f.l1 $id.out3f.x1 -side left -pady 3 - } - - # output device 4 - if {$longform && [llength $midi_outdevlist] > 3} { - match_linux_wm [list frame $id.out4f] - pack $id.out4f -side top - match_linux_wm [list label $id.out4f.l1 -text "output device 4:"] - match_linux_wm [list button $id.out4f.x1 -text [lindex $midi_outdevlist $midi_outdev4] \ - -command [list midi_popup $id $id.out4f.x1 \ - midi_outdev4 $midi_outdevlist]] - pack $id.out4f.l1 $id.out4f.x1 -side left -pady 3 - } - - # if not the "long form" make a button to - # restart with longform set. - - if {$longform == 0} { - match_linux_wm [list frame $id.longbutton] - pack $id.longbutton -side top - match_linux_wm [list button $id.longbutton.b \ - -text {use multiple devices} \ - -command {pd pd midi-properties 1 \;}] - pack $id.longbutton.b -pady 3 - } -} - -proc pdtk_alsa_midi_dialog_old {id indev1 indev2 indev3 indev4 \ - outdev1 outdev2 outdev3 outdev4 longform alsa} { - global midi_indev1 midi_indev2 midi_indev3 midi_indev4 - global midi_outdev1 midi_outdev2 midi_outdev3 midi_outdev4 - global midi_indevlist midi_outdevlist - global midi_alsain midi_alsaout - global pd_nt - - set midi_indev1 $indev1 - set midi_indev2 $indev2 - set midi_indev3 $indev3 - set midi_indev4 $indev4 - set midi_outdev1 $outdev1 - set midi_outdev2 $outdev2 - set midi_outdev3 $outdev3 - set midi_outdev4 $outdev4 - set midi_alsain [llength $midi_indevlist] - set midi_alsaout [llength $midi_outdevlist] - - toplevel $id -class [winfo class .] - match_linux_wm [list $id configure] - wm resizable $id 0 0 - wm title $id {MIDI Settings} - wm protocol $id WM_DELETE_WINDOW [concat midi_cancel $id] - - pdtk_panelkeybindings $id "midi" - - match_linux_wm [list frame $id.buttonframe] - pack $id.buttonframe -side bottom -fill x -pady 3 - match_linux_wm [list button $id.buttonframe.cancel -text {Cancel}\ - -command "midi_cancel $id"] - match_linux_wm [list button $id.buttonframe.apply -text {Apply}\ - -command "midi_apply $id"] - match_linux_wm [list button $id.buttonframe.ok -text {OK}\ - -command "midi_ok $id"] - pack $id.buttonframe.cancel -side left -expand 1 -padx 3 - pack $id.buttonframe.apply -side left -expand 1 -padx 3 - pack $id.buttonframe.ok -side left -expand 1 -padx 3 - - match_linux_wm [list frame $id.in1f] - pack $id.in1f -side top - - if {$alsa == 0} { - # input device 1 - match_linux_wm [list label $id.in1f.l1 -text " input device 1:"] - match_linux_wm [list button $id.in1f.x1 -text [lindex $midi_indevlist $midi_indev1] \ - -command [list midi_popup $id $id.in1f.x1 \ - midi_indev1 $midi_indevlist]] - pack $id.in1f.l1 $id.in1f.x1 -side left -pady 3 - - # input device 2 - if {$longform && [llength $midi_indevlist] > 1} { - match_linux_wm [list frame $id.in2f] - pack $id.in2f -side top - match_linux_wm [list label $id.in2f.l1 -text " input device 2:"] - match_linux_wm [list button $id.in2f.x1 -text [lindex $midi_indevlist $midi_indev2] \ - -command [list midi_popup $id $id.in2f.x1 midi_indev2 \ - $midi_indevlist]] - pack $id.in2f.l1 $id.in2f.x1 -side left -pady 3 - } - - # input device 3 - if {$longform && [llength $midi_indevlist] > 2} { - match_linux_wm [list frame $id.in3f] - pack $id.in3f -side top - match_linux_wm [list label $id.in3f.l1 -text " input device 3:"] - match_linux_wm [list button $id.in3f.x1 -text [lindex $midi_indevlist $midi_indev3] \ - -command [list midi_popup $id $id.in3f.x1 midi_indev3 \ - $midi_indevlist]] - pack $id.in3f.l1 $id.in3f.x1 -side left -pady 3 - } - - # input device 4 - if {$longform && [llength $midi_indevlist] > 3} { - match_linux_wm [list frame $id.in4f] - pack $id.in4f -side top - match_linux_wm [list label $id.in4f.l1 -text " input device 4:"] - match_linux_wm [list button $id.in4f.x1 -text [lindex $midi_indevlist $midi_indev4] \ - -command [list midi_popup $id $id.in4f.x1 midi_indev4 \ - $midi_indevlist]] - pack $id.in4f.l1 $id.in4f.x1 -side left -pady 3 - } - - # output device 1 - match_linux_wm [list frame $id.out1f] - pack $id.out1f -side top - match_linux_wm [list label $id.out1f.l1 -text "output device 1:"] - match_linux_wm [list button $id.out1f.x1 -text [lindex $midi_outdevlist $midi_outdev1] \ - -command [list midi_popup $id $id.out1f.x1 midi_outdev1 \ - $midi_outdevlist]] - pack $id.out1f.l1 $id.out1f.x1 -side left -pady 3 - - # output device 2 - if {$longform && [llength $midi_outdevlist] > 1} { - match_linux_wm [list frame $id.out2f] - pack $id.out2f -side top - match_linux_wm [list label $id.out2f.l1 -text "output device 2:"] - match_linux_wm [list button $id.out2f.x1 -text [lindex $midi_outdevlist $midi_outdev2] \ - -command [list midi_popup $id $id.out2f.x1 \ - midi_outdev2 $midi_outdevlist]] - pack $id.out2f.l1 $id.out2f.x1 -side left -pady 3 - } - - # output device 3 - if {$longform && [llength $midi_outdevlist] > 2} { - match_linux_wm [list frame $id.out3f] - pack $id.out3f -side top - match_linux_wm [list label $id.out3f.l1 -text "output device 3:"] - match_linux_wm [list button $id.out3f.x1 -text [lindex $midi_outdevlist $midi_outdev3] \ - -command [list midi_popup $id $id.out3f.x1 \ - midi_outdev3 $midi_outdevlist]] - pack $id.out3f.l1 $id.out3f.x1 -side left -pady 3 - } - - # output device 4 - if {$longform && [llength $midi_outdevlist] > 3} { - match_linux_wm [list frame $id.out4f] - pack $id.out4f -side top - match_linux_wm [list label $id.out4f.l1 -text "output device 4:"] - match_linux_wm [list button $id.out4f.x1 -text [lindex $midi_outdevlist $midi_outdev4] \ - -command [list midi_popup $id $id.out4f.x1 \ - midi_outdev4 $midi_outdevlist]] - pack $id.out4f.l1 $id.out4f.x1 -side left -pady 3 - } - - # if not the "long form" make a button to - # restart with longform set. - - if {$longform == 0} { - match_linux_wm [list frame $id.longbutton] - pack $id.longbutton -side top - match_linux_wm [list button $id.longbutton.b \ - -text {use multiple alsa devices} \ - -command {pd pd midi-properties 1 \;}] - pack $id.longbutton.b -pady 3 - } - } - - if {$alsa} { - match_linux_wm [list label $id.in1f.l1 -text "In Ports:"] - match_linux_wm [list entry $id.in1f.x1 -textvariable midi_alsain -width 4] - pack $id.in1f.l1 $id.in1f.x1 -side left -pady 3 - match_linux_wm [list label $id.in1f.l2 -text "Out Ports:"] - match_linux_wm [list entry $id.in1f.x2 -textvariable midi_alsaout -width 4] - pack $id.in1f.l2 $id.in1f.x2 -side left -pady 3 - } -} - - ############ namespace ScrollBox -- utility scrollbar with default bindings ######### # This ScrollBox is used in the Path and Startup dialogs to edit lists of options