Hehe I'm trying hard to find more bugs. And good call on the decision with reserved chars, rather use functions than absolute paths anyways.
Btw added couple of features to my panels which you might be interested in also. An auto download conditional option (auto_download_lib) to check if the file is in media library, as I don't want to fetch for new files. Maybe add some kind of "delete last.fm data if the artist has not been seen for X days" function?
function on_playback_time(time) {
if(cycle > 0 && arr.length > 1 && (time % cycle == 0)) on_mouse_wheel(-1);
if(window.GetProperty("auto_download_lib") && !fb.IsMetadbInMediaLibrary(g_metadb)) return;
if(window.GetProperty("mode") == 101 && time == 1 && arr.length == 0 && window.GetProperty("auto_download")) download_images();
}
And changed the thumbs scaling method to keep original size for small images, unless "Stretch small images to panel size" (scale) option is checked
var s = 1;
if (window.GetProperty("scale") || img.width >= width || img.height >= height)
s = Math.min(width / img.width, height / img.height);
var nw = Math.round(img.width * s);
var nh = Math.round(img.height * s);
pos_x += Math.round((width - nw) / 2);
pos_y += Math.round((height - nh) / 2);