[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
markLengthOn-dir-bug.png
Description: PNG image
- markLengthOn fails, if MetronomeMark/RehearsalMark-direction is DOWN,
Thomas Morley <=