prev
Issue 56
29th April 2007
by Danny Allen
next


This Week...
Continued work across kdegames, with the kbattleship-rewrite merged back into trunk/. Start of scalable interface support in Kanagram. Further functionality enhancements implemented in the Konsole refactoring effort. Small refinements in KSysGuard. More work on the KDevelop Subversion plugin. Preparations for RSYNC support in the icecream distributed compilation utility. Progress made in the Amarok-on-Windows porting and generic music store integration for Amarok 2. Initial milestones reached in the Music Notation Flake shape Summer of Code project in KOffice. Support for boolean operations on paths in Karbon. Primary iconset imported for KDE 4, as part of a general cleanup effort in kdeartwork - more iconsets to be added soon.

Dan Meltzer and Nikolaj Hald Nielsen write about their recent work on Amarok 2 components: Dan on Windows porting, and Nikolaj on music store integration and expansion:
For a long time, people have been asking about Amarok on Windows. For technical and legal reasons this was not possible until the release of Qt4 under the GPL on all 3 main platforms. Now thanks to the work of the kdelibs-on-windows team, Amarok builds on Windows! Don't get too excited however, that's just about all it does. It was a bit of an adventure to get Amarok to build with MSVC, as Microsoft has a bad habit of reserving more keywords than any human could ever remember, so there was lots of renaming of internal variables. At this point, Amarok starts and runs, it shows a system tray icon (yay) and the On-Screen Display (OSD) works.

Things that still do not work are the collectionscanner, playback, the playlist, and just about everything else.

The collectionscanner should be fixed shortly, I need to spend some time debugging it and working on a port for some of the UNIX-centric parts living in it. Playback is another story: in theory GStreamer and xine can both build on Windows, but I have not had much luck. The best bet will be for some brave soul to step up and write a DirectSound Phonon backend. Rumour has it that the VideoLan people would like to write a Phonon backend eventually, which would be awesome as VideoLan is already cross-platform. Unfortunately I don't believe that is planned to be done until 4.1 or so.

The playlist doesn't work because it still uses a number of q3support/k3support things, which are not designed to work properly on Windows. I am not that worried about porting the playlist, as Ian Monroe has a Summer of Code project to refactor the playlist anyway, so I'll just wait for the fruits of his work.

Where does the future lead? Currently it's all about fixing crashes, re-enabling stuff I had disabled, and porting code. I've been importing parts of my effort to KDE SVN, but there is still a number of changes I have locally that I do not really want to add to SVN as they are all ugly. My current plans are to try and have an installer/binary version for Windows to go with the first beta release. These plans could change however.

If any coders are interested in helping out, feel free to find me (hydrogen) in the #amarok IRC channel, I'll be glad to supply a patch. At this point testers are not really needed, as I know what is broken anyway!

On a final note, I guess this means that iTunes can finally be deprecated, as Amarok has arrived to replace it :)



I have been asked to write a few lines about my work on Amarok 2 regarding integrating online services and especially what progress has been made since the Road to KDE 4 article about Amarok 2.

As the commit logs from the last week or so will show, I have been working on integrating the Creative Commons-based online music service Jamendo.com into Amarok in a way similar to the integration of the Magnatune store.

Jamendo.com is a site where musicians can upload their albums to be heard, reviewed and commented on by users and other artists. There are currently more than 3,000 albums and 35,000 tracks available on the site, and each one can be fully previewed. The current state of the Jamendo service in Amarok is that it can download and parse the database and display it in all its unsorted glory, as well as play all previews of tracks. Downloading of albums using the BitTorrent protocol is one of the next points on my ToDo list. Besides this, there are many interesting features such as comments, ratings and lyrics on the Jamendo.com site that I might take a look at later.

While working on the Jamendo service, I spent a great deal of time factoring out code shared between the Magnatune store and the Jamendo service into a common framework. While not particularly pretty yet (I am hopeful that this will improve over time), it should allow new services to be added very easily. This has been a lot of work, but hopefully it will pay off many times over in the long run.

Basically all that is needed for a fully integrated service are a custom database hander (or other data fetcher), a parser (if using a static data source like both Magnatune and Jamendo services currently do) and an info parser for fetching information to display about each content item (artist, album or track).

To further mature this framework, I am thinking of trying my hand at a simple service to access personal content stored at mp3tunes.com. This would be a bit different since it uses a dynamic way of fetching data, but the current framework, with a few modifications, should accommodate this.

As mentioned in the last Amarok Weekly News, Lucas Di Cioccio is working on a generic API for online music services to publish their content, and if it all pans out, this should tie in really nicely with the service framework in Amarok and allow all kinds of interesting services to be easily integrated or even dynamically added by the user.


The first screenshot shows the internet service browser with the Jamendo.com service, as well as a pair of scripted services just to add a little color!

The second one is the Jamendo.com service opened, with the Creative Commons CD released by WIRED a few years ago selected. You will notice that the info area has nothing interesting to say yet, but I am getting to that! :-) Also, showing 2000+ artists in a single list is obviously not a good idea, but as the Jamendo.com genres are a bit "messy" I will have to figure out a nice way of sorting the content.

Martin Heni posts a brief update on LSkat progress:
LSkat is now nearly complete. It can use cardsets and cardbacks from SVG and PNG and is resizable.

The game supports the command line "--demo" option to start a game automatically (Intro is displayed for 10 secs then a computer game is started with two AIs. This is repeated forever). The intro can be skipped with --skipintro.

The graphic elements need a touch up by an artist and the AI needs a bit enhancement by me. And of course the normal bug removal...

Otherwise I think the game is complete for KDE 4.0. Maybe someone wants to update the status pages.

Any feedback and comments on the game so far?


Allen Winter announces a revised schedule for KDE 3.5.7:
Howdy,

We are moving the 3.5.7 tagging and release forward 2 weeks.
The new target dates are:
  • Monday, 14 May: Tag KDE 3.5.7
  • Tuesday, 22 May: Expected release date of KDE 3.5.7
The new dates have been posted on TechBase.

Regards,
Allen

Alongside this announcement, Allen also reminds readers of the upcoming KDE 4 milestones:
A friendly reminder*.

Lots of important stuff happening *soon*.
  • 30th April: Last chance for big changes to kdelibs
    Phonon/Solid API review branch merged
    Nepomuk merged
  • 1st May: kdelibs Soft API Freeze
  • 3rd May: KDE 4.0 Alpha tagging
  • 8th May: New Application Freeze and Start Usability and Accessibility Review
p.s. "A friendly reminder" is a trademark of Asiego Enterprises.

With these firm dates stated, there should be no more doubt that KDE 4.0 will be released in 2007.


Statistics
Commits: 2295 by 235 developers, 4929 lines modified, 1632 new files.
Open Bugs: 13470
Open Wishes: 12506
Bugs Opened: 260 in the last 7 days.
Bugs Closed: 152 in the last 7 days.

Commit Summary
Module Commits
/trunk/KDE
763
/branches/stable
262
/branches/work
218
/trunk/extragear
188
/trunk/playground
160
/trunk/l10n
144
/trunk/www
125
/branches/KDE
97
/trunk/koffice
92
/trunk/kdesupport
74
Lines Developer Commits
226
Pino Toscano
105
221
Laurent Montel
103
145
Dirk Mueller
67
117
David Faure
59
105
Volker Krause
48
95
Stephan Kulow
45
84
Jonathan Riddell
42
66
Christian Ehrlicher
41
110
Allen Winter
40
105
Kévin Ottens
40

Internationalisation (i18n) Status
Language Percentage Complete
Portuguese
100.00%
Dutch
96.82%
Estonian
93.70%
French
93.11%
British English
86.40%
Polish
86.44%
Turkish
83.70%
Galician
85.52%
Russian
81.93%
Catalan
78.28%

Bug Killers and Buzz
Bug Killer Number Of Bugs Closed
Joris Guisson
18
Tommi Tervo
16
Thomas McGuire
10
Mark Kretschmann
9
Martin Koller
7
Andreas Pakulat
6
Thomas Braun
6
Luboš Luňák
6
Cuco
5
Sebastian Trueg
4

Program Buzz
Amarok
  5580
K3B
  4080
KMail
  3130
Kate
  2900
KDevelop
  2369
Kopete
  2294
Kaffeine
  1666
Kicker
  1500
Kontact
  1458
SuperKaramba
  1444


Person Buzz
David Faure
  794
Stephan Kulow
  583
Adriaan de Groot
  560
Waldo Bastian
  442
Allen Winter
  438
Stephan Binner
  351
George Staikos
  300
Jonathan Riddell
  288
Aaron J. Seigo
  288
Albert Astals Cid
  234
Commit Countries

Commit Demographics
Sex
90.9 %       Male
8.36 %       (unknown)
1.42 %       Female
Motivation
45.4 %       (unknown)
37.5 %       Volunteer
17.7 %       Commercial
 
Ages
70.0 %       (unknown)
18.2 %       25 to 34
5.84 %       18 to 24
5.55 %       35 to 44
1.04 %       45 to 54


Contents
  Bug Fixes Features Optimise Security Other
Accessibility
Development Tools [*] [*]
Educational [*] [*]
Graphics [*]
KDE-Base [*] [*] [*] [*]
KDE-PIM [*] [*]
Office [*] [*]
Konqueror
Multimedia [*] [*]
Networking Tools [*]
User Interface [*] [*]
Utilities [*]
Games [*] [*]
Other


Bug Fixes
KDE-Base
Martin Koller committed a change to /branches/KDE/3.5/kdebase/libkonq/konq_iconviewwidget.cc:
when mouse leaves window, do actions as would be done when mouse moves over an empty viewport area
Bug 67905: Icon Effect bug when window overlaps icon
Diff Revision 656915

Matthew Woehlke committed a change to /branches/KDE/3.5/kdelibs/kate/part/kateviewinternal.cpp:
Fix KATE shift+DC selection, finally! This brings selection (in branches/3.5) very close to being 100% right at long last (and adds a FIXME to the only bug I know of still remaining), the final patch should be Coming Real Soon Now. :-)

todo: port all of this in one big check-in.
Diff Revision 657332

Multimedia
Sebastian Trueg committed changes in /trunk/extragear/multimedia/k3b/libk3b/jobs:
Actually there is no need to reload the medium anymore. The original problem was due to the mounting for verification and that the new data does not show up before reloading. But now that the medium is not mounted anymore but read directly we do not have to reload.
Bug 73616: k3b should not eject CD/DVD after burning when it is verifying it...
Diffs: 1, 2 Revision 657850

Features
Development Tools
David Nolden committed changes in /trunk/KDE/kdevelop:
Finally port kdevelop-teamwork to trunk. After all the porting it does not work in any way(needs some fine-tuning), but please keep it compiling!

The networking-code adds some new dependencies:
Common-C++( debian-package libcommoncpp2-dev )
Boost's serialization-library( debian-package libboost-serialization-dev )
Boost's threading-library( debian-package libboost-thread-dev )
Boost's iostream-library ( debian-package libbost-iostreams-dev )
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 215 more) Revision 657032