Hi, someone of you wrote the following function for me some year before, that allows me to set minor chords in lowercase instead of attaching „m“:
#(define (conditional-string-downcase str condition) (if condition (string-downcase str) str)) #(define (pitch-alteration-semitones pitch) (inexact->exact (round (* (ly:pitch-alteration pitch) 2)))) #(define ((chord-name->german-markup-text-alteration B-instead-of-Bb) pitch lowercase?) "Return pitch markup for PITCH, using german note names. If B-instead-of-Bb is set to #t, real german names are returned. Otherwise, semi-german names (with Bb and below keeping the british names). Alterations are indicated with -es and -is instead of the flat and sharp symbols." (let* ((name (ly:pitch-notename pitch)) (alt-semitones (pitch-alteration-semitones pitch)) (n-a (if (member (cons name alt-semitones) `((6 . -1) (6 . -2))) (cons 7 (+ (if B-instead-of-Bb 1 0) alt-semitones)) (cons name alt-semitones)))) (make-line-markup (list (make-simple-markup (conditional-string-downcase (vector-ref #("C" "D" "E" "F" "G" "A" "H" "B") (car n-a)) lowercase?)) (let ((alteration (/ (cdr n-a) 2))) (cond ((= alteration FLAT) (make-simple-markup "es")) ((= alteration SHARP) (make-simple-markup "is")) (else empty-markup))))))) My only problem with that is, that es major is now displayed as „Ees“ instead of just „Es“. I guess I just need a (case within (= alteration FLAT), but I still don’t speak Lisp (yet)... Greetlings, Hraban --- fiëé visuëlle Henning Hraban Ramm http://www.fiee.net http://angerweit.tikon.ch/lieder/ https://www.cacert.org (I'm an assurer) _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user