Hi,
No, I was applying it to the 2nd system. If I put the command
\showMultiRests before the first bar of any system, it seems to have
no effect, but it works fine when I put it before any other bar on the
staff. As I rarely have just 1 bar on a staff this should not be a
problem in practice.
The reason seem to be that setting keepAliveInterfaces at a line-break
point affects both systems that participate.
For example:
%%%%
\version "2.20.0"
\language "english"
\layout {
\context {
\Staff
\RemoveAllEmptyStaves
}
}
%% => http://lsr.di.unimi.it/LSR/Item?id=312
showMultiRests = {
\set Staff.keepAliveInterfaces = #'(
rhythmic-grob-interface
multi-measure-rest-interface
lyric-interface
stanza-number-interface
percent-repeat-interface)
}
hideMultiRests = \unset Staff.keepAliveInterfaces
fillBar = \relative c' { g'8[ g g g g g] | }
fillLine = { \fillBar \fillBar \fillBar \fillBar }
partA = {
\key d \major \time 6/8 \clef "G"
R2.*4 \break
R2.*4 \break
\showMultiRests R2.*4 \break \hideMultiRests % Affects 3 systems
R2.*4 \break
R2.*4 \break
R2.*4 \break
R2.*4 \break
R2. \showMultiRests R2.*2 \hideMultiRests R2. \break % Affects only 1
system
R2.*4 \break
}
partB = {
\key d \major \time 6/8 \clef "G"
\repeat unfold 9 \fillLine
}
\score {
<<
\new Staff \with { shortInstrumentName = "Pt A" } \partA
\new Staff \with { shortInstrumentName = "Pt B" } \partB
>>
}
%%%%
I do not know if there is an elegant way to change this behaviour.
Best
Lukas