Hello David,
thanks for the snippet but I ask if it is possible to modify only the body
of my function, inside lambda (x y)( ... ) so to obtain the same result.
Something like:
%%%%%%%%
fun = #(define-music-function (parser location music1 music2) (ly:music?
ly:music?)
(let
(
(musicList1 (ly:music-property music1 'elements))
(musicList2 (ly:music-property music2 'elements))
)
(map
(lambda (x y)
;
; place HERE the code for copying the WHOLE y element to the
whole x element
; (where y and x have the same position in their corresponding
lists)
;
)
musicList1 musicList2
)
)
#{ $music1 #})
{
\fun {c' r e'} {f' g' a'}
}
2018-03-05 13:42 GMT+01:00 David Kastrup <[email protected]>:
> paolo prete <[email protected]> writes:
>
> > in the snippet below I want to replace, while iterating two lists, the
> > elements of music1 with the elements of music2.
> > The code shows how to do that for pitches, but how can I replace the
> whole
> > element? (for example, a rest or a note with its articulation)
> > %%%%%%%%
> >
> > fun = #(define-music-function (parser location music1 music2) (ly:music?
> > ly:music?)
> > (let
> > (
> > (musicList1 (ly:music-property music1 'elements))
> > (musicList2 (ly:music-property music2 'elements))
> > )
> > (map
> > (lambda (x y)
> > ;iterate notes
> > (display "note found\n")
> > ;(set! (ly:music-property x 'pitch) #{c'#})
> > ;(ly:music-set-property! x 'pitch #{c' #})
> > (ly:music-set-property! x 'pitch (ly:music-property y 'pitch))
> > )
> > musicList1 musicList2
> > )
> > )
> > #{ $music1 #})
> >
> > {
> > \fun {c' d' e'} {f' g' a'}
> > }
>
> Something like
>
>
>
> I'm fuzzy on what music1 is actually good for at all since only a scant
> sketch of its structure is used at all. Probably you need to vary/copy
> more from the original. The music-clone function can take additional
> arguments: maybe that allows you to do something more useful.
>
> --
> David Kastrup
>
>
_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user