]>
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 | |
34 | send vol$* | |
35 | ;; | |
36 | seek) | |
d6100bee MF |
37 | if [[ -n $2 && -z ${2//[-+]} ]] ; then |
38 | off=( 0 5 15 30 60 ) | |
39 | off=${off[${#2}]} | |
40 | send get_time | |
41 | curr=$(recv) | |
42 | set -- seek $(( curr ${2:0:1} off )) | |
43 | send "$@" | |
44 | else | |
45 | shell "$@" | |
46 | fi | |
47 | ;; | |
48 | strack) | |
49 | if [[ $2 == "n" ]] ; then | |
50 | set -f | |
51 | send strack | |
52 | e="+----[ end of Subtitles Track ]" | |
53 | while l=$(recv) ; do | |
54 | set -- $l | |
55 | if [[ $l == "$e" ]] ; then | |
56 | break | |
57 | elif [[ $l == "| "* ]] ; then | |
58 | [[ -z $s ]] && s=$2 | |
59 | if [[ $l == *" *" ]] ; then | |
60 | l=$(recv) | |
61 | if [[ $l != "$e" ]] ; then | |
62 | set -- $l | |
63 | s=$2 | |
64 | fi | |
65 | break | |
66 | fi | |
67 | fi | |
68 | done | |
69 | kdialog --msgbox "$l" & | |
70 | set -- strack $s | |
71 | send "$@" | |
72 | else | |
73 | shell "$@" | |
74 | fi | |
5f25a449 MF |
75 | ;; |
76 | *) | |
d6100bee | 77 | shell "$@" |
5f25a449 MF |
78 | ;; |
79 | esac | |
80 | ||
81 | exit 0 |