printf '\rBREAK\r' >> "$statusfile"
+if [ "${_GET[api]}" = progress ]; then
+ cr="$(printf \\r)"
+ printf 'Content-Type: text/plain\r\n\r\n'
+
+ tail --pid=$$ -c100 -f "$statusfile" \
+ | while read -d "$cr" line; do
+ [ "$line" = "BREAK" ] && exit 0
+ printf '%s\n' "$line"
+ done \
+ | sed -urn '1~12s;^.* V: *+([0-9]+)(\.[0-9]+) A-V:.*$;\1;p' \
+ | while read m; do
+ [ "$m" != "$previous" ] && printf "%d %d\n" "$(($m * 100 / $length))" "$m"
+ previous="$m"
+ done
+ exit 0
+elif [ "${_GET[api]}" = volume ]; then
+ printf 'Content-Type: text/plain\r\n\r\n'
+ validate "$(cat "$_DATA/mplayer.volume")" '[1-9]?[0-9]|100' 20
+ exit 0
+fi
+
if [ -n "${_POST[amp]+x}" ]; then
amp $(validate "${_POST[amp]}" '(on|off)' off)
elif [ -n "${_POST[vol]+x}" ]; then
. $_EXEC/pages/common.sh
+CR="$(printf \\r)"
+
info="${_GET[i]}"
location="$(invalidate "${_GET[l]}" '(.*/)?\.\.(/.*)?|' /)"
directory="${location%/*}"
description="$(sed -n '3,$p' "$meta")"
head -n1 "$meta" |read length width height TITLE
-volume=$(validate "$(cat "$_DATA/mplayer.volume")" '[1-9]?[0-9]|100' 20)
-
debug VIDEO: $video
if [ "$_COOKIE[watch]" = raspi ]; then
actionuri='//atoemchen/?action=playctl'
+ volume="$({ncat atoemchen 80 <<-EOF
+ GET /?action=playctl&api=volume HTTP/1.0${CR}
+ Host: atoemchen${CR}
+ ${CR}
+ EOF
+ } | sed -r '1,/^\r$/d')"
+ volume=$(validate "${volume}" '[1-9]?[0-9]|100' 20)
else
actionuri='?action=playctl'
+ volume=$(validate "$(cat "$_DATA/mplayer.volume")" '[1-9]?[0-9]|100' 20)
fi
pa_sinks(){
printf 'Refresh: 1\r\n'
progress(){
- cr="$(printf \\r)"
-
- tail --pid=$$ -c100 -f "$statusfile" \
- | while read -d "$cr" line; do
- [ "$line" = "BREAK" ] && exit 0
- printf '%s\n' "$line"
- done \
- | sed -urn '1~12s;^.* V: *+([0-9]+)(\.[0-9]+) A-V:.*$;\1;p' \
- | while read m; do
- [ "$m" != "$previous" ] && printf "%d %d\n" "$(($m * 100 / $length))" "$m"
- previous="$m"
- done
+ if [ "$_COOKIE[watch]" = raspi ]; then
+ { ncat atoemchen 80 <<-EOF
+ GET /?action=playctl&api=progress HTTP/1.0${CR}
+ Host: atoemchen${CR}
+ ${CR}
+ EOF
+ } | sed -ur '1,/^\r$/d'
+ else
+ tail --pid=$$ -c100 -f "$statusfile" \
+ | while read -d "$CR" line; do
+ [ "$line" = "BREAK" ] && exit 0
+ printf '%s\n' "$line"
+ done \
+ | sed -urn '1~12s;^.* V: *+([0-9]+)(\.[0-9]+) A-V:.*$;\1;p' \
+ | while read m; do
+ [ "$m" != "$previous" ] && printf "%d %d\n" "$(($m * 100 / $length))" "$m"
+ previous="$m"
+ done
+ fi
}