lilypond-user
[Top][All Lists]
Advanced

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

Re: No lyric extenders for RhythmicStaff if music comes from a variable


From: David Kastrup
Subject: Re: No lyric extenders for RhythmicStaff if music comes from a variable
Date: Tue, 27 Nov 2018 23:01:04 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)

Aaron Hill <address@hidden> writes:

> On 2018-11-27 1:22 pm, Lukas-Fabian Moser wrote:
>
>> \version "2.19.80"
>>
>> Melodie = \relative g' {
>>     g8 16 16 16 8.~  4 r
>> }
>>
>> \new Staff \Melodie \addlyrics { Once there was a way __ }
>>
>> \new RhythmicStaff \Melodie \addlyrics { Once there was a way __ }
>>
>> \new Staff \relative g' { g8 16 16 16 8.~  4 r }  \addlyrics { Once
>> there was a way __ }
>>
>> \new RhythmicStaff \relative g' { g8 16 16 16 8.~  4 r } \addlyrics {
>> Once there was a way __ }
>>
>> As can be seen, the second example does not contain the Lyric
>> extender. Why is this so, and how can I get it back? (True for 2.19.80
>> as well as not-so-current master from a few weeks/months ago.)
>
> Some curly braces seem to help:
>
> %%%%
> \new RhythmicStaff { \Melodie \addlyrics { Once there was a way __ } }
> %%%%
>
> Using \displayMusic shows that use of the variable versus the explicit
> \relative produces a different S-expression, but I am not sure where
> the fault lies.

I never managed to get the parser to group \addlyrics just with the
desired expressions.  Operator priorities for shift/reduce conflict
resolution are hard to get right, and this is the major case where I did
not manage even though there are several issues and patches trying to
fix it.

-- 
David Kastrup



reply via email to

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