Posted to tcl by saedelaere at Fri Feb 13 21:23:48 GMT 2009view raw

  1. proc tv_seek {secs} {
  2. tv_mplayer_remote get_time_pos
  3. puts "time_pos mplayer $::data(report)"
  4. }
  5.  
  6. proc tv_mplayer_remote {command} {
  7. if {[info exists ::data(mplayer)] == 0} {return 1}
  8. puts "[clock seconds] mplayer_remote $command"
  9. if {[string trim $::data(mplayer)] != {}} {
  10. puts -nonewline $::data(mplayer) "$command \n"
  11. flush $::data(mplayer)
  12. } else {
  13. return 1
  14. }
  15. }
  16.  
  17. proc tv_getVid_data {} {
  18. gets $::data(mplayer) line
  19. if {[eof $::data(mplayer)]} {
  20. catch {close $::data(mplayer)}
  21. unset ::data(mplayer)
  22. } else {
  23. set ::data(report) $line
  24. }
  25. }
  26.  
  27. set ::data(mplayer) [open "|$mcommand" r+]
  28. fconfigure $::data(mplayer) -buffering line
  29. fileevent $::data(mplayer) readable [list tv_getVid_data]