It is as if Lilypond thinks the span arpeggio doesn't extend that far up. I think this happening because of the single notes having \arpeggio. Lilypond usually discards such arpeggios with "no heads for arpeggio found?". But only if they are squiggly. The attached snippet shows - span arpeggio OK with chords - span arpeggio colliding when including a single note - span arpeggio OK when the single note's arpeggio wouldn't be squiggly - span arpeggio OK when the single note is overridden to be chordlike. The magenta bits show the arpeggios when unconnected. I tried to make this override so that you could apply it globally; see the commented-out entry in the \layout block. But I don't really understand what is going on, so I give no guarantee - that it will always work - that it won't mess up something else. Cheers, Robinin the second bar, using the same override does nothing to increase the spacing between the arpeggio and the preceding note.Hmmm... that's probably because of the multiple-voices... but seems like maybe a bug?
<<attachment: span_no_heads.png>>
\version "2.12.1"
#(define (constrain-hidden-positions grob)
(let* ((iv (ly:arpeggio::calc-positions grob))
(center (interval-center iv))
(shortest-iv (interval-widen (cons center center) 0.25))
(hidden? (ly:grob-property grob 'transparent #f)))
(if hidden? (interval-union iv shortest-iv) iv)))
chord = { <d f>4 \arpeggio d16 d16 d16 d16 <d f>4 \arpeggio
<d f>4 \arpeggio }
single = { d4 \arpeggio d16 d16 d16 d16 d4 \arpeggio
d4 \arpeggio }
hi = \transpose c c''{
\partial 4 s4
\chord
\single
\arpeggioBracket % implicit context is Voice
\single
\revert Arpeggio #'stencil
\override Arpeggio #'positions = #constrain-hidden-positions
\single
\revert Staff.Arpeggio #'positions
}
connectOn = {
\set Staff.connectArpeggios = ##t
\override Staff.NoteHead #'color = #black
\override Staff.Arpeggio #'color = #black
}
connectOff = {
\set Staff.connectArpeggios = ##f
\override Staff.NoteHead #'color = #magenta
\override Staff.Arpeggio #'color = #magenta
}
lo = \transpose c c'{
\partial 4 s4
\repeat unfold 4 {
\connectOn <g, b,>4 \arpeggio s4 <g, b,>4 \arpeggio
\connectOff <g, b,>4 \arpeggio
}
}
noheadsfound = \markup \with-color #magenta { \hspace #-1.8 "â " }
text = {
\partial 4 s4
s4^\markup \with-color #darkgreen "chord is ok" s2 s4
s4^"single is nok" s2 s4^\noheadsfound
s4^\markup \with-color #darkgreen "with bracket" s2 s4
s4^\markup \with-color #darkgreen "with override" s2 s4^\noheadsfound
}
\score {
<< \hi \\ \lo \\ \text >>
\layout {
indent = 0
\context {
\Staff
\consists "Span_arpeggio_engraver"
% \override Arpeggio #'positions = #constrain-hidden-positions
}
}
}
_______________________________________________ lilypond-user mailing list [email protected] http://lists.gnu.org/mailman/listinfo/lilypond-user
