[PD-cvs] pd/src u_main.tk,1.4.4.10.2.12,1.4.4.10.2.13

Tim Blechmann timblech at users.sourceforge.net
Thu Jul 27 21:18:07 CEST 2006


Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13121

Modified Files:
      Tag: devel_0_39
	u_main.tk 
Log Message:
fixed audio/midi menu bug


Index: u_main.tk
===================================================================
RCS file: /cvsroot/pure-data/pd/src/u_main.tk,v
retrieving revision 1.4.4.10.2.12
retrieving revision 1.4.4.10.2.13
diff -C2 -d -r1.4.4.10.2.12 -r1.4.4.10.2.13
*** u_main.tk	25 Jul 2006 10:54:41 -0000	1.4.4.10.2.12
--- u_main.tk	27 Jul 2006 19:18:05 -0000	1.4.4.10.2.13
***************
*** 3515,3521 ****
  
  proc pdtk_audio_dialog {id indevlist indev1 indev2 indev3 indev4 \
!         indev5 indev6 indev7 indev8 indev9 indev10 indev11 indev12 indev13 indev14 indev15 indev16
          outdevlist outdev1 outdev2 outdev3 outdev4 \
!         outdev5 outdev6 outdev7 outdev8 outdev9 outdev10 outdev11 outdev12 outdev13 outdev14 outdev15 outdev16 longform} {
  
      global audio_indev1 audio_indev2 audio_indev3 audio_indev4
--- 3515,3521 ----
  
  proc pdtk_audio_dialog {id indevlist indev1 indev2 indev3 indev4 \
!         inchan1 inchan2 inchan3 inchan4 \
          outdevlist outdev1 outdev2 outdev3 outdev4 \
!     outchan1 outchan2 outchan3 outchan4 sr dacblocksize advance multi longform} {
  
      global audio_indev1 audio_indev2 audio_indev3 audio_indev4
***************
*** 3602,3605 ****
--- 3602,3911 ----
  
  
+ 
+         # input device 1
+     frame $id.in1f
+     pack $id.in1f -side top
+ 
+     checkbutton $id.in1f.x0 -variable audio_inenable1 \
+         -text {input device 1} -anchor e
+     button $id.in1f.x1 -text [lindex $indevlist $audio_indev1] \
+         -command [list audio_popup $id $id.in1f.x1 audio_indev1 $indevlist]
+     label $id.in1f.l2 -text "channels:"
+     entry $id.in1f.x2 -textvariable audio_inchan1 -width 3
+     pack $id.in1f.x0 $id.in1f.x1 $id.in1f.l2 $id.in1f.x2 -side left
+ 
+         # input device 2
+     if {$longform && $multi > 1 && [llength $indevlist] > 1} {
+     frame $id.in2f
+     pack $id.in2f -side top
+ 
+         checkbutton $id.in2f.x0 -variable audio_inenable2 \
+             -text {input device 2} -anchor e
+     button $id.in2f.x1 -text [lindex $indevlist $audio_indev2] \
+             -command [list audio_popup $id $id.in2f.x1 audio_indev2 $indevlist]
+     label $id.in2f.l2 -text "channels:"
+     entry $id.in2f.x2 -textvariable audio_inchan2 -width 3
+     pack $id.in2f.x0 $id.in2f.x1 $id.in2f.l2 $id.in2f.x2 -side left
+     }
+ 
+         # input device 3
+     if {$longform && $multi > 1 && [llength $indevlist] > 2} {
+     frame $id.in3f
+     pack $id.in3f -side top
+ 
+         checkbutton $id.in3f.x0 -variable audio_inenable3 \
+             -text {input device 3} -anchor e
+     button $id.in3f.x1 -text [lindex $indevlist $audio_indev3] \
+             -command [list audio_popup $id $id.in3f.x1 audio_indev3 $indevlist]
+     label $id.in3f.l2 -text "channels:"
+     entry $id.in3f.x2 -textvariable audio_inchan3 -width 3
+     pack $id.in3f.x0 $id.in3f.x1 $id.in3f.l2 $id.in3f.x2 -side left
+     }
+ 
+         # input device 4
+     if {$longform && $multi > 1 && [llength $indevlist] > 3} {
+     frame $id.in4f
+     pack $id.in4f -side top
+ 
+         checkbutton $id.in4f.x0 -variable audio_inenable4 \
+             -text {input device 4} -anchor e
+     button $id.in4f.x1 -text [lindex $indevlist $audio_indev4] \
+             -command [list audio_popup $id $id.in4f.x1 audio_indev4 $indevlist]
+     label $id.in4f.l2 -text "channels:"
+     entry $id.in4f.x2 -textvariable audio_inchan4 -width 3
+     pack $id.in4f.x0 $id.in4f.x1 $id.in4f.l2 $id.in4f.x2 -side left
+     }
+ 
+         # output device 1
+     frame $id.out1f
+     pack $id.out1f -side top
+ 
+     checkbutton $id.out1f.x0 -variable audio_outenable1 -text {output device 1} \
+         -anchor e
+     if {$multi == 0} {
+         label $id.out1f.l1 \
+         -text "(same as input device) ..............      "
+     } else {
+         button $id.out1f.x1 -text [lindex $outdevlist $audio_outdev1] \
+             -command \
+         [list audio_popup $id $id.out1f.x1 audio_outdev1 $outdevlist]
+     }
+     label $id.out1f.l2 -text "channels:"
+     entry $id.out1f.x2 -textvariable audio_outchan1 -width 3
+     if {$multi == 0} {
+         pack $id.out1f.x0 $id.out1f.l1 $id.out1f.x2 -side left
+     } else {
+         pack $id.out1f.x0 $id.out1f.x1 $id.out1f.l2 $id.out1f.x2 -side left
+     }
+ 
+         # output device 2
+     if {$longform && $multi > 1 && [llength $indevlist] > 1} {
+     frame $id.out2f
+     pack $id.out2f -side top
+ 
+         checkbutton $id.out2f.x0 -variable audio_outenable2 \
+             -text {output device 2} -anchor e
+         button $id.out2f.x1 -text [lindex $outdevlist $audio_outdev2] \
+             -command \
+         [list audio_popup $id $id.out2f.x1 audio_outdev2 $outdevlist]
+     label $id.out2f.l2 -text "channels:"
+     entry $id.out2f.x2 -textvariable audio_outchan2 -width 3
+         pack $id.out2f.x0 $id.out2f.x1 $id.out2f.l2 $id.out2f.x2 -side left
+     }
+ 
+         # output device 3
+     if {$longform && $multi > 1 && [llength $indevlist] > 2} {
+     frame $id.out3f
+     pack $id.out3f -side top
+ 
+         checkbutton $id.out3f.x0 -variable audio_outenable3 \
+             -text {output device 3} -anchor e
+         button $id.out3f.x1 -text [lindex $outdevlist $audio_outdev3] \
+             -command \
+         [list audio_popup $id $id.out3f.x1 audio_outdev3 $outdevlist]
+     label $id.out3f.l2 -text "channels:"
+     entry $id.out3f.x2 -textvariable audio_outchan3 -width 3
+         pack $id.out3f.x0 $id.out3f.x1 $id.out3f.l2 $id.out3f.x2 -side left
+     }
+ 
+         # output device 4
+     if {$longform && $multi > 1 && [llength $indevlist] > 3} {
+     frame $id.out4f
+     pack $id.out4f -side top
+ 
+         checkbutton $id.out4f.x0 -variable audio_outenable4 \
+             -text {output device 4} -anchor e
+         button $id.out4f.x1 -text [lindex $outdevlist $audio_outdev4] \
+             -command \
+         [list audio_popup $id $id.out4f.x1 audio_outdev4 $outdevlist]
+     label $id.out4f.l2 -text "channels:"
+     entry $id.out4f.x2 -textvariable audio_outchan4 -width 3
+         pack $id.out4f.x0 $id.out4f.x1 $id.out4f.l2 $id.out4f.x2 -side left
+     }
+ 
+         # if not the "long form" but if "multi" is 2, make a button to
+     # restart with longform set.
+ 
+     if {$longform == 0 && $multi > 1} {
+     frame $id.longbutton
+     pack $id.longbutton -side top
+         button $id.longbutton.b -text {use multiple devices} \
+             -command  {pd pd audio-properties 1 \;}
+         pack $id.longbutton.b
+     }
+     bind $id.srf.x1 <KeyPress-Return> [concat audio_ok $id]
+     bind $id.srf.x2 <KeyPress-Return> [concat audio_ok $id]
+     bind $id.in1f.x2 <KeyPress-Return> [concat audio_ok $id]
+     bind $id.out1f.x2 <KeyPress-Return> [concat audio_ok $id]
+     $id.srf.x1 select from 0
+     $id.srf.x1 select adjust end
+     focus $id.srf.x1
+     pdtk_standardkeybindings $id.srf.x1
+     pdtk_standardkeybindings $id.srf.x2
+     pdtk_standardkeybindings $id.in1f.x2
+     pdtk_standardkeybindings $id.out1f.x2
+ }
+ 
+ ####################### midi dialog ##################
+ 
+ proc midi_apply {id} {
+     global midi_indev1 midi_indev2 midi_indev3 midi_indev4
+     global midi_indev5 midi_indev6 midi_indev7 midi_indev8
+     global midi_indev9 midi_indev10 midi_indev11 midi_indev12
+     global midi_indev13 midi_indev14 midi_indev15 midi_indev16
+ 
+     global midi_outdev1 midi_outdev2 midi_outdev3 midi_outdev4
+     global midi_outdev5 midi_outdev6 midi_outdev7 midi_outdev8
+     global midi_outdev9 midi_outdev10 midi_outdev11 midi_outdev12
+     global midi_outdev13 midi_outdev14 midi_outdev15 midi_outdev16
+ 
+     global midi_alsain midi_alsaout
+ 
+     pd [concat pd midi-dialog \
+         $midi_indev1 \
+         $midi_indev2 \
+         $midi_indev3 \
+         $midi_indev4 \
+         $midi_indev5 \
+         $midi_indev6 \
+         $midi_indev7 \
+         $midi_indev8 \
+         $midi_indev9 \
+         $midi_indev10 \
+         $midi_indev11 \
+         $midi_indev12 \
+         $midi_indev13 \
+         $midi_indev14 \
+         $midi_indev15 \
+         $midi_indev16 \
+         $midi_outdev1 \
+         $midi_outdev2 \
+         $midi_outdev3 \
+         $midi_outdev4 \
+         $midi_outdev5 \
+         $midi_outdev6 \
+         $midi_outdev7 \
+         $midi_outdev8 \
+         $midi_outdev9 \
+         $midi_outdev10 \
+         $midi_outdev11 \
+         $midi_outdev12 \
+         $midi_outdev13 \
+         $midi_outdev14 \
+         $midi_outdev15 \
+         $midi_outdev16 \
+         $midi_alsain \
+         $midi_alsaout \
+     \;]
+ }
+ 
+ proc midi_cancel {id} {
+     pd [concat $id cancel \;]
+ }
+ 
+ proc midi_ok {id} {
+     midi_apply $id
+     midi_cancel $id
+ }
+ 
+ # callback from popup menu
+ proc midi_popup_action {buttonname varname devlist index} {
+     global midi_indevlist midi_outdevlist $varname
+     $buttonname configure -text [lindex $devlist $index]
+ #    puts stderr [concat popup_action $buttonname $varname $index]
+     set $varname $index
+ }
+ 
+ # create a popup menu
+ proc midi_popup {name buttonname varname devlist} {
+     if [winfo exists $name.popup] {destroy $name.popup}
+     menu $name.popup -tearoff false
+ #    puts stderr [concat $devlist ]
+     for {set x 0} {$x<[llength $devlist]} {incr x} {
+     $name.popup add command -label [lindex $devlist $x] \
+         -command [list midi_popup_action \
+             $buttonname $varname $devlist $x]
+     }
+     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 {id indevlist indev1 indev2 indev3 indev4 \
+         indev5 indev6 indev7 indev8 indev9 indev10 indev11 indev12 indev13 indev14 indev15 indev16
+         outdevlist outdev1 outdev2 outdev3 outdev4 \
+         outdev5 outdev6 outdev7 outdev8 outdev9 outdev10 outdev11 outdev12 outdev13 outdev14 outdev15 outdev16 longform} {
+ 
+     global midi_indev1 midi_indev2 midi_indev3 midi_indev4
+     global midi_indev5 midi_indev6 midi_indev7 midi_indev8
+     global midi_indev9 midi_indev10 midi_indev11 midi_indev12
+     global midi_indev13 midi_indev14 midi_indev15 midi_indev16
+ 
+     global midi_outdev1 midi_outdev2 midi_outdev3 midi_outdev4
+     global midi_outdev5 midi_outdev6 midi_outdev7 midi_outdev8
+     global midi_outdev9 midi_outdev10 midi_outdev11 midi_outdev12
+     global midi_outdev13 midi_outdev14 midi_outdev15 midi_outdev16
+ 
+     global midi_indevlist midi_outdevlist
+     global midi_alsain midi_alsaout
+ 
+     set midi_indev1 $indev1
+     set midi_indev2 $indev2
+     set midi_indev3 $indev3
+     set midi_indev4 $indev4
+     set midi_indev5 $indev5
+     set midi_indev6 $indev6
+     set midi_indev7 $indev7
+     set midi_indev8 $indev8
+     set midi_indev9 $indev9
+     set midi_indev10 $indev10
+     set midi_indev11 $indev11
+     set midi_indev12 $indev12
+     set midi_indev13 $indev13
+     set midi_indev14 $indev14
+     set midi_indev15 $indev15
+     set midi_indev16 $indev16
+ 
+     set midi_outdev1 $outdev1
+     set midi_outdev2 $outdev2
+     set midi_outdev3 $outdev3
+     set midi_outdev4 $outdev4
+     set midi_outdev5 $outdev5
+     set midi_outdev6 $outdev6
+     set midi_outdev7 $outdev7
+     set midi_outdev8 $outdev8
+     set midi_outdev9 $outdev9
+     set midi_outdev10 $outdev10
+     set midi_outdev11 $outdev11
+     set midi_outdev12 $outdev12
+     set midi_outdev13 $outdev13
+     set midi_outdev14 $outdev14
+     set midi_outdev15 $outdev15
+     set midi_outdev16 $outdev16
+ 
+ 
+     set midi_indevlist $indevlist
+     set midi_outdevlist $outdevlist
+     set midi_alsain [llength $indevlist]
+     set midi_alsaout [llength $outdevlist]
+ 
+     toplevel $id
+     wm title $id {midi}
+     wm protocol $id WM_DELETE_WINDOW [concat midi_cancel $id]
+ 
+     frame $id.buttonframe
+     pack $id.buttonframe -side bottom -fill x -pady 2m
+     button $id.buttonframe.cancel -text {Cancel}\
+         -command "midi_cancel $id"
+     button $id.buttonframe.apply -text {Apply}\
+         -command "midi_apply $id"
+     button $id.buttonframe.ok -text {OK}\
+         -command "midi_ok $id"
+     pack $id.buttonframe.cancel -side left -expand 1
+     pack $id.buttonframe.apply -side left -expand 1
+     pack $id.buttonframe.ok -side left -expand 1
+ 
          # input device 1
      frame $id.in1f
***************
*** 3952,4070 ****
  
  
!         # if not the "long form" but if "multi" is 2, make a button to
      # restart with longform set.
  
!     if {$longform == 0 && $multi > 1} {
      frame $id.longbutton
      pack $id.longbutton -side top
          button $id.longbutton.b -text {use multiple devices} \
!             -command  {pd pd audio-properties 1 \;}
          pack $id.longbutton.b
      }
-     bind $id.srf.x1 <KeyPress-Return> [concat audio_ok $id]
-     bind $id.srf.x2 <KeyPress-Return> [concat audio_ok $id]
-     bind $id.in1f.x2 <KeyPress-Return> [concat audio_ok $id]
-     bind $id.out1f.x2 <KeyPress-Return> [concat audio_ok $id]
-     $id.srf.x1 select from 0
-     $id.srf.x1 select adjust end
-     focus $id.srf.x1
-     pdtk_standardkeybindings $id.srf.x1
-     pdtk_standardkeybindings $id.srf.x2
-     pdtk_standardkeybindings $id.in1f.x2
-     pdtk_standardkeybindings $id.out1f.x2
- }
- 
- ####################### midi dialog ##################
- 
- proc midi_apply {id} {
-     global midi_indev1 midi_indev2 midi_indev3 midi_indev4
-     global midi_indev5 midi_indev6 midi_indev7 midi_indev8
-     global midi_indev9 midi_indev10 midi_indev11 midi_indev12
-     global midi_indev13 midi_indev14 midi_indev15 midi_indev16
- 
-     global midi_outdev1 midi_outdev2 midi_outdev3 midi_outdev4
-     global midi_outdev5 midi_outdev6 midi_outdev7 midi_outdev8
-     global midi_outdev9 midi_outdev10 midi_outdev11 midi_outdev12
-     global midi_outdev13 midi_outdev14 midi_outdev15 midi_outdev16
- 
-     global midi_alsain midi_alsaout
- 
-     pd [concat pd midi-dialog \
-         $midi_indev1 \
-         $midi_indev2 \
-         $midi_indev3 \
-         $midi_indev4 \
-         $midi_indev5 \
-         $midi_indev6 \
-         $midi_indev7 \
-         $midi_indev8 \
-         $midi_indev9 \
-         $midi_indev10 \
-         $midi_indev11 \
-         $midi_indev12 \
-         $midi_indev13 \
-         $midi_indev14 \
-         $midi_indev15 \
-         $midi_indev16 \
-         $midi_outdev1 \
-         $midi_outdev2 \
-         $midi_outdev3 \
-         $midi_outdev4 \
-         $midi_outdev5 \
-         $midi_outdev6 \
-         $midi_outdev7 \
-         $midi_outdev8 \
-         $midi_outdev9 \
-         $midi_outdev10 \
-         $midi_outdev11 \
-         $midi_outdev12 \
-         $midi_outdev13 \
-         $midi_outdev14 \
-         $midi_outdev15 \
-         $midi_outdev16 \
-         $midi_alsain \
-         $midi_alsaout \
-     \;]
- }
- 
- proc midi_cancel {id} {
-     pd [concat $id cancel \;]
- }
- 
- proc midi_ok {id} {
-     midi_apply $id
-     midi_cancel $id
- }
- 
- # callback from popup menu
- proc midi_popup_action {buttonname varname devlist index} {
-     global midi_indevlist midi_outdevlist $varname
-     $buttonname configure -text [lindex $devlist $index]
- #    puts stderr [concat popup_action $buttonname $varname $index]
-     set $varname $index
  }
  
! # create a popup menu
! proc midi_popup {name buttonname varname devlist} {
!     if [winfo exists $name.popup] {destroy $name.popup}
!     menu $name.popup -tearoff false
! #    puts stderr [concat $devlist ]
!     for {set x 0} {$x<[llength $devlist]} {incr x} {
!     $name.popup add command -label [lindex $devlist $x] \
!         -command [list midi_popup_action \
!             $buttonname $varname $devlist $x]
!     }
!     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 {id indevlist indev1 indev2 indev3 indev4 \
!         indev5 indev6 indev7 indev8 indev9 indev10 indev11 indev12 indev13 indev14 indev15 indev16
!         outdevlist outdev1 outdev2 outdev3 outdev4 \
!         outdev5 outdev6 outdev7 outdev8 outdev9 outdev10 outdev11 outdev12 outdev13 outdev14 outdev15 outdev16 longform} {
! 
      global midi_indev1 midi_indev2 midi_indev3 midi_indev4
      global midi_indev5 midi_indev6 midi_indev7 midi_indev8
--- 4258,4275 ----
  
  
!         # if not the "long form" make a button to
      # restart with longform set.
  
!     if {$longform == 0} {
      frame $id.longbutton
      pack $id.longbutton -side top
          button $id.longbutton.b -text {use multiple devices} \
!             -command  {pd pd midi-properties 1 \;}
          pack $id.longbutton.b
      }
  }
  
! proc pdtk_alsa_midi_dialog {id indevlist indev1 indev2 indev3 indev4 \
!         outdevlist outdev1 outdev2 outdev3 outdev4 longform alsa} {
      global midi_indev1 midi_indev2 midi_indev3 midi_indev4
      global midi_indev5 midi_indev6 midi_indev7 midi_indev8
***************
*** 4080,4083 ****
--- 4285,4289 ----
      global midi_alsain midi_alsaout
  
+ 
      set midi_indev1 $indev1
      set midi_indev2 $indev2
***************
*** 4136,4139 ****
--- 4342,4389 ----
      pack $id.buttonframe.ok -side left -expand 1
  
+     frame $id.in1f
+     pack $id.in1f -side top
+ 
+   if {$alsa == 0} {
+         # input device 1
+     label $id.in1f.l1 -text "input device 1:"
+     button $id.in1f.x1 -text [lindex $indevlist $midi_indev1] \
+         -command [list midi_popup $id $id.in1f.x1 midi_indev1 $indevlist]
+     pack $id.in1f.l1 $id.in1f.x1 -side left
+ 
+         # input device 2
+     if {$longform && [llength $indevlist] > 2} {
+     frame $id.in2f
+     pack $id.in2f -side top
+ 
+     label $id.in2f.l1 -text "input device 2:"
+     button $id.in2f.x1 -text [lindex $indevlist $midi_indev2] \
+             -command [list midi_popup $id $id.in2f.x1 midi_indev2 $indevlist]
+     pack $id.in2f.l1 $id.in2f.x1 -side left
+     }
+ 
+         # input device 3
+     if {$longform && [llength $indevlist] > 3} {
+     frame $id.in3f
+     pack $id.in3f -side top
+ 
+     label $id.in3f.l1 -text "input device 3:"
+     button $id.in3f.x1 -text [lindex $indevlist $midi_indev3] \
+             -command [list midi_popup $id $id.in3f.x1 midi_indev3 $indevlist]
+     pack $id.in3f.l1 $id.in3f.x1 -side left
+     }
+ 
+         # input device 4
+     if {$longform && [llength $indevlist] > 4} {
+     frame $id.in4f
+     pack $id.in4f -side top
+ 
+     label $id.in4f.l1 -text "input device 4:"
+     button $id.in4f.x1 -text [lindex $indevlist $midi_indev4] \
+             -command [list midi_popup $id $id.in4f.x1 midi_indev4 $indevlist]
+     pack $id.in4f.l1 $id.in4f.x1 -side left
+     }
+ 
+ 
          # input device 1
      frame $id.in1f
***************
*** 4492,4664 ****
      frame $id.longbutton
      pack $id.longbutton -side top
-         button $id.longbutton.b -text {use multiple devices} \
-             -command  {pd pd midi-properties 1 \;}
-         pack $id.longbutton.b
-     }
- }
- 
- proc pdtk_alsa_midi_dialog {id indevlist indev1 indev2 indev3 indev4 \
-         outdevlist outdev1 outdev2 outdev3 outdev4 longform alsa} {
-     global midi_indev1 midi_indev2 midi_indev3 midi_indev4
-     global midi_indev5 midi_indev6 midi_indev7 midi_indev8
-     global midi_indev9 midi_indev10 midi_indev11 midi_indev12
-     global midi_indev13 midi_indev14 midi_indev15 midi_indev16
- 
-     global midi_outdev1 midi_outdev2 midi_outdev3 midi_outdev4
-     global midi_outdev5 midi_outdev6 midi_outdev7 midi_outdev8
-     global midi_outdev9 midi_outdev10 midi_outdev11 midi_outdev12
-     global midi_outdev13 midi_outdev14 midi_outdev15 midi_outdev16
- 
-     global midi_indevlist midi_outdevlist
-     global midi_alsain midi_alsaout
- 
- 
-     set midi_indev1 $indev1
-     set midi_indev2 $indev2
-     set midi_indev3 $indev3
-     set midi_indev4 $indev4
-     set midi_indev5 $indev5
-     set midi_indev6 $indev6
-     set midi_indev7 $indev7
-     set midi_indev8 $indev8
-     set midi_indev9 $indev9
-     set midi_indev10 $indev10
-     set midi_indev11 $indev11
-     set midi_indev12 $indev12
-     set midi_indev13 $indev13
-     set midi_indev14 $indev14
-     set midi_indev15 $indev15
-     set midi_indev16 $indev16
- 
-     set midi_outdev1 $outdev1
-     set midi_outdev2 $outdev2
-     set midi_outdev3 $outdev3
-     set midi_outdev4 $outdev4
-     set midi_outdev5 $outdev5
-     set midi_outdev6 $outdev6
-     set midi_outdev7 $outdev7
-     set midi_outdev8 $outdev8
-     set midi_outdev9 $outdev9
-     set midi_outdev10 $outdev10
-     set midi_outdev11 $outdev11
-     set midi_outdev12 $outdev12
-     set midi_outdev13 $outdev13
-     set midi_outdev14 $outdev14
-     set midi_outdev15 $outdev15
-     set midi_outdev16 $outdev16
- 
- 
-     set midi_indevlist $indevlist
-     set midi_outdevlist $outdevlist
-     set midi_alsain [llength $indevlist]
-     set midi_alsaout [llength $outdevlist]
- 
-     toplevel $id
-     wm title $id {midi}
-     wm protocol $id WM_DELETE_WINDOW [concat midi_cancel $id]
- 
-     frame $id.buttonframe
-     pack $id.buttonframe -side bottom -fill x -pady 2m
-     button $id.buttonframe.cancel -text {Cancel}\
-         -command "midi_cancel $id"
-     button $id.buttonframe.apply -text {Apply}\
-         -command "midi_apply $id"
-     button $id.buttonframe.ok -text {OK}\
-         -command "midi_ok $id"
-     pack $id.buttonframe.cancel -side left -expand 1
-     pack $id.buttonframe.apply -side left -expand 1
-     pack $id.buttonframe.ok -side left -expand 1
- 
-     frame $id.in1f
-     pack $id.in1f -side top
- 
-   if {$alsa == 0} {
-         # input device 1
-     label $id.in1f.l1 -text "input device 1:"
-     button $id.in1f.x1 -text [lindex $indevlist $midi_indev1] \
-         -command [list midi_popup $id $id.in1f.x1 midi_indev1 $indevlist]
-     pack $id.in1f.l1 $id.in1f.x1 -side left
- 
-         # input device 2
-     if {$longform && [llength $indevlist] > 2} {
-     frame $id.in2f
-     pack $id.in2f -side top
- 
-     label $id.in2f.l1 -text "input device 2:"
-     button $id.in2f.x1 -text [lindex $indevlist $midi_indev2] \
-             -command [list midi_popup $id $id.in2f.x1 midi_indev2 $indevlist]
-     pack $id.in2f.l1 $id.in2f.x1 -side left
-     }
- 
-         # input device 3
-     if {$longform && [llength $indevlist] > 3} {
-     frame $id.in3f
-     pack $id.in3f -side top
- 
-     label $id.in3f.l1 -text "input device 3:"
-     button $id.in3f.x1 -text [lindex $indevlist $midi_indev3] \
-             -command [list midi_popup $id $id.in3f.x1 midi_indev3 $indevlist]
-     pack $id.in3f.l1 $id.in3f.x1 -side left
-     }
- 
-         # input device 4
-     if {$longform && [llength $indevlist] > 4} {
-     frame $id.in4f
-     pack $id.in4f -side top
- 
-     label $id.in4f.l1 -text "input device 4:"
-     button $id.in4f.x1 -text [lindex $indevlist $midi_indev4] \
-             -command [list midi_popup $id $id.in4f.x1 midi_indev4 $indevlist]
-     pack $id.in4f.l1 $id.in4f.x1 -side left
-     }
- 
-         # output device 1
- 
-     frame $id.out1f
-     pack $id.out1f -side top
-     label $id.out1f.l1 -text "output device 1:"
-     button $id.out1f.x1 -text [lindex $outdevlist $midi_outdev1] \
-         -command [list midi_popup $id $id.out1f.x1 midi_outdev1 $outdevlist]
-     pack $id.out1f.l1 $id.out1f.x1 -side left
- 
-         # output device 2
-     if {$longform && [llength $indevlist] > 2} {
-     frame $id.out2f
-     pack $id.out2f -side top
-         label $id.out2f.l1 -text "output device 2:"
-         button $id.out2f.x1 -text [lindex $outdevlist $midi_outdev2] \
-             -command \
-         [list midi_popup $id $id.out2f.x1 midi_outdev2 $outdevlist]
-         pack $id.out2f.l1 $id.out2f.x1 -side left
-     }
- 
-         # output device 3
-     if {$longform && [llength $indevlist] > 3} {
-     frame $id.out3f
-     pack $id.out3f -side top
-         label $id.out3f.l1 -text "output device 3:"
-         button $id.out3f.x1 -text [lindex $outdevlist $midi_outdev3] \
-             -command \
-         [list midi_popup $id $id.out3f.x1 midi_outdev3 $outdevlist]
-         pack $id.out3f.l1 $id.out3f.x1 -side left
-     }
- 
-         # output device 4
-     if {$longform && [llength $indevlist] > 4} {
-     frame $id.out4f
-     pack $id.out4f -side top
-         label $id.out4f.l1 -text "output device 4:"
-         button $id.out4f.x1 -text [lindex $outdevlist $midi_outdev4] \
-             -command \
-         [list midi_popup $id $id.out4f.x1 midi_outdev4 $outdevlist]
-         pack $id.out4f.l1 $id.out4f.x1 -side left
-     }
- 
-         # if not the "long form" make a button to
-     # restart with longform set.
- 
-     if {$longform == 0} {
-     frame $id.longbutton
-     pack $id.longbutton -side top
          button $id.longbutton.b -text {use multiple alsa devices} \
              -command  {pd pd midi-properties 1 \;}
--- 4742,4745 ----





More information about the Pd-cvs mailing list