lilypond-user
[Top][All Lists]
Advanced

[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)

Attachment: signature.asc
Description: This is a digitally signed message part.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]