return [showintervalsecs/[opt timeformat] $howlong $abbrev]
}
+proc showintervalsecs/beat {howlong abbrev} {
+ return [format "%g B" [expr {$howlong/86.4}]]
+}
+
proc showintervalsecs/ks {howlong abbrev} {
if {$howlong < 1000} {
return "${howlong}s"
switch -exact $tf {
ks { return "Times will be displayed in seconds or kiloseconds." }
hms { return "Times will be displayed in hours, minutes, etc." }
+ beat { return "Times will be displayed in beats (1000B = 1d)." }
default { error "invalid timeformat: $v" }
}
}
s { set u 1 }
ks { set u 1000 }
m { set u 60 }
- h { set u 3600 }
+ mb { set u 0.0864 }
+ b { set u 86.4 }
+ kb { set u 86400 }
default { error "unknown unit of time $unit" }
}
if {$value > 86400*21/$u} { error "marktime interval too large" }
- set mt [expr {$value*$u}]
+ set mt [expr {round($value*$u)}]
if {$mt < $marktime_min} { error "marktime interval too small" }
} else {
error "invalid syntax for marktime"