prev
Issue 76
16th September 2007
by Danny Allen
next


This Week...
Continued work in Plasma, including a KMLDonkey data engine, a RSS data engine and news feed applet, and a Virtual Desktop switcher applet. More interface work for Amarok 2.0, with progress on alternate music service integration. Support for webseeding in KTorrent. Support for network access of colour palettes in KolourPaint. An Akonadi resource for the del.icio.us bookmarking service. CMake support for PyKDE4 applications. Wider logging support in KSystemLog. SVG caching optimises usage, resulting in speed gains in many applications. KTeaTime rewritten for KDE 4, KPlayer ported to KDE 4. New game based on "Deal or No Deal" arrives in playground/games. More code reorganisation in KDE SVN. KAider translation utility moves to kdereview.

Marijn Kruisselbrink introduces his successful Summer of Code project, Music Notation Support for KOffice:
As part of this year's Google Summer of Code, I've been working on adding music notation support to KOffice2. The reason I came up with this idea is that in the past i've sometimes wanted to insert short pieces of music into (for example) a text document, but I couldn't come up with any better way to achieve this than to export the music from some existing music notation program to either a vector or raster based format, and inserting this into my document (I know know that there exists an OpenOffice.org plugin to add limited LilyPond integration, but I think that approach is still far from perfect, and not really easy to use).

This of course has the obvious disadvantage that everytime you want to make some change to the music fragment, you need to open it again in the external application, export it and insert it again, leading to quite an awkward workflow. I even remember some family member printing and scanning a piece of music to insert it into his text document!

Of course, when I started with this project I looked at existing Open Source music notation software to figure out if it might be possible to save myself a lot of work by not starting from scratch. Probably the best program currently available is Rosegarden, but one obvious disadvantage of using it is that it is still KDE3/QT3 based. Also, internally, Rosegarden seems to be centered around the various things needed for perfect playback of music, with notation support somewhat bolted on to it, while I wanted to focus more on the notation/printing side of music and keep playback as a nice, but not really required (and certainly not needed to be perfect) optional addition.

Another existing program I looked at integrating with is Canorus (the QT4 successor of NoteEdit), and in fact after one afternoon of hacking I already succeeded drawing music loaded from a Canorus file, but this approach also had several big disadvantages. For instance, Canorus is still a long way from being released (i'm not sure if a final/stable release has been planned even), but also Canorus isn't aiming at providing accurate renderings of music. For example, Canorus won't have printing support but will be relying on LilyPond for the final output.

Of course starting from scratch meant that I needed to write quite a lot of code to get anything to work at all (in its current state, the music notation in KOffice is 12,000 lines of code, with NoteEdit consisting of 54,000, and Rosegarden even having 260,000 lines of code), but it meant I could do things exactly as I wanted, and learn a lot doing it, implementing all the various (quite complicated) algorithms needed to create nice looking music. The very flexible design of KOffice's Flake framework also meant that I had to write very little code to get to some simple things to work, and also that it is possible without any extra code to embed music in any of the KOffice applications that use Flake (as can be seen in the screenshots).


In the current state of the codebase, it is only possible to input music with your mouse, by clicking at the position you want to insert a note, and also only very simple music is supported. There is no support yet for ties, slurs, tuples, dynamics and tempo markings, but you can write (or load from a MusicXML file) multi-voice, multi-part, multi-staff music. And also, since this week support for beams has been added (although many cases probably exist where the rebeaming algorithm will not make correct decisions on which notes to beam together yet).

One thing I would really like to see implemented before the KOffice 2.0 release is storing the music in some sort of pre-rendered format in ODF files, so that other programs can at least display/print something when they load a file. Also ties/slurs, tuples and some basic dynamics/tempo markings would be really nice, but I'm afraid there are too many nice things to implement them all in such a short time-span, so any help you could offer would be greatly appreciated!

Tom Albers writes about the impending closure of the kdenonbeta module:
kdenonbeta is closing. This means that all applications currently in /trunk/kdenonbeta will move to /tags/unmaintained/3 on Oct 28th.

If you are a maintainer of an affected application and you do not want this to happen, please contact me, we can arrange something else. This offer is also valid after the move has completed - in case you read this mail after the date.

If you want to continue to work on the application, the application will most likely move to one of the /trunk/playground area's. If you don't want me to do the move, you can always do it yourself.

If you have any questions, feel free to contact me.


Statistics
Commits: 2877 by 233 developers, 6950 lines modified, 1812 new files.
Open Bugs: 14333
Open Wishes: 13024
Bugs Opened: 153 in the last 7 days.
Bugs Closed: 111 in the last 7 days.

Commit Summary
Module Commits
/trunk/KDE
893
/trunk/l10n-kde4
596
/trunk/extragear
293
/branches/stable
190
/branches/work
180
/trunk/playground
160
/branches/extragear
98
/trunk/www
94
/trunk/l10n-kde3
94
/trunk/koffice
89
Lines Developer Commits
147
Frederik Gladhorn
103
358
Volker Krause
101
256
Gilles Caulier
97
186
Robert Zwerus
90
856
Laurent Montel
74
163
Allen Winter
69
141
Pino Toscano
66
76
Till Adam
61
29
Mathias Soeken
44
36
David Jarvie
42

Internationalisation (i18n) Status
Language Percentage Complete
Swedish
98.08%
Portuguese
96.85%
Greek
95.81%
Japanese
93.85%
Chinese Traditional
87.54%
Spanish
85.62%
Dutch
83.03%
German
80.90%
Italian
72.05%
Brazilian Portuguese
71.60%

Bug Killers and Buzz
Bug Killer Number Of Bugs Closed
Matt Rogers
13
Pino Toscano
11
Seb Ruiz
10
Gilles Caulier
9
Stefan Monov
8
Robert Knight
5
Tommi Tervo
5
Rolf Eike Beer
5
Maks Orlovich
5
Mark Kretschmann
4

Program Buzz
Amarok
  6305
K3B
  5640
KMail
  5120
Kopete
  4330
Kontact
  3948
Kate
  3880
KDevelop
  3205
digiKam
  2798
Kicker
  2436
SuperKaramba
  2154


Person Buzz
David Faure
  856
Sebastian Kügler
  854
Stephan Kulow
  771
Matthias Kretz
  654
Adriaan de Groot
  630
Allen Winter
  629
Waldo Bastian
  440
Aaron J. Seigo
  364
Boudewijn Rempt
  340
George Staikos
  322
Commit Countries

Commit Demographics
Sex
96 %       Male
2.06 %       Female
1.97 %       (unknown)
Motivation
37.9 %       Volunteer
51.4 %       (unknown)
10.7 %       Commercial
 
Ages
63.8 %       (unknown)
22.2 %       25 to 34
8.02 %       18 to 24
3.37 %       45 to 54
2.72 %       35 to 44
0.394 %       Under 18


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
Graphics
Aurelien Gateau committed changes in /branches/extragear/kde3/graphics/gwenview:
Make Gwenview translations the active ones in KParts.
Bug 130511: czech translation incorrect for image browsing
Diffs: 1, 2, 3 Revision 712819

Pino Toscano committed changes in /branches/KDE/3.5/kdegraphics/kpdf:
Properly pass the standard accelerators to the presentation mode, and make the presentation mode able to handle those.
Bug 138451: No keyboard hotkey for next page in presentation mode
Diffs: 1, 2, 3 Revision 712996

KDE-Base
Peter Penz committed a change to /trunk/KDE/kdelibs/kfile/kurlnavigator.cpp:
Don't set the uncommitted URL when switching to the breadcrumb view.
Bug 149556: bug on editable location bar when pressing "escape" but...
Diff Revision 710230

Allan Sandfeld Jensen committed changes in /trunk/KDE/kdelibs/khtml:
Fix an issue in the non-deterministic matching that had a O(h^2) worst time behaviour, where h is the height of the tree.

This fixes a runtime issues with invalid XHTML, like that used in Trolltech Qt documentation.
Bug 148715: On some pages konqui is extremely slow
Diffs: 1, 2, 3 Revision 710723

Maksim Orlovich committed changes in /trunk/KDE/kdelibs:
Remove invalid optimization: it's not safe to direct-write to propery map and array slots, since after evaluation of the LHS reference the RHS may expand those, causing rehash/copy/etc.

Credit to Maciej from Apple for pointing out this problem.
Diffs: 1, 2, 3, 4, 5, 6, 7, 8 Revision 710854