summaryrefslogtreecommitdiffstats
path: root/.local/bin/conky_cover.sh
diff options
context:
space:
mode:
Diffstat (limited to '.local/bin/conky_cover.sh')
-rwxr-xr-x.local/bin/conky_cover.sh67
1 files changed, 67 insertions, 0 deletions
diff --git a/.local/bin/conky_cover.sh b/.local/bin/conky_cover.sh
new file mode 100755
index 0000000..ffdd403
--- /dev/null
+++ b/.local/bin/conky_cover.sh
@@ -0,0 +1,67 @@
+#!/bin/sh
+#
+# cover.sh - Download cover from Last.fm and overlay with image
+#
+# Florian <floriandejonckheere.be>
+#
+# bug: it detects the artist change twice
+
+## CONFIGURATION ##
+# Folder for cached album art
+# Don't use ~, as conky will treat it as a regular directory name
+# CACHE="$HOME/.cache/covers"
+# API Key for Last.fm
+# APIKEY="b25b959554ed76058ac220b7b2e0a026"
+# Log file, only for debugging purposes
+LOG=/tmp/conky-mpd.log
+TMP=/tmp/conkympd.tmp
+
+# Check for vital commands
+# CMD="mpc curl convert"
+# for CHECK in $CMD; do
+# [ ! "$CHECK" ] && echo "Command $CHECK not found. Exiting." && exit 1
+# done
+# [ ! -d "$CACHE" ] && mkdir -p "$CACHE"
+
+playing="$(mpc --format '%artist% - %album%' | head -1)"
+filedir="$(dirname "$XDG_MUSIC_DIR/$(mpc --format %file% | head -n1)")"
+
+[ ! -f $TMP ] && touch $TMP
+[ "$(cat $TMP)" == "$playing" ] && exit 0
+# [ "$(cat $TMP)" == "$playing" ] && echo "Same artist/album" >> $LOG && exit 0
+# echo "Artist/album changed: $playing" >> $LOG
+
+#[ -f "/tmp/conkyCover.png" ] && rm "/tmp/conkyCover.png"
+cp $HOME/.config/conky-mpd/nocover.png /tmp/conkyCover.png
+# echo "NoCover" >> $LOG
+
+coverfile="$(find "$filedir" -maxdepth 1 -type f \( -iname 'cover.jpg' -o -iname 'cover.png' -o -iname 'folder.jpg' -o -iname 'folder.png' -o -iname '*.jpg' -o -iname '*.png' \) -print -quit)"
+#COVER="$CACHE/$ARTIST - $ALBUM.jpg"
+## Is cover cached?
+#if [ ! -f "$COVER" ]; then
+## Nope. Download.
+# echo "Downloading cover for $ARTIST - $ALBUM" >> $LOG
+# # Download XML info
+# curl --data-urlencode artist="$ARTIST" --data-urlencode album="$ALBUM" "http://ws.audioscrobbler.com/2.0/?method=album.getinfo&api_key=$APIKEY" -o /tmp/lastfm.xml &> /dev/null
+# echo "Exit: $?. Downloaded $(wc -l /tmp/lastfm.xml | cut -d' ' -f1) bytes." >> $LOG
+# # Strip XML and download mega large cover to cache
+# curl $(sed -n 's|<image size="mega">\(.*\)<\/image>|\1|p' /tmp/lastfm.xml) -o "$COVER" &> /dev/null
+# echo "Exit: $?" >> $LOG
+# echo "Downloaded to $COVER." >> $LOG
+#fi
+# Copy cache for processing
+# echo "Copying $coverfile." >> $LOG
+# cp "$COVER" /tmp/cover.jpg
+# Downscale to fit overlay
+# convert /tmp/cover.jpg -resize 366 /tmp/cover.png >> $LOG
+## Enlarge canvas to fit overlay
+#convert /tmp/cover.png -background none -extent 500x455-84-44 /tmp/cover.png >> $LOG
+## Overlay overlay over cover
+#convert /tmp/cover.png $HOME/.config/conky-mpd/case.png -composite /tmp/cover.png >> $LOG
+## Resize for immediate use
+# convert /tmp/cover.png -resize 120 /tmp/conkyCover.png >> $LOG
+convert "$coverfile" -resize 100 /tmp/conkyCover.png # >> $LOG
+## Set current artist
+echo "$playing" > $TMP
+#rm /tmp/cover.jpg /tmp/cover.png
+