#!/bin/bash # A simple notify script for now-playing songs on mpd. This script uses # notify-send and mpc to get the current song information. # Configuration------------------------------------------------------- # The music directory that contains the music and cover files MUSIC_DIR="$HOME/Musica" # The default cover to use (optional) DEFAULT_ART="" # Regex expression used for image search IMG_REG="(front|cover|art|Folder|folder)\.(jpg|jpeg|png|gif)$" # Path of temporary resized cover TEMP_PATH="/tmp/mpdnotify_cover.png" # Resize cover to (optional, recommended) COVER_RESIZE="100x100" # Thumbnail background (transparent by default) COVER_BACKGROUND="none" #-------------------------------------------------------------------- # determine file file="$(mpc current -f %file%)" # check if anything is playing at all [[ -z $file ]] && exit 1 # Art directory art="$MUSIC_DIR/${file%/*}" # find every file that matches IMG_REG set the first matching file to be the # cover. cover="$(find "$art/" -maxdepth 1 -type f | egrep -i -m1 "$IMG_REG")" # when no cover is found, use DEFAULT_ART as cover cover="${cover:=$DEFAULT_ART}" # check if art is available if [[ -n $cover ]]; then if [[ -n $COVER_RESIZE ]]; then convert "$cover" -thumbnail $COVER_RESIZE -gravity center -background "$COVER_BACKGROUND" -extent $COVER_RESIZE "$TEMP_PATH" cover="$TEMP_PATH" fi else rm $TEMP_PATH fi exit 0