#!/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