diff options
Diffstat (limited to 'mpc_update')
-rwxr-xr-x | mpc_update | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/mpc_update b/mpc_update new file mode 100755 index 0000000..53adf2b --- /dev/null +++ b/mpc_update @@ -0,0 +1,26 @@ +#!/bin/sh + +# mpc_update: Update an mpd playlist to include new songs in the music +# directory. + +yell() { echo "$0: $*" >&2; } +die() { yell "$*"; exit 111; } +try() { "$@" || die "cannot $*"; } + +[ "$#" -ne 2 ] && echo "usage: mpc_update <playlist> <music directory>" >&2 + +PLAYLIST="$1" +MUSIC_DIR="$2" + +[ -d "$MUSIC_DIR" ] && cd "$MUSIC_DIR" || + die "music directory '$MUSIC_DIR' does not exist!" + +# Clear the current playlist to prevent song duplication in mpd. +[ -e "$HOME/.local/share/mpd/playlists/${PLAYLIST}.m3u" ] && + try mpc clear >/dev/null && + try mpc rm "$PLAYLIST" + +# Add every song in the music directory. +try mpc add -- * + +try mpc save "$PLAYLIST" |