Hi,

this isn't meant as a wish-list or a whine-list. I simply want to share my
view on the use of LilyPond from a perspective of semi-advanced,
(hopefully) quite intelligent and not-too-geeky user.

I first began using Lily in 2008 (v. 2.10.33), but it was short and very
simple SATB pieces only. I had some experience with Finale. I liked the idea
of text input very much, because:
- nothing could change without me knowing about it (unlike in Finale)
- everything was perfectly reversible (unlike in Finale)
- powerful templates could be created
- i saw what happened to the music.
I also liked the font, and the idea of "automated engraving" appealed to me.
After that i had something like 2yr vacation from music typesetting, and i
came back half year ago. I began researching music typesetting and examining
closely every score i saw, this gave me the eye to spot typesetting errors
(surely not all errors, especially not "what kind of notation should be used
here" errors - because i don't have access to music engraving books and
internet resources on this subject are limited - however i became sensitive
to all kinds of this-doesn't-look-nice errors).
As i became more and more critical and my needs grew (more complicated choir
pieces - excerpts from Messiah, some romantic and contemporary music), i
began to see LilyPond's weaknesses. My choir played a significant role here
- when i began to typeset our scores with Lily, i got some complaints which
showed me things that i wasn't aware of.

Ok, so this is the time for Lily pros and cons, from my point of view.

The single most important LilyPond advantage is that it is logical (objects
are connected to each other, there is a visible strcture etc.), and content
is separated from layout.
The second important advantage is perhaps being open-source: i was already
able to improve some issues that irked me, and i hope to do more.
Other advantages are:
- flexible output (i can switch to any paper size without too much trouble,
rearrange music on different amout of staves etc.),
- output is quite stable: changing something, for example adding a note,
usually doesn't ruin the layout tweaks i do. I remember writing some piano
piece in Finale (2005 version i think), tweaking it *very* heavily, only to
discover that when i corrected a single wrong note *all* my layout tweaks
disappeared. Man, that pissed me off!!
- i can create powerful templates and style-sheets,
- note spacing is much better than finale's,
- it's cross-platform (supporting *all* 3 major platforms, i.e. Win, Linux
and Mac), so i don't have to worry if i change OS. Also, if it was for Linux
only, i'd almost certainly didn't take the trouble to try it,
- it's free,
- it's accurate (compare how flags are attached to stems in Lily and in
finale),
- i like Feta font,
- there are some powerful features available, and music functions could be
written (however i didn't use that yet).

Now for the disadvantages.
1. The single most important disadvantage is that not everything is logical
(for example hairpin aligning: i must use << {notes} {skips with hairpins
attached} >> to achieve desired results; this is cumbersome to read, and,
above all, disconnects objects from themselves (i.e. hairpins from notes
affected)) and content isn't always separated from layout. Especially manual
object positioning is prone to problems; ideally i would like to see
\overrides used only in layout-independent situations (that is, to control
things not affected by line breaking, vertical system height etc.).
2. There are some frequenly appearing notation elements that still need
quite heavy manual tweaking, for example:
- dynamics (often they stick out too much and cause the systems to spread
vertically)
 - horizontal placement of lyrics (i'm going to investigate how this could
be fixed)
- horizontal placement of accidentals (i'm going to investigate how this
could be fixed)
3. I have serious troubles with vertical layout of choral scores containing
anything besides notes. Slurs, and especially dynamics, tend to make systems
very high; i struggle to achieve 4 systems-per-page layout, which is always
certainly possible, but tweaking needed to achieve this is always
hit-and-miss. It looks like Lily tries *too* hard to avoid objects being too
close and colliding; this leads to problems.
4. Limited playback (this is very important for my choir - we use midi
playback to learn our parts at home. Remember that these people have low
computer skills - learning LilyPond is beyond their capabilities, so they
cannot modify .ly files to get what they want):
- there is no visual feedback with midi (nothing that shows in which place
of the score you are, this is especially important for visualizers),
- starting from chosen measure, or repeating a selected troublesome section,
is difficult,
- they cannot choose which voices play,
- they cannot change tempo of the piece.
Some of these can be partially solved by using some MIDI sequencer, but some
problems remain. Also, they are not tech-savvy enough that simply telling
them 'go use some MIDI sequencer' is a valid answer. I don't like it, but
that's the way things are.
5. Every time Lilypond does something the wrong way i have to learn how to
correct it. While the documentation is great, it stil takes quite a lot of
time.
6. Despite being able to dig through internals, sometimes i still don't know
if the command isn't working because of a bug or because of my mistake. I
know i should investigate this and post apropriate bug report if that's the
case, but i simply don't have time.
7. Trial-and-error metods (which are sometimes necessary) are very
(extremely?) time-consuming because i need to compile the file to see if it
worked properly.
8. Overrides make code quite unreadable for me. While i'm a little familiar
with programming, it is still not easy to read; hopefully this will improve
over time.
9. Sometimes i have no idea why things work the way they do. Especially when
there are many ways to accomplish something.

Maybe some of the problems mentioned above will disappear when i became more
experienced. Still, typesetting some scores is frustrating for me now, and i
can imagine how beginners are easily scared off when they encounter first
serious difficulties :(
Would i choose LilyPond knowing of all these limits? I hate to say this, but
i don't know. Probably after learning all these things about correct
engraving i'd never touch Finale again, but i'm afraid i wouldn't be too
eager to use LilyPond, and quite surely i wouldn't advertise it as much as i
did :(
But as fate would have it, i didn't know about them when i started, so i got
involved :)

The bottom line for me: LilyPond performs greatly in many areas, but
correcting it's mistakes is very difficult and time-consuming. On the other
hand, Finale and other graphical scorewriters typeset music poorly, but
tweaks are easy.
So the problem really is to make "automated engraving" a reality not only in
case of extremely simple scores (i.e. ones containing only notes - i think
this works almost perfect now), but semi-advanced too. I'm not talking about
automatically and beautifully engraving weird contemporary notations
completely out-of-the-box (that's perhaps impossible), only to better
support for some basic areas of 'conventional' notation.

Your view on this subject may, of course, differ.
I hope this was helpful.
cheers,
Janek
_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to