X-Git-Url: http://git.plutz.net/?a=blobdiff_plain;ds=sidebyside;f=pages%2Fplayctl.sh;h=c5d6c09fb1e9f30d7d5751ae79e30843b5a5e542;hb=aa4516d7090b7818127a1dd39a281059d3e042cc;hp=143c4d952c7f440e03383132e3ad5dfab064aca7;hpb=713dadca483cc306b787fea6b696783b7d3a2c31;p=serve0 diff --git a/pages/playctl.sh b/pages/playctl.sh index 143c4d9..c5d6c09 100755 --- a/pages/playctl.sh +++ b/pages/playctl.sh @@ -22,18 +22,32 @@ info="${_GET[i]}" location="$(invalidate "${_GET[l]}" '(.*/)?\.\.(/.*)?|' /)" directory="${location%/*}" +statusfile="$_DATA/mplayer.status" TITLE="$info" -meta="${_DATA}/meta/$info.meta" -[ -n "$info" ] && video="${_DATA}/videos/$info" \ - || video="${treeroot%/}/${location#/}" -tags="$(sed -n '2p' "$meta")" -description="$(sed -n '3,$p' "$meta")" -head -n1 "$meta" |read length width height x - -video="videos/$info" -[ -n "$info" ] && video="videos/$info" \ - || video="${location#/}" +if [ -n "$info" ]; then + video="${_DATA}/videos/$info" + meta="${_DATA}/meta/$info.meta" + tags="$(sed -n '2p' "$meta")" + description="$(sed -n '3,$p' "$meta")" + head -n1 "$meta" |read length width height x +else + video="${treeroot%/}/${location#/}" + meta=''; tags=''; length=0; width=0; height=0; + description=0 +fi volume=$(validate "$(cat "$_DATA/mplayer.volume")" '[1-9]?[0-9]|100' 20) + +debug VIDEO: $video + +progress(){ + tail --pid=$$ -f "$statusfile" \ + | tr '\r' '\n' \ + | sed -urn 's;^.* ([0-9]{1,3})(,[0-9]+)?% *$;\1;p' \ + | while read n; do + [ "$n" != "$previous" ] && printf "%s\n" "$((100 - $n))" + previous=$n + done +}