I'll take a look at the last.fm website later and see if it's an easy fix. If it's just a few lines of code, I can post an update.
I noticed, that your thumbs script keep rotating images, insted it stops and start again when download is finished..
If you need, here is fix for that(you can figure it out):
//Download Image
function download()
{
try {
if (lfm_folder=="<default>") {folder = fbfolder + "\\" + p.clean_filename(p.artist) + "\\";}
if (lfm_folder=="") {folder = fbfolder + "\\" + p.clean_filename(p.artist) + "\\";}
if (lfm_folder.indexOf(":\\") > 0) {folder = lfm_folder + "\\" + p.clean_filename(p.artist) + "\\";}
}catch (err) {{fb.trace("Biography Photos: " + "TypeError: 'folder path' undefined");} var folder;}
if (!p.fso.FolderExists(folder)) return;
{
if (p.artist == "" || p.artist == "?") return;
this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
this.xmlhttp.open("GET", "http://www.last.fm/music/" + encodeURIComponent(p.artist) + "/+images", true);
this.xmlhttp.send();
this.xmlhttp.onreadystatechange = function() {
if (this.xmlhttp.readyState == 4) {
if (this.xmlhttp.status == 200) {
var text = this.xmlhttp.responsetext;
try {
if (!im.doc) im.doc = new ActiveXObject("htmlfile");
im.doc.open();
var div = im.doc.createElement("div");
div.innerHTML = text;
var data = div.getElementsByTagName("img");
var urls = [];
for (i = 1; i < data.length; i++) {
if (data[i].src.indexOf("http://img2-ak.lst.fm/i/u/avatar170s/") == 0) urls.push(data[i].src.replace("avatar170s", size == "low" ? "300x300" : size == "medium" ? "500x500" : size == "high" ? "_" : "_"));
}
for (i = 0; i < Math.min(urls.length, im.limit, 50); i++) {
p.WshShell.Run("cscript //nologo \"" + p.script_path + "bio_photos.vbs\" \"" + urls[i] + "\" \"" + [folder + p.clean_filename(p.artist) + "_" + i] + urls[i].substring(urls[i].lastIndexOf("/")+1000) + ".jpg" + "\"",0,false);
}
//Update Images--------------------------------------------
var cicleTimerStarted2 = false;
var cicleTimer2 = null;
//Start Timer 2 (Func)
(function startTimer2(){
if(!cicleTimerStarted2){
cicleTimer2 = window.SetInterval(function() {on_timer();}, "500");
cicleTimerStarted2 = true;
}})();
//Stop Timer 2 (Func)
function stopTimer2(){
if(!cicleTimerStarted2) return;
window.ClearInterval(cicleTimer2);
cicleTimer2 = undefined;
cicleTimerStarted2 = false;
}
//Definitions
var pos = 0;
if(urls.length<im.limit) {var num = urls.length;}
else
if(urls.length>im.limit) {var num = im.limit;}
//*On Timer*
function on_timer(id) {
if(cicleTimer2 && id == cicleTimer2.ID){
//Check Files on Timer
var list = utils.Glob(folder + "\\*.jpg").toArray();
var a = [];
//fb.trace("files: " + list);
for (i = 0; i < list.length; i++) {
if (list[i]) a.push(list[i]);
}
//Length
l = list.length;
//Update On First Down.(Keep Position)
if(im.images.length==0 && l>0) {
im.update();
pos = list.toString();
if(pos.indexOf("_0")>0) {pos=0;}
else
if(pos.indexOf("_1")>0) {pos=1;}
else
if(pos.indexOf("_2")>0) {pos=2;}
else
if(pos.indexOf("_3")>0) {pos=3;}
else
if(pos.indexOf("_4")>0) {pos=4;}
else
if(pos.indexOf("_5")>0) {pos=5;}
}
//Stop Main Timer
stopTimer();
//Wait Untill All Images Are Down.
if(l<num) {return true;}
//Update All Images
im.update();
window.NotifyOthers("images", "update");
//Keep Image Position
im.index=pos;
//Stop Timer 2
stopTimer2();
//Start Main Timer
startTimer();
return false;
}}
//End Of Update--------------------------------------------
im.doc.close();
} catch (err) {im.doc.close();}
} else {
p.console("HTTP error: " + this.xmlhttp.status);
}}}}}