#!/mod/bin/jimsh package require cgi source /mod/var/mongoose/lib/setup require ts.class puts "Content-Type: text/html\r\n\r\n" cgi_input #cgi_dump set tsfile [cgi_get file] set rfile [file normalize $tsfile] set ts [ts fetch $rfile] set dir [file dirname $rfile] set len [$ts duration 1] if {[cgi_get do] eq "it"} { set base [file rootname $rfile] set origdir "$dir/_original" if {![file exists $origdir]} { file mkdir $origdir } set shname [file tail $base] puts "Processing $shname" puts "Moving recording to $origdir" foreach f [glob -nocomplain "${base}.*"] { set tail [file tail $f] puts " $tail" while {[file exists "$origdir/$tail"]} { append tail "~" } file rename $f "${origdir}/$tail" } puts [exec /mod/bin/nicesplice \ -in "$origdir/$shname" \ -out "$dir/$shname" \ -cutBookMarks] exit } header puts "
File:$rfile
Length:[clock format $len -format "%T"]
Bookmarks:[$ts get bookmarks] @ " set flag 0 foreach b [$ts bookmarks] { if $flag { puts -nonewline ", " } incr flag puts -nonewline [clock format $b -format "%T"] } puts "
" proc div {type left right} { set width $($right - $left) puts "
$type
" } set last 0 set start -1 foreach b [$ts bookmarks] { if {$start < 0} { set start $b continue } set end $b set left $($start * 500 / $len) set right $($end * 500 / $len) div cut $last $($left - 1) div keep $left $($right - 1) set last $right set start -1 } if {$start > 0} { set left $($start * 500 / $len) div cut $last $($left - 1) div keep $left 500 } else { div cut $last 500 } puts "
" puts {
}