[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: \lyricsto ruins sequential lyrics
From: |
Thomas Morley |
Subject: |
Re: \lyricsto ruins sequential lyrics |
Date: |
Sun, 3 Sep 2017 14:42:24 +0200 |
2017-09-03 1:14 GMT+02:00 Dan Eble <address@hidden>:
> I hope this example makes clear what I’m trying to do. Below is the input,
> and attached is what a MIDI editor shows of the output. (I hope it comes
> through.) In the output, \unfoldRepeats has unfolded the notes into two
> measures, but the lyrics are still concurrent in the first measure
> (naturally, because they’re not contained in a \repeat). I have been trying
> to find a way to serialize the lyrics that is equal in convenience to
> \unfoldRepeats. I tried writing a function that would convert tagged
> simultaneous music into sequential music; while using it, I discovered the
> inconsistencies with \lyricsto that I reported.
>
> \version "2.19.0"
>
> music = <<
> \context Voice = "V" \repeat volta 2 \relative c'' { c c c c }
> \context Lyrics = "1" \lyricsto "V" { This is verse one. }
> \context Lyrics = "2" \lyricsto "V" { This is verse two. }
>>>
>
> \score {
> \unfoldRepeats \music
> \midi {}
> }
>
> Regards,
> —
> Dan
Hi Dan,
still not sure I really understood what you are after...
Though, how about below?
Admittedly, it's only the sketch of an idea, but seems to work
music =
\new Voice = "m" \repeat volta 2 \relative c'' { c4 c8 c c4 c }
lyrI = \lyricmode { Aa Bb Bb Aa Aa }
lyrII = \lyricmode { Cc Dd Dd Cc Cc }
lyr-ls = #(list lyrI lyrII)
<<
\music
$@(map (lambda (e) #{ \new Lyrics \lyricsto "m" $e #}) lyr-ls)
>>
\unfoldRepeats
<<
\music
\new Lyrics \lyricsto "m" { address@hidden }
>>
Cheers,
Harm