lilypond-devel
[Top][All Lists]
Advanced

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

Re: music function to be included somewhere in scm/*


From: Alexander Kobel
Subject: Re: music function to be included somewhere in scm/*
Date: Wed, 21 Dec 2016 13:59:49 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.4.0

On 2016-12-20 14:16, Knut Petersen wrote:
I still have one problem:

\score {
    %\displayMusic
  <<
    \new Voice = "singleVoice" {
        \relative {
          a'4 a a a
          \repeat volta 3 { b4 b b b }
          c4 c c c
       }
    }
    \displayMusic \new Lyrics \lyricsto "singleVoice" {
      Not re -- peat -- ed.
      <<
        { The first time words.    }
        \new Lyrics { \set associatedVoice = "singleVoice" Sec -- ond
time  words. #(make-music (quote CompletizeExtenderEvent)) }
        \new Lyrics { \set associatedVoice = "singleVoice" The third
time words. #(make-music (quote CompletizeExtenderEvent)) }
      >>
    }
  >>
}

I would like to see a CompletizeExtenderEvent automatically generated at
the places indicated above ... I think that this could be possible in the
add-lyrics code defined at the end of scm/ly-syntax-constructors.scm.
Any ideas how to change the code there?

Hi Knut,

not really an idea here. I was not even aware that a CompletizeExtenderEvent exists...

W.r.t. the << >> issue, not sure whether this is an intended and supported functionality. I'm afraid that it might just work "by accident". Note that a) the music expressions for second and third repeat in your example are not of type LyricCombineMusic, b) that the \set associatedVoice does not seem to do what you think it does (try to add a different voice with a different rhythm, and you'll find that the lyrics still align to "singleVoice"), and
c) that, consequently, there is a difference between
  \new Lyrics { \set associatedVoice = "..." { ... }
and
  \new Lyrics \lyricsto "..." { ... }
inside << >>.

Given enough time, I should be able to figure out a Scheme workaround that involves promoting the level of the inner expressions. But I'm afraid it will be ugly and probably not very robust; I can translate the expression from one form to the other, but without understanding its meaning and implications entirely. Is there anyone who can comment on the side effects of using this construct, and whether and how it is supposed to work?


Cheers,
Alexander



reply via email to

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