\version "2.16" #(define ((strum arrowdir) grob) (let* ( (longer 0.5) (closer 0.5) (chord-lo-hi (ly:grob-property grob 'positions)) (line-lo-hi (interval-widen chord-lo-hi longer)) (len (interval-length line-lo-hi)) ) (if (not (= 1 (abs arrowdir))) #f ; only for UP or DOWN (grob-interpret-markup grob (markup #:translate (cons closer (interval-center line-lo-hi)) #:scale (cons 1 (- arrowdir)) #:translate (cons 0 (* -0.5 len)) #:combine #:draw-line (cons 0 len) #:tiny #:arrow-head Y DOWN #t))))) strumUP = \once \override Arpeggio #'stencil = #(strum UP) strumDOWN = \once \override Arpeggio #'stencil = #(strum DOWN) { \strumUP 4 \arpeggio \strumDOWN 4 \arpeggio }