This commit is contained in:
luke bonham 2013-11-02 21:05:25 +01:00
parent 96085317a2
commit 3a0aba5a4b
2 changed files with 27 additions and 15 deletions

View File

@ -1,4 +1,4 @@
!/bin/bash
#!/bin/bash
#
# A simple cover fetcher script for current playing song on mpd.
#
@ -58,7 +58,7 @@ 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"
convert "$cover" -thumbnail $COVER_RESIZE -gravity "center" -background "$COVER_BACKGROUND" -extent $COVER_RESIZE "$TEMP_PATH"
cover="$TEMP_PATH"
fi
else

View File

@ -16,7 +16,7 @@ local wibox = require("wibox")
local io = { popen = io.popen }
local os = { execute = os.execute,
getenv = os.getenv }
local string = { format = string.format,
local string = { format = string.format,
gmatch = string.gmatch }
local setmetatable = setmetatable
@ -28,7 +28,7 @@ local mpd = {}
local function worker(args)
local args = args or {}
local timeout = args.timeout or 2
local password = args.password or "\"\""
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"
@ -38,19 +38,22 @@ local function worker(args)
local mpdcover = helpers.scripts_dir .. "mpdcover"
local mpdh = "telnet://" .. host .. ":" .. port
local echo = "echo 'password " .. password .. "\nstatus\ncurrentsong\nclose'"
local echo = nil
if password == "" then
echo = "(echo -e 'status'; sleep 0.1;" ..
"echo -e 'currentsong'; sleep 0.1;" ..
"echo -e 'close')"
else
echo = "(echo -e 'password " .. password .. "'" ..
"echo -e 'status'; sleep 0.1;" ..
"echo -e 'currentsong'; sleep 0.1;" ..
"echo -e 'close')"
end
mpd.widget = wibox.widget.textbox('')
mpd_now = {
state = "N/A",
file = "N/A",
artist = "N/A",
title = "N/A",
album = "N/A",
date = "N/A"
}
mpd_notification_preset = {
title = "Now playing",
timeout = 6
@ -59,7 +62,16 @@ local function worker(args)
helpers.set_map("current mpd track", nil)
function mpd.update()
local f = io.popen(echo .. " | curl --connect-timeout 1 -fsm 3 " .. mpdh)
mpd_now = {
state = "N/A",
file = "N/A",
artist = "N/A",
title = "N/A",
album = "N/A",
date = "N/A"
}
local f = io.popen(echo .. " | curl --connect-timeout 1 -fsm 1 " .. mpdh)
for line in f:lines() do
for k, v in string.gmatch(line, "([%w]+):[%s](.*)$") do