Things that still do not work are the collectionscanner, playback, the playlist, and just about everything else.
The collectionscanner should be fixed shortly, I need to spend some time debugging it and working on a port for some of the UNIX-centric parts living in it. Playback is another story: in theory GStreamer and xine can both build on Windows, but I have not had much luck. The best bet will be for some brave soul to step up and write a DirectSound Phonon backend. Rumour has it that the VideoLan people would like to write a Phonon backend eventually, which would be awesome as VideoLan is already cross-platform. Unfortunately I don't believe that is planned to be done until 4.1 or so.
The playlist doesn't work because it still uses a number of q3support/k3support things, which are not designed to work properly on Windows. I am not that worried about porting the playlist, as Ian Monroe has a Summer of Code project to refactor the playlist anyway, so I'll just wait for the fruits of his work.
Where does the future lead? Currently it's all about fixing crashes, re-enabling stuff I had disabled, and porting code. I've been importing parts of my effort to KDE SVN, but there is still a number of changes I have locally that I do not really want to add to SVN as they are all ugly. My current plans are to try and have an installer/binary version for Windows to go with the first beta release. These plans could change however.
If any coders are interested in helping out, feel free to find me (hydrogen) in the #amarok IRC channel, I'll be glad to supply a patch. At this point testers are not really needed, as I know what is broken anyway!
On a final note, I guess this means that iTunes can finally be deprecated, as Amarok has arrived to replace it :)
I have been asked to write a few lines about my work on Amarok 2 regarding integrating online services and especially what progress has been made since the Road to KDE 4 article about Amarok 2.
As the commit logs from the last week or so will show, I have been working on integrating the Creative Commons-based online music service Jamendo.com into Amarok in a way similar to the integration of the Magnatune store.
Jamendo.com is a site where musicians can upload their albums to be heard, reviewed and commented on by users and other artists. There are currently more than 3,000 albums and 35,000 tracks available on the site, and each one can be fully previewed. The current state of the Jamendo service in Amarok is that it can download and parse the database and display it in all its unsorted glory, as well as play all previews of tracks. Downloading of albums using the BitTorrent protocol is one of the next points on my ToDo list. Besides this, there are many interesting features such as comments, ratings and lyrics on the Jamendo.com site that I might take a look at later.
While working on the Jamendo service, I spent a great deal of time factoring out code shared between the Magnatune store and the Jamendo service into a common framework. While not particularly pretty yet (I am hopeful that this will improve over time), it should allow new services to be added very easily. This has been a lot of work, but hopefully it will pay off many times over in the long run.
Basically all that is needed for a fully integrated service are a custom database hander (or other data fetcher), a parser (if using a static data source like both Magnatune and Jamendo services currently do) and an info parser for fetching information to display about each content item (artist, album or track).
To further mature this framework, I am thinking of trying my hand at a simple service to access personal content stored at mp3tunes.com. This would be a bit different since it uses a dynamic way of fetching data, but the current framework, with a few modifications, should accommodate this.
As mentioned in the last Amarok Weekly News, Lucas Di Cioccio is working on a generic API for online music services to publish their content, and if it all pans out, this should tie in really nicely with the service framework in Amarok and allow all kinds of interesting services to be easily integrated or even dynamically added by the user.
The first screenshot shows the internet service browser with the Jamendo.com service, as well as a pair of scripted services just to add a little color!
The second one is the Jamendo.com service opened, with the Creative Commons CD released by WIRED a few years ago selected. You will notice that the info area has nothing interesting to say yet, but I am getting to that! :-) Also, showing 2000+ artists in a single list is obviously not a good idea, but as the Jamendo.com genres are a bit "messy" I will have to figure out a nice way of sorting the content.