#!/bin/sh

VIDEODIR=~/ln/video
MP_OPTS=""
export IFS_O="$IFS"
export IFS_M="{}
"

if [ "$1" = "-x" ]; then
  xterm -fn '-*-courier-*-r-*-*-40-*-*-*-*-*-*-*' \
    -geometry 40x15+0+0 -bg black -fg white -class remotexterm -e $0
  exit 0
fi

dosel() {
  IFS="$IFS_M"
  F="`ls -1 \"$VD\"|awk '{printf "%d{%s}",++n,$0}'`"
  R=`dialog --stdout --no-shadow --menu $VD 14 40 8 $F` > /tmp/remote
  IFS="$IFS_O"
  if [ "$R" = "" ]; then
    VD="`echo $VD | sed 's/\/[^\/]*$//g'`"
    if [ "$VD" = "" -o "$VD" = "$HOME" ]; then
      exit 1
    fi
    LDLAST="$VD"
    dosel
  else
    S="`ls -1 \"$VD\"|awk '{ if (++n=='$R') print $0 }'`"
    VDLAST="$VD"
    VD="$VD/$S"
    if [ ! -f "$VD" ]; then
      dosel
    fi
  fi
}

selopts() {
  IFS="$IFS_M"
  F="1{PLAY}2{-idx}3{-vo x11}4{-aspect 4:3}5{-ni}6{-forceidx}"
  R=`dialog --stdout --no-shadow --menu OPTIONS 14 40 8 $F` > /tmp/remote
  IFS="$IFS_O"
  if [ ! "$R" = "" ]; then
    S="`echo $F|tr '}' '\n'|awk -F{ '{ if (++n=='$R') print $2 }'`"
    if [ ! "$S" = "PLAY" ]; then
      MP_OPTS="$MP_OPTS $S"
      selopts
    fi
  fi
}

VD="$VIDEODIR"
dosel
if echo $VD | grep -q -i -e '\.sub$' -e '\.txt$' -e '\.srt$'; then
  SUB_COMMAND="-sub"
  SUB="$VD"
  VD="$VDLAST"
  dosel
fi
selopts

echo mplayer $MP_OPTS "$SUB_COMMAND" "$SUB" "$VD"
mplayer $MP_OPTS "$SUB_COMMAND" "$SUB" "$VD" < /dev/null
echo mplayer $MP_OPTS "$SUB_COMMAND" "$SUB" "$VD"

