[Top][All Lists]

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

Re: Change of RehearsalMark behaviour

From: David Sumbler
Subject: Re: Change of RehearsalMark behaviour
Date: Tue, 21 Dec 2021 21:46:15 +0000
User-agent: Evolution 3.36.5-0ubuntu1

Hi Valentin

You're right.  Having read your latest a few times, I see that it is, indeed, not very complicated.  Thanks for the clarification.


On Tue, 2021-12-21 at 00:26 +0100, Valentin Petzel wrote:
Hello David,

It’s not very complicated: The old behaviour uses one Mark_engraver to handle 
mark events and place marks. The new behaviour has the 
Mark_tracking_translator which handles the mark events and decides to whether 
to have the Mark_engraver create a mark.

So when the Mark_engraver is at Staff level and the Mark_tracking_translator 
is at Staff level each mark event will be handles in the respective staff and 
sent to the corresponding Mark_engraver. But if the Mark_tracking_translator 
is on Score level it will handle all mark events that appear within the score 
and send them to all Mark_engravers within the score, which means that each 
Staff will get every Mark.


Am Dienstag, 21. Dezember 2021, 00:15:56 CET schrieb David Sumbler:
On Mon, 2021-12-20 at 18:20 +0100, Jean Abou Samra wrote:
Le 20/12/2021 à 16:18, David Sumbler a écrit :
I set a piece a while ago using Lilypond 2.19.48.  It consists of 2
staves, and I used \mark for some annotations that I wanted to
appear above or on barlines - mostly the "crotchet - dotted
crotchet" type of thing.  Sometimes these only applied to one of
the staves, so I would specify the mark in the music for the
appropriate staff.  I added:      \layout {\context {
\Score   \remove Mark_engraver }\context { \Staff   \consists
Mark_engraver }      }and it all worked just as intended.
I was recently asked to make a new version of the piece.  The main
change is from a male voice to a female one, but this necessitated
a few changes in the other (instrumental) staff.  I ran convert-ly
on copies of the original files as I now had Lilypond 2.23.4
installed.  I then edited these to produce the new version
Unfortunately the behaviour of RehearsalMark seems to have changed.

 Whereas previously a mark only appeared over the staff whose music

it was specified in, I find that now all of the marks appear in
both staves, regardless of which staff they are intended for.
Is this a bug or an intentional change?  And is there another way I
can use marks to get the result I want and previously had?

This change was intended, see the top entry at

To get the old behaviour, also move theMark_tracking_translator, like

\version "2.22.1"
\layout {   \context {     \Score     \remove Mark_engraver
\remove Mark_tracking_translator   }   \context {     \Staff
\consists Mark_engraver     \consists Mark_tracking_translator   }}
<<   \new Staff { \mark \default c'1 }   \new Staff { c'1 \mark
\default } >>


Thank you for that.  A nice, simple fix to implement.  I must say,
though, that I'm having a bit of difficulty getting my head around the
new behaviour!


reply via email to

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