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

Reply via email to