Print WP matches first, since YP takes more time.
[utils.git] / planime
diff --git a/planime b/planime
index 6ab0737..b2b14dd 100755 (executable)
--- a/planime
+++ b/planime
@@ -35,7 +35,7 @@ findfile() {
 }
 
 origargs=("$0" "$@")
-cmdline=(mplayer -fs)
+cmdline=(mplayer -fs -ass)
 
 while [ "${1:0:1}" = - ]; do
     a="$1"
@@ -48,6 +48,16 @@ while [ "${1:0:1}" = - ]; do
        -t)
            cmdline=("${cmdline[@]}" -ao oss:/dev/dsp1)
            ;;
+       -A)
+           while :; do
+               a="$1"
+               shift
+               if [ "$a" = \; ]; then
+                   break;
+               fi
+               cmdline=("${cmdline[@]}" "$a")
+           done
+           ;;
        -s)
            savepar="$1"
            shift
@@ -117,10 +127,12 @@ fi
 
 case "${file##*.}" in
     ogm)
-       defopts=(-aid 1 -sid 0)
+       aid=1
+       sid=0
        ;;
     mkv)
-       defopts=(-slang eng -alang jpn)
+       alang=jpn
+       slang=eng
        ;;
 esac
 
@@ -145,12 +157,33 @@ if [ -r "$ifile" ]; then
            cmdline=("${cmdline[@]}" -delay "$arg")
        elif [ "$par" = aspect ]; then
            cmdline=("${cmdline[@]}" -aspect "$arg")
+       elif [ "$par" = alang ]; then
+           unset alang aid
+           alang="$arg"
+       elif [ "$par" = aid ]; then
+           unset alang aid
+           aid="$arg"
+       elif [ "$par" = slang ]; then
+           unset slang sid
+           slang="$arg"
+       elif [ "$par" = sid ]; then
+           unset slang sid
+           sid="$arg"
        fi
     done
     exec 0<&3
     exec 3<&-
-else
-    cmdline=("${cmdline[@]}" "${defopts[@]}")
+fi
+
+if [ -n "$alang" ]; then
+    cmdline=("${cmdline[@]}" -alang "$alang")
+elif [ -n "$aid" ]; then
+    cmdline=("${cmdline[@]}" -aid "$aid")
+fi
+if [ -n "$slang" ]; then
+    cmdline=("${cmdline[@]}" -slang "$slang")
+elif [ -n "$sid" ]; then
+    cmdline=("${cmdline[@]}" -sid "$sid")
 fi
 
 if [ "`hostname`" = pc6 ]; then chwp=y; fi