lilypond-user
[Top][All Lists]
Advanced

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

Re: Rehearsal marks and tempo markings


From: Jean Abou Samra
Subject: Re: Rehearsal marks and tempo markings
Date: Thu, 23 Sep 2021 23:34:17 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0

Le 23/09/2021 à 00:47, Nuno Trocado a écrit :
Perhaps you want the tempo mark to start on
the first note rather than the time signature:
Not really... I'd like to have the tempo mark aligning to the time signature, 
but shifting a little horizontally if it collides with a rehearsal mark.

Here is my attempt at automating it.

\version "2.22.1"

\layout {
  \context {
    \Score
    \consists
      #(lambda (context)
         (let ((tempo #f)
               (mark #f))
           (make-engraver
             (acknowledgers
               ((metronome-mark-interface engraver grob source-engraver)
                  (set! tempo grob))
               ((mark-interface engraver grob source-engraver)
                  (set! mark grob)))
             ((stop-translation-timestep engraver)
                (if (and tempo mark)
                    (begin
                      (ly:grob-set-parent! tempo X mark)
                      (ly:grob-set-parent! tempo Y mark)
                      (ly:grob-set-property! tempo
                                             'X-offset
ly:side-position-interface::x-aligned-side)
                      (ly:grob-set-property! tempo 'Y-offset 0)
                      (ly:grob-set-property! tempo 'side-axis X)
                      (ly:grob-set-property! tempo 'padding 0.5)
                      (ly:grob-set-object! tempo 'side-support-elements '())                       (ly:pointer-group-interface::add-grob tempo 'side-support-elements mark)
                      (set! tempo #f)
                      (set! mark #f)))))))
  }
}

{

  r1
  \mark \default
  \tempo 4 = 120
  \time 3/4
  \repeat unfold 4 c''4
  r1
  \mark \default
  \tempo 4 = 120
  r1 r1
  \mark \default
  \tempo 4 = 120
  \repeat unfold 4 c''4
  r1
  \mark \default
  \tempo 4 = 120
  \repeat unfold 4 c''4
  r1
}


Hope that helps,
Jean



reply via email to

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