I see. Then I ask if is it possible at least, by placing a simple instruction inside lambda (x y) ( ...) while iterating, to:
1) replace x with a rest 2) add a list of articulations (for example: "->", "\mp") to x 2018-03-05 17:28 GMT+01:00 David Kastrup <d...@gnu.org>: > paolo prete <paoloprete...@gmail.com> writes: > > > 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 #}) > > No. x and y are values stored in lists. The relation to their lists is > not passed into your function, so you cannot change it there. > > You'd need to use something like pair-for-each to modify the first list > in-place, and that gets old fast as music structures change. > > There is an actual reason functions like map-some-music are provided. > > -- > David Kastrup >
_______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user