Changeset 4780

Show
Ignore:
Timestamp:
04/16/10 15:07:12 (4 years ago)
Author:
douglask
Message:

XML output from 'vic -Q' was not well-formed as it had two root elements. It now only has a single root element <vic>. Confirmed with 'xmlwf' command on linux that it is well-formed.

Renamed print_input_device_details procedure to more appropriate print_capabilities_xml.

Location:
vic/branches/mpeg4
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • vic/branches/mpeg4/main.cpp

    r4773 r4780  
    432432#endif 
    433433 
    434 void print_input_device_details(Tcl& tcl) 
     434void print_capabilities_xml(Tcl& tcl) 
    435435{ 
    436436#ifdef WIN32 
     
    438438#endif 
    439439 
    440         tcl.evalc("print_input_device_details"); 
     440        tcl.evalc("print_capabilities_xml"); 
    441441        exit(0); 
    442442} 
     
    718718 
    719719                case 'Q': 
    720                         print_input_device_details(tcl); 
     720                        print_capabilities_xml(tcl); 
    721721                        break; 
    722722 
  • vic/branches/mpeg4/tcl/ui-util.tcl

    r4777 r4780  
    314314} 
    315315 
    316 proc print_input_device_details {} { 
     316proc print_capabilities_xml {} { 
    317317        global inputDeviceList 
    318318 
    319319        puts "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>" 
    320320        puts "" 
     321 
     322        puts "<vic>" 
    321323        if {[llength $inputDeviceList] == 0} { 
    322324                puts "<devices />" 
    323                 return 
    324         } 
    325         puts "<devices>" 
    326         foreach v $inputDeviceList { 
    327                 if {[$v attributes] != "disabled" && 
    328                         "[$v nickname]" != "still" && "[$v nickname]" != "filedev" } { 
    329  
    330                         puts "  <device>" 
    331                         set nickname [string map {"<" "&lt;"  ">" "&gt;"  "&" "&amp;"  "\"" "&quot;"  "'" "&apos;"} [$v nickname]] 
    332                         puts "          <nickname>$nickname</nickname>" 
    333  
    334                         set portnames [attribute_class [$v attributes] port] 
    335                         if {[llength $portnames] == 0} { 
    336                         puts "          <ports />" 
    337                         } else { 
    338                                 puts "          <ports>" 
    339                                 foreach port $portnames { 
    340                                         set port [string map {"<" "&lt;"  ">" "&gt;"  "&" "&amp;"  "\"" "&quot;"  "'" "&apos;"} $port] 
    341                                         puts "                  <port>$port</port>" 
     325        } else { 
     326                puts "  <devices>" 
     327                foreach v $inputDeviceList { 
     328                        if {[$v attributes] != "disabled" && 
     329                                "[$v nickname]" != "still" && "[$v nickname]" != "filedev" } { 
     330 
     331                                puts "          <device>" 
     332                                set nickname [string map {"<" "&lt;"  ">" "&gt;"  "&" "&amp;"  "\"" "&quot;"  "'" "&apos;"} [$v nickname]] 
     333                                puts "                  <nickname>$nickname</nickname>" 
     334 
     335                                set portnames [attribute_class [$v attributes] port] 
     336                                if {[llength $portnames] == 0} { 
     337                                        puts "                  <ports />" 
     338                                } else { 
     339                                        puts "                  <ports>" 
     340                                        foreach port $portnames { 
     341                                                set port [string map {"<" "&lt;"  ">" "&gt;"  "&" "&amp;"  "\"" "&quot;"  "'" "&apos;"} $port] 
     342                                                puts "                          <port>$port</port>" 
     343                                        } 
     344                                        puts "                  </ports>" 
    342345                                } 
    343                                 puts "          </ports>" 
     346 
     347                                set typenames [attribute_class [$v attributes] type] 
     348                                if {[llength $typenames] == 0} { 
     349                                        puts "                  <types />" 
     350                                } else { 
     351                                        puts "                  <types>" 
     352                                        foreach type $typenames { 
     353                                                set type [string map {"<" "&lt;"  ">" "&gt;"  "&" "&amp;" "\""  "&quot;"  "'" "&apos;"} $type] 
     354                                                puts "                          <type>$type</type>" 
     355                                        } 
     356                                        puts "                  </types>" 
     357                                } 
     358 
     359                                set sizeList [attribute_class [$v attributes] size] 
     360                                if {[llength $sizeList] == 0} { 
     361                                        puts "                  <sizes />" 
     362                                } else { 
     363                                        puts "                  <sizes>" 
     364                                        foreach size $sizeList { 
     365                                                set size [string map {"<" "&lt;"  ">" "&gt;"  "&" "&amp;"  "\"" "&quot;"  "'" "&apos;"} $size] 
     366                                                puts "                          <size>$size</size>" 
     367                                        } 
     368                                        puts "                  </sizes>" 
     369                                } 
     370                                puts "          </device>" 
    344371                        } 
    345  
    346                         set typenames [attribute_class [$v attributes] type] 
    347                         if {[llength $typenames] == 0} { 
    348                                 puts "          <types />" 
    349                         } else { 
    350                                 puts "          <types>" 
    351                                 foreach type $typenames { 
    352                                         set type [string map {"<" "&lt;"  ">" "&gt;"  "&" "&amp;" "\""  "&quot;"  "'" "&apos;"} $type] 
    353                                         puts "                  <type>$type</type>" 
    354                                 } 
    355                                 puts "          </types>" 
    356                         } 
    357  
    358                         set sizeList [attribute_class [$v attributes] size] 
    359                         if {[llength $sizeList] == 0} { 
    360                                 puts "          <sizes />" 
    361                         } else { 
    362                                 puts "          <sizes>" 
    363                                 foreach size $sizeList { 
    364                                         set size [string map {"<" "&lt;"  ">" "&gt;"  "&" "&amp;"  "\"" "&quot;"  "'" "&apos;"} $size] 
    365                                         puts "                  <size>$size</size>" 
    366                                 } 
    367                                 puts "          </sizes>" 
    368                         } 
    369                         puts "  </device>" 
    370372                } 
    371         } 
    372         puts "</devices>" 
    373  
    374         puts "<codecs>" 
     373                puts "  </devices>" 
     374        } 
     375 
     376        puts "  <codecs>" 
    375377        set codecList [list h261 h261as h263 h263+ mpeg4 h264 raw cellbbvc pvh jpeg] 
    376378        foreach codec $codecList { 
    377379                if { [codecexists $codec] } { 
    378                         puts "  <codec>$codec</codec>" 
     380                        puts "          <codec>$codec</codec>" 
    379381                } 
    380382        } 
    381         puts "</codecs>" 
     383        puts "  </codecs>" 
     384        puts "</vic>" 
    382385        puts "" 
    383386}