* 2015-05-19 18:18 +0200: > The aim would be to add two notes to all the languages. > I write > #(define fisarmonica > '( > (i . (ly:make-pitch 8 0 DOUBLE-SHARP)) ; input note, ie a closing > note > (o . (ly:make-pitch 8 0 DOUBLE-FLAT)) ; output note, ie a drawing > note > )) > > then > #(define language-pitch-names > (map > (lambda (x) (append (list (car x)) (append (cdr x) fisarmonica))) > language-pitch-names)) > > gives something ending by > (si . #<Pitch b >) (sik . #<Pitch bis >) (sikk . #<Pitch bisis >) (i > ly:make-pitch 8 0 DOUBLE-SHARP) (o ly:make-pitch 8 0 DOUBLE-FLAT))) > so it does not work > Have you an idea?
You need the backquoting mechanism described by Ralf Mattes. ly:make-pitch is a *function* that needs to be evaluated to produce a pitch object, but your whole definition of fisarmonica is quoted with ', so this does not happen. Change it to #(define fisarmonica `((i . ,(ly:make-pitch 8 0 DOUBLE-SHARP)) (o . ,(ly:make-pitch 8 0 DOUBLE-FLAT)))) and it should work. Best regards, RS _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user