#!/bin/zsh scriptdir=${0%/*} # create resume directory resumedir=~/.mplayer/resumes/ if ! test -d "$resumedir" then mkdir -p "$resumedir" fi # determine filename filename=${${*[-1]}##*/} # check for resumefile resumefile="$resumedir/$filename" position=0 if test -e $resumefile then position=$(< $resumefile) fi # start mplayer $scriptdir/mplayer -ss $position $* | tr '\r' '\n' | grep '^A:\|End of file' | while read statusline do pos=${statusline#*V:} pos=${pos%A-V:*} pos=${pos%.*} done # if not exiting, write position to file if [[ $pos != Exiting* ]] then pos=$((pos - 5)) if (($pos < 0)) { pos=0 } echo "$pos" > "$resumefile" else # remove resume file if we're done watching rm -f "$resumefile" fi