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. # A simple cover fetcher script for current playing song on mpd.
# #
@ -58,7 +58,7 @@ cover="${cover:=$DEFAULT_ART}"
# check if art is available # check if art is available
if [[ -n $cover ]]; then if [[ -n $cover ]]; then
if [[ -n $COVER_RESIZE ]]; 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" cover="$TEMP_PATH"
fi fi
else else

View File

@ -16,7 +16,7 @@ local wibox = require("wibox")
local io = { popen = io.popen } local io = { popen = io.popen }
local os = { execute = os.execute, local os = { execute = os.execute,
getenv = os.getenv } getenv = os.getenv }
local string = { format = string.format, local string = { format = string.format,
gmatch = string.gmatch } gmatch = string.gmatch }
local setmetatable = setmetatable local setmetatable = setmetatable
@ -28,7 +28,7 @@ local mpd = {}
local function worker(args) local function worker(args)
local args = args or {} local args = args or {}
local timeout = args.timeout or 2 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 host = args.host or "127.0.0.1"
local port = args.port or "6600" local port = args.port or "6600"
local music_dir = args.music_dir or os.getenv("HOME") .. "/Music" 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 mpdcover = helpers.scripts_dir .. "mpdcover"
local mpdh = "telnet://" .. host .. ":" .. port 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.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 = { mpd_notification_preset = {
title = "Now playing", title = "Now playing",
timeout = 6 timeout = 6
@ -59,7 +62,16 @@ local function worker(args)
helpers.set_map("current mpd track", nil) helpers.set_map("current mpd track", nil)
function mpd.update() 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 line in f:lines() do
for k, v in string.gmatch(line, "([%w]+):[%s](.*)$") do for k, v in string.gmatch(line, "([%w]+):[%s](.*)$") do