Daniel's first work encompassed the creation of biased playlists - that is, the ability to provide playlist track selection based on a defined set of metadata criteria. Biased playlists allow users to choose how Amarok selects upcoming songs from chosen playlists. For example, Amarok could select songs from a "5-star" smart playlist 60% of the time, and from a "4-star" smart playlist 40% of the time. Furthermore, with the addition of fuzzy biases, Amarok will be able to select matching tracks that are not strictly matching or non-matching against a certain criteria. These fuzzy biases let amarok mix a small amount of tracks that are just slightly not matching: in other words, it can choose tracks from a probability distribution centered around the selection criteria.
Basically, this system allows a user (through a simple and intuitive UI) to easily create custom unique dynamic playlists. This is way more powerful than the kind of thing that you can find in any other media player, and gives Amarok a significant advantage over its competition.
Alejandro Daniel Wainzinger is working on porting and improving the support for media devices in Amarok 2.0. Amarok 1.4 had support for media devices, but there were a few rough edges with configuration and speed of media device operations such as connect/disconnect and file management. The issue where an iPod with a large amount of songs locked Amarok on connect has been dealt with, and loading times are down to less than a second, not counting album covers. Now iPod covers can be not just set on the iPod, but read from the iPod to show in the collection browser. Basic file management (copying, deleting, editing tags) for iPod and MTP are good to go, though the interface needs touching up. The inability to play songs directly off of MTP devices is being dealt with soon.
To be consistent with Amarok 2.0's theme of having transparent operations between different types of collections, sync'ing between media devices and other collections will be implemented. This is possible to implement only recently thanks to Jeff Mitchell's work on AFT. Instead of the media device tab from Amarok 1.4, an applet will be used to handle connect/disconnect, battery level, percent free space, and so forth.
Casey Link is integrating the MP3tunes.com service with Amarok. MP3Tunes provides an “online music space” for its users to store their entire music collection so they can listen to their music anywhere. Using the feature-rich API and client libraries, applications can be developed for just about any device, so you can literally listen to your music anywhere. This summer, Casey implemented full MP3Tunes functionality into Amarok so that users can seamlessly synchronize their local music collections with MP3Tunes. Not only are you be able to upload your local music collection, but when you add music to your MP3Tunes Locker via other methods, such as buying music from an online store, the new tracks will automatically be downloaded to your local collection.
Peter Zhou is doing the scripting interface project for Amarok. Unlike the interface in Amarok 1.x, the scripting in Amarok2 will be mainly powered by QtScript.
Considering the planned usability and convenience of the users' scripts, we've decided not to use the Python and Ruby bindings to reduce the extra dependencies of every single script. Using the Qt bindings, the scripts can use not only the rich Amarok API's, but also the Qt API's. As one of the highlight points of Amarok2, services can be also created by the scripts.
Amarok2 also provides a D-Bus interface for external programs. The D-Bus API's are based on MPRIS (Media Player Remote Interface Specification), which is sufficient enough to provide most of the control of the media player.
William Viana Soares is continuing the development of the Context View. He has brought some of the concepts being used in the Plasma desktop, like the zooming user interface and activities to Amarok's Context View. He is trying to polish things up as he continues improving the navigation system through the contextual information.