-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdmplayer
executable file
·73 lines (64 loc) · 1.87 KB
/
dmplayer
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#!/bin/bash
# Edgar Uriel Domínguez Espinoza
[[ -z "$DISPLAY" ]] && exit 1
if [[ -f "$HOME/.dwm/dmenurc" ]]; then
. "$HOME/.dwm/dmenurc"
else
DMENU='dmenu -i'
fi
FIFO="$HOME/.mplayer/mplayer_fifo"
# TODO: add -idle option as replacement of if statements
PLAYER="mplayer -quiet -loop -1 -vf screenshot -slave -input file=$FIFO"
mplayer_play() {
if [ `ps -C mplayer -opid=` != null ]; then
if [[ -a "$FIFO" ]]; then
echo "pause" > $FIFO
fi
else
PLAY="$(find $HOME /home/DATOS -type f \( -iname "*.mp3" -o -iname "*.ogg" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.flv" -o -iname "*.webm" -o -iname "*.ogv" -o -iname "*.wmv" -o -iname "*.ogm" -o -iname "*.asx" -o -iname "*.rm" -o -iname "*.m3u" \) | $DMENU -l 10 -p "Play: ")"
[[ -z $PLAY ]] && exit 1
mkfifo $FIFO
exec $PLAYER "$PLAY"
fi
exit 0
}
mplayer_append() {
PLAY="$(find $HOME /home/DATOS -type f \( -iname "*.mp3" -o -iname "*.ogg" -o -iname "*.avi" -o -iname "*.mp4" -o -iname "*.flv" -o -iname "*.webm" -o -iname "*.ogv" -o -iname "*.wmv" -o -iname "*.ogm" -o -iname "*.asx" -o -iname "*.rm" -o -iname "*.m3u" \) | $DMENU -l 10 -p "Play: ")"
[[ -z $PLAY ]] && exit 1
if [ `ps -C mplayer -opid=` != null ]; then
if [[ -a "$FIFO" ]]; then
echo -n load
echo "loadfile '$PLAY' 1" > $FIFO
fi
else
echo -n play
mkfifo $FIFO
exec $PLAYER "$PLAY"
fi
}
ACTION=$(echo -e "1: Play|Pause \n2: Previous \n3: Next \n4:Add to Playlist \n5: Play DVD \n6: Play DVDNav \n7: Repeat On \n0: Stop" | $DMENU | cut -d ':' -f 1)
case "$ACTION" in
1)
mplayer_play ;;
2)
echo "pt_step -1" > $FIFO
dmplayer ;;
3)
echo "pt_step 1" > $FIFO
dmplayer ;;
4)
mplayer_append
dmplayer ;;
5)
exec $PLAYER dvd:// ;;
6)
exec $PLAYER dvdnav:// ;;
7)
echo "loop 0" > $FIFO ;;
0)
echo "stop" > $FIFO
rm $FIFO ;;
*)
exit 1 ;;
esac