summaryrefslogtreecommitdiff
path: root/launch/shows
diff options
context:
space:
mode:
Diffstat (limited to 'launch/shows')
-rwxr-xr-xlaunch/shows26
1 files changed, 26 insertions, 0 deletions
diff --git a/launch/shows b/launch/shows
new file mode 100755
index 0000000..2d964a7
--- /dev/null
+++ b/launch/shows
@@ -0,0 +1,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 | sort -R | head -1)" ;;
+ *)
+ ep="$(ls "$showsdir/$show/$season" | sed 's/\.mkv$//' | dmenu $dmenucolors -p "Episode:")"
+ playvid "$showsdir/$show/$season/$ep.mkv"
+ ;;
+esac