Hey Michael,
You've managed to list several of what I think are the biggest areas for
improvement for LilyPond. LilyPond being an open source project written mostly
in C++, we are always looking for help in improving any of these things. As
you are a C++ developer, if you wanted to help us with this, the entire
community would be very grateful. Below, I outline the current state of each
issue you identify below with the work it would take to get it done.
On 25 sept. 2012, at 12:00, michael.str...@boehringer-ingelheim.com wrote:
> Hi,
>
> I want to share some thoughts about piano music with you.
>
> For many years I have been using Score/WinScore for writing music. Since my
> main interest is the piano I wrote a lot of piano scores.
>
> The learning curve of Score is steep but once you get used to it, it will
> enable you to produce really beautiful and perfect piano scores with .. lets
> say, medium effort, regardless if the score is easy, or complex or even very
> complex.
>
> As most of you may be aware, piano music can be very very complex. I’m not
> talking about contemporary music, but if you look into piano music from
> Schumann, Brahms, Liszt, Scrijabin etc. you can see that the requirements of
> this music in the view of notation are extremely high.
>
> I list here some of these complexities and I do not pretend for completeness,
> just to give you an impression what a piano-score-writer has to struggle with
>
> - Multiple voices (up to 4 in 1 staff), either temporary or consistent
> via the entire score, voices can also contain cords up to 6 notes and a lot
> of accidentals.
>
LilyPond already handles this fairly well - the syntax may be elaborate, but it
has an algorithm contained in lily/note-collision.cc that is rather thorough.
However, there is a lot of hard-coded behavior in this algorithm that could be
opened up to allow user overrides.
> - Cross staff beaming
>
>
LilyPond does cross staff beams and stems, but it cannot draw them until it
figures out how far apart systems must be spaced, which is very late in the
compilation process. This means that it is difficult to place objects aligned
above or below them and it is difficult to account for them in vertical
spacing. This usually does not cause a problem but sometimes can in tight
scores. I am currently working on a solution to this as well as other cross
staff objects and would be happy to talk about my work off-list.
> - Cross staff ties
>
>
LilyPond doesn't do these at all in any native way that I know of. Someone
else can chime in if they know a hack for these.
> - Cross staff slurs
>
>
Same problem as ties, with the added problem that LilyPond does not know how to
make complex slurs that do anything other than arch around notes. Check out
the passage around the 1-minute mark of
http://www.youtube.com/watch?v=yCcqkFTvwAI. LilyPond cannot do this, for
example, but it's possible - it'd just require making the range of slur
possibilities larger in slur-scoring.cc and slur-configuration.cc.
> - Multiple slurs beginning on one note
>
>
This is an easier fix than the other ones - it'd just require work in
Slur_engraver and Phrasing_slur engraver.
You can already do something like this via :
a \( ( b ) c \)
> - Ties from one voice to another
>
>
\layout {
\context {
\Voice
\remove "Tie_engraver"
}
\context {
\Staff
\consists "Tie_engraver"
}
}
but it's not perfect.
> - Temporary staffs ( piano music may be notated temporary on 3 staffs
> or even 4 staffs -> look Rachmaninovs famous c#minor prelude )
>
>
This is doable - check out the documentation on ossia staves. In order to
un-ossia-fy them, you can just make them the same size and normal staves.
> - …
>
>
> Of course I’m aware that most ( not all! ) of these issues can be realized
> with lilypond …
>
They all can, but as this is an open source project where developers work on it
during their free time, they can only be realized and improved if we have new
people helping out or if we have more free time. The latter is difficult, but
the former would be great. Lemme know if you're interested in doing some
LilyPond development on any of this issues and I can get you started off on the
right foot.
Cheers,
MS
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user