Music *mus = unsmob_music (scm_car (s));
report_event (mus);
}
+ for (SCM s = get_music ()->get_property ("articulations");
+ scm_is_pair (s); s = scm_cdr (s))
+ {
+ Music *mus = unsmob_music (scm_car (s));
+ report_event (mus);
+ }
}
Simple_music_iterator::process (m);
}
;; post_events : ( post_event | tagged_post_event )*
;; tagged_post_event: '-' \tag embedded_scm post_event
- (let* ((elements (ly:music-property chord 'elements))
+ (let* ((elements (append (ly:music-property chord 'elements)
+ (ly:music-property chord 'articulations)))
(chord-elements (filter (lambda (m)
(music-is-of-type? m 'rhythmic-event))
elements))
(define-public (music-elements music)
"Return list of all @var{music}'s top-level children."
(let ((elt (ly:music-property music 'element))
- (elts (append
- (ly:music-property music 'articulations)
- (ly:music-property music 'elements))))
- (if (not (null? elt))
- (cons elt elts)
- elts)))
+ (elts (ly:music-property music 'elements))
+ (arts (ly:music-property music 'articulations)))
+ (if (pair? arts)
+ (set! elts (append elts arts)))
+ (if (null? elt)
+ elts
+ (cons elt elts))))
(define-public (find-child music predicate)
"Find the first node in @var{music} that satisfies @var{predicate}."