scripts

scripts
git clone git://git.wimdupont.com/scripts.git
Log | Files | Refs | README | LICENSE

mpvd (1157B)


      1 #!/usr/bin/env bash
      2 
      3 source ~/.config/scripts/properties
      4 
      5 shopt -s nullglob globstar
      6 
      7 prefix=${MUSIC_DIR-~/music}
      8 musicdirs=( "$prefix"/*/)
      9 
     10 for value in "${musicdirs[@]}"
     11 do
     12 	songdirs+=( "$value" )
     13 	subdir=( "$value"*/)
     14 	if [[ "$subdir" ]]; then
     15 		songdirs+=( "${subdir[@]#}" )
     16 	fi
     17 done
     18 songdirs=( "${songdirs[@]#"$prefix"/}" )
     19 songdirs=( "${songdirs[@]%/}" )
     20 
     21 songdir=$(printf '%s\n' "${songdirs[@]}" | "$dmenu" -fn "$dmenu_font" -i -l "$dmenu_lines" "$@")
     22 
     23 [[ -n $songdir ]] || exit
     24 
     25 playsongdir=$(printf "no\nyes" | "$dmenu" -fn "$dmenu_font" -i "$@" -p "Play full directory?")
     26 
     27 [[ -n $playsongdir ]] || exit
     28 
     29 if [[ "$playsongdir" == no ]]; then
     30 	prefix=${MUSIC_DIR-~/music/"$songdir"}
     31 	songdirs=( "$prefix"/**/*)
     32 	songdirs=( "${songdirs[@]#"$prefix"/}" )
     33 	songdirs=( "${songdirs[@]%}" )
     34 	songdir=$(printf '%s\n' "${songdirs[@]}" | "$dmenu" -fn "$dmenu_font" -i -l "$dmenu_lines" "$@")
     35 	[[ -n $songdir ]] || exit
     36 else 
     37 	random=$(printf "no\nyes" | "$dmenu" -fn "$dmenu_font" -i "$@" -p "Shuffle?")
     38 
     39 	[[ -n $random ]] || exit
     40 
     41 	if [[ "$random" == yes ]]; then
     42 		shuffle=--shuffle
     43 	fi
     44 fi 
     45 
     46 exec $terminal -e mpv --no-video "$prefix"/"$songdir" "$shuffle"