]>
Commit | Line | Data |
---|---|---|
5f25a449 MF |
1 | #!/bin/bash |
2 | ||
3 | exec 3<> /dev/tcp/vapier/8001 | |
4 | send() { echo "$*" 1>&3 ; } | |
d6100bee MF |
5 | recv() { local l; read l <&3; echo ${l%$'\r'} | sed 's:\r$::' ; } |
6 | ||
7 | shell() { | |
8 | cat <&3 & | |
9 | trap "kill $!" 0 | |
10 | send "${*:-help}" | |
11 | sleep 1 | |
12 | while read -p "vlc$ " -e l ; do | |
13 | [[ -z $l ]] && continue | |
14 | case $l in | |
15 | "?") l="help" ;; | |
16 | esac | |
17 | send "$l" | |
18 | case $l in | |
19 | quit) break ;; | |
20 | esac | |
21 | sleep 1 | |
22 | done | |
23 | } | |
5f25a449 MF |
24 | |
25 | case $1 in | |
26 | f|fullscreen) | |
27 | send f $2 | |
28 | ;; | |
418a9c9c | 29 | pause|quit|next|prev) |
5f25a449 MF |
30 | send $1 |
31 | ;; | |
32 | vol) | |
33 | shift | |
1536c1f2 MF |
34 | send volume |
35 | curr=$(recv) | |
36 | lvl=${2:-10} | |
37 | case ${curr} in | |
38 | # status change: ( audio volume: 115 ) | |
39 | "status change"*"audio volume"*) | |
40 | vol=$(echo "${curr}" | awk '{ print $(NF-1) }') | |
41 | case $1 in | |
42 | up) : $(( vol += lvl )) ;; | |
43 | down) : $(( vol -= lvl )) ;; | |
44 | esac | |
45 | send volume ${vol} | |
46 | ;; | |
47 | esac | |
5f25a449 MF |
48 | ;; |
49 | seek) | |
d6100bee MF |
50 | if [[ -n $2 && -z ${2//[-+]} ]] ; then |
51 | off=( 0 5 15 30 60 ) | |
52 | off=${off[${#2}]} | |
53 | send get_time | |
54 | curr=$(recv) | |
55 | set -- seek $(( curr ${2:0:1} off )) | |
56 | send "$@" | |
57 | else | |
58 | shell "$@" | |
59 | fi | |
60 | ;; | |
61 | strack) | |
62 | if [[ $2 == "n" ]] ; then | |
63 | set -f | |
64 | send strack | |
65 | e="+----[ end of Subtitles Track ]" | |
66 | while l=$(recv) ; do | |
67 | set -- $l | |
68 | if [[ $l == "$e" ]] ; then | |
69 | break | |
70 | elif [[ $l == "| "* ]] ; then | |
71 | [[ -z $s ]] && s=$2 | |
72 | if [[ $l == *" *" ]] ; then | |
73 | l=$(recv) | |
74 | if [[ $l != "$e" ]] ; then | |
75 | set -- $l | |
76 | s=$2 | |
77 | fi | |
78 | break | |
79 | fi | |
80 | fi | |
81 | done | |
82 | kdialog --msgbox "$l" & | |
83 | set -- strack $s | |
84 | send "$@" | |
85 | else | |
86 | shell "$@" | |
87 | fi | |
5f25a449 MF |
88 | ;; |
89 | *) | |
d6100bee | 90 | shell "$@" |
5f25a449 MF |
91 | ;; |
92 | esac | |
93 | ||
94 | exit 0 |