Dear Gilles,
Wow, thats great!
I'm always wondering what scheme and lilypond can do.
I think, I should learn it.

2010/2/1 Gilles THIBAULT <[email protected]>

>
>
> I wanted to get the output:
> { c'8 c'' d' d'' e' e'' } %etc.
> by typing:
> { \changePitch \test { c' d' e' } }
>
> Ok, i understand now.
> Well, i think the \brokenOctaves has to be a little more complex.
>
> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
> \version "2.12"
> \include "changePitch.ly"
>
>
> brokenOctaves = #(define-music-function (parser location music) (ly:music?)
> (let loop ((x music))
>   (let ((e (ly:music-property x 'element))
>         (es (ly:music-property x 'elements)))
>     (cond
>       ((eq? 'EventChord (ly:music-property x 'name))
>         (if (and (pair? es)
>                    (eq? 'NoteEvent (ly:music-property (car es) 'name)))
>            (set! x (make-sequential-music (list
>                       x
>                       #{\transpose c c' $x #})))))
>       (else
>          (if (ly:music? e) (ly:music-set-property! x 'element (loop e)))
>          (if (pair? es)(ly:music-set-property! x 'elements (map loop
> es))))))
>   x))
>
>
> test = { c8. c16}
> \new Staff {  \changePitch \test  \brokenOctaves  { c' d' e' } }
> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
>
>
> Gilles
>
>
_______________________________________________
lilypond-user mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to