On 15 February 2011 14:25, Rob Canning <r...@goto10.org> wrote: > where lies the error or is there a better way to do this - am slightly > suprised there is not a build in function for this... maybe there is?
There are several parser limitations you're encountering here. The only way around them is to stay in scheme when creating the new chord: artHarm = #(define-music-function (parser location note) (ly:music?) (let ((harm (ly:music-transpose (ly:music-deep-copy (car (ly:music-property note 'elements))) (ly:make-pitch 0 3 0)))) (set! (ly:music-property harm 'articulations) (list (make-music 'HarmonicEvent))) (set! (ly:music-property note 'elements) (append (ly:music-property note 'elements) (list harm))) note)) { \artHarm ais } BTW, this only works properly in absolute note mode due to the way transposing interacts with \relative { } blocks (there's a note in the docs warning about this under \transpose). Cheers, Neil _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user