bib2html.py: Add incollection bibtype
[shutils.git] / mp-play
diff --git a/mp-play b/mp-play
index cd40b2df1c96e37d94b48b7d109d6e6a13a98076..42215b7b2504e96cf478b0682b8a5eb7bcd491c0 100755 (executable)
--- a/mp-play
+++ b/mp-play
@@ -6,6 +6,9 @@ player="/usr/bin/mplayer"
 if [ -x  "/usr/bin/mplayer2" ]; then
        player="/usr/bin/mplayer2"
 fi
+if [ -x  "/usr/bin/mpv" ]; then
+       player="/usr/bin/mpv"
+fi
 
 playeropts=""
 $player -af help | grep -q bs2b && playeropts="${playeropts} -af-add bs2b"
@@ -23,22 +26,28 @@ optSorttime=0
 
 function showHelp
 {
-       echo "Plays mp3 files in all subdirectories."
-       echo "Usage: ./mp-play.sh [-h|--help] [-R|--random] [-r|--repeat] "
-       echo "                    [-a|-recursive] [--reverse] [--time]"
-       echo "                    [--remove] [-q|--quiet] [-v|--verbose] [DESTINATION]"
+       echo "Usage: $0 [-h|--help]"
+       echo "       $0 [OPTIONS] [--] [DESTINATIONS]"
        echo ""
-       echo "Options:"
-       echo "  --time             sort by age of file"
-       echo "  -R, --random       randomize files"
-       echo "  -r, --repeat       repeat playing infintely"
+       echo "OPTIONS:"
        echo "  -a, --recursive    recursively find files to play"
-       echo "  --reverse          reverse playing order"
-       echo "  --remove           ask to remove played files after playing"
+       echo "  -h, --help         show this message"
        echo "  -q, --quiet        do not produce output when playing"
-       echo "  -v, --versbose     produce more output"
+       echo "  -r, --repeat       repeat playing infintely"
+       echo "  -R, --random       randomize files"
+       echo "      --remove       ask to remove played files after playing"
+       echo "      --reverse      reverse playing order"
+       echo "      --time         sort by age of file"
+       echo "  -v, --verbose      produce more output"
 }
 
+if ! options=$(getopt -u -o hRravq -l time,random,repeat,recursive,reverse,remove,quiet,verbose -- "$@")
+then
+       showHelp >&2
+       exit 1
+fi
+set -- $options
+
 #Parse the arguments
 while [ $# -gt 0 ]
 do
@@ -52,6 +61,8 @@ do
                --remove) optRemove=1 ;;
                --reverse) optReverse=1 ;;
                --time) optSorttime=1 ;;
+               --) shift; break ;;
+               -*) echo "Unrecognized option $1" >&2; showHelp >&2; exit 1 ;;
                *) break ;;
        esac
        shift
@@ -64,12 +75,12 @@ if [ "$optRecursive" == "1" ]; then
 else
        maxlevel=1
 fi
-       
+
 
 # Create playlist
 find "$@" -maxdepth $maxlevel -type f \
-       -iname "*.mp3" -or -iname "*.avi" -or -iname "*.flv" \
-       -or -iname "*.mp4" -or -iname "*.ogg" \
+       -iname "*.mp3" -or -iname "*.avi" -or -iname "*.flv" -or -iname "*.flac" \
+       -or -iname "*.mp4" -or -iname "*.ogg" -or -iname "*.m4a" \
        | sort > $playlist
 
 [ "$optSorttime" == "1" ] && cat "$playlist" | xargs ls --sort=time | sponge "$playlist"