Last.fm Lib .Net - An open source Last.fm library
 

About LastFmLib.Net

LastFmLib.Net is not only a simple port of all classes contained in the Last.fm client, but a complete implementation of their web services, both version 1.0 and 2.0, the radio api currently used by the client and the Audioscrobbler 1.2.1 protocol. I can proudly say, as far as I know, this DLL project is one of the most advanced regarding Last.fm's web API.
LastFmLib.net or LastFmLib for short is written in VB.Net 2008, but also can be used in other managed Visual Studio.net languages, like C# and ASP.net.

LastFmLib's history

As I began writing my own client for Last.fm - just by interest - in the last weeks of 2006, it was in the times of Audioscrobbler protocol version 1.1.
It worked really fine. Then I discovered later on that Last.fm changed their Audioscrobbler protocol to version 1.2, among some changes in the radio api, so I coded on to do the jump, but my code was a little bit bad.
For understanding the protocol, I first used wireshark, as not for everything a specification could be found.Then I encountered some trouble on how to parse the xml rpc in a good and really general way.
I mean not request-specific, but one method to parse the xml rpc responses into a structure and then obtain the right values. So I took a look in the original client's source code. As I could code tiny pieces of C++, reading the source code didn't get me in trouble very much.
I discovered their solution was much better than mine at this time, so I began porting while digging in the dark depths of C++ source code.
with this, my client developed into a really nice thing. I put some extra features inside, which aren't available in other clients and the original Last.fm client.
These are things like adding albums to the personal playlist(PP in short), unloving and unbanning tracks, an artist filter, track numbers and so on. With each new feature I wanted there was also a need for a new port of a request.
So I decided to port everything. This took me a really long time, about more than one and a half year(with pauses). But it was really fun, now I know a lot about C++ and QT.

Then, it was around Octobre in 2007, I thought why not to share my work with other Last.fm 3rd application developers.
So I decided to structure my work in a good way, split away the requests and the other stuff from the source code of my client and LastFmLib was born.I was really surprised(nearly overwhelmed) of the many positive responses!
Also some special thanks to Mannno for helping with SVN, GermaniX for discovering many, many bugs - same goes for transcendentalA - and oern for doing the project.

Applications which use LastFmLib.net

Thank you very much, tburny(Tobias B.)