summaryrefslogtreecommitdiff
path: root/launch/shows
blob: a0cb8a6f912ccc896bb699889fe8082adcbb3b48 (plain)
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
#!/bin/sh
showsdir=/media/4tbhdd/Videos/Shows
dmenucolors="-l 25"

playvid() { [ -e "$1" ] && mpv --fullscreen "$1" || exit 1; }

# Select show
show="`ls "$showsdir" | dmenu $dmenucolors -p "Show:"`" || exit 1

# Select season or special option
allep="Show All Episodes"
randep="Play Random Episode"
season="`echo "$allep\n$randep\n$(ls "$showsdir/$show")" | dmenu $dmenucolors -p "Season:"`" || exit 1

# Select episode
case "$season" in
	$allep)
		ep="$(find "$showsdir/$show" -type f | sort | sed 's/.* \([0-9]*\)\/\(.*\)\.mkv$/S\1E\2/' | dmenu $dmenucolors -p "Episode:")"
		playvid "$showsdir/$show/$(echo "$ep" | sed 's/^S\([0-9]*\)E/Season \1\//').mkv"
	;;
	$randep) playvid "$(find "$showsdir/$show" -type f | shuf -n1)" ;;
	*)
		ep="$(ls "$showsdir/$show/$season" | sed 's/\.mkv$//' | dmenu $dmenucolors -p "Episode:")"
		playvid "$showsdir/$show/$season/$ep.mkv"
	;;
esac