LilyPond news

The LilyPond Report #0

Sunday 9 March 2008 by Valentin Villenave

This short, informal, weekly opinion column is about the LilyPond project; its team, its world, its community. It is not meant to be an exhaustive documentation resource. Reader comments are, of course, welcome.

Welcome to this beta issue of the LilyPond Report!

This issue is marked as "beta", numbered as #0, so you can just consider it as a proof of concept — which is why some of the sections below are not "implemented" yet. Likewise, not every section will be dealt with every week; I’ve just mentioned all of them here so you can know what to expect to (besides, upcoming issues will not be meant to be as long as today’s).

This week, we are going to have a look at some great websites that have inspired this Report, discuss the benefits of Free Software in education, see the advantages of multiplied durations in LilyPond, and briefly mention two "companion" projects: OrchestralLily and Julie. 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

Greetings to all LilyPonders! In this week’s editorial, we’ll talk about other (great) websites that have inspired the LilyPond Report.

PNG - 22.7 kb
Ladislav Bodnar, founder of Distrowatch.com

I hope you will enjoy this short column "à la Distrowatch". I have to say I admire very much Ladislav Bodnar’s work to keep the world informed about Linux and BSD distributions; for several years I don’t think I have missed any single issue of his weekly column, even if I can’t say that I’ve read all of the hundreds of reader comments that usually follow each one of these.

Another website that made me want to launch this weekly LilyPond report is KernelTrap, that focuses on the Linux Kernel development. I don’t know if you’ve ever tried to read the Kernel MailingList Archive, but if you’re not a developer you’ll feel like landing on another planet! Well, KernelTrap is a much appreciated guide to this planet. Without it, we’d probably loose track of what’s going on in the Linux World — not to mention Linus’ hilarious quotes.

Though I’m not a developer — at all — I use to read everything that is sent on all of the LilyPond mailinglists, and although I frequently miss things, I’ll try to report here, each week, some parts of what is going on; major implementations, endless discussions with strong arguments, funny quotes, newbies’ arrivals, etc.

So, here you are. One last thing: comments are welcome below this page; particularly if you notice some weird sentence (as you may have noticed, English is not my native language [1]).

 News from the Free World

RMS at the university, receiving his honorary degreePerhaps you haven’t heard about the (very limited but intense nevertheless) polemic in France, about Richard Stallman’s vision of Free Software in education. Can anyone ever force people to use Free Software? The question is far from being solved. I am personally what you would call (well, at least some of my friends do) a "free-software ayatollah"; however, I’d like to quote a comment made by a teacher on a French Free-related blog:

An university IT administrator once told me "Free Software: that should be made obligatory." And he didn’t seem to be shocked by putting these two words in a same sentence: "Free" and "obligatory". I have to say that somehow, it just chilled my spine.

How legitimate is Free Software? As I said, I don’t have the answer (even if I do have mine). In the LilyPond world, many of us feel concerned about education-related topics. As Francisco Vila once proved, LilyPond is an excellent tool for music schools; however, for some reason, it is still very little known and used, particularly among music teachers.

This week, I was asked to lead a LilyPond training course for teachers and music professionals in Avignon, France; however the course was canceled at the last minute, because of the lack of potential attendees… Why is that so? Why is LilyPond not more widely adopted? Maybe it is because, despite their commercial nature, its competitors are free, just as Windows is free. If any of the teachers I know actually had to pay for his copy of Finale or Sibelius, I suspect he would care a little more about finding and learning how to use really free alternatives — particularly if these alternatives happened to be more powerful and produce better output than what he’s used to…

 What’s up with LilyPond?

It’s wonderful to see people still take up a passion for LilyPond and interest in its future.(Quoting Han-Wen, the project’s leader, in a recent private mail)

This is one issue I’d like to develop here in the next few weeks: LilyPond’s amazing ability to raise enthusiasm among its new (and old) users. Each week, we use to receive dozens of mails that all begin with "I’ve just discovered LilyPond, and I can’t say how much I love it", etc. Together, I hope we’ll be able to solve this mystery, to explain this strange phenomenon, to answer this question: what makes LilyPond so attractive [2]? To be continued…

 The LilyPond Feature of the Week

Wooh, that’s a really tricky part. My intention with this section is primarly to present some little-known features that make LilyPond even more enjoyable to use…

Today, I would just like to share with you one really simple and cool feature I’ve discovered yesterday. As you probably already know, LilyPond handles very well modern time-signatures such as 5/4 or 7/4 (even much more complex ones, but that’s not my point today). In such cases, you can obtain a full-measure rest using

\time 5/4
 R1*5/4

or even a multi-measure rest by using

 R1*5/4*4

The feature I discovered is that it actually works with notes too! In a 5/4 score, how do you write full-measure notes? You can go with

c'1~ c'4

or (probably better)

c'2.~ c'2

, but that is still kind of annoying, particularly in a polyphonic situation such as:

PNG - 3.5 kb
Polyphonic situation-1
<< {g'8 e g e g e g e g e } \\ {<c b'>2.~<c b'>2}>>

Whereas, thanks to this nice feature, you can simply print your 5/4 notes as whole notes (this is the solution I used yesterday). The player will perfectly understand that these notes are meant to be hold for the whole measure, particularly if you add a nice \laissezVibrer tie:

PNG - 2.6 kb
Polyphonic situation-2
<< {g'8 e g e g e g e g e } \\ <c b'>1*5/4\laissezVibrer>>

You’ll probably think: "nothing amazing, one can get the same result by putting <c b'>1 s4 as well". Well yes; but what if you need to print two tied whole notes?

PNG - 3.7 kb
Polyphonic situation-3
<< \repeat unfold 10 {g'8 e} \\ {c1*5/4~c}>>

Thanks to this feature, here you are [3].

OK, many of you probably already knew about this possibility. If so, please forgive me for being naive, but this kind of nice little features is precisely what makes me love LilyPond.

 The bug of the Week

Each week or so, I intend to give a glance at the bug-solving process in LilyPond. As few people are familiar with it, I’d like to introduce our users to our bug tracker, which is primarily intended for developers, but is sometimes a good place to search when you think you’ve found a bug…

Now for the Bug of the Week: I’d like to thanks Joe Neeman for having recently fixed issues #336 and #467, which were painful [4]. Here goes the workaround I added to the LSR; I’ll probably delete if I’m certain it won’t be useful again (I damn hope it won’t).

 The (non-)Snippet of the Week

Well, I should probably not open the "Snippet of the Week" section by talking about something that is not in the LSR; consider it as an exception. Reinhold Kainhofer has recently released his great project called OrchestralLily, that is a superset to LilyPond aiming to make orchestral music easier to write and to print.

Being asked if he would like to implement his project in the LSR, he declined the offer [5], explaining why:

Well, I don’t like the idea of keeping whole packages in LSR, which is particularly meant for "Snippets". LSR is simply not suited as a package repository, where you need to keep track of versions, updates, good documentation, FAQ’s, installation instructions, etc.

Furthermore, I’m releasing the parts that I wrote under the GPL (mainly because I don’t want to give up all rights (yet?)), so putting everything into the LSR is also not possible due to licensing issues.

Two good points indeed. We actually do lack a place for such packages; I did manage to implement a (very small) part of Nicolas Sceaux’s framework, but only by commenting the whole code. Plus, as Reinhold pointed out, such big projects imply that the source code has to be splitted into several files, whereas (quoting him again) "the LSR does allow for exactly one source file and one output file, so a demonstration of features or a tutorial are not possible".

 LilyPond’s Companion Projects

Although OrchestralLily is obviously one of what I call the "companion" projects of LilyPond, I take this section as an opportunity to mention Bertaln Fodor’s new baby: Julie [6]

For those who don’t know Bertalan, he is the talented leader of LilyPondTool, a Java plugin that is probably the most widely used "companion" tool for typesetting LilyPond scores.

So, what’s Julie? In one word, Julie is meant to be a girlfriend to Guile, the Scheme-based extension language that LilyPond uses. It is obviously in a too early development stage to be given an actual test, but I hope that in some future LilyPond Report issues I (or someone else) will be able to fully review it, as well as the other Companion Projects. For now, let us just quote Bert’s announcement:

My goals are:

  • have bar checks work really as bar checks (using Duration objects etc.)
  • have autocompletion in Scheme
  • perhaps some visual display of music written - I don’t know how feasible is this without implementing all of LilyPond in Java

Quite promising… even if I do not have the faintest idea what half of these words mean :(

 The Interview of the Week

This feature is not implemented yet. In the upcoming issues, hopefully we’ll meet with some developers or contributors of LilyPond and its companion projects. Stay tuned!

 The Geek-joke of the Week

This feature is not implemented yet. If you want some geek humor, just go up and read some of Linus Torvald’s quotes for this week!

 The Quote of the Week

Mats’ role is to be a bloody saint.” — This Week’s quote is taken from a private discussion I had with Graham Percival and John Mandereau, six months ago, about the different tasks in the LilyPond community (documentation, answers on the mailinglist, etc.).

As I asked him what Mats Bengtsson’s role was, he replied:

Mats’ role is to be a bloody saint. He’s been answering user questions since before I got involved, and he’ll be answering them after I leave. His tireless efforts were a large reason why I started helping with documentation: he kept on answering the same questions again and again, always politely. I’ve only seen him get frustrated twice, and both times he wasn’t any ruder than I am on a normal day.

In upcoming issues, the "quote of the week" will be taken from public archives — this week’s is actually another exception, as an informal tribute to both Mats and Graham. Two very different characters indeed, but we need both, and I think this quote describes Graham himself as well as Mats.

To develop this desciption, I had the idea of making some statistics in the mailinglist archives, and discovered quite a funny thing: if you search in the mailinglists for the word "bloody", most of the results will be from Graham’s mails, both on -user and -devel; however if you look for the word "please", you’ll see that almost one result out of four will be from Mats mails. Now, please don’t take these bloody statistics too seriously! :)

And this concludes the beta issue of The LilyPond Report.

Cheers,
Valentin Villenave

[1] However, I was happy to see that English-speaking people can make mistakes too, as recently shown in this very funny thread.

[2] In addition to its name, obviously…

[3] I removed the chord as it shows a somewhat ugly collision…

[4] That was much more than a week ago, but I still can feel the pain :)

[5] You might be interested in reading his whole message, as he gives some links to interesting existing snippets as well…

[6] It’s a girl, obviously :)


Forum

Home page | Contact | Site Map | | Statistics | visits: 47554

Follow-up of the site's activity en  Follow-up of the site's activity LilyPond Report   ?

Site created with SPIP 2.0.6 + AHUNTSIC

Creative Commons License