[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Problems with small staves (Barlines, spanbars, enlarged arpeggios)
From: |
Valentin Petzel |
Subject: |
Re: Problems with small staves (Barlines, spanbars, enlarged arpeggios) |
Date: |
Wed, 19 Jan 2022 22:14:58 +0100 |
Hi Hans,
About 1: The cross-staff Arpeggio appears to be handled as part of the Staff
Group, not of the Staves. Thus add
\override Arpeggio.font-size = #-3
to the PianoStaff. As this will also affect the staves within you need to
specify
\override Arpeggio.font-size = #0
for these.
For the SpanBars: If you open scm/bar-line.scm you can find the function
(define (make-dashed-bar-line grob extent) [etc]
And replace the line
(staff-space (ly:staff-symbol-staff-space grob))
By
(grob-staff-space (ly:grob-property grob 'staff-space))
(staff-space
(if (null? grob-staff-space) (ly:staff-symbol-staff-space grob)
grob-staff-space))
This would then allow you to do
\override BarLine.staff-space = #1
Of course it would be much better to revise the whole span bar routine to
specify such values from the SpanBar grob instead (so we’d be able to do
\override SpanBar.staff-space = #1
instead).
For 3) I think it would be good if you could provide some code.
Cheers,
Valentin
Am Mittwoch, 19. Jänner 2022, 15:54:13 CET schrieb Hans Kenneth Cua:
> Hi, I am having some problems with regards to using smaller/ossia staves.
>
> For the problems I am about to list, I will provide dummy code (this format
> is exactly what I am using for my current score, plus a few unneeded
> overrides that I have removed for convenience):
>
> \version "2.22.1"
>
> \new StaffGroup \with {
> \override SpanBar.glyph-name = #"!"
> \remove System_start_delimiter_engraver } <<
> \new PianoStaff \with {
> \override SpanBar.glyph-name = #"|"
> connectArpeggios = ##t
> } <<
> \new Staff = "vOssiaRight" \with {
> \RemoveAllEmptyStaves
> fontSize = #-3
> \override StaffSymbol.staff-space = #(magstep -3)
> \consists "Span_arpeggio_engraver"
> } \relative { c''1\arpeggio }
> \new Staff = "vOssiaLeft" \with {
> \RemoveAllEmptyStaves
> fontSize = #-3
> \override StaffSymbol.staff-space = #(magstep -3)
> \consists "Span_arpeggio_engraver"
> } \relative { c'1\arpeggio }
>
> \new PianoStaff \with {
> \override SpanBar.glyph-name = #"|" } <<
> \new Staff = "right" \relative { c'1 }
> \new Staff = "left" \relative { \clef bass c1 }
>
>
>
> 1. Cross-staff arpeggios are normal size even when they are in smaller
> staves. How can this be fixed?
> 2. I wish to increase the gap between dashes of the SpanBar. My true
> intention here is to match the dashed barline produced by a normally sized
> staff, because when you have ossias below the staff and none above,
> LilyPond will use the size of the topmost staff to determine the dashed
> barline gap. If other parts of the score have below-staff ossias, this
> becomes inconsistent.
> 3. This is pretty weird, refer to the image. This is the final measure of
> the piece. I have \bar "|." as well as the StaffGroup's SpanBar overridden
> to #"|." and this is what it produces. No ossia staff above (removed by
> \RemoveAllEmptyStaves). What's weird is that when I deleted all the left
> hand ossias up to a certain point, it fixed by itself, but letting one more
> measure stay would mess it up as in the image. No \key changes, no \time
> changes, nothing whatsoever; just a random bar that is very much like its
> previous and succeeding bars. What's causing this problem and how can I fix
> this? (any workaround is welcome if the problem cannot be solved directly)
signature.asc
Description: This is a digitally signed message part.