#
# Dependencies: imagemagick.
#
-# Usage: mpdcover <music_directory> <song_file> <default_art>
+# Usage: mpdcover <music_directory> <song_file> <cover_resize> <default_art>
# Configuration-------------------------------------------------------
file=$2
# Regex expression used for image search
-IMG_REG="(front|cover|art|Folder|folder)\.(jpg|jpeg|png|gif)$"
+IMG_REG="(Front|front|Cover|cover|Art|art|Folder|folder)\.(jpg|jpeg|png|gif)$"
# Path of temporary resized cover
TEMP_PATH="/tmp/mpdcover.png"
COVER_RESIZE="100x100"
fi
+# The default cover to use (optional)
+DEFAULT_ART=$4
+
# Thumbnail background (transparent)
COVER_BACKGROUND="none"
# 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
local mpd = {}
local function worker(args)
- local args = args or {}
- local timeout = args.timeout or 2
- local password = args.password or ""
- local host = args.host or "127.0.0.1"
- local port = args.port or "6600"
- local music_dir = args.music_dir or os.getenv("HOME") .. "/Music"
- local cover_size = args.cover_size or 100
- local settings = args.settings or function() end
+ local args = args or {}
+ local timeout = args.timeout or 2
+ local password = args.password or ""
+ local host = args.host or "127.0.0.1"
+ local port = args.port or "6600"
+ local music_dir = args.music_dir or os.getenv("HOME") .. "/Music"
+ local cover_size = args.cover_size or 100
+ local default_art = args.default_art or ""
+ local settings = args.settings or function() end
local mpdcover = helpers.scripts_dir .. "mpdcover"
local mpdh = "telnet://" .. host .. ":" .. port
then
helpers.set_map("current mpd track", mpd_now.title)
- os.execute(string.format("%s %q %q %d", mpdcover, music_dir,
- mpd_now.file, cover_size))
+ os.execute(string.format("%s %q %q %d %q", mpdcover, music_dir,
+ mpd_now.file, cover_size, default_art))
mpd.id = naughty.notify({
preset = mpd_notification_preset,