X-Git-Url: https://git.sthu.org/?p=shutils.git;a=blobdiff_plain;f=mp-play;h=42215b7b2504e96cf478b0682b8a5eb7bcd491c0;hp=7adc101b7a15176ff0d13096444759a694d32131;hb=HEAD;hpb=32250a431251ea59cdbf7a754571319702477ee9 diff --git a/mp-play b/mp-play index 7adc101..42215b7 100755 --- a/mp-play +++ b/mp-play @@ -6,8 +6,13 @@ 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" -playeropts="-af-add bs2b" optRandom="" optRepeat="" @@ -21,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 @@ -50,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 @@ -62,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"