Smells like Summer of Code…

Heyo people,

Long time you don’t hear from me.. =)

So, this is really a funny month for me it seems. As already announced in my previous post i started a C++/KDE course at my university (as professor =) and i’m having fun with it. There are students really really interesting in understanding how KDE development works. I hope to be fitting well the purposes of the course.

Aaaanyway i’m really really happy to join GSoC this year. It’s the first year i attend it and i’m very excited about it!

In addition to this today Sebastian sent me an email stating that fundings for the nepomuk sprint have been accepted and i’ll finally meet some of you in real life at this amazing meeting!! =) Looking forward to meeting the nice persons you are!

As you may have noticed from the title this post is about my GSoC proposal. You can read about it here.
A very big thanks goes to Marco which is taking/has taken care of my proposal and of me as a brother =)

I really hope to be able to use this huge project as my thesis this year, but, who knows… 🙂

Anyway,  now some code-speaking for your code-hunger: just to let things start softly i put my hands over the Plasma::DataEngines programming and, in the last 2 days, i managed to hack on a PlaylistEngine which is capable of storing your playlists and managing them. So simple and so useful for my GSoC intents since i’m gonna implement the Playlist Applet ASAP. The engine is shipped together with a DBus interface and you can already try it using qdbus/qdbusviewer to interact with it and start building your playlistS. The plural form is because it may handle more than only one playlist. Each source of the engine is a playlist and you can populate them at your will. The relevant DBus method are:

  • void addToPlaylist(const QString &playlistName, QStringList files);
  • void addToPlaylist(const QString &playlistName, const QString &file);
  • QStringList availablePlaylists();
  • QStringList filesInPlaylist(const QString &playlistName);

addToPlaylist simply adds a list of files to the playlist named playlistName. Of course, if the playlist does not exist it will be created. The second method is, of course, a convenience function. The third method simply returns the list of populated playlists. And finally the last one returns the files under the playlist playlistName. As you may notice no removal methods are still present. But i’ll add them asap.

This is how the engine gets displayed by our friendly plasmaengineexplorer. Even if the Key field is always “media file”, i think i’ll use it to specify whether the file is audio/video/picture and whatever has media content. In fact the playlist is intended to be used as Media Center component, so any media component would be accepted 😛


What i find really nice of it is that it already can automatically update the playlist when the files listed in get deleted from the harddisk. 🙂 Of course the playlists already get saved on your hd using KConfig, so playlistenginerc is what you want to manually edit your playlists.

The code currently stays under playground/base/plasma/dataengines/playlist so, if you have time give it a try! 🙂

That’s it for today.. I’ll keep you up-to-date about the development.

Lemme know your opinions, suggestions.. 🙂

Cheers devs!!

2 Responses to “Smells like Summer of Code…”

  1. 1 Juan Manuel Márquez (aka Poldark) April 22, 2009 at 3:35 pm

    Thank you very much for your work!

    I’m very excited about the development of a media center for KDE, I have been hoping it since Aaron Seigo talked about it 2 years ago!

    I’m not a programmer, but if I can help with translations, bug hunting or documentation, please let me know!

    Best regards from Spain and Grazie mile!

    Juan Manuel

  2. 2 Fabian April 22, 2009 at 5:05 pm

    Have you thought about using the Amarok database as source for the dataEngine? You would get lots of meta data with it for free (covers, artists, length, …) and the user would have a very nice frontend (Amraok) to manage the playlists.
    Thats at last what I’ll do for the touch screen player app I wrote. (my

    I’m also very happy to see media center components coming to KDE. If I can help you with the programming, please let me know!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s



%d bloggers like this: