Amarok is slowly catching up

I was previously working on Macaw-Movies (already in the KDE Community) and, after a while, I felt really alone and wasn’t so sure if a movie organizer still made sense in this all-connected time, where you can stream whatever you are interested in.

I finally went to the Amarok guys, cloned the source and began to help to port it to the Frameworks.

The plan

Aroonav (roguedragon) did his GSoC on this topic [1]. And I catch up at the end of August.

What is the plan? In theory it was this:

  1. Remove all KDELibs from the dependencies
  2. Port the CMakeLists.txt
  3. Get to 100% of build
  4. Start the program without segmentation faults
  5. Port the tests
  6. Release and Party
  7. When sober again, port out of KDELibs4Support

In practice, build 100% is quite hard because as you may know, Amarok has a context part (in the middle by default) that relies comprehensively on Plasma (from KDELibs) and QGraphics(Item|Scene|...). This whole thing must be totally rewritten, from scratch, in QML. And that’s a hell of a work!

I decided at a certain point to directly port the main components out of KDELibs4Support. No more KUniqueApplication but a puzzle between KDBus and QApplication.

Where are we now?

Currently we did until 4 (no segmentation faults anymore) but didn’t port the context part. I still have troubles with D-Bus and Amarok cannot exit without being killed.

The unit tests are almost ported [2].

What is the next step?

I’m quite ashamed to say it but I’m always postponing the porting of the context part. I’ve never done any QML in my life, and I think I’ll have a hard time. That’s why I worked on the unit tests, and I’m still tracking some bugs in the current state of the porting.

Before August, I was always writing pure Qt, and never touched to KDELibs nor the Frameworks. I learned a lot of things, thanks to #kde-devel and the kde-devel mailing list. I often felt stupid as dfaure or tsdgeos redirected me to Techbase (because I didn’t know how to setup a good working environment for instance), or when I asked a question which answer was totally obvious… And I think it’s not going to stop before some time.

So see you around,

Cheers and have fun!




  • GreatEmerald

    Nice. I’m already using the git version of Amarok, but I noticed that it has two main issues right now:
    1. Some problems with Baloo. If I try to search anything in KRunner, Amarok crashes. Pretty annoying. Sometimes when restarted, the playlist gets cleared.
    2. The playlist… does not actually display text. It’s all just two-pixel-height lines. The search works, and I can play the tracks, but the only way to tell which track it is is to first manage to put the mouse cursor on those two pixels, and then look at the tooltip. Again quite annoying. I could send you a screenshot if you’d like.

    Using openSUSE Tumbleweed here, with wolfi’s repository, which conveniently packages the git sources:

  • Tomaz Canabrava

    Don’t ever be ashamed for learning. I spend quite some time trying to learn a thing or two and always scared from it. now I jump on things that I wanna learn. ๐Ÿ™‚

    • ochurlaud

      It’s not about what is good or wrong.. KDE made a choice which is that they want to rely on QML. And what is better in our case, is that it’s easier to maintain and to expand. But there is definitely no bad or good. It depends of the choices made on the project or community, and of the needs.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.