]> git.wh0rd.org - home.git/blame - .bin/vlc-rc
goobuntu-vapier-setup: update pkg list
[home.git] / .bin / vlc-rc
CommitLineData
5f25a449
MF
1#!/bin/bash
2
3exec 3<> /dev/tcp/vapier/8001
4send() { echo "$*" 1>&3 ; }
d6100bee
MF
5recv() { local l; read l <&3; echo ${l%$'\r'} | sed 's:\r$::' ; }
6
7shell() {
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
25case $1 in
26f|fullscreen)
27 send f $2
28 ;;
418a9c9c 29pause|quit|next|prev)
5f25a449
MF
30 send $1
31 ;;
32vol)
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 ;;
49seek)
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 ;;
61strack)
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 ;;
92esac
93
94exit 0