On Wed, 12 Aug 2020 at 14:10, Hwaen Ch'uqi <
hwaenchuqi@gmail.com> wrote:
>
> Greetings All,
>
> In preparing an orchestral score, I am running into a very practical
> question that others surely must have encountered. I have removed
> Mark_engraver from the score context and placed it in the appropriate
> staff contexts - that is, in the uppermost staff of each instrument
> family. Furthermore, in order to reduce space, I have invoked
> \RemoveEmptyStaves in the staff context of the layout block. However,
> there are then many occasions when rehearsal marks naturally do not
> appear, because the relevant staff is appropriately hidden. In fact, I
> have entire pages where no rehearsal marks appear, even though more
> than one has actually occurred! Of course, I could get around this by
> including Mark_engraver in all staves, but this sort of duplication is
> precisely what I am trying to avoid. Has anyone a solution? This
> question also applies to Metronome_mark_engraver. Could the answer lie
> somehow in the StaffGroup context? Having trouble to wrap my head
> around it!
Hello,
Exactly! Including Mark_engraver in the StaffGroup problem is the solution.
Actually I was about to say that this is unfortunately a bug, but thanks to your message I learned that this bug was actually fixed in 2.21.0 !
Many thanks to Dan Eble for fixing this.
See the minimal example to show this in action.
\version "2.21"
music = \repeat unfold 5 {
\repeat unfold 5 c'1
\mark \default
}
rests = \repeat unfold 5 {
\repeat unfold 5 R1
\mark \default
}
\score {
<<
\new Staff {
s1*0^"Marks should NOT be above this Staff (i.e. above the Score)!"
\music
}
\new StaffGroup {
<<
\new Staff {
s1*0^"Marks are above the StaffGroup (also when the first staff is removed)"
\rests
}
\new Staff {
\music
}
>>
}
>>
\layout {
\context {
\Score
\remove "Mark_engraver"
\remove "Staff_collecting_engraver"
}
\context {
\StaffGroup
\consists "Mark_engraver"
\consists "Staff_collecting_engraver"
}
\context {
\Staff
\RemoveEmptyStaves
}
}
}
Cheers,