<c c'> <d d'> <e e'> <f f'> goes to
c d e f c' d' e' f'
I don't know if it will help but i did for me something like that :
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
#(define (has-duration? music)
(ly:duration? (ly:music-property music 'duration)))
#(define (not-has-duration? music)
(not (has-duration? music)))
keepsOnlyFirstNote = #(define-music-function (parser location music)
(ly:music?)
(music-map
(lambda (evt)
(if (eq? 'EventChord (ly:music-property evt 'name))
(let ((elts (ly:music-property evt 'elements)))
(if (has-duration? (car elts))
(ly:music-set-property! evt 'elements (cons
(car elts)
(filter not-has-duration? (cdr elts)))))))
evt)
music))
deleteFirstNote = #(define-music-function (parser location music)
(ly:music?)
(music-map
(lambda (evt)
(if (eq? 'EventChord (ly:music-property evt 'name))
(let ((elts (ly:music-property evt 'elements)))
(if (has-duration? (car elts))
(ly:music-set-property! evt 'elements (cdr elts)))))
evt)
music))
music =\relative {
<c e>4-> <d f>( <b g'>) <c e>-. g2 c2
}
\markup { Music with chords }
\new Staff \music
\markup { Music splitted in 2 staffs }
<<
\new Staff \deleteFirstNote \music
\new Staff \keepsOnlyFirstNote \music
>>
%%%%%%%%%%%%%%%%%%%%%%%%%%
Gilles
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user