LilyPond news

Post a message

Replying to:

The LilyPond Report #22

Wednesday 3 November 2010 by Valentin Villenave

Welcome to this twenty-second issue of the LilyPond Report!

Here’s a new Report, full of surprises and exciting news for our community! To be found in this issue is an up-to-date, complete list of all LilyPond mailing lists and forums around the world — and we do mean: complete. Also, for the very first time our special guest today is LilyPond’s co-founder and core developper Jan Nieuwenhuizen, who has been busy these past months — read on to find out what for! As always, you are warmly invited to post comments at the bottom of the page, or even contribute to the LilyPond Report’s next issues, by contacting Valentin or Graham.

 Editorial

(by Valentin Villenave)

What’s not to love with GNU LilyPond? Meaning: is it at all possible, either to mildly appreciate it, or perhaps even to hate the hell out of it?

On our reviews page, I recently stumbled upon Nicolas Sceaux’s statement that he used to have "a love-hate relationship" with LilyPond. Coming from arguably the most skilled LilyPonder in the world, this is somehow surprising.

PNG - 50.5 kb

Thinking about it, however, I soon realized that my own involvement in the LilyPond project could accurately be described as some kind of a bipolar disorder: sometimes I can get very excited, eager to help, eager to please, and nothing seems to go fast enough. However, a contrecoup is always to be expected: at some point, things suddenly seem to go too fast for me to keep up, and I find myself not doing anything for months. Finally, on rare occasions, something gets me frustrated — and then, for a short time that feels like forever, everything is tainted with bitterness and rage.

Getting the Report out (almost) on time, in this regard, is always a challenge. So many exciting things to talk about... or, depending on how I look at it, so many saddening things that I would rather not talk about. This month we’re having plenty of each, and therefore the LilyPond Report is unfortunately not getting any shorter; if you only have one thing to read though, please skip directly to our interview with Jan-, who has some pretty awesome news for all of us!

What might that be? Read on to find out!

 Release news

(by Graham Percival & Valentin Villenave.)

Work continues towards 2.14; the fourth alpha test, 2.13.38, is now online! This release still has one crash and two cases of suspicious spacing, so we cannot recommend it for daily production use. The current stable release is 2.12.3-2.

We have been experiencing several problems with our download mirror, but it seems to be fixed now. In case that happens again, and to alleviate the load of our bandwidth sponsor, it may be a good idea to set up a BitTorrent server/tacker somewhere (on LilyNet?), or to use an existing one (preferably free-software friendly). Does that sound appropriate to you? Would you be interested in downloading/sharing/seeding LilyPond binaries over the network? Please let us know!

 A list of LilyPond communities?

(by Xavier Scheuer)

PNG - 39.2 kb

This month, Valentin suggested me to draw up an updated list of LilyPond communities for the LilyPond Report, but I decided to extend it to every LilyPond-related "Useful Addresses". This will also help keeping our contact page up-to-date; please help us complete this list if you know of any addresses that should be included here.

GENERAL, INTERNATIONAL "OFFICIAL" LILYPOND MAILING LISTS (ENGLISH-SPEAKINKG)

User mailing list: lilypond-user_at_gnu.org
Info & subscribe: http://lists.gnu.org/mailman/listin...
Archive: http://lists.gnu.org/archive/html/l...
Administrator: David R. Linn

Releases mailing list: info-lilypond_at_gnu.org
Info & subscribe: http://lists.gnu.org/mailman/listin...
Archive: http://lists.gnu.org/archive/html/i...
Administrator: David R. Linn

Developer mailing list: lilypond-devel_at_gnu.org
Info & subscribe: http://lists.gnu.org/mailman/listin...
Archive: http://lists.gnu.org/archive/html/l...
Administrator: David R. Linn

Bug mailing list: bug-lilypond_at_gnu.org
Info & subscribe: http://lists.gnu.org/mailman/listin...
Archive: http://lists.gnu.org/archive/html/b...
Administrator: David R. Linn

LOCALE, LANGUAGE SPECIFIC MAILING LISTS, FORUMS, GOOGLE GROUPS, ...

DE
Deutsches Lilypond Forum: http://www.lilypondforum.de/
Info & subscribe: http://www.lilypondforum.de/
Archive: http://www.lilypondforum.de/
Administrator: Till Paala

ES Lista de usuarios de LilyPond en español: lilypond-es_at_gnu.org
Info & subscribe: http://lists.gnu.org/mailman/listin...
Archive: http://lists.gnu.org/archive/html/l...
Administrator: Francisco Vila

FR
LilyPond French Users: lilypond-user-fr_at_gnu.org
Info & subscribe: http://lists.gnu.org/mailman/listin...
Archive: http://lilypond-french-users.129896...
Administrators: John Mandereau, Valentin Villenave

HU
Magyar LilyPond-felhasználók közössége: lilypond-user-hu_at_googlegroups.com
Info & subscribe: http://groups.google.com/group/lily...
Archive: http://groups.google.com/group/lily...
Administrator: Dénes Harmath(?)

NL
Nederlandstalig LilyPond forum: http://www.lilypondforum.nl/
Info & subscribe: http://www.lilypondforum.nl/
Archive: http://www.lilypondforum.nl/
Administrator: Wilbert Berendsen

PT (BR)
Lilypond-Brasil: lilypond-brasil_at_googlegroups.com
Info & subscribe: http://groups.google.com/group/lily...
Archive: http://groups.google.com/group/lily...
Administrator: Hugo Ribeiro

UNOFFICIAL LILYNET.NET MAILING LISTS

LilyPond Frogs: frogs_at_lilynet.net
Info & subscribe: http://lists.lilynet.net/frogs/
Archive: http://lists.lilynet.net/frogs/
Administrator: Valentin Villenave, Carl D. Sorensen

LilyPond’s support for tablatures: tablatures_at_lilynet.net
Info & subscribe: http://lists.lilynet.net/tablatures/
Archive: http://lists.lilynet.net/tablatures/
Administrator: Valentin Villenave

LilyPond translations: translations_at_lilynet.net
Info & subscribe: http://lists.lilynet.net/translations/
Archive: http://lists.lilynet.net/translations/
Administrator: Valentin Villenave, John Mandereau

LilyPond Midi discussions: midi_at_lilynet.net
Info & subscribe: http://lists.lilynet.net/midi/
Archive: http://lists.lilynet.net/midi/
Administrator: Valentin Villenave, John Mandereau

LilyPond proposals list: proposals_at_lilynet.net
Info & subscribe: http://lists.lilynet.net/proposals/
Archive: http://lists.lilynet.net/proposals/
Administrators: Carl Sorensen, Graham Percival.

The GLISS project has begun!: syntax_at_lilynet.net
Info & subscribe: http://lists.lilynet.net/syntax/
Archive: http://lists.lilynet.net/syntax/
Administrator: Valentin Villenave, Graham Percival

[Editor’s note: These last two lists are not active yet; of course the Report will let you know when/if they are.]

VERY (TOO?) UNOFFICIAL, INFORMAL

http://lists.lilynet.net/devel-chat/
Other "secret" mailing lists? ;p

Post-scriptum by V. Villenave.

  • The devel-chat mailing list is a public mailing list, that was officially announced a year ago. Subscription is freely allowed, and everybody’s invited — provided that you don’t expect serious discussions :)
  • A country is missing from that list: Italy. Our Italian contributor Federico Bruni, whom we asked about it, told us that he was considering creating an Italian LilyPond community as soon as he’d be able to translate some part of the Documentation. He does need help, so feel free to give him a hand on the translations mailing list!
  • Another point is to be made here. When Xavier asked around to find if he hadn’t forgotten any mailing list, nobody bothered answering him [1]; it would be rude enough in itself, if it weren’t for one annoying detail.
    There actually is a secret mailing list.

    The case of the Hidden Mailing List
    The LilyPond community as I see it, is divided in two parts: there are those who know about -hackers, and those who don’t. Oh, you can search everywhere on the Web, on our archives or anywhere else, for the lilypond-hackers mailing list: chances are you won’t find anything. Its archives are, of course, well-kept; it is not even mentioned in the list of GNU mailing lists.
    Earlier this month, it was merely alluded to on the developers’ mailing list (read: the one developers’ mailing list we do know about), and nobody seemed to take issue with the fact that important questions were admittedly discussed privately. — As a matter of fact, I do.

    Full disclosure: I am not a member of this mailing list. Would it make me happy to be one? It certainly would, albeit in a very childish way. Would I deserve it? Obviously not. Does it make me feel sick? Hell yes.
    However, whilst I have to acknowledge my own frustration not to be part of the Cool Kids Club™, I highly doubt I’d ever be comfortable being part of something I find abnormal, unethical and deceiving. I fail to see, indeed, how such practices are compatible with the openness, transparency, mutual respect that any community-based project requires. Any decent one, that is.

    Granted, private mailing lists are not entirely uncommon in Free Software. Granted, if no such list existed, then the Cool Kids would probably exchange private e-mails on occasion, for "frank discussions that might otherwise hurt other people’s feelings". Does this make it okay to open a whole frigging mailing list only dedicated to that purpose? This question should be open to debate, which it is not. If and when such lists exist, people usually know about it, know who takes part in these discussions, and why. Nothing comparable is to be found in the LilyPond project — yet one of the most friendly communities I’ve been involved with (or so I thought).

    I first heard (by accident) about the lp-hackers mailing list a few years ago, and that made me bitter enough. By that time I was already spending most of my time contributing to the LilyPond community (albeit in my usual fluffy, unreliable, non-productive way). Discovering that there was a non-trivial part to it that I knew nothing about (and that contributors weren’t deemed important enough to be told about it), made me consider leaving the project altogether. After a few weeks, as I was assured that this mailing list really was but a memory of the "old" development team, that nobody was using it any more, and that there was nothing to worry about, I eventually decided to suck it up, stay, try and make things better — one of the reasons why I started the LilyPond Report. Discovering, today, that it actually is still very much active and intended to stay that way, makes me wonder if that was the right thing to do.

    Like I said, I certainly have a highly emotional point of view on this subject, and it doesn’t make it easy to get a balanced perspective. Am I overreacting? Is there really nothing to talk about? I am looking forward to reading the community’s reactions, the development team excuses reasons, and most importantly, what You, dear reader, might have to say about that!

[UPDATE: Please read the Post-Scriptum at the bottom of this issue, just above the comments.]

 News from the Frog Pond

(by Graham Percival).

The Frogs are ordinary LilyPond users who have chosen to get involved in their favorite software’s development. Fixing bugs, implementing new features, documenting the source code: there’s a lot to be done, but most importantly: this is a chance for everyone to learn more about LilyPond, about Free Software, about programming… and to have fun!

All Frog action in the past month has centered around guile 2.0 work. The new major version of this GNU Free-Software Scheme interpreter (and now, compiler!) is expected within weeks, and LilyPond is getting ready to fully support it!

Hopefully once LilyPond 2.14 is out, we might get more new volunteers interested in improving our source code; if you are interested, remember that the word is: join the Frogs!

 LilyPond’s Companions (1)

(by Valentin Villenave)

Part One: The Quest of the Lost Interface

Up to this day, LilyPond is, has always been, and remains, a non-graphical program. No windows, no staves and notes that you can move around with the mouse, like in other music notation software (proprietary or not) you may be familiar with.

The idea of a LilyPond GUI has long been the Holy Grail of LilyPond users, for generations. Some see it as a myth, others keep hope of finding it someday, while others have been engaging in endless quests to build their own. Most newcomers to LilyPond often feel frustrated (myself included).

Eventually, everybody either gives up or gets used to writing LilyPond code on their own, and the closest thing to a GUI that we can think of is but an improved source-code editing environment, such as LilyPondTool or Frescobaldi (which we reviewed a few months ago). At best, even the most idealistic of us in their wildest dreams, can’t imagine anything but to eventually ship LilyPond alongside with a lightweight editor and PDF viewer.

PNG - 26.7 kb

Little do we remember, however, that the founders of the LilyPond project themselves, developers Han-Wen Nienhuys and Jan Nieuwenhuizen haven’t been exactly deaf to these calls for user-friendliness (and smooth shiny blingy interfaces). In 2004, Jan first tried and displayed music objects on a GNOME canvas. Then in 2005, Han-Wen launched his own project, codenamed Ikebana.

JPEG - 10.1 kb

"Ikebana, Jan recalls, was created by Han-Wen in 2005, as a demo/proof of concept for integrating LilyPond (2.6 at the time) with a big 3rd-party commercial sequencer. Ikebana is 99,98732% Han-Wen’s work. I just resurrected it."

In March 2009 indeed, Jan noted on his blog: "Pleased to find there’s a new release of OOoLilyPond which makes it *much* easier to install. Now, who’s going to resurrect and tie Ikebana up with this? Or better yet, build on Erik Sandberg’s Music Streams work and start a true interactive GUI?"

It wasn’t until this summer where Jan resurrected Ikebana, made it work with recent LilyPond versions (2.13.29 at the time), and started to seriously think about its possible future. However, he wasn’t very optimistic: "Ikebana, he told us, was never intended as a LilyPond GUI effort. It is unsupported, does not work very well, won’t be developed any further. But, it’s very interesting, isn’t it? Has been on my mind too."

A few days later, he added: "I’ve been talking with Wingo [Editor’s note: Andy Wingo, lead developer of the guile-gnome bindings]. I’m thinking of maybe starting Ikebana afresh, in guile — for obvious reasons — with some major changes.

That was on September 22. Just the day after, Jan’s new project was born...

 LilyPond’s companions (2)

(by Valentin Villenave)

Part Two: A man, a Scheme, a program: Schikkers List!
Interview with Jan Nieuwenhuizen.

The LilyPond Report — Greetings Jan! Wow, it is an honor for the Report to meet with you today; for years I guess I’ve just been too intimidated to suggest an interview with either you or Han-Wen...

Jan Nieuwenhuizen - - Hi Valentin! Yeah, I love the Report. Good, great!

TLR — Thanks! Let’s get started then. What exactly is Schikkers List? Never mind — let me quote your README file for you:

README

Schikkers List is a LilyPond GUI in the prototype phase. I have no idea if this approach could even result in a usable program. [...] The basic is to have LilyPond render only a small bit of the music: the bit that changed. [...] Simple LilyPond files can be entered and saved as .scm or exported as .ly files.

This is targeted at hackers and mainly presented as an invitation for comments and possibly for patches.

JN — That’s right. There are so many bugs/missing features that I’ll only be taking patches for now; at least until v0.1 or so.

PNG - 79.5 kb
Schikkers List’s {iKLi} interface
courtesy of Jan Nieuwenhuizen.
Animated PNG: you need Firefox or Opera to see it...

TLR — Okay, now that you’ve made this clear, let me ask you the question everyone must be asking themselves by now: what’s with the name ?? I mean, "Schikkers List"? Really?

JN — I know. "Schikkers List" is probably just as incapable of surviving as "Ikebana", but well :-)

List is the dutch translation of "a guile scheme". It does not mean list[en], that word is lijst (Liste in German). Translating Ikebana into Dutch, you get Bloemschikken where bloem == flower. The person who performs Ikebana would be a Bloemschikker (arranger of flowers).

TLR — ...

JN — Wait, it gets worse: one such schikker/arranger had a guile scheme: only recompute the part that changed to arrange notes, and in contrast to Ikebana who used python, this one uses GUILE Scheme.

TLR — Er. Okay, we’ll let our audience re-read this a couple of times... For the record: I didn’t even know that "guile" was actually a word :-)

PNG - 37.4 kb
Schikkers List’s key bindings

TLR — (*cough*) Back on track. Obviously, the GNOME-Canvas plan has been on the table for some time now; I also can understand why you chose Guile/Scheme over python (since most of LilyPond itself is natively implemented in this language). What else inspired you?

JN — I was inspired first by Frescobaldi: how quick that was, but discouraged by how fully it is entangled with KDE, and it’s still a text editor that will never compete with Emacs.

Then I was inspired by the gummi editor: I wrote a 20-line patch that made some sort of frescobaldi-like gui.

Then I was inspired by how fast and how usable Ikebana was.

TLR — Wait — "usable"??? How come all of us haven’t been using it ever since then?

JN — Well, it wasn’t just like that in 2005: it was neither fast, nor usable. Also, LilyPond has come a long way since 2004...

I want to learn programming in scheme, that seems such a nice language and I’m such a novice. I had to do all that alone because nobody can know about it, as I should be working on my open source consultancy startup company, and anything else is procrastination, which looks real bad.

I also think you should be have some real code before you start to talk vaporware, which is why I had to start alone. But I’m not going to do a project like this on my own, so if others are interested that would really help.

TLR — I’d be happy to help, except for one thing: I’m a KDE guy. There’s no way I’ll *ever* install GNOME on my system. So, I guess this is good-bye...

JN — Not at all! Schikkers List is not gnome dependent, just GTK. I started off using the pangocairo backend, which requires very recent builds of guile-gnome (later than 2.16.1). However, the GNOME canvas was not deprecated after all, so I’m using this as a backend now, which allows running with guile-gnome 2.16.1 (or possibly even 2.16).

TLR — Interesting. Now for the embarrassing part. For almost fifteen years, we’ve seen Han-Wen and you telling people that a GUI was just The Wrong Way, that LilyPond would never have a GUI because it wasn’t meant to in the first place and it would be useless anyway. So I hope you won’t mind me asking: who are you kidding, really? Was all that non-GUI motto just a pile of hypocrite bullshit?

JN — Keep it cool... LilyPond is not conceived, indeed, to be used in a GUI setting. Period.

There are so many good reasons why GUI programs in general, and a GUI for setting text or music specifically, are a bad idea! You get "expert users" and tricks and mouse-click video’s on YouTube etc. Can’t script it anymore.

However. LilyPond was created to free the world of badly typeset music and to help *all* musicians. Of course, we want everyone to enjoy the freedom of Linux and move there. However, this was the mind-shift that caused us to make the Windows/mingw and Apple/darwin ports. We cannot demand that people change their OS for their own good, happiness and health.

TLR — Well, I certainly would, but...

JN — The idea of my ikli interface is to do away with the text editor (there may be a structured text editor one day) because I think that the vast majority of potential users will never /start/ with lilypond if they have to enter text, even if there’s visual feedback.

If the mere fact that LilyPond does not have a very good GUI, will mean that in the end we as musicians are still stuck (again stuck) with badly typeset music because "people /will/ use a GUI even if it handcuffs them", it’s bad for their health and happiness etc., what’s a hacker to do?

TLR — ... Well, you tell me!

JN — We/I have been "waiting" for years to get Eric Sandberg’s work completed and have full-blown music streams in LilyPond. That would be the first step towards the remote possibility of a GUI. This did not happen and I do not foresee it to happen any time soon.

So, Schikkers List is another guile scheme to turn this dependency around. Instead of first waiting for boring, useless work to be done that should enable a gui, just make a gui first and when it grows, we can always decide that music streams are essential, integrate Schikkers List with LilyPond and just finish them.

On the other hand, it could well be that there will never be a v0.0.2 and this is just another silly pipe dream.

TLR — I sure hope not!

PNG - 60.4 kb
A real-world score: "Ständchen"

JN — If you get to use Schikkers List, you’ll see that, as I said, LilyPond is not conceived for a GUI approach — however, it may just be good enough. I don’t know. The big question here is: who can tell [me] what the very minimal set of requirements is that makes a gui useful, esp. for people who would never use text entry for music, and is there a path from this minimal version to more useful versions for real world music?

TLR — Well, perhaps our readers can help answering that question :-) However, isn’t there a risk that you may reinventing the wheel here? You do know that Denemo development has been revived for the past couple of years, and produces a nice interface already... Besides, many users appreciate the Frescobaldi/LilyPondTool "code on the left, preview on the right" paradigm; can you seriously believe that anyone will want to use a GUI program that hides the LilyPond code from the user?

JN — Let me be clear. Backed with the right amount of hacking effort, Schikkers List will just totally blow away all the other efforts.

Of course, the lily code will also be available in a separate window and we’ll have some sort of structure-editor that feels like a text editor but is very annoying because it has to make sure you cannot enter invalid lily code :-) We’ll also have a music-tree view window where you can select/edit the underlying music structure.

For years to come however, Denemo will be a great GUI. As for Frescobaldi/LilyPondTool, these aim at people who want to write code — those are not real GUIs, are they? People who would benefit from Frescobaldi will probably also use lilypond without this nice preview...

TLR — Well, thank you Jan, and good luck: you’ll need it! Anything we normal people can do to help, other than turning into programmer-demigods and sending you patches? How about suggesting a nice logo for Schikkers List?

JN — A logo. Man, this is a pile of rubbish, get real! Love, peace, thanks.

Many thanks to Jan Nieuwenhuizen for this interview.

 Snippet of the Report

(by Valentin Villenave)

Let’s be honest: for a while, this month’s snippet tasted like a conflict of interest. I had written a snippet that — I thought — was just way too cool not to make it as the "Snippet of the month": Colored-background staves.

When browsing the LSR to retrieve my snippet’s URL, however, I stumbled upon this other one — and realized I simply couldn’t compete.

Coloring individual staff lines
PNG - 2.2 kb

Now, how cool is that? The worst part is, though, that we have no idea who posted this snippet: it doesn’t include a %LSR comment, nor has it been announced on the mailing lists. If you wrote it and happen to read this, please do let us know!

[Update: unsurprisingly, Neil Puttock is actually to thank for this cool snippet. Cheers!]

That concludes the twenty-second issue of The LilyPond Report. Next instalment is expected on December 1st, and will be the last of the year 2010!

Cheers,
Graham Percival & Valentin Villenave


Replying to:

Thanks!

4 November 201017:37
Thanks for the enjoyable read! And the animated PNGs are a nice touch One typo I noticed: "Eric Sandberg" should be spelled "Erik Sandberg". I think, for some future issue, I would like to contribute a feature on the SVG backend. Would you be interested in this idea? Thanks, Patrick


Any message or comment?
  • (To create paragraphs, you simply leave blank lines.)

Hypertext link (optional)

(If your message refers to an article published on the web or to a page providing further information, please enter the title of the page and its URL below).

Add a document
Who are you? (optional)

Home page | Contact | Site Map | | Site statistics | Visitors : 182508

Follow-up of the site's activity en    ?

Site created with SPIP 2.1.12 + AHUNTSIC

Creative Commons License