Tuesday, 24 September 2013

GSoC: Final Report

After three months of coding, this year's Google Summer of Code has finally ended. And it's been quite the experience :)

Last week's unfortunately been more exams than code, but there's also bug fixes (like those script console crashes), improvements (mostly to the collectionview api) and some new features. For instance, Amarok Script is now tagging aware.

The bundled lyrics script can now read embedded lyrics and optionally embed downloaded ones too (though it's more of a workaround until the rest of Amarok is lyrics tag aware).

Wrapping up, here's what was (or was not) accomplished from my proposal.

Accomplished
1. Added new scripting APIs for various parts of Amarok.
2. The following wishes were granted:
  • Bug 187957 - Create submenus from the Scripting interface
  • Bug 176663 - Installing a new script requires a restart of amarok
  • Bug 23271   - Provide scripting interface to customize collection display
  • Bug 279701 - Scripting support for the equalizer
  • Bug 243096 - Load a saved playlist in database from script
  • Bug 313283 - Amarok Scripting API lacks documentation
  • Bug 245647 - Programmatic access to data objects in QtScript
And partly:
  • Bug 150610 - Add Dynamic Playlist API for scripts
  • Bug 183497 - Scripting API to add a context menu to everything representing a song or file
3. The existing interface was cleaned up and some bugs fixed.
4. Added a new script console. 5. Added a script for automated documentation generation, though there's still the issue of getting it to run every time something changes in the scripting/ folder, and actually hosting the generated documentation somewhere. Also, doesn't (yet) document static functions and enums.
Incomplete
From my original proposal, the following still need work:
1. Podcasts

Dropped
1. Dynamic playlists and automatic playlist generator- There didn't seem to be much of a use case for exposing them. ( You do, however, have scriptable biases. )
2. Transcoding- Deemed not worth the effort.

Looking Ahead
There's still the planned scriptable context view, and the scriptable service needs work too. And then there's some more polishing before my branch is ready for a merge.

It's been really nice working with the Amarok community, and hopefully there's more Amarok hacking ahead!

4 comments:

  1. Thank you for your extensive work, I think it will make scripting feature really more useful and thus widespread. Also judging from the bugreports it was really asked for it.

    Also regarding the bugreports:
    I checked some of them and noticed there weren't any comments from you at all. I think it would have been (/ would be) good to comment there that you are working on this (with a link to your git & blog), *before* closing them. This would have been nice for the bugreporter, but also for you since you were asking for feedback on your work.

    HTH for your future at KDE. :-)

    ReplyDelete
    Replies
    1. You're right, I should've commented on them, I could really use some feedback!
      I'll do it right now, thanks! :)

      The bug reports I did comment on didn't really elicit any responses from the original reporters, hope it turns out better for the others.

      Delete
  2. PS:
    Commenting as Anonymous or Name/URL doesn't work, please fix this. :-)

    ReplyDelete
    Replies
    1. Weird, there are anonymous posts elsewhere on my blog. But I do like it better when readers post with their real identity :)
      Btw, Blogger doesn't offer much control. I can only enable/ disabling anonymous posting.

      Delete