lilypond-user
[Top][All Lists]
Advanced

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

Re: Horizontal positioning of a tempo marking on a full-measure rest


From: Jun Tamura
Subject: Re: Horizontal positioning of a tempo marking on a full-measure rest
Date: Sat, 26 Sep 2020 23:33:25 +0900

Thank you, Aaron and Xavier.

I figured that I can obtain satisfactory result with the following:

%%%%
\version "2.20.0"

violinMusic = \relative c' {
  \tempo "Allegro" c4 d e f |
  \tempo \markup \italic "rit." g a b c |
  \tempo "Tempo I." c b a g |
}

celloMusic = \relative c {
  \clef bass
  \tempo "Allegro" c4 d e f |
  <<
    {R1}
    {\tempo \markup \italic "rit." s4 s s s}
  >> |
  <<
    {R1}
    {\tempo "Tempo I." s4 s s s}
  >> |
}

\score {
  \new StaffGroup <<
    \new Staff \with {
      instrumentName = Violin
    }
    \violinMusic
    \new Staff \with {
      instrumentName = Cello
    }
    \celloMusic
  >>
}

\score {
  \new Staff \with {
    instrumentName = Violin
  }
  \violinMusic
}

\score {
  \new Staff \with {
    instrumentName = Cello
  }
  \celloMusic
}
%%%%

> 2020/09/26 22:55、Aaron Hill <lilypond@hillvisions.com>のメール:
> 
> On 2020-09-26 1:33 am, Xavier Scheuer wrote:
>> On Sat, 26 Sep 2020 at 08:27, Jun Tamura <j.tamura@me.com> wrote:
>>> Hello,
>>> Is there an easy way to align a tempo marking on a full-measure rest at
>> the beginning of the measure?  In the following example, the “rit.” and
>> “Tempo I.” are aligned to the beginning of the measures on the score and
>> the violin part but their horizontal placements on the cello part look
>> somewhat strange.
>> Hello,
>> Tempo markings are (correctly) aligned where a first note *would be*. To
>> illustrate this look at your first example with
>> the "Metronome_mark_engraver" in both staves.
> 
> Another option is to enable the debug display of paper columns.  Add the 
> following to the top of your file:
> 
> %%%%
> \version "2.20.0"
> 
> \layout {
>  \context {
>    \Score
>    \override PaperColumn.color = #'(0.4 0.6 0.1)
>    \override PaperColumn.stencil = #ly:paper-column::print
>    \override NonMusicalPaperColumn.color = #'(0.7 0.2 0.5)
>    \override NonMusicalPaperColumn.stencil = #ly:paper-column::print
>  }
> }
> 
> % . . .
> %%%%
> 
> (PaperColumns will be green, and NonMusicalPaperColumns will be purple.  The 
> blue and red arrows visualize the ideal-distances and minimum-distances 
> properties.)
> 
> Attached is the output you should see.  MetronomeMarks will horizontally 
> align to an appropriate paper-column-interface.  Note that "rit." aligns to 
> PaperColumn #9 in all three systems.  However also note that the spacing 
> between NonMusicalPaperColumn #8 and PaperColumn #9 differ due to the 
> presence (or absence) of notes.
> 
> I have tried a few things but cannot reliably solve the issue of reducing the 
> "ideal-distance" between columns #8 and #9 when there is just a 
> MultiMeasureRest there.  Xavier's recommendation of adjusting minimum-length 
> seems to mainly affect the minimum-distance, making the measure wider; but 
> this does not move the MetronomeMark closer to the BarLine.
> 
> You could simply \tweak extra-offset #'(-1 . 0) to shift the tempo marking to 
> the left.  Using tags would mean you could then conditionally apply this 
> shift only in the cases where you need it.  Consider:
> 
> %%%%
> shiftTempoLeft =
>  \tag shiftTempoLeft
>  \tweak extra-offset #'(-1 . 0)
>  \etc
> % . . .
> celloMusic = \relative c {
>  \clef bass
>  \tempo "Allegro" c4 d e f |
>  \shiftTempoLeft
>  \tempo \markup \italic "rit." R1 |
>  \shiftTempoLeft
>  \tempo "Tempo I." R1
> }
> % . . .
> \score {
>  \new StaffGroup <<
>    \new Staff \with {
>      instrumentName = Violin
>    }
>    \violinMusic
>    \new Staff \with {
>      instrumentName = Cello
>    }
>    \removeWithTag #'(shiftTempoLeft)
>    \celloMusic
>  >>
> }
> % . . .
> \score {
>  \new Staff \with {
>    instrumentName = Cello
>  }
>  \celloMusic
> }
> %%%%
> 
> 
> -- Aaron Hill<tempo-alignment.cropped.png>




reply via email to

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