lilypond-user
[Top][All Lists]
Advanced

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

Stanza strangeness


From: Don Blaheta
Subject: Stanza strangeness
Date: Thu, 29 Nov 2007 05:54:40 -0600
User-agent: Mutt/1.2.5.1i

I've noticed some curious behaviour with \set stanza.  (Admittedly, I'm
abusing it a bit, so it's not surprising this wouldn't've come up in
testing!)

If in a Lyrics context I put in a literal
  \set stanza = "*"
then the name of the stanza (here an asterisk) is printed in the lyric,
just as I wanted it to be, without attaching itself to a note.  It does
this even if there are other identical "\set stanza" marks in the same
vicinity.

But if I try to bundle it into a pre-packaged command, it only works if
the stanza does not already have that name.  Thus, it works fine the
first time, but not subsequent times.  Consider:

  join = { \set stanza = "*" }

  \new Lyrics \lyricsto "mel" \lyricmode {
      A -- gnus De -- i,
      \join
        qui tol -- lis pec -- ca -- ta mun -- di:
        mi -- se -- re -- re no -- bis.
        
      A -- gnus De -- i,
      \join 
        qui tol -- lis pec -- ca -- ta mun -- di:
        mi -- se -- re -- re no -- bis.

      A -- gnus De -- i,
      \join 
        qui tol -- lis pec -- ca -- ta mun -- di:
        do -- na no -- bis pa -- cem.
  }

When I try this in 2.10.33, the first asterisk prints but the next two
don't.  If I replace all the \join lines with the original \set stanza,
they all print.  If I replace just the second \join with a \set stanza,
all three print.  If I replace just the third \join, then the first and
third print.

I can't imagine a reason why having that in-line vs in a macro *should*
affect the behaviour, though I imagine in practice it's something to do
with the macro version's string being evaluated once and therefore being
referentially equal to itself.  Or I could be completely off-base and
this could be not a bug, but a feature. :)

-- 
-=-Don address@hidden<http://www.blahedo.org/>-=-
"Even the kindest of souls occasionally harbor unkind thoughts, but if
they can plausibly deny them, no harm is done."         --Miss Manners




reply via email to

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