lilypond-devel
[Top][All Lists]
Advanced

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

Re: [bug?] \lyricsto with lyrics above notes


From: Mats Bengtsson
Subject: Re: [bug?] \lyricsto with lyrics above notes
Date: Fri, 03 Sep 2004 16:54:04 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.2) Gecko/20040803

Actually, it seems the for the moment it is even better to
use { } instead of the {s1}. Consider for example the following
(somewhat but not extremely contrived) example:

\version "2.2.6"
\score{
<<
  \context Lyrics = sopranos \notes { } % Lyrics above
%  \context Lyrics = sopranos \notes { s1*10 } % Lyrics above
%  \context Lyrics = sopranos \notes { s1 } % Lyrics below
\context Voice = sopranos \notes \relative c'{R1*10^"Intro." << { r2 c | e g c1 } \context Lyrics = sopranos \lyricsto sopranos \lyrics{A ly -- rics line } >>}
>>
}

where the { s1 } does not keep the context alive long enough for
the actual lyrics to start, so you need {s1*10}. However, for some
reason it also works if you only say { }. I'm pretty sure that the
latter option did not work in early versions of LilyPond, whereas
the {s1*10} trick has been around as long as we have had \addlyrics
(the predecessor of \lyricsto).

   /Mats

Juergen Reuter wrote:
Hi, Mats!

Fully agreed, especially your last point. One point though: You ask why it should? Well, what for example happens exactly with the "{ s1 }"? Currently, it seems like the "s1" is thrown away, as anything else that is put between these two braces. What if future versions somehow merge the two lyrics definitions? That may result in unexpected side effects (additional vertical space, bar check warnings, whatever, ...). Maybe, replacing "{ s1 }" by "{ }" is a little bit safer (provided that future versions will still allow empty blocks)? Ok, I am quite nitpicking here, but I am just feeling uncomfortable with the current "solution".

Greetings,
Jürgen

On Fri, 3 Sep 2004, Mats Bengtsson wrote:



Juergen Reuter wrote:

Ok, it finally seems to work over here; changing "hi4" to "hi8" has no effect (as expected). Still, I fear that the "{ s1 }" trick of the example in section 3.3.1 of the manual is likely to break sooner or later in future versions of lily.

Why should it? The principles behind this trick are:
- The name of a context determines it uniquely, i.e. if you say
  \context Lyrics = mylyrics at two different places in a .ly file,
  both pieces of lyrics will be part of the same lyrics context and
  therefore placed on the same vertical position.
- What I said above is true under the condition that the context
  is "kept alive", i.e. that the first \context Lyrics = myname contains
  something at least up til the point in the piece where the
  second one appears.


Still, I find it a bit strange that it should be so hard to let
\lyricsto refer to a Voice context that appears later in the .ly file,
which is the reason we have to play all these tricks.

  /Mats


_______________________________________________
lilypond-devel mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/lilypond-devel



--
=============================================
        Mats Bengtsson
        Signal Processing
        Signals, Sensors and Systems
        Royal Institute of Technology
        SE-100 44  STOCKHOLM
        Sweden
        Phone: (+46) 8 790 8463                         
        Fax:   (+46) 8 790 7260
        Email: address@hidden
        WWW: http://www.s3.kth.se/~mabe
=============================================




reply via email to

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