DEC
10
2008

Amarok 2.0 Rocks the World

After two years of intense development, Amarok 2 has become a reality! Some of the highlights that are included in the 2.0 release are a completely redesigned user interface, tight integration with online services such as Magnatune, Jamendo, MP3tunes, Last.fm and Shoutcast. There is an overhauled scripting API and plugin support to allow better integration into Amarok. Much of the work has gone into migration from the KDE 3 to KDE 4 framework using core technologies such as Solid, Phonon, and Plasma. Read more about the new release in the release announcement and start Amaroking!

The user interface has been redesigned to make context information like lyrics and albums from the same artist more accessible and allow the users to decide which information is most important to them by adding applets to the Context View in the middle. The new Biased Playlists offer a way to let Amarok take care of your playlist in an intelligent way similar to Dynamic Playlists in previous versions. A new service framework allows for a tight integration of online services like Jamendo, Magnatune and Ampache. New services can easily be written as a script. More applets and scripts are being worked on and users are welcome to contribute more to make Amarok suit their needs. The migration from the KDE 3 to KDE 4 framework allows to make use of technologies like Plasma, Phonon and Solid which make Amarok easier to use and maintain and ready for the future of music on your computer and on the internet.

Comments

'Don't you guys realize, that even if programming is done in your spare time, the complaining users are your "customers"'

++ Does Not Compute ++
++ Unpaid Volunteers Do Not Have Customers ++

'I really don't like the attitude which seems to prevail in some KDE4-projects nowadays, in which users complaining about the developments in their favorite programs are more or less told to "shut up".'

Actually, the prevailing theme I see is "we're working on it". People, of course, would much rather be perverse and simply assume that the Bad Old Incompetent KDE Guys are purposefully working against everyone's (including their own) interest because, hey, melodrama and Raging Against The Man are more fun.

"At least KDE4 is finally shaping up"

Fun Fact (assuming by "KDE4" you mean "Plasma") - Plasma is the poster-child project for the "OMG KDE devs don't listen to their users" brigade. Now - what does the fact that, by your own admission, it's "shaping up" tell you about the attitude the devs have towards their users? The answer may surprise you!!

A hint, in case you can't figure out the reason: I'm sure there will be lots of reports of Amarok 2 "shaping up" as it progresses.


By anon at Fri, 2008/12/12 - 6:00am

Customer is in common speech somebody who aquires and uses a product, no matter whether it is produced by billionaires, slaves or volunteers.

"We are working on it": then please tell me why Amarok 2 developpers' blogs - which I am as a Amarok 1.4 fan am following, are you? - show a pretty negative attidude towards quite some of the features users are missing since Amarok 1.4? Old-style-playlist, searchable playlist, cleaner layout, and stuff?

KDE4: I never said I'm completely happy with it. However, slowly but gradually, it's getting usable and more stable. Nevertheless I don't like some of the developpers' attitude towards the user base.

To your hint: How will Amarok 2 be shaping up if developpers say they don't care about those features? By some magic or what? Yes, I'm sure, Amarok 2 will gradually integrate more of the features, but it seems it will take a lot of user's bickering...


By Larx at Fri, 2008/12/12 - 6:00am

"Customer is in common speech somebody who aquires and uses a product, no matter whether it is produced by billionaires, slaves or volunteers."

http://dictionary.reference.com/browse/customer

1. a person who *purchases* goods or services from another; buyer; patron.
2. Informal. a person one has to deal with: a tough customer; a cool customer.

If your intended meaning was 2., I can hardly think of a worse choice of word.

"To your hint: How will Amarok 2 be shaping up if developpers say they don't care about those features?"

How will Plasma "shape up" if developpers say they don't care about those features?


By anon at Fri, 2008/12/12 - 6:00am

Users -- whether you want to call them customers or not -- do not have any value in open source beyond the egoboo having many users may give contributors, or the possibility that they might become contributors. It's no problem if people go and use or implement something else -- it really isn't.

That said, many developers are human enough to like to please people, so they like to please users, too. But if they have a strong vision, they won't compromise on that vision just to please people. The amarok developers have a vision, and they implement on that vision. They have more than once explained that vision, and no doubt they consider that amarok is shaping up very nicely according to that vision. I don't use amarok -- I play my music with ogg123 on the command line -- but I can see from the screenshots that amarok is indeed the application the developers have been telling us they want to develop.

And that should be enough for you, too: they have told you what they want to do, they have done what they said they wanted to do, and they have given you a roadmap telling you what else they want to do. If you don't like that, tant pis, but it's not a failure on the part of the developers, it's a failure on your part to realize that in this new world you now longer have to make do with what you're given, but that you can make things yourself, if other people don't give you what you crave.

You like what you're given? Say thank-you to the people who have given you this gift. You like it but want it improved? Contribute. You don't like it at all? Create something that's more to your liking, and share it. But don't act as if people owe you something or as if your opinions, criticism or ideas have any value in and of themselves: they haven't. Your chances of telling the people doing the work something they haven't considered before are vanishingly small. Only actual contributions have worth. That's the payment you as a "customer" can give the project.


By Boudewijn Rempt at Fri, 2008/12/12 - 6:00am

You did not do a wonderful job of reading the release announcement (or we did not do a wonderful job of writing it, but the wording seems fairly clear to me..)

A searchable playlist, a queue, and many other amarok 1 features are going to return. Equalizer, visualizations, and most other features from amarok 1 are coming back.

The only things that are definatly not coming back are the Player window and multiple database support. Thats not much to lose, considdering that the former can be replaced easily by applets and the latter is not a huge deal no matter how you slice it.


By THIBOLOT at Sun, 2008/12/14 - 6:00am

I think the Amarok team really tried something different with the UI on this release. Personally, just looking at pictures, it looks great for me but I guess alot of people just don't like it.

I haven't used it, so I don't know on usability but I can say congrats on this release. Probably the most missed application in KDE 4 and the last version of amarok was too outdated for me.


By jeremy at Thu, 2008/12/11 - 6:00am

Well it is a bit clunky, but web services are quite well integrated. The plasma area is currently a big annoyance for many. I can see where they are coming from in that it doesn't do anything particularly new in comparison to the old sidebar with wikipedia and stuff, however knowing it is powered by plasma I have high hopes for the future.


By txf at Fri, 2008/12/12 - 6:00am

Thanks for your fine work !

I was wondering if there's a list somewhere of features that were in 1.4 but are not (yet ?) in amarok 2 ?
(No I won't use it to complain about missing features ;))


By Chris C at Fri, 2008/12/12 - 6:00am

This is an "I want" list, not an "Amarok devs are obligated to capitulate to my requests" list.

I want a media player that hides and doesn't get in the way when I'm working.
I want a media player that allows me to quickly find and queue up music.
I want a media player that doesn't choke on 10,000 songs.
I want a media player that helps me discover new music.
I want a media player that helps me organize my library and edit tags.
I want a media player that allows me to sync with portable media players.
I want a media player that allows me to rip and burn from my library. Yes, there are dedicated ripping and burning apps, but I want to be able to burn the playlists I made in my media player, and have ripped tracks immediately added to my library. It makes sense for this to be in my media player.

Amarok adds functionality that I didn't initially want or expect (tons of great contextual information about my music from Wikipedia), but neither version 1 nor 2 fulfill my above criteria. Sadly, the best media player for my above list is WMP right now, and I hate the UI.

As far as the UI revolution of Amarok 2, I see why people feel strongly about it, either positively or negatively. Heck, all I want is the power to customize it, and then I think most people will be happy.

I'd also like to see Amarok develop some "common sense" features. I haven't used 2 very much, but version 1 had issues importing my library that started on Windows with WMP. I had tags on all my MP3s, but Amarok split albums and artists all over the place on case sensitivity issues. I don't know why. I'd have an album tagged in Windows, boot into Linux and Amarok would see it as two albums with case sensitivity issues, when the entire album is tagged the same way in Windows with no case differences. Amarok would change artists and split The Beatles into Beatles and The Beatles, when all my songs were tagged The Beatles to begin with.

The two-disc Phantom of the Opera soundtrack suddenly became 4 albums, with it messing up artist and album title tags.

Amarok does some things I love that no one else does, but it seems to me that no one gets the essentials right yet.http://amarok.kde.org/en/node/48


By T. J. Brumfield at Fri, 2008/12/12 - 6:00am

From commandline:

amarok(10159) Phonon::KdePlatformPlugin::createBackend: using backend: "Xine"
QLayout: Attempting to add QLayout "" to MainWindow "MainWindow", which already has a layout
link XMLID_7_ hasn't been detected!
link XMLID_7_ hasn't been detected!
Couldn't resolve property: radialGradient3986
link XMLID_7_ hasn't been detected!
link XMLID_7_ hasn't been detected!
Couldn't resolve property: radialGradient3986
Object::connect: No such slot VolumeWidget::setVolume(int)
QWidget::insertAction: Attempt to insert null action
QWidget::insertAction: Attempt to insert null action
QWidget::insertAction: Attempt to insert null action
QWidget::insertAction: Attempt to insert null action
QWidget::insertAction: Attempt to insert null action
QWidget::insertAction: Attempt to insert null action
Object::connect: No such slot MainWindow::slotMenuActivated(int)
Object::connect: (receiver name: 'MainWindow')
QWidget::insertAction: Attempt to insert null action
Object::connect: No such slot MainWindow::slotMenuActivated(int)
Object::connect: (receiver name: 'MainWindow')
amarok(10159) Plasma::Applet::save: saving to "1"
amarok(10159) Context::ContextView::setContainment: "" Line: 603
amarok(10159) Plasma::ThemePrivate::config: using theme for app "amarok"
amarok(10159) Plasma::Applet::save: saving to "2"
amarok(10159) Plasma::Applet::save: saving to "3"
amarok(10159) Plasma::Applet::save: saving to "4"
amarok(10159) CurrentTrack::dataUpdated: CurrentTrack::dataUpdated
link XMLID_5_ hasn't been detected!
Couldn't resolve property: radialGradient3709
link XMLID_9_ hasn't been detected!
link XMLID_9_ hasn't been detected!
amarok(10159) Context::ColumnContainment::insertInGrid: "" Line: 602
link XMLID_7_ hasn't been detected!
link XMLID_7_ hasn't been detected!
Couldn't resolve property: radialGradient3986
link XMLID_7_ hasn't been detected!
link XMLID_7_ hasn't been detected!
Couldn't resolve property: radialGradient3986
link XMLID_7_ hasn't been detected!
link XMLID_7_ hasn't been detected!
Couldn't resolve property: radialGradient3986
link XMLID_7_ hasn't been detected!
link XMLID_7_ hasn't been detected!
Couldn't resolve property: radialGradient3986
link XMLID_7_ hasn't been detected!
link XMLID_7_ hasn't been detected!
Couldn't resolve property: radialGradient3986
link XMLID_7_ hasn't been detected!
link XMLID_7_ hasn't been detected!
Couldn't resolve property: radialGradient3986
link XMLID_7_ hasn't been detected!
link XMLID_7_ hasn't been detected!
Couldn't resolve property: radialGradient3986
link XMLID_7_ hasn't been detected!
link XMLID_7_ hasn't been detected!
Couldn't resolve property: radialGradient3986
amarok(10159) MagnatuneConfig::load: load
amarok(10159) CurrentTrack::dataUpdated: CurrentTrack::dataUpdated
amarok(10159) CurrentTrack::dataUpdated: CurrentTrack::dataUpdated
amarok(10159) CurrentTrack::dataUpdated: CurrentTrack::dataUpdated
X Error: BadWindow (invalid Window parameter) 3
Major opcode: 20 (X_GetProperty)
Resource id: 0x420000c
QPixmap: Invalid pixmap parameters
X Error: BadAlloc (insufficient resources for operation) 11
Major opcode: 53 (X_CreatePixmap)
Resource id: 0x13b
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Extension: 153 (RENDER)
Minor opcode: 4 (RenderCreatePicture)
Resource id: 0x4200493
X Error: RenderBadPicture (invalid Picture parameter) 176
Extension: 153 (RENDER)
Minor opcode: 8 (RenderComposite)
Resource id: 0x4200494
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 55 (X_CreateGC)
Resource id: 0x4200493
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 55 (X_CreateGC)
Resource id: 0x4200493
X Error: RenderBadPicture (invalid Picture parameter) 176
Extension: 153 (RENDER)
Minor opcode: 5 (RenderChangePicture)
Resource id: 0x4200494
X Error: BadGC (invalid GC parameter) 13
Major opcode: 60 (X_FreeGC)
Resource id: 0x4200496
X Error: BadGC (invalid GC parameter) 13
Major opcode: 60 (X_FreeGC)
Resource id: 0x4200495
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 73 (X_GetImage)
Resource id: 0x4200493
QPixmap: Invalid pixmap parameters
X Error: RenderBadPicture (invalid Picture parameter) 176
Extension: 153 (RENDER)
Minor opcode: 7 (RenderFreePicture)
Resource id: 0x4200494
X Error: BadPixmap (invalid Pixmap parameter) 4
Major opcode: 54 (X_FreePixmap)
Resource id: 0x4200493
X Error: BadAlloc (insufficient resources for operation) 11
Major opcode: 53 (X_CreatePixmap)
Resource id: 0x13b
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Extension: 153 (RENDER)
Minor opcode: 4 (RenderCreatePicture)
Resource id: 0x420049b
X Error: RenderBadPicture (invalid Picture parameter) 176
Extension: 153 (RENDER)
Minor opcode: 8 (RenderComposite)
Resource id: 0x420049c
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 55 (X_CreateGC)
Resource id: 0x420049b
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 55 (X_CreateGC)
Resource id: 0x420049b
X Error: RenderBadPicture (invalid Picture parameter) 176
Extension: 153 (RENDER)
Minor opcode: 5 (RenderChangePicture)
Resource id: 0x420049c
X Error: BadGC (invalid GC parameter) 13
Major opcode: 60 (X_FreeGC)
Resource id: 0x420049e
X Error: BadGC (invalid GC parameter) 13
Major opcode: 60 (X_FreeGC)
Resource id: 0x420049d
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 73 (X_GetImage)
Resource id: 0x420049b
QPixmap: Invalid pixmap parameters
X Error: RenderBadPicture (invalid Picture parameter) 176
Extension: 153 (RENDER)
Minor opcode: 7 (RenderFreePicture)
Resource id: 0x420049c
X Error: BadPixmap (invalid Pixmap parameter) 4
Major opcode: 54 (X_FreePixmap)
Resource id: 0x420049b
X Error: BadAlloc (insufficient resources for operation) 11
Major opcode: 53 (X_CreatePixmap)
Resource id: 0x13b
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Extension: 153 (RENDER)
Minor opcode: 4 (RenderCreatePicture)
Resource id: 0x42004a2
X Error: RenderBadPicture (invalid Picture parameter) 176
Extension: 153 (RENDER)
Minor opcode: 8 (RenderComposite)
Resource id: 0x42004a3
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 55 (X_CreateGC)
Resource id: 0x42004a2
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 55 (X_CreateGC)
Resource id: 0x42004a2
X Error: RenderBadPicture (invalid Picture parameter) 176
Extension: 153 (RENDER)
Minor opcode: 5 (RenderChangePicture)
Resource id: 0x42004a3
X Error: BadGC (invalid GC parameter) 13
Major opcode: 60 (X_FreeGC)
Resource id: 0x42004a5
X Error: BadGC (invalid GC parameter) 13
Major opcode: 60 (X_FreeGC)
Resource id: 0x42004a4
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 73 (X_GetImage)
Resource id: 0x42004a2
QPixmap: Invalid pixmap parameters
X Error: RenderBadPicture (invalid Picture parameter) 176
Extension: 153 (RENDER)
Minor opcode: 7 (RenderFreePicture)
Resource id: 0x42004a3
X Error: BadPixmap (invalid Pixmap parameter) 4
Major opcode: 54 (X_FreePixmap)
Resource id: 0x42004a2
X Error: BadAlloc (insufficient resources for operation) 11
Major opcode: 53 (X_CreatePixmap)
Resource id: 0x13b
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Extension: 153 (RENDER)
Minor opcode: 4 (RenderCreatePicture)
Resource id: 0x42004a9
X Error: RenderBadPicture (invalid Picture parameter) 176
Extension: 153 (RENDER)
Minor opcode: 8 (RenderComposite)
Resource id: 0x42004aa
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 55 (X_CreateGC)
Resource id: 0x42004a9
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 55 (X_CreateGC)
Resource id: 0x42004a9
X Error: RenderBadPicture (invalid Picture parameter) 176
Extension: 153 (RENDER)
Minor opcode: 5 (RenderChangePicture)
Resource id: 0x42004aa
X Error: BadGC (invalid GC parameter) 13
Major opcode: 60 (X_FreeGC)
Resource id: 0x42004ac
X Error: BadGC (invalid GC parameter) 13
Major opcode: 60 (X_FreeGC)
Resource id: 0x42004ab
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 73 (X_GetImage)
Resource id: 0x42004a9
QPixmap: Invalid pixmap parameters
X Error: RenderBadPicture (invalid Picture parameter) 176
Extension: 153 (RENDER)
Minor opcode: 7 (RenderFreePicture)
Resource id: 0x42004aa
X Error: BadPixmap (invalid Pixmap parameter) 4
Major opcode: 54 (X_FreePixmap)
Resource id: 0x42004a9
X Error: BadAlloc (insufficient resources for operation) 11
Major opcode: 53 (X_CreatePixmap)
Resource id: 0x13b
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Extension: 153 (RENDER)
Minor opcode: 4 (RenderCreatePicture)
Resource id: 0x42004b0
X Error: RenderBadPicture (invalid Picture parameter) 176
Extension: 153 (RENDER)
Minor opcode: 8 (RenderComposite)
Resource id: 0x42004b1
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 55 (X_CreateGC)
Resource id: 0x42004b0
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 55 (X_CreateGC)
Resource id: 0x42004b0
X Error: RenderBadPicture (invalid Picture parameter) 176
Extension: 153 (RENDER)
Minor opcode: 5 (RenderChangePicture)
Resource id: 0x42004b1
X Error: BadGC (invalid GC parameter) 13
Major opcode: 60 (X_FreeGC)
Resource id: 0x42004b3
X Error: BadGC (invalid GC parameter) 13
Major opcode: 60 (X_FreeGC)
Resource id: 0x42004b2
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 73 (X_GetImage)
Resource id: 0x42004b0
X Error: RenderBadPicture (invalid Picture parameter) 176
Extension: 153 (RENDER)
Minor opcode: 7 (RenderFreePicture)
Resource id: 0x42004b1
X Error: BadPixmap (invalid Pixmap parameter) 4
Major opcode: 54 (X_FreePixmap)
Resource id: 0x42004b0
amarok(10159) CurrentTrack::dataUpdated: CurrentTrack::dataUpdated

Double-clicking on a CD from my collection immediately crashes the application:

And it pukes this up:

ASSERT: "s_instance->m_nullPort" in file /home/mdriftmeyer/Temp/KDE/kdebase-runtime/kdebase-runtime-4.1.3/phonon/xine/xineengine.cpp, line 256
KCrash: Application 'amarok' crashing...
sock_file=/home/mdriftmeyer/.kde4/socket-horus/kdeinit4__0
ASSERT failure in QList::operator[]: "index out of range", file /usr/include/qt4/QtCore/qlist.h, line 395
Unable to start Dr. Konqi

Nice to see they got this sewed up.

Nice to see Kdenetworking still has bugs in it, eh? Dr. Konqi?

Clearly it's an issue:

https://bugs.launchpad.net/kdenetwork/+bug/188836

Either Debian needs patches, Amarok was built against a different version of KDE 4.1.3 in Experimental or it's a known issue with Kdenetwork and QList range issues that must wait on a fix from Trolltech?


By Marc J. Driftmeyer at Sat, 2008/12/13 - 6:00am

I think Amarok 2 is very close to the greatest player you can imagine... but it's missing the mark. Let's make some suggestions.

1. The tab bar, in the side, is causing me a LOT of headaches. To use Internet Services, to browse Shoutcast, to enable Ampache or to browse my files, I have to:

a) Turn my head sideways and read the tab titles.
b) Resize my Amarok 2 window, to avoid losing my useful Plasmoids.

2. The placement of the playlist is odd. I must avoid falling in the Plasma hole while dragging my music files from the collection view to the playlist.

My suggestion? SCRAP COMPLETELY THE SIDED TAB BAR, and replace it with:
1. A straight tab bar at the top of the Plasma area.
2. A reimplementation of all the interface you've created (I mean, the buttons, the trees, BUT NOT THE API) in Plasma. It should take you no time, because you have all the framework in place.
3. You can make possible to add custom tabs, integrating them as Plasma activities. In fact, in my view, the entire File browser , Internet provider browser, Playlist browser and the like should be LOCKED PLASMA ACTIVITIES. If you want to create your own activities, you can (like you do now). Delete unnecessary duplication, use the impressive Plasma framework and take it to its next level, that is your work for 2.1.

If you do it the way I'm thinking, you'll have a two sided player, with a Plasma container in the left, and the playlist in the right. If you want to browse your collection, select the appropiate tab and you have it. And if you want to add later your Visualization plasmoid or your Video plasmoid, you'll have the screen real estate you need.

Go, guys. It's not that difficult.


By Ernesto Manríquez at Sun, 2008/12/14 - 6:00am

This is the amarok I've been waiting for. Big thumbs up to the devs!


By Gazza at Tue, 2008/12/16 - 6:00am

They should have named it something else so that the whining users didn't tag along...


By frozen at Wed, 2008/12/17 - 6:00am

Downloaded and installed it yesterday! Played music all night!

Really, really nice!

No complaints at all. It runs like a charm on KDE 4.1.

Thanks!!!


By dkfjh at Wed, 2008/12/17 - 6:00am

Pages