lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Parser: harmonize \lyricsto and \addlyrics arguments (issue 53120044


From: dak
Subject: Re: Parser: harmonize \lyricsto and \addlyrics arguments (issue 53120044)
Date: Fri, 17 Jan 2014 08:59:29 +0000

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 <address@hidden>
Subject: Re: Parser: harmonize \lyricsto and \addlyrics arguments
(issue 53120044)
To: address@hidden, address@hidden
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/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]