\version "2.11.44" \header { title = "Using scheme to add staccato to a sequence of notes" } % To modify a sequence of notes, it's easiest to use a filter: #(define (addStaccatoFilterFunction event) (let ( (eventname (ly:music-property event 'name)) ) (if (eq? eventname 'EventChord) (let ( (elements (ly:music-property event 'elements)) ) ; don't add staccato to rests! (if (not (eq? (ly:music-property (car elements) 'name) 'RestEvent)) (set! (ly:music-property event 'elements) (cons (make-music 'ArticulationEvent 'articulation-type "staccato") elements )))))) ) addStaccato = #(define-music-function (parser location music) (ly:music?) (music-filter addStaccatoFilterFunction music) ) \score { << \new Staff \relative { \addStaccato { c4 r4 c g' g a g2 f f 2 r4 c } \bar"|." } >> }