Tag : amarok

post image

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!


[1] http://binaryspring.blogspot.de/
[2] https://git.reviewboard.kde.org/r/126005/