From: Karel D. <sc...@us...> - 2005-06-29 20:59:42
|
Update of /cvsroot/amsn/msn In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28811 Modified Files: msncam.tcl Log Message: some work on teh webcamwizard, now it stores the dev/chan and selects them the next time again Index: msncam.tcl =================================================================== RCS file: /cvsroot/amsn/msn/msncam.tcl,v retrieving revision 1.85 retrieving revision 1.86 diff -C2 -d -r1.85 -r1.86 *** msncam.tcl 26 Jun 2005 08:13:45 -0000 1.85 --- msncam.tcl 29 Jun 2005 20:59:33 -0000 1.86 *************** *** 2744,2755 **** set channelnames [list ] $chanswidget list delete 0 end foreach channel $channels { set chan [lindex $channel 0] set channame [lindex $channel 1] $chanswidget list insert end $channame lappend channelnames $channame } ! # status_log ! } --- 2744,2771 ---- set channelnames [list ] $chanswidget list delete 0 end + + + #search the already set channel + set setchan [lindex [split [::config::getKey "webcamDevice"] ":"] 1] + set selectchan -1 + + foreach channel $channels { set chan [lindex $channel 0] set channame [lindex $channel 1] + + if { $chan == $setchan} { + incr selectchan + } + + $chanswidget list insert end $channame lappend channelnames $channame } ! ! #if the channel is in the list of the combobox ! if { $selectchan != -1 } { ! $chanswidget select $selectchan ! } } *************** *** 2763,2768 **** global previmc global rightframe ! # WcAssitant_stopPreviewGrab --- 2779,2787 ---- global previmc global rightframe + global selecteddevice + global selectedchannel ! ! # WcAssistant_stopPreviewGrab *************** *** 2786,2809 **** } ! #set initial pictur::CAMGUIWcAssitant_stopPreviewGrab; e settings: ! set init_b [::Capture::GetBrightness $::CAMGUI::webcam_preview] ! set init_c [::Capture::GetContrast $::CAMGUI::webcam_preview] ! set init_h [::Capture::GetHue $::CAMGUI::webcam_preview] ! set init_co [::Capture::GetColour $::CAMGUI::webcam_preview] ! ! set sets [::config::getKey "webcam$choosendevice:$choosenchannel" "$init_b:$init_c:$init_h: $init_co"] ! set sets [split $sets ":"] ! set init_b [lindex $sets 0] ! set init_c [lindex $sets 1] ! set init_h [lindex $sets 2] ! set init_co [lindex $sets 3] set previmg [image create photo] $rightframe create image 0 0 -image $previmg -anchor nw $rightframe create text 10 10 -anchor nw -font bboldf -text "Preview $choosendevice:$choosenchannel" -fill #FFFFFF -anchor nw -tag device after 2000 "if {[winfo exists $rightframe]} { $rightframe delete device}" --- 2805,2836 ---- } ! #set initial picture settings: ! # set init_b [::Capture::GetBrightness $::CAMGUI::webcam_preview] ! # set init_c [::Capture::GetContrast $::CAMGUI::webcam_preview] ! # set init_h [::Capture::GetHue $::CAMGUI::webcam_preview] ! # set init_co [::Capture::GetColour $::CAMGUI::webcam_preview] + # set sets [::config::getKey "webcam$choosendevice:$choosenchannel" "$init_b:$init_c:$init_h: $init_co"] + # set sets [split $sets ":"] + # set init_b [lindex $sets 0] + # set init_c [lindex $sets 1] + # set init_h [lindex $sets 2] + # set init_co [lindex $sets 3] + # set previmg [image create photo] + + + set selecteddevice $choosendevice + set selectedchannel $choosenchannel $rightframe create image 0 0 -image $previmg -anchor nw $rightframe create text 10 10 -anchor nw -font bboldf -text "Preview $choosendevice:$choosenchannel" -fill #FFFFFF -anchor nw -tag device + + #FIXME: this if statement doesn't seem to do the trick! after 2000 "if {[winfo exists $rightframe]} { $rightframe delete device}" + #put the border-pic on top + $rightframe raise border *************** *** 2813,2816 **** --- 2840,2845 ---- if {[catch {::Capture::Grab $::CAMGUI::webcam_preview $previmg} res]} { status_log "Problem grabbing from the device:\n\t \"$res\"" + $rightframe create text 10 215 -anchor nw -font bboldf -text "ERROR: $res" -fill #FFFFFF -anchor nw -tag errmsg + } after 100 "incr $semaphore" *************** *** 2824,2828 **** } proc WcAssistant_closeOnPreview {w} { ! WcAssitant_stopPreviewGrab destroy $w } --- 2853,2857 ---- } proc WcAssistant_closeOnPreview {w} { ! WcAssistant_stopPreviewGrab destroy $w } *************** *** 2831,2836 **** global previmg ! if { [::Capture::IsValid $::CAMGUI::webcam_preview] } { ! ::Capture::Close $::CAMGUI::webcam_preview } catch {image delete $previmg} --- 2860,2867 ---- global previmg ! if { [info exists ::CAMGUI::webcam_preview]} { ! if { [::Capture::IsValid $::CAMGUI::webcam_preview] } { ! ::Capture::Close $::CAMGUI::webcam_preview ! } } catch {image delete $previmg} *************** *** 2865,2869 **** ! WcAssistant_stopPreviewGrab #change the title --- 2896,2900 ---- ! WcAssistant_stopPreviewGrab #change the title *************** *** 2954,2962 **** global previmc global rightframe ! #if not on mac we have to fill this with options if { ![OnMac] } { #set beginning situation: set infoarray(deviceset) 0 --- 2985,3002 ---- global previmc global rightframe ! global selecteddevice ! global selectedchannel ! ! set selecteddevice "" ! set selectedchannel "" #if not on mac we have to fill this with options if { ![OnMac] } { + + + + status_log "ENTER STEP 2" + #set beginning situation: set infoarray(deviceset) 0 *************** *** 2983,2986 **** --- 3023,3027 ---- canvas $rightframe -background #000000 pack $rightframe -side right -padx 10 + $rightframe create image 0 0 -image [::skin::loadPixmap camempty] -anchor nw -tag border set previmc $rightframe *************** *** 3004,3011 **** --- 3045,3064 ---- set devicenames [list ] + + #search the already set device + set setdev [lindex [split [::config::getKey "webcamDevice"] ":"] 0] + set selectdevice -1 + + #create list of available devices: foreach device $devices { set dev [lindex $device 0] set name [lindex $device 1] + + #it will allways set the last one, which is a bit weird tothe user though if he has like /dev/video0 that come both as V4L and V4L2 device + if { $dev == $setdev} { + incr selectdevice + } + if {$name == "" } { set name "$dev (Busy)" *************** *** 3019,3022 **** --- 3072,3080 ---- pack $leftframe.chans -side top -pady 20 + #if the device is in the list of the combobox + if { $selectdevice != -1 } { + $leftframe.devs select $selectdevice + } + } } else { *************** *** 3041,3045 **** #add the buttons ! WCAssistant_showButtons $buttonf [list [list "Next" [list ::CAMGUI::WCAssistant_s3 $win $titlec $optionsf $buttonf] 1 ] [list "Back" [list ::CAMGUI::WCAssistant_s1 $win $titlec $optionsf $buttonf] 1 ] [list "Cancel" [list ::CAMGUI::WcAssistant_closeOnPreview $win] 1 ]] #if on mac we only need a button to open the settingswindow and step 2 and 3 are 1 page --- 3099,3103 ---- #add the buttons ! WCAssistant_showButtons $buttonf [list [list "Next" [list ::CAMGUI::WCAssistant_s2to3 $win $titlec $optionsf $buttonf] 1 ] [list "Back" [list ::CAMGUI::WCAssistant_s1 $win $titlec $optionsf $buttonf] 1 ] [list "Cancel" [list ::CAMGUI::WcAssistant_closeOnPreview $win] 1 ]] #if on mac we only need a button to open the settingswindow and step 2 and 3 are 1 page *************** *** 3058,3067 **** } #folowing page is skipped on mac :) proc WCAssistant_s3 {win titlec optionsf buttonf} { global infoarray - WcAssistant_stopPreviewGrab --- 3116,3144 ---- } + + proc WCAssistant_s2to3 {win titlec optionsf buttonf} { + global selecteddevice + global selectedchannel + + WcAssistant_stopPreviewGrab + ::CAMGUI::WCAssistant_s3 $win $titlec $optionsf $buttonf + #save settings + ::config::setKey "webcamDevice" "$selecteddevice:$selectedchannel" + } + + #folowing page is skipped on mac :) proc WCAssistant_s3 {win titlec optionsf buttonf} { global infoarray + # global selecteddevice + # global selectedchannel + + set devnchan [::config::getKey "webcamDevice"] + set devnchan [split $devnchan ":"] + set dev [lindex $devnchan 0] + set chan [lindex $devnchan 1] + status_log "entered step 3 with dev $dev and chan $chan" |