[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: System delimiters for middle of stave
From: |
Valentin Petzel |
Subject: |
Re: System delimiters for middle of stave |
Date: |
Mon, 24 Jul 2023 00:08:44 +0200 |
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.