Monday, 5 August 2013

GSoC - Week 7

This week, I've been working on exposing Amarok's playlist management and dynamic playlists.
The playlist interface pretty much mirrors the internal Amarok hierarchy, exposing three components- the playlist manager, playlist-providers and the playlist objects themselves.
No synced playlists for now though.

The dynamic playlist is, however, a whole different beast. What I want for the dynamic playlists is to have a scriptable bias, besides exposing the existing biases. As far as the existing biases are concerned, I was able to expose them via a single class using some Qt meta-magic:

  const QString command = QString(
                                "function %1( a, b, c, d  )"
                                "    return new Bias( %2, a, b, c, d );"
                                .arg( biasEnum.valueToKey( type ) )
                                .arg( type );
  engine->evaluate( command );

The dynamic playlists bits are still underway, but feel free to try the other stuff on my personal branch on

Yeah, no pretty pictures this week- very little of my current work directly affects the UI, though I could probably throw in some class diagrams or lolcats the next time round depending on popular demand [read weekly view-stats].

On a related note, I'm embarrassed to admit I didn't know about the QtScript debugger. It's pretty modular too, so the script console is about to go an overhaul ( which would probably render quite a bit of the existing code redundant ).


  1. Well-mannered post. I like your write work manner and language. I am a beginner in writing. I believe this will help me to write better. I exposed these blog articles are superior to other blogs. Thank you such an immense quantity for distribution this resources.

  2. Helpful for reference! Thanks a lot!

  3. Qt Script debugger is a tool for debugging script execution in Qt applications that use Qt Script. click