When replying to a code review, please at least keep the URL of the review in the body of the mail, or the review will not be visible on Rietveld.
From: Werner LEMBERG <w...@gnu.org> Subject: Re: Parser: harmonize \lyricsto and \addlyrics arguments
(issue 53120044)
To: d...@gnu.org, re...@codereview-hr.appspotmail.com Date: Fri, 17 Jan 2014 08:44:28 +0100 (CET) (48 minutes, 26 seconds
ago)
>> A side question: What about a syntax like > >> \new Lyrics \with >> { lyricsto = "bla" } >> { bla al blob blob } > >> to be in sync with other modes? > > How would that be "in sync with other modes"? You assign to a > context variable that is not being used, and magically throw the > argument into lyricmode because of that?
Sorry for being imprecise. The idea of \lyricsto is basically to associate lyrics with a note context, as far as I can see. It seems to me that this is kind of a property. We already can do this:
<< \new Staff = "staff" { \new Voice = "melody" { \relative c'' { c4 c c c } } } \new Lyrics \with { alignAboveContext = "staff" } { \lyricsto "melody" { Here are the words } } >>
I now wonder why we can't do
<< \new Staff = "staff" { \new Voice = "melody" { \relative c'' { c4 c c c } } } \new Lyrics \with { alignAboveContext = "staff" lyricsTo = "melody" } { Here are the words } >>
Please look at the idea at a whole and don't get distracted by potential syntax errors in my ad-hoc suggestion.
What's the advantage? At any rate, context properties can be changed over the lifetime of a context. Synchronizing lyrics to a context is a decision that requires using a different iterator because of using quite a different algorithm: the whole timing is affected. So in contrast to context properties, one cannot change horses in midstream. Among other things, a combined lyric implies that the natural length of the lyrics itself must be _ignored_ by LilyPond when it does music length calculations. To do that, one needs to distinguish rerhythmed lyrics at the music expression level already. A context property (which may well be defined at a later point of time in a layout definition) is not available for making that decision at the time it needs to be done. https://codereview.appspot.com/53120044/ _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel