Posted to tcl by saedelaere at Fri Feb 13 21:23:48 GMT 2009view raw
- proc tv_seek {secs} {
- tv_mplayer_remote get_time_pos
- puts "time_pos mplayer $::data(report)"
- }
-
- proc tv_mplayer_remote {command} {
- if {[info exists ::data(mplayer)] == 0} {return 1}
- puts "[clock seconds] mplayer_remote $command"
- if {[string trim $::data(mplayer)] != {}} {
- puts -nonewline $::data(mplayer) "$command \n"
- flush $::data(mplayer)
- } else {
- return 1
- }
- }
-
- proc tv_getVid_data {} {
- gets $::data(mplayer) line
- if {[eof $::data(mplayer)]} {
- catch {close $::data(mplayer)}
- unset ::data(mplayer)
- } else {
- set ::data(report) $line
- }
- }
-
- set ::data(mplayer) [open "|$mcommand" r+]
- fconfigure $::data(mplayer) -buffering line
- fileevent $::data(mplayer) readable [list tv_getVid_data]