|
From: | address@hidden |
Subject: | Re: piano music with lilypond |
Date: | Tue, 25 Sep 2012 12:21:34 +0200 |
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, address@hidden wrote:
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.
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.
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.
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 \)
\layout { \context { \Voice \remove "Tie_engraver" } \context { \Staff \consists "Tie_engraver" } } but it's not perfect.
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 |
[Prev in Thread] | Current Thread | [Next in Thread] |