[The Site] [The Site]
Home page > English > LilyPond > The LilyPond Report #7

The LilyPond Report #7

Monday 28 April 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 (see at the bottom of this page).

Welcome to this seventh issue of the LilyPond Report!

This week, we’ll talk about beer, beer and beer. Additionally we’ll mention PDF, RSS, Eee and other three-letters cool stuff. We’re also moving to Midsomer for a two-weeks chat with Trevor Daniels, who’ll remind us of the golden era of geekness. 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

Greetings,
Last week we talked about the famous “free beer vs free speech” distinction... A couple weeks ago we had mentioned Laura Conrad’s brewing... Well, the hell with it; this week, no more excuses: let’s talk about beer itself!

Do you like beer [1]? Everybody likes beer. Having a beer, making beer, drinking beer, sharing beer with your buddies... Beer is both serious (it’s a grown-up’s beverage) and cool — wanna look cool? wanna make peace with some friend? the magic words will always be “let’s go grab a beer”!

As for me, I am not (at all) into beer. First of all, in French the same word (bière) means both “beer” and... “coffin”! Then, there’s the taste.... Uuugh! Finally, I just can’t drink or eat anything that contains alcohol; it’s a way of life — of course, this does not help socializing: perhaps LilyPond developer Rune Zedeler remembers when he met with me in Paris this winter; we went to an Irish pub, and I cannot tell you the look the bartender gave me when I ordered... a hot chocolate!

Anyway. Did you know about this project called “Free beer”? It’s an open-source beer, that’s free as in “free speech”; the specifications (the recipe, I should say) are completely available. Whether it’s goot or not, I couldn’t tell you. Give it a try (you can even buy some online, since as every “really free” projects it’s available for sale too), then tell us — not that I really care that much; but I kind of like the idea though.

On next week’s issue, we’ll talk about these free-as-in-freedom projects that are not about softwares (or sometimes not about computers at all).

 News from the Free World

This week (hopefully) saw the end of the polemic at Debian’s, where developers willing to get involved couldn’t stand not being accepted on board for months.

Such a situation is not likely to appen in the LilyPond project, as we deeply lack developers; however I’ve seen that this week Risto Vääräniemi [2] has been granted git access! Congrats Risto; at last I’ll no longer be the only one to get roasted by the lead developer :-)

A few days ago, a French newbie named Christophe Ferveur [3] asked us if LilyPond could run on an EeePC. The answer, of course, is yes; and if I might add, if you own an EeePC you might be interested in knowing that Linux is much faster than Windows XP for that matters: twice as fast to boot, 4 times faster to launch a browser, and 11 times faster to shutdown! See for yourself.

Finally, some piece of news from the Linux kernel:
- a new version is out this week
- we can expect a full support for Atheros WiFi devices
- The Open Graphics Project has attained a major milestone (we’ll talk more about it next week)
- Ingo Molnar has successfully fixed a memory consumption issue, and has promised that anyone who can guess how he did it “will get a free beer next time we meet :-)

Mmm... See what I was talking about?

 What’s up with LilyPond?

As I was writing this Report, a French user named Jean-Vincent Aubineau has just asked on the French mailing list if there was any RSS feed on LilyPond’s website, to track new releases of the program (the same suggestion was already made last year).

A LilyPond RSS feed? Here you are! The answer is that there’s currently no feed at all, anywhere.

— But I do want a RSS feed!

— There’s a special mailing list for such announcements (hmm, I have never subscribed to it; have you?)

— It isn’t up-to-date. I want a RSS feed!

— Our website will be completely redesigned as soon as the GDP is finished, that means “any year now” (I stole the formula from Mats); hopefully this will include a news feed.

— I can’t wait; I want my feed, NOW!

— Development releases occur regularly enough, about twice a months, and mainly on week-ends. With some practice you’ll get used to it.

— Are you kidding me? I want a feed!

— As Han-Wen once suggested, you can keep informed thanks to third-party websites such as versiontracker, freshmeat or Olhoh.

— Don’t be ridiculous! These sites are out-of-date; on the last one they even dare to blame LilyPond for having “few source code comments” and a “decreasing year-over-year development activity”!!!

- Mmmh. Okay, let’s see what we can do. You may know that LilyPond is developed using a system called “git”. The git web-interface provides you with a RSS feed; by using a third party filter, you can retain only git-commit messages that indicate a new release.

— Enough with the jibberish! WERE’S MY RSS FEED?

— Right here. Have fun! [4]

 The LilyPond Feature of the Week

Mmm. Oh, I wanted to tell you about Finale and Sibelius again, but I guess it’s a bit late. I’ll keep this article for next week’s issue.

Wait... As I’m writing this, a new user named Alberto Simões has just sent a mail to the list:

I have a lot of musics already transcribed using Sibelius, but the stupid commercial software doesn’t have any export functionality.

Ahahah... OK. You got me. Just a word about “stupid” programs, then. Last week we were talking about “making the switch”; have you noticed that both Finale and Sibelius are willing to do anything to gain market shares over their competitor? Hmm, anything but opening their code, that is.

Well, good news: if you’re a former Finale user, we’ll offer you LilyPond for free!

Same if you’ve been using Sibelius.

Same if you’ve been painting music scores. Even with your mouth.


Now for our We have it. Any questions? of the week.

A few weeks ago, I referred to Sibelius and Finale as “pale imitations of LilyPond”; today let me make my point with an example: how to create music scores in PDF on Windows.

Mac OS, which is a well-designed system, includes a PDF engine by default. But on Windows?

Have a look at these instructions for Encore, for Finale or for Sibelius. Quite painful, isn’t it? Downloading three or four third-party software, sometimes commercial, installing a virtual printer using a special driver, specifying the port, and so on... And even when you think you’re done, the PDF export appears to be working, you have a nice PDF document right here in front of you; well, just try to open your nice-PDF-document on another computer. Just for fun. Or a Mac. You’ll see.

Whereas LilyPond...

I don’t need to tell you that LilyPond does create PDF files, do I? It’s exactly what it does.

If you look closer, you’ll see that all commercial music programs actually use the same method to create PDF files, as they don’t really know how to do it themselves, and nor does Windows. Therefore, they require an external interpreter, Ghostscript, that is... exactly the same that LilyPond already includes by default. Pale imitations! I told you so, didn’t I?

And of course, LilyPond’s PDF files can be read on any computer, running any operating system.

Oh, I won’t even mention the point-and-clickable PDFs, the support for PNG, PS and SVG export, that Lilypond is obviously the only program to have. That would be just mean.

Native PDF export? We have it. Any questions?

 LilyPond’s Companion Projects

This week, I finally found the ultimate way to launch LilyPond:

use... LilyTerm!

PNG - 306.3 kb
LilyTerm — A light and easy to use libvte based X Terminal Emulator

The truth is... it has absolutely nothing to do with LilyPond. It’s a new Terminal emulator for GNOME, developed by a Chinese team. Nevertheless, it looks fine, and... I like the name :-)

 The Snippet of the week

This week, Neil Puttock and myself had a pretty hard time figuring out how to achieve a specific hack, in order to automatically add text indications to metronome marks. At last we did it, and here’s the snippet that demonstrates it.


\relative c' {
 \time 3/4
 \movement #"Allegro" #"2." #108
 c2 e4 g2.
 \movement #"Moderato" #"4" #104
 f4 e d
 \tempo 4 = 92
 c2.
}

I think it deserved to be declared “Snippet of the week”. Thanks Neil!

 The Interview of the Week

For the past few months, we’ve learned about several LilyPond communities in Europa. From now on, I’d like to introduce some of the people behind LilyPond Documentation, which is, as you may know, undergoing a huge redesign called the “Grand Documentation Project”.

JPG - 160.7 kb
Barton Abbey

One of the most efficient GDP helpers and editors is undoubtly Trevor Daniels. Initially in charge of the new Learning Manual, he is now handling several chapters of the Notation Reference, and I have to say that without him I simply don’t know if the GDP would have kept going on. In addition to that, I have been much impressed by Trevor’s ability to understand LilyPond internals; in barely a few months, we’ve seen him evolving from being a simple user to a gifted contributor/documenter/quasi-developer.

Trevor will be our guest for next week’s issue as well, where we’ll talk more about his involvment with LilyPond: stay tuned!

LilyPond Report — Hello Trevor, thanks for answering our questions this week. I have to say it’s a bit embarrassing for me to interview a native English speaker; I understand you live in England?

JPG - 212.7 kb
Westcot Barton church

Trevor Daniels — Hi Valentin, I’m happy and honoured to be your chat-show guest — likewise, but I’m relieved I don’t have to conduct this interview en français! Yes, I live 25 Km north of Oxford, in a village in the foothills of the Cotswolds. My wife, Sue, and I retired here a few years ago; here are some photos: one of a local church, about 5 mins walk from our home, one taken in the grounds of our local manor house, Barton Abbey, 10 mins walk away, and one taken in Worton wood, maybe 20 mins walk away.

L.R. — What a lovely place for retirement...

JPG - 168.5 kb
Worton wood

Trevor — My wife used to be a care worker looking after people with learning difficulty; her job was to try to help these people acquire enough social skills to be able to integrate better with society. I retired gradually from 2002 to 2004, gradually working fewer hours per week; I used to work in the Computing Department at the Rutherford Appleton Laboratory (RAL), where I managed the network, office systems, systems programming, graphics, database and operations groups. It was originally a nuclear physics lab: my original discipline.

L.R. — Interesting! Were you involved in big experiments, particle accelators etc.?

Trevor — Sort of. Although my research, back in the ’60s, was in low-energy nuclear physics, my professional career was as a computer manager in two particle physics labs in the UK. So I was directly involved with a small accelerator, a 6 MV Van de Graaf at Manchester University in the ’60s, and later indirectly involved with the big accelerators at Daresbury, Rutherford and CERN, the nuclear physics lab in Geneva.

L.R. — Can you tell us more about CERN: how is it actually? Is it a huge bureaucratic structure where people are anonymous?

Trevor — Not at all. People are individuals with character whatever organisation they work in. Some are serious, others not: perhaps the greatest physicist since Einstein was Richard Feynman, and he was quite a character too! I never worked at CERN, although I visited it many times as our two computer departments were involved in several collaborative projects together — CERN is a model of international cooperation: even at the height of the cold war the USSR was still involved in particle physics collaborations... Actually the web was invented at CERN by Tim Berners-Lee, so that the large world-wide nuclear physics collaborations could exchange data, so I was very much involved in the very early deployment of http servers in the very early 1990s.

L.R. — So, you practically attended the Web’s birth!

JPG - 87.3 kb
PPD Home Page

Trevor — All of us had been using email, remote access and file transfers since the mid ’70s, but the web gave us the ability to publish data, and when the GUI client Mozaic became available, I think around ’93, things really took off with every group setting up a website; here’s an image of our very first home page, in an early version of the Mosaic browser, probably around mid 1993.

Several of my work colleagues were involved in W3C and worked on the protocol specifications, but by that time I was a senior manager and not directly involved in the technical stuff; my personal contribution was largely in developing an intranet based on internet and web protocols for document sharing within the lab.

L.R. — Thanks for the screenshot; what an era indeed...

Trevor — We had a particular problem in the UK. The academic network there used an X.25 packet switched network (with a whole stack of protocols called the "coloured books"), instead of the TCP/IP protocol; it took quite a while to convince the networking authorities that the future lay with TCP/IP.

JPG - 24.5 kb
The Cray X-MP

And of course particle physics used big IBM and Cray processors (we actually had the original Cray-1 Serial 1 installed at the Daresbury lab; it needed lots of prophylatic maintenance as its memory had no parity checking!); Unix was not very widely used in the early 1990s, so we had a big conversion to undertake before we could participate fully in web developments. It was a busy time! In spite of the difficulties, my lab installed one of the first WWW servers in the UK in 1992 and this was one of the first 50 world-wide servers linking particle physics communities together. This was the start of the rapid move from IBM to Linux on PCs as the main computing engine for particle physics.

L.R. — What were the operating systems back then?

Trevor — We were the first installation in Europe to move to MVT (at that time I was still an applications programmer; later I moved to programming in assembler as a systems programmer),then we moved to MVS. However, when the Cray came along I was definitely a manager, so for much of my working life I’d been promoted above getting my hands dirty. My job was more involved with procuring computers, raising funds, bench-marking alternatives, writing specifications, conducting tendering, writing proposals — that sort of thing. However, I’ve always enjoyed programming, and over the years I still managed to write programs in several languages - PDP-7, IBM 360 assembler, Atlas autocode, Fortran, PL/I, Java, Python, Visual Basic, often during holidays!

L.R. — So, were you initially a programmer or a scientist?

Trevor — Both. After I finished my PhD at Manchester, a job in a computer department of a nuclear physics lab seemed ideal; I liked programming, and industry and commerce seemed unattractive (I definitely did not like the prospect of being directed in my work). So I went straight to the Daresbury lab in Cheshire, initially as an applications programmer, then systems programmer. Daresbury and Rutherford are both part of the same organisation — the UK government’s Research Councils — which fund academic research in the UK. Working in a national lab allowed me to retain contact with academe and offered the research ethos that I liked; I stayed with them all my working life. I’ve been very fortunate in being paid quite well for simply doing a job I enjoyed.

L.R. — Nevertheless, do you still consider yourself as a scientist?

Trevor — In truth I was more a manager than a scientist for the second half of my career, although I retained an interest in science: in the 80s I did some private research into the genetics of the colour mutations in budgerigars, showing that the variety called the Lacewing was not a separate mutation but a combination of Cinnamon with Ino, which were closely linked — I had to stop when I developed an allergy... And I am still interested in developments in particle physics; the start-up of the Large Hadron Collider, this year at CERN, will be an exciting time.

L.R. — I guess it will; do you guys make some launching parties, or is just serious expensive business? :-)

Trevor — There is always an opening party, although given the value of the equipment around these tend not to be too riotous!

Thanks to Trevor for this first interview;
next week we’ll discuss Trevor’s involvment in several musical societies and in the LilyPond community.

 The Quote of the Week

This week’s quote was posted on the French list yesterday, by a French user named Daniel Cartron:

Encore une journée où je me coucherai moins con grâce à la liste :-)

Which could be (very frustratingly) translated as:

Yet another day where I’ll go to bed being less of a stupid jerk, thanks to the list.

However, French argot can never sound as well as it does in French...

And this concludes the seventh issue of The LilyPond Report.

Cheers,
Valentin Villenave

Footnotes

[1] I wasn’t daring enough to ask this question on the mailing list, but I damn hope someone will; this way I’ll have some quotes for the Report’s next issue!

[2] I did try to google him looking for a blog or homepage, but the only link I found was this page, with a nice black-and-white picture of him...

[3] Mamma mia, looks like the French-speaking list is quite hard to find for new users...

[4] Beware though: due to the intense activity on our git repository, the entries that indicate a new version will not last longer than 24 hours in your feed.

Reply to this article

25 Forum messages

  • RSS feeds

    28 April 11:26, by Nicolas Sceaux

    Error: Cannot parse feed

    Oops!

    Reply to this message

    • RSS feeds 28 April 12:28, by Valentin Villenave
      Yes, I’ve corrected it immediately. The —no-merge option doesn’t work, because the double dashes are interpreted as a weird wildcard character. Removing it shortens the lifespan of the “Bump version” commit message in the feed, but it’s the only solution.

      Reply to this message

  • The LilyPond Report #7

    28 April 11:31, by Graham Percival
    That snippet is pure win.

    Reply to this message

    • Movement markup 28 April 12:32, by Valentin Villenave
      Yes, but the code behind it is painful :-)

      Reply to this message

    • The LilyPond Report #7 28 April 12:34, by Nicolas Sceaux
      If I may, the code might be easier to read under that form:

      See online : http://nicolas.sceaux.free.fr/tmp/m...

      Reply to this message

      • Movement markup 28 April 13:47, by Valentin Villenave

        Oh yes! Gee, I suspect I’ve been working too hard...

        One downside though: your code doesn’t work on the LSR, something weird with (if (pair? toplevel-scores)) in engraver-init.ly line 41.

        This string->duration function is really great. Perhaps it could be included somewhere in the LilyPond sources?

        Reply to this message

    • The LilyPond Report #7 28 April 12:34, by Damian leGassick
      and yet...enthusing about a fifty line scheme hack is exactly the kind of thing that scares off many Sibelians. It would be great if this was a built in function. Agreed, it’s the best solution to this long-time-niggle i’ve seen so far. I’m already using it.

      Reply to this message

      • Copying Scheme functions 28 April 13:53, by Valentin Villenave

        Mmm... You may be right, but:

        I don’t think copying a scheme functions from a LSR snippet is, per se, more frightening than

        - downloading some-advanced-sibelius-plugin.rar

        - unraring some-advanced-sibelius-plugin.rar

        - copying some-advanced-plugin-file.dll (or whatever the extension is) into C:\Program Files\SibeliusSoftware\Sibelius 5\plugins\

        - opening Sibelius

        - activating the plugin

        - learning how to use it.


        Granted, you can very much use Sibelius with only the default plugins, or even without any plugin. But this goes for Lily too.

        Reply to this message

    • The LilyPond Report #7 30 April 20:51, by Tao

      Agreed. That’s a really nice feature. I think a nice addition would be a boolean to print or not print the braces. In case someone (like me ;) prefers such marks without braces.

      And on a side note, I also don’t like beer or alcohol in general and the last time I went to an Irish Pub I also ordered a hot chocolate. =) Just to let you know, you’re not alone.

      Reply to this message

      • The LilyPond Report #7 1 May 00:56, by Valentin Villenave

        Thanks: it’s a relief! :-)

        The parentheses can be removed very easily in the function’s code. Adding a boolean would be easy to achieve, but not really convenient since the purpose of the function was precisely to have the less arguments possible.

        Reply to this message

        • The LilyPond Report #7 4 May 18:41, by Raphael Manfredi

          Thanks for the \movement macro. Really nice.

          One minor bug: it does not work if put inside a “\context Voice”: it only prints the tempo, not the movement string... Is that fixable?

          Cheers, Raphael

          Reply to this message

          • \movement inside a Voice 4 May 20:09, by Valentin Villenave

            Hmm... I don’t exactly understand. It works here.

            There has to be something wrong with your code: can you post it?

            Reply to this message

            • \movement inside a Voice 5 May 21:10, by Raphael Manfredi

              Here it is:

               
              \version “2.11.45”
              \include “movement.ly”
              Music = \new PianoStaff 
                \context Staff = up <<
                  \clef treble \time 2/4
                  \context Voice = one 
                    \movement #"Andante" #"4" #112
                    \relative c’’  r8 a b c  | 
                    \movement #"Adagio" #"4" #60
                    \voiceOne \relative c’’  r8 c b a  | 
                  
                  \context Voice = two 
                    s2 |
                    \voiceTwo \relative c’’  s8 a b c  | 
                  
                >>
              
              \score  \Music \layout  
              

              Reply to this message

              • \movement inside a Voice 6 May 00:10, by Valentin Villenave

                (actually it’s <code>, not <pre>

                :) )

                This macro has to be followed by a _music expression_ that actually contains music!

                So, either you enclose \voiceOne _and_ the \relative block inside braces, to make it look like a single expression:


                { \voiceOne \relative c'' { r8 c b a  | } }

                either you have to put \voiceOne inside the \relative block, e.g.


                \relative c'' { \voiceOne r8 c b a  | }

                It’s indeed a limitation of the macro, but I don’t think there’s any way to get rid of it (without touching the C++ cod, that is).

                Hope this helps!

                Reply to this message

                • Thanks, this works fine in my real example (the posted code was only a reduction, naturally).

                  Maybe “\movement” should become a standard like \tempo is... Definitely nice.

                  BTW, I changed the code to use #:large instead of #:huge. The former looks more appropriate, I think. (personal taste, probably)

                  Reply to this message

  • Nabble feed

    28 April 13:00
    Nabble has a feed for announcements list: http://www.nabble.com/Gnu---Lilypon... It’s only a pity that this list isn’t used much.

    Reply to this message

    • Nabble feed 28 April 13:58, by Valentin Villenave

      Great! I didn’t think about Nabble.

      The RSS feed is here, and is much more reliable than my dirty hack.

      At last, this will give Han-Wen a good reason to keep the lilypond-info list up-to-date... I’d even propose to integrate this feed on lilypond’s homepage.

      Reply to this message

      • Nabble feed 29 April 06:32, by Han-Wen

        I am actually very happy with the current setup, where release announcements magically appear on lilypond.org.

        I don’t know who is doing it, but I am thankful for the work, and for the fact I had nothing to do with it ;-)

        Reply to this message

      • Nabble feed 29 April 08:08, by Jean-Vincent AUBINEAU

        Thanks for all !! I’m just laughing again and again : I don’t thought that I was a so naughty boy !!

        So, I can continue, because, really, I don’t think that it’s my character : I WANT that Lilypond run with Leopard alone, without SM-LTR-N !! ... ;-)

        Longue vie à Lilypond et aux lilypondusers !!

        Salutations de Paris

        Reply to this message

  • The LilyPond Report #7

    28 April 21:27, by Andrew Hawryluk

    I’ll raise a glass of non-alchoholic beverage to LilyPond’s PDF output - it saves me another tedious step in the Finale process I was accustomed to. (Along with the step of manually finessing the page layout for every piece.)

    That said, the article exaggerates the difficulty of producing PDFs somewhat. For Finale/Sibelius on Windows: install open-source PDFcreator (contains Ghostscript), print to PDF. Done.

    Reply to this message

    • The LilyPond Report #7 29 April 00:05, by Valentin Villenave

      Hi Andrew,

      I actually do know about PDF Creator, that is one of the most precious pieces of software needed by every Windows user out there.

      However, have a closer look at the three links I provide, that are Encore’s, Finale’s and Sibelius’ official instructions for creating PDFs. All of them are really painful, the only one which takes PDF Creator into account (Finale’s page) actually provides instructions for... Adobe Distiller!

      Besides, I never managed to get PDF Creator embedding music fonts in PDF files (there’s an option for that, but it didn’t work back then, and I highly doubt it’s better now); every time I wanted to produce a decent uncrippled PDF, I had to borrow a Mac.

      Reply to this message

      • The LilyPond Report #7 29 April 01:07
        The font embedding has worked well for the at the last few years, but you are quite right: those web links are ugly. I guess there’s no business case for them to make PDF output easier than downloading their proprietary file readers. Thanks for another report! -AH

        Reply to this message

  • The LilyPond Report #7

    5 May 01:17, by Ian Hulin

    Hi Valentin,

    I like the report, but I’m really trying to find the sources for Easylilypond as I’ve had to give my hard disk on this machine a complete hose-down. I wanted to rebuild the app. so English-language systems didn’t get the French menu.

    Unfortunately there’s a dependency on wansis there, for which I can’t track down the sources, and you’ve used some callbacks which depend on this package, but I can’t get anywhere at the moment since the link to the tar file on Le Site is now broken.

    Looking forward to hearing from you

    Cheers,

    Ian Hulin

    Reply to this message

    • EasyLilyPond 5 May 02:59, by Valentin Villenave

      Hi Ian,

      for several reasons (mainly because I’ve been very much involved with LilyPond and LilyPondTool itself), I haven’t been working on EasyLilyPond for a long time, and I understand how frustrating this can be (it is for me too, in fact).

      I had to remove the source archive because my hosting service doesn’t allow much space. However, the source is now hosted on LilyPondTool SVN repository and can be retrieved here. I intent to update the web page, and distribute a decent source archive once I’ve cleaned the code — you may have noticed that all of this is actually very temporary...

      WaNSIS is a plugin that can be found here: http://nsis.sourceforge.net/Wansis_...

      I only used it because it makes the Launcher look nicer...

      The language issue can certainly be figured out, but I haven’t found a proper solution yet. The best workaround would be, indeed, to recompile the EasyLauncher and comment the French language #include.

      The WaNSIS skin is defined through two BMP images that are very easily tweakable, feel free to try some alternate skins — beware though, if you edit these images you need to use indexed colors.

      EasyLilyPond does need to be seriously developed, I agree with you on that!

      Cheers, Valentin

      Reply to this message