]> git.plutz.net Git - serve0/blob - actions/playctl.sh
enable live status bar via chunked encoding
[serve0] / actions / playctl.sh
1 #!/bin/zsh
2 # Copyright 2016 Paul Hänsch
3 #
4 # This file is part of Serve0
5 #
6 # Serve0 is free software: you can redistribute it and/or modify
7 # it under the terms of the GNU Affero General Public License as published by
8 # the Free Software Foundation, either version 3 of the License, or
9 # (at your option) any later version.
10 #
11 # Serve0 is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 # GNU Affero General Public License for more details.
15 #
16 # You should have received a copy of the GNU Affero General Public License
17 # along with Serve0  If not, see <http://www.gnu.org/licenses/>.
18
19 fifofile="${_DATA}/mplayer.fifo"
20 statusfile="${_DATA}/mplayer.status"
21 volfile="${_DATA}/mplayer.volume"
22
23 if   [ -n "${_POST[amp]+x}" ]; then
24   amp $(validate "${_POST[amp]}" '(on|off)' off)
25 elif [ -n "${_POST[vol]+x}" ]; then
26   vol=$(validate "${_POST[vol]}" '[1-9]?[0-9]|100' 10)
27   printf %s\\n $vol >"$volfile"
28   printf 'volume %s 1\n' $vol >"$fifofile"
29 elif [ -n "${_POST[ctl]+x}" ]; then
30   printf '%s\n' $(validate "${_POST[ctl]}" "pause|stop" pause) >"$fifofile"
31 elif [ -n "${_POST[seek]+x}" ]; then
32   printf 'seek %s\n' $(validate "${_POST[seek]}" "[+-]?[0-9]+" 0) >"$fifofile"
33 elif [ -n "${_POST[osd]+x}" ]; then
34   case ${_POST[osd]} in
35     progression) printf "osd_show_progression\\n";;
36   esac >"$fifofile"
37 fi &
38
39 redirect "$HTTP_REFERER"