Welcome to this second issue of the LilyPond Report!
On last week’s issue, I tried to keep mentioning every section, even the ones that weren’t dealt with; on second thought, I think it is just silly. From now on, no more empty sections; you may notice, however, that the LilyPond Report will deal with different sections from one issue to another.
This week, we are going to raise some questions about Free projects hosting, to focus on LilyPond’s ability to mix past and future, to talk colors in LilyPond, and to test the LilyPond-dedicated macro for OpenOffice.org. As always, you can post your comments at the bottom of the page, or even register and contribute to the LilyPond Report’s next issues.
This Week’s Desultory Editorial
This week like every week, our mailing lists have been quite inspiring for the Report. For example, a mail from Hans Brandner, and another mail from Lia Zito, made me think about the OpenOffice.org LilyPond macro; as I was on my way to test it, I realized that this project, just like quite a few other LilyPond “companion” projects, was hosted on SourceForge.net. This made me want to talk a bit about SourceForge, and I ended up writing another (too) long article in addition to the OOoLilyPond review, etc.
I honestly don’t know for how long I’ll be able to keep up with this weekly Report, but I certainly don’t fear to ever lack of things to talk about. Sure, I’m too much of a talkative person, and I suspect this column might get too long and boring — however, I’d gladly welcome any contributions from other LilyPonders, to make it more interesting and entertaining!
Enough talk. Let’s begin this week’s issue with some...
News from the Free World
As citizens of the Free World, we are familiar with polemics and internal dissensions. However, since open source has gone mainstream, things might be getting different. As soon as some guys realized there were actually a lot of dough at stake, polemics have taken a whole new dimension: the corporate one. Two examples.
Let’s begin with SourceForge Inc., owner of sourceforge.net, FreshMeat, Thinkgeek, linux.com, SlashDot, NewsForge and the former OSDN, among others. Its earnings have kept significantly increasing over the last three years, and we can all be happy for them [1] Some voices raised against it: in 2001, with a famous article entitled SourceForge drifting, the Free Software Foundation criticized both its use of non-free software and its opaque management of free source code. More recently, I’ve been told about some developers [2] closing their projects because of moral conflicts. Quite frankly, I find sf.net Terms quite difficult to agree with; the section 4 basically requires you to hand over your copyright to SourceForge ad vitam aeternam [3],
while the section 6 endangers your privacy
[4]
and prevents you from contributing any code if you happen to (unluckily) live in any country that the US don’t like
[5].
The second example I’d like to mention here is the Luxembourg-based Jamendo Corporation, a major platform for “free”-licensed-musics diffusion and promotion. Not only does it make the artists look professional and attractive, but it also provides them with convenient services: concert announcements, social networking, and even an integrated donation service. Quite enjoyable, and quite successful. Jamendo has raised a huge wave of enthusiasm, particularly in France. Two years ago, a French blogger referred to it as “the Free Culture’s future SourceForge”.
This guy was right, but not necessarily in a good way: I do feel uncomfortable with Jamendo in the same way that I feel uncomfortable with SourceForge [6].
Jamendo is sometimes criticized for being “too commercial” (what does this mean?), for promoting CC licenses over “really free” ones (but you cannot blame the entrepreneurs for the artists’ choices), for advertising non-free music with their AdSense ads (that is unfortunately true). The worse downsides, though, do not get criticized loud enough: Jamendo progressively and silently dropping Ogg Vorbis support, for instance, or some questionable partnerships. And most of all, Jamendo’s terms are unbelievable! The 6th article, particularly, is even worse than SourceForge’s terms [7].
A matter of taste? Perhaps. The main question remains: can such a concentration be good, in any way, for the Free World, which rely on diversity and freedom of forks? Without being alarmist — from all people, we should be aware that concentration means potential risk for freedom.
Through our commitment to Free Software, do we risk to stop fighting against all hegemonies and start fighting for a new kind of hegemony? I’d be happy to discuss these issues with some members of the LilyPond community; seventeen LilyPond-related projects are currently hosted on sourceforge.net, including Bertalan Fodor’s excellent LilyPondTool, as well as his new baby Julie, whom we already talked about (perhaps he will tell us why, in a possible future interview); also including OpenOffice LilyPond [8]...
What’s up with LilyPond?
In an attempt to pursue our investigation regarding LilyPond’s charm, I’d like to focus on a somehow far-fetched theory that occured to me this week: The bread paradigm...

- Karl Hader. Aus der Werkstatt eines Notenstechers.
- Click here to read Han-Wen’s description on the mailing list
A few days ago, Rosendo Reyna asked on the mailing list about a photo that currently illustrates the website’s Music Engraving Essay.
This reminded me of the first time I discovered LilyPond, many years ago. I remember having been struck by this very picture, as well by the technical and typographical explanations.
But what, precisely, made all of this so irresistibly attractive?
LilyPond’s motto is expressed on several locations on the website:
LilyPond just does that: it prints music in the best traditions of classical engraving with minimum fuss.
There are other program that do notation. What’s so special about yours?
Modern computer printouts do not look nice: they have a bland, mechanical look. By contrast, we try to mimic traditional plate engraving in the general impression, layout algorithms, and the font design.
As you may have noticed, there is kind of a paradox at stake: we want to go back to traditional Arts and Crafts... by using a bleeding-edge automated system! Hence a very interesting dialectic at work:
| Hand-engraving | Notation softwares | LilyPond |
|---|---|---|
| Traditional Art | Boring look | Improvement |
| Human-made | Mechanical process | Flexible Architecture |
| Masterpiece | Errors, Mistakes | Respect of typography |
I could go on [9]... But the point is: there are actually two kinds of modernity: the good one and the bad one [10]. Where heartless, standard modernity produces inhuman scores, LilyPond stands for the real progress, that allows modernity to meet tradition.
The same idea is at work in a different area, that provides a good paradigm to illustrate my point: let’s talk about... automatic bread machines.
Let me quote some advertisements for Bread machines:
Rediscover the smell of fresh-baked bread, coming from your kitchen every morning!
Thanks to the Traditional Breadmaker, you will have a delicious bread in minutes!
Bake yourself your own, perfect bread, just like in the old days!
Hmm... Doesn’t it look familiar?
Just like home bread machines, LilyPond awakens in everyone of us the magic belief that past and future can meet again, in a perfect world where mankind could be united forever...
What about you LilyPonders? What do you find most attractive in it? What do you remember of your first glance at LilyPond? Comments are welcome; our investigation isn’t closed yet!
The LilyPond Feature of the Week
This week, I’d like to mention what Graham Percival once qualified as the “Fastest”new“feature ever!”: Red/Green/Blue colors in LilyPond.
While working on the Editorial Notation section of the Grand Documentation Project, Jay Hamilton asked me to add a snippet about RGB colors in LilyPond. This feature has an unusual story:
as far as I can tell, support for colors was introduced in version 2.5. At this time, one had to choose among a list of predefined colors such as MediumAquamarine or LightSkyBlue3... not very handy (although surprisingly poetic incidentally).
Graham posted a feature request on the tracker; he was interested in it for SVG purposes, and it turned out that Reinhold was too, for his MusicXML filter development.
Looking at the source code, Wilbert Berendsen noticed that predefined colors were actually already using RGB definitions.
Erlend Aasland then implemented a rgb-color function to allow the users to use their own colors by specifying the amount of Red, Green and Blue.
Interestingly, he said:
I remember that when I implemented this (in 2005) Han-Wen insisted that the color format should be hidden from the user.
... and I noticed Han-Wen didn’t take part (at least, not publicly) in the discussion. It’s an interesting question: I think users are generally more interested in having a convenient front-end (set of commands, color names etc), but with LilyPond’s specific design and ability to tweak everything the way you want it, I’m not so sure... Anyway, even if we choose not to document a specific internal property, what’s great in Free Software is that it is actually never hidden: just like Wilbert did, one can easily browse the source code and unveil many interesting things!
I enjoyed using this new feature to make an example using the colors of my website’s stylesheet... and ended up finding out that in some cases, web-design just looks better on websites than on music scores:
The Snippet of the Week
Speaking of colors, I’d like to mention this other snippet, that is meant to display all available predefined x11-colors.
This is one of these snippets we don’t really know how to deal with yet. It was originally written by Reinhold Kainhofer, who at first
didn’t submit it to the LSR, because it takes a while to format and creates 21 pages of output (mainly due to the 100 different shades of gray, duplicated with the “grey” spelling).
Plus, this snippet is not made for LilyPond 2.10, the “stable version” that the LSR is currently running. Should we welcome it anyway? I do think so, as it’s another proof of LilyPond’s amazing power and flexibility. However, some of us have mixed feelings about that — what’s your opinion? Comments welcome.
LilyPond’s Companion Projects
Testing OOoLilyPond
This week, I tried to test the OOoLilyPond macro for the OpenOffice.org office suite. According to its official page,
OOoLilyPond is a macro for OpenOffice.org that simplifies the integration of music notation in OpenOffice.org Writer, Impress and Draw. It can be used to write a book on music theory or to write down exercises for music instruments or voices which need to be commented with lots of text.
I had already heard about OOoLilyPond, but without actually taking the time to test it. So I took it as a convenient opportunity to test it; the same tests were made on both Microsoft Windows XP and my whole new Frugalware 0.8 [11].
Installation
OpenOffice lacks a package manager to download things automatically (though some macros such as DicOOo are able to handle downloading and self-updating) [12] So I had to download the macro on SourceForge, untar it and follow the instructions provided on the web page.
The installation went pretty straightforward. The instructions were clear, easy to follow and quickly performed [13]. In less than 4 minutes (including downloading time), the macro was set up.
Some Issues
However, it didn’t went well at first. First of all (the project’s page did warn me about it), the templates directory were not automatically detected; I had to open the “config” dialog box and change it myself — there wasn’t any “browse” button, so I had to enter the full path myself.
Second issue: the macro kept invoking LilyPond with an obsolete -b argument, that prevented it from running normally. I tried to edit the macro sources to remove this argument, but it clearly seemed to me that all I had to do was to remove LilyPond 2.11 and install version 2.10 instead — and I did.
I immediately tried to paste a short score of mine (ok, that was rude); it crashed because I was using "italiano.ly", which doesn’t seem to be supported.
Kudos to OOoLilyPond!
Finally, it worked, and worked very well. It actually does what it’s mean to do: inserting small score fragments into a text document.
I had actually quite a few prejudices against OOoLilyPond; let me (happily) tell you that all proved to be wrong. The first one was about the output format. I was afraid it would only use LilyPond’s default 100dpi PNG backend, providing only low-quality images... Well it doesn’t. Not only does it give you the ability to choose your resolution, but you can also use the EPS output as well [14]! Options can even be set separately for text documents (OOoWriter) or drawings (OOoDraw).
I did not encounter any problem with saving, opening or exporting my test documents as PDF files.
I can definitely see the advantages of such a tool for students, teachers or music scientists; when combined (as the web page advice you to) with a keyboard shorcut, it’s really a comfortable and reliable tool, well thought and well designed.
Thoughts
Having been pleasantly surprised with OOoLilyPond, I wished it could do even more. Some ideas:
As OpenOffice is getting ready to implement SVG support, it could be awesome if OOoLilyPond could use LilyPond’s SVG backend (or convert the EPS into SVG) to produce vectorized editable scores in OOo documents! That would be extremely valuable.
The current OOoLilyPond main dialog box is a bit sparse. I particularly wish there could be some kind of indentation or syntax-highlighting in the LilyPond code frame, such as the JavaScript implementation I tried to achieve once.
I wish the initial configuration could be automated in some way: for instance, it would be great if the macro could detect by itself if LilyPond requires the -b argument (version 2.10 and below) or not (2.11 and above). Similarly, I wish this “templates” directory path could be configured automatically (or at least manually configured using a file-manager instead of typing the full path). But maybe that is just not possible yet...
Anyway, many thanks to Samuel Hartmann and his team for this nice project; I hope they’ll keep up with the good work!
The Quote of the Week
Learn how to curse like Graham Percival
(Lesson 2)
In the previous lesson, we saw the importance of the term bloody in Graham’s vocabulary.
This week, you will learn how to definitely sound “Graham-istic”, by replacing every nasty word that could come to your mind (you never know) with the word... Mao.
A few examples:
Mao, I can’t believe I forgot that!
why the Mao does each language have their own macros.tely?!
The two terms can be associated as well:
oh bloody mao.
A funny thing, by the way: as you may not know, the three letters MAO are commonly used in French for “Musique Assistée par Ordinateur”, that is “Computer-Aided Music”... precisely what LilyPond is about!
So, predestination? Telepathy? Your guess is as good as mine. In the meantime, if we all work hard enough, perhaps someday we’ll consider setting up an official Talk Like a Graham Day!
And this concludes the second issue of The LilyPond Report.
Cheers,
Valentin Villenave