Hello Erik,

What you can do to solve this is to manually increase the space after the clef, 
e.g. doing

\once \override Staff.Clef.extra-spacing-width = #'(0 . 3)

This forces Lilypond to put some extra space after the clef, so there is enough 
room for the arpeggio.

A more systematic solution would be to actually force Lilypond to align the 
Arpeggios. E.g. this code here solves this problem by not solving positioning 
for each arpeggio indiviually, but to position the individual invisible 
Arpeggios (used for spacing) onto the span arpeggio.

%%%
#(define (span-arpeggio-align context)
   (let ((arpeggios '()) (span-arpeggio #f))
     (make-engraver
      (acknowledgers
       ((arpeggio-interface engraver grob source)
        (let* ((det (ly:grob-property grob 'details))
               (staff-arp (assoc-get 'staff-arpeggio det #f)))
          (if staff-arp
              (set! arpeggios (cons grob arpeggios))
              (set! span-arpeggio grob)))))
      ((stop-translation-timestep engraver)
       (if span-arpeggio
           (for-each
            (lambda (g) (ly:grob-set-parent! g X span-arpeggio))
            arpeggios))
       (set! arpeggios '())
       (set! span-arpeggio #f)))))
%%%

I suppose maybe this logic should be incorporated into the span-arpeggio 
engraver, so adding devel for discussion.

Cheers,
Tina

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

Reply via email to