The trick is simply to not override the stencil for these cases. But before you invest huge amounts of effort remember this code does not handle breaks exactly well. Back then I spent a significant amount of time to get my solution to work well with any configuration of breaks, it is quite a pain to handle the breaking behaviour here.
The issues here:
1) If you have a break in the place the replication happens you get a
replication at the end of the line. This should probably include a check if
the line is broken.
2) When you have a break so that in a line no columns replicate you get an
issue. This can probably be solved like this:
#(define replicate-stil
(grob-transformer
'stencil
(lambda (grob original)
(let* ((replicate (ly:grob-object grob 'replicate-on-cols))
(replicate (if (ly:grob-array? replicate) (ly:grob-array->list
replicate) '()))
(left (ly:spanner-bound grob LEFT))
(own (interval-start (ly:paper-column::break-align-width left
'clef)))
(sts (map (lambda (col)
(let ((tr (interval-start (ly:paper-column::break-
align-width col 'clef))))
(ly:stencil-outline
(ly:stencil-translate-axis original (- tr own) X)
empty-stencil)))
replicate)))
(if (null? replicate)
original
(apply ly:stencil-add (cons original sts)))))))
3) When the line is broken so that the staff is stopped at the begin of the
line no initial delimters will be created. Thus also nothing will be
replicated.
Cheers,
Valentin
Am Sonntag, 23. Juli 2023, 21:06:05 CEST schrieb Alex Voice:
> I should like, if possible,
> the Piano Staff at the bottom not to have its brace reinstated,
> to lose the SpanBar between ChoirStaff and PianoStaff (that’s probably the
> easy bit - I’ve just forgotten how!)
signature.asc
Description: This is a digitally signed message part.
