Amarok Weekly Newsletter - Issue 9

Let's Rok Forever (18.06.2007)

Issue 9:


News recently hosted an interview with Amarok developer Jeff Mitchell. Take a look and read about many interesting Amarok related topics.

One spiffy review of Amarok 1.4.5 also appeared on the internet. From the conclusion:

There you have it, Amarok is a fantastic program for playing music within Linux. Did I mention you can also download themes and other scripts to add as much function to Amarak as you wish? You can! To find out more about Amarok please visit their website here.


Short interview with Ian Monroe

Ian Monroe is one of the participants of the Google's Summer of Code, which will this year improve the way Amarok handles and displays playlists. We decided to ask him a few questions, to throw some light on his interesting work.

Say a few words about yourself, and tell us why you applied for a SoC project?

I'm a Computer Science major at Truman State University and will be graduating in December
(looking for a job in Missouri *hint*hint*). I've been part of the Amarok team for the past two years. Last summer I added Amarok's DAAP functionality as a Google SoC project. The great thing about SoC is that it gives time to contribute to Amarok, which really is how I'd prefer to spend my summer. If it wasn't for Google SoC I would have had to make the $4500 somewhere else, probably in some sort
of boring summer job.

What are the biggest issues with the current (as in Amarok 1.4) playlist implementation?

In Amarok 1.4 the playlist.cpp file is almost 5000 lines long. 98% of that code really is just the Playlist class. So its a huge class, and that has made adding new features difficult. For instance its hard to tweak how dynamic playlists work, since the code involving dynamic playlists is sprinkled throughout the Playlist class - there is no "DynamicPlaylist" class. It has low cohesion to use the software engineering term.

The playlist in Amarok 2.0 will be much narrower, do you consider it to be an advantage or disadvantage? Why?

The new interface we are planning for Amarok 2.0 is probably going to be controversial since its different for Amarok. The Context Browser (now the Context View) is really the killer feature for Amarok. It shows you info on related artists and albums, the wiki, lyrics. We decided it should be front
and center.

Additionally the traditional notion of having every track on its own line so that you can cram as many tracks onto the screen as possible just isn't what Amarok needs anymore. Personally I sometimes play an album by dropping it from the Collection Browser or listen to some random tracks using the Dynamic Playlist. In both cases my playlist is only like 10-20 tracks long and I'm only interested in what the next few are. The new design is for making this sort of use optimal.

How much are both performance and eyecandy important to you, and how do you intend to balance between them? Do any new Qt4 features have an important role here?

The new playlist is going to have more eyecandy and its actually going to perform better doing it. Most of the thanks goes to Trolltech for the new Model/View/Delegate system in Qt 4 that replaces QListView. Already Amarok 2's playlist and its collection browser share their track items, which should be a big memory saver.

Currently if you add several thousand tracks to the playlist, Amarok starts choking. This is partly due to how we implement undo/redo, but mostly due to Qt 3's QListView. Even though our new playlist UI is going to be designed with shorter playlists in mind, I want to make sure that users who disregard
this don't face any technical hurdles to having large playlists (like they do now).

The eyecandy (drawing the delegates) will probably be provided by QGraphicsView. Apparently it performs well. So I'm really not worried about having to balance performance/eyecandy.

How is your work progressing, an when can we expect the features in SVN?

I've implemented much of Playlist::Model, which is the core of the new playlist. You can already play music with it - thats important!

I will be going to aKademy in Glasgow at the end of the month. There will be 7 Amarok devs there in all. We got a lot done at the KDE Multimedia Meeting last year, and that was only a weekend. A whole week will be exciting, expect a lot of progress to made. Big thanks goes to KDE e.V for helping
fund my way, as well as users (like you!) who donated to the Amarok project as their money is helping to pay for many of their other developers to come to Glasgow.

I hope to have the new playlist done by the beginning of August.

Do you have any actual screenshots to show us?

Everything visible is just a placeholder, I'm still working on the underlying stuff. The screenshots are only impressive to me. :)

More information about Ian's work is available on his dedicated wiki page. Don't forget to take a look there before asking him questions :).

Amarok iconset

The new artist in the Amarok team, Landy DeField made a new iconset, which will replace the old one in the yet to be released Amarok 1.4.6. Take a look at the new, refreshing appearance:

The important fact is that Landy used colors from the Oxygen palette, and he also plans on making the Oxygen style icons for Amarok 2.0. That would seriously rock!


Amarok 1.4.6

The next version of the stable Amarok version is going to be released in a few days, probably on June 21. You'll have to wait for an official announcement, but here is a sneak peak into some interesting improvements:

It will be available on the download page, as soon as it's ready.


Amarok on Solaris

Jonathan Wheeler from informed the developers that SVN version of Amarok 1.4.6 is working on Solaris 11:

I've just built the latest SVN of amarok on Solaris 11, and it's working well.

Well done!

Now I don't have any extra options compiled in, but back in the 1.4.5 days, even that wouldn't even compile - so no regression there.

Once 1.4.6 goes GA, I'll update the solaris blastwave package straight away. (We're still on 1.4.4)


Growl notification for Amarok

Pierre Andrews has made an Amarok script for OS X users, which implements Growl support. From his blog:

Growl is a flexible notification system that you can easily customise and which work with many applications now, it’s therefore a nice framework to integrate with Amarok and will offer a seamless integration between this X11 application and OS X.

Get it here.

User survey

The Amarok promo team is starting a user survey, in order to gather valuable feedback and make Amarok rock even harder. The plan is simple: we have prepared a document for printing, you print it, visit some friends, interview them, and then you mail the results to Please ask your friends to interview their friends, to increase the amount of results. Don't post any names or other personal data; the survey is totally anonymous.
The target group defines by age from around 14 - to around 35.

Print-ready PDF document is located here, and if you wish to create a localized version you can get the source ODT too.


Cool tips: playing AudioCD

Bobby Gill asked recently on the mailing list about playing Audio CDs in Amarok straight from the command line:

I'm using Ubuntu 6.10 and in System > Preferences > Removable Drives & Media and in the Multimedia tab, I want to put Amarok in the path to play Audio CDs, but I need to know the command line to get Amarok to play a CD. ie., To get DVDs to play with VLC, I use "wxvlc dvd:///media/cdrom1."

He got a quick reply from Ian:

From amarok --help:
--cdplay <device> Play an AudioCD from <device>

So, here you go. Check out the other interesting command line parameters, with amarok --help.