[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: MetronomeMark and break-visibility
From: |
Jean Abou Samra |
Subject: |
Re: MetronomeMark and break-visibility |
Date: |
Tue, 1 Nov 2022 16:30:48 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.3.1 |
Le 01/11/2022 à 12:55, Thomas Morley a écrit :
Hi,
the following code for _Rehearsal_Mark works as expected, i.e. the
RehearsalMark is printed at end of line:
{
b1
\override Score.RehearsalMark.break-visibility = ##(#t #f #f)
\mark \default
\break
b
}
Alas, the same for _Metronome_Mark fails, the MetronomeMark is not
printed at all:
{
b1
\override Score.MetronomeMark.break-visibility = ##(#t #f #f)
\tempo "Andante" 4 = 60
\break
b
}
although MetronomeMark has settings for break-visibility.
Is this on purpose or a bug?
How to make it work?
This looks weird. In this case at least, Metronome_engraver sets
non-musical = #t on the MetronomeMark, yet it also sets its X
parent to the current *musical* column, not the non-musical one.
That's contradictory. As a result, MetronomeMark is not a breakable
item, since its parent is PaperColumn and not NonMusicalPaperColumn.
But it has a break-visibility. This makes for a mess.
It works if you do
\version "2.23.80"
\new Score \with {
\consists
#(lambda (context)
(let ((tempo #f))
(make-engraver
(acknowledgers
((metronome-mark-interface engraver grob source-engraver)
(set! tempo grob)))
((stop-translation-timestep engraver)
(when tempo
(ly:grob-set-parent! tempo X (ly:context-property context
'currentCommandColumn)))
(set! tempo #f)))))
}
{
b1
\override Score.MetronomeMark.break-visibility = ##(#t #f #f)
\override Score.MetronomeMark.self-alignment-X = #RIGHT
\tempo "Andante" 4 = 60
\break
b
}
I suggest to open an issue.
It is probably related to
https://gitlab.com/lilypond/lilypond/-/issues/1276
Best,
Jean