#!/mod/bin/jimsh

package require cgi
source /mod/webif/lib/setup
require ts.class pretty_size system.class

httpheader

set rfile [cgi_get file]

if {[system inuse $rfile]} {
	puts "This file is in use. Cannot process at the moment."
	exit
}

set ts [ts fetch $rfile]
set dir [file dirname $rfile]

set len [$ts duration 1]

set cropstart [clock milliseconds]

set base [file rootname $rfile]
set origdir "$dir/_original"
if {![file exists $origdir]} { file mkdir $origdir }

set shname [file tail $base]
puts "Processing $shname"

if {[file exists "$origdir/$shname.ts"]} {
	puts "This recording already exists within _original"
	puts "Cannot continue."
	exit
}

puts "Moving recording to $origdir"

set tail [file tail $base]
foreach ext $tsgroup {
	if {![file exists "$base.$ext"]} continue
	puts "  $tail.$ext"
	file rename "$base.$ext" "${origdir}/$tail.$ext"
}

puts [exec /mod/bin/nicesplice \
    -in "$origdir/$shname" \
    -out "$dir/$shname" \
    -cutBookMarks]

set newname "$shname-[clock seconds]"
puts "Renaming file group to $newname"
ts renamegroup "$dir/$shname.ts" $newname
exec /mod/bin/hmt "+setfilename=$newname" "$dir/$newname.hmt"
# New nicesplice shrinks whilst cropping.
exec /mod/bin/hmt "+shrunk" "$dir/$newname.hmt"

set croptime [expr [expr [clock milliseconds] - $cropstart] / 1000.0]
puts "Time taken: $croptime"