class CL_albumcharts{ String artist, playcount, name, release, releasemonth, releaseday; int releaseyear, releasejoined; PImage cover; } class CL_albumchartsloader extends Thread{ XMLElement xmlalbumcharts; XMLElement xmlreleasedate; String tempalbum; int deadalbumcount = 0; PApplet parent; CL_albumchartsloader(PApplet _parent) { parent=_parent; } public void run() { Curstatus = "Searching TopAlbums of "+activeuser; String getalbumcharts = "http://ws.audioscrobbler.com/1.0/user/"+activeuser+"/topalbums.xml"; try { xmlalbumcharts = new XMLElement(parent, getalbumcharts); } catch (Exception e) { //println(e); Curstatus = "Connection Lost"; } int numalbums = xmlalbumcharts.getChildCount(); //println("albums: "+numalbums); if (numalbums >= 1) { //sind alben da?? topalbumsarray = new CL_albumcharts[numalbums]; for (int i = 0; i < numalbums; i++) { topalbumsarray[i] = new CL_albumcharts(); XMLElement albums = xmlalbumcharts.getChild(i); XMLElement kidalbums = albums.getChild("artist"); topalbumsarray[i].artist = kidalbums.getContent(); kidalbums = albums.getChild("name"); topalbumsarray[i].name = kidalbums.getContent(); kidalbums = albums.getChild("playcount"); topalbumsarray[i].playcount = kidalbums.getContent(); Curstatus = "Found "+topalbumsarray[i].artist+" "+topalbumsarray[i].name; kidalbums = albums.getChild("image"); XMLElement coverelement = kidalbums.getChild("small"); String coverurl = coverelement.getContent(); //println(coverurl); topalbumsarray[i].cover = loadImage(coverurl); if (topalbumsarray[i].cover == null){ topalbumsarray[i].cover = loadImage("noalbum_85px.gif"); } //println(topalbumsarray[i].artist); } } else { Curstatus = "No Albumcharts found"; } //jetzt bitte die releasedates rausfinden....danke for (int i=0; i= 1) { //sind alben da?? XMLElement releaseinfo = xmlreleasedate.getChild("releasedate"); tempalbum = releaseinfo.getContent(); //println(tempalbum); if (tempalbum == null){ topalbumsarray[i].releaseyear = 0; topalbumsarray[i].releaseday = "00"; topalbumsarray[i].releasemonth = "0"; topalbumsarray[i].releasejoined = 0; topalbumsarray[i].release = "0"; deadalbumcount++; } else{ String[] releasestring = splitTokens(tempalbum); //println(releasestring[0]); if (releasestring.length >= 3){ String[] releasestringyear = splitTokens(releasestring[2], ","); topalbumsarray[i].releaseyear = int(releasestringyear[0]); if (releasestring[0].length() < 2){ topalbumsarray[i].releaseday = "0"+releasestring[0]; } else{ topalbumsarray[i].releaseday = releasestring[0]; } if( releasestring[1].equals("Jan")){ topalbumsarray[i].releasemonth = "01"; } else if( releasestring[1].equals("Feb")){ topalbumsarray[i].releasemonth = "02"; } else if( releasestring[1].equals("Mar")){ topalbumsarray[i].releasemonth = "03"; } else if( releasestring[1].equals("Apr")){ topalbumsarray[i].releasemonth = "04"; } else if( releasestring[1].equals("May")){ topalbumsarray[i].releasemonth = "05"; } else if( releasestring[1].equals("Jun")){ topalbumsarray[i].releasemonth = "06"; } else if( releasestring[1].equals("Jul")){ topalbumsarray[i].releasemonth = "07"; } else if( releasestring[1].equals("Aug")){ topalbumsarray[i].releasemonth = "08"; } else if( releasestring[1].equals("Sep")){ topalbumsarray[i].releasemonth = "09"; } else if( releasestring[1].equals("Oct")){ topalbumsarray[i].releasemonth = "10"; } else if( releasestring[1].equals("Nov")){ topalbumsarray[i].releasemonth = "11"; } else if( releasestring[1].equals("Dec")){ topalbumsarray[i].releasemonth = "12"; } else { topalbumsarray[i].releasemonth = "0"; } topalbumsarray[i].release = tempalbum; topalbumsarray[i].releasejoined = int(str(topalbumsarray[i].releaseyear)+topalbumsarray[i].releasemonth+topalbumsarray[i].releaseday); } else { } } } else { Curstatus = "Album not found"; topalbumsarray[i].release = ""; } //ende forschleife } int m = 0; while (topalbumsarray[m].releasejoined <= 0){ m++; } high = m; low = m; for (int i = 0; i < topalbumsarray.length; i++) { if (topalbumsarray[i].releasejoined > 0){ if (topalbumsarray[i].releasejoined > topalbumsarray[high].releasejoined){ high = i; } else if (topalbumsarray[i].releasejoined < topalbumsarray[low].releasejoined){ low = i; } } //println(topalbumsarray[i].artist); //println(topalbumsarray[i].name); //println(topalbumsarray[i].playcount); //println(topalbumsarray[i].release); //println(topalbumsarray[i].releaseday); //println(topalbumsarray[i].releasemonth); //println(topalbumsarray[i].releaseyear); } //println("high: "+topalbumsarray[high].releasejoined); //println("low: "+topalbumsarray[low].releasejoined); Curstatus = topalbumsarray.length+" Albums found. "+deadalbumcount+" without release date"; albumcalcdone = true; CalcLock = false; } }