> I am not topposting Let's see whether bypassing Gmane gets us into the discussion any faster.
Jan-Peter Voigt <jp.vo...@gmx.de> writes: > Hello Urs, > > the articulations are were copied to the EventChord - so I added > copying the articulations from NoteEvent to EventChord. > That means, they should not stay in the NoteEvents when getting > wrapped into the EventChord: Well, you could use event-chord-wrap! in order to fix this the easy way. Actually, here is a somewhat amusing version that can do quite a bit more with quite less code, and that will work both in absolute as well as relative mode.
relTranspose = #(define-music-function (parser location from to mus) (ly:pitch? ly:pitch? ly:music?) #{ \withMusicProperty #'to-relative-callback #(lambda (m p) (let ((mu (ly:music-property m 'element))) (ly:music-transpose mu (ly:pitch-diff from to)) (ly:make-music-relative! mu p) (ly:music-transpose mu (ly:pitch-diff to from))) p) \transpose $from $to $mus #}) makeDuped = #(define-music-function (parser location from arg mus) (ly:pitch? ly:music? ly:music?) (make-simultaneous-music (fold-some-music (lambda (m) (music-is-of-type? m 'note-event)) (lambda (p l) (cons #{ \relTranspose $from $(ly:music-property p 'pitch) $mus #} l)) (list #{ $mus #}) arg))) \relative c' { \time 3/8 \key gis \minor \makeDuped c' c'' { dis8( e dis')~ dis8.( cis16 b8} \makeDuped c' <c g> { ais' gis dis) cis( dis<dis gis'>) } }
-- David Kastrup
_______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user