bug-lilypond
[Top][All Lists]
Advanced

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

markLengthOn fails, if MetronomeMark/RehearsalMark-direction is DOWN


From: Thomas Morley
Subject: markLengthOn fails, if MetronomeMark/RehearsalMark-direction is DOWN
Date: Fri, 13 Mar 2015 03:12:38 +0100

\markLengthOn returns wrong output for MetronomeMark and
RehearsalMark, while their direction is DOWN.

\version "2.19.16"

mus = {
  \repeat unfold 8 c''8
  \mark "RehearsalMark"
  \repeat unfold 8 c''8
  \tempo "MetronomeMark"
  \repeat unfold 8 c''8
}

{
  \markLengthOn
  \mus
  \break
  \override Score.RehearsalMark.direction = #DOWN
  \override Score.MetronomeMark.direction = #DOWN
  \mus
}

The values for 'extra-spacing-height should depend on the direction of
MetronomeMark and RehearsalMark.



A workaround might be something at the lines of:


#(define extra-spacing-height-from-direction
   (lambda (grob)
     (let ((dir (ly:grob-property grob 'direction)))
       (ly:grob-set-property! grob 'extra-spacing-height
          (cons (* dir 4)  (* dir 4))))))

markLengthOn = {
  \override Score.MetronomeMark.extra-spacing-width = #'(0 . 1.0)
  \override Score.RehearsalMark.extra-spacing-width = #'(-0.5 . 0.5)
  % Raise as much as four staff-spaces before pushing notecolumns right
  \override Score.MetronomeMark.before-line-breaking =
   #extra-spacing-height-from-direction
  \override Score.RehearsalMark.before-line-breaking =
   #extra-spacing-height-from-direction
}


Cheers,
  Harm

Attachment: markLengthOn-dir-bug.png
Description: PNG image


reply via email to

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