bug-lilypond
[Top][All Lists]
Advanced

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

Re: ChordNames change measure widths


From: Thomas Morley
Subject: Re: ChordNames change measure widths
Date: Mon, 12 Nov 2018 21:26:24 +0100

Am Mo., 12. Nov. 2018 um 19:28 Uhr schrieb Malte Meyn <address@hidden>:
>
>
>
> Am 12.11.18 um 18:07 schrieb Torsten Hämmerle:
> > Hi Malte,
> >
> > That's strange, but it seems to be related to the *3 (length factor) used in
> > g1*3.
> > Restricting the use of these multipliers to full measure rests (i.e. writing
> > g1 s1*2) I couldn't reproduce the effect.
> > Can you confirm this?
>
> I can confirm for that particular code example. But I found another
> (slightly bigger) example that doesn’t need such scaled durations:
>
> %%%%%%%%%%%%%%%%%%%%%%%%%
> \version "2.19.82"
>
> <<
>    \chords {
>      s1 s s s s s g
>    }
>    \relative {
>      \repeat unfold 32 b16
>      b4 b b b
>      \repeat unfold 16 b16
>      R1 R R R R
>    }
>  >>
> %%%%%%%%%%%%%%%%%%%%%%%%%

Hi,

it has nothing to do with ChordNames. See (although not that obvious):
<<
   \new Staff
   {
     R\maxima
     d''1
   }
   \new Staff {
     \repeat unfold 16 d''16
     R\maxima
   }
>>
Rather it's the SpacingSpanner created by the Spacing_engraver which
does bookkeeping of shortest starting and playing notes.
So in the example we have 16th as shortest and maxima as longest notes
and the intermediate duration of the whole note.
I think LilyPond does it's best to space the whole note correctly in
relation to maxima and 16tel. Don't forget there are not 8 times R1
but a _one_ MultiMeasureRest of length maxima which is _printed_ 8
times.

Though, the output is poor admittedly, but could be improved by
starting a new SpacingSpanner.
See NR 4.5.2 New spacing section. Makes for:

<<
   \new Staff
   {
     R\maxima
     d''1
   }
   %% hack to insert the line-break, if wanted
   %\new Dynamics { s1*3 \break }
   \new Staff {
     \repeat unfold 16 d''16
     \newSpacingSection
     R\maxima
   }
>>


Cheers,
  Harm



reply via email to

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