lilypond-user
[Top][All Lists]
Advanced

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

Re: Barcheck with full measure rests


From: David Kastrup
Subject: Re: Barcheck with full measure rests
Date: Tue, 21 May 2019 15:30:58 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)

Michael Gerdau <address@hidden> writes:

>> > the following MWE triggers a barcheck failure. Is that intended or a bug?
>> > And if it is intended I'd like to understand the rationale.
>> > 
>> > %%%%%%%%%%%%%
>> > \version "2.21.0"
>> > { R1*3/4 s4 | }
>> > %%%%%%%%%%%%%
>> 
>> Hi Michael,
>> 
>> that’s intended: R is used for full/multi-measure rests; they start and 
>> end at bar lines. Therefore, R produces not only the rest but also bar 
>> checks.
>> 
>> Those rests always are printed centered in the measure. What would you 
>> expect from the code above?
>
> The use case is this
>
> %%%%%%%%%%%
> \version "2.21.0"
> { R1*3/4 s4^\markup "some markup" |}
> %%%%%%%%%%%
>
> Of course I could achieve that by
> %%%%%%%%%%%
> \version "2.21.0"
> { << { \oneVoice R1 } \\ { s2. s4^\markup "some markup" |} >> }
> %%%%%%%%%%%
> but that seems ugly and at least to me unnecessarily complicated.

Why would you use \\ for creating separate voices here?

At any rate, that sounds like you want \after

after =
#(define-music-function (delay ev main) (ly:duration? ly:music? ly:music?)
   #{ \context Bottom << { s$delay <> $ev } #main >> #})
   
And then you can write
{ \after 2. ^\markup "some markup" R1 | }

-- 
David Kastrup



reply via email to

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