X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fchord-ignatzek-names.scm;h=22f54fec85e523adde58e5715ebd9bee0d6947a1;hb=86922b24296cdb5c122f731d70c9e186b7f6b9bf;hp=dbff86a8b08f97738bfe24773d4039fc736eed0e;hpb=c8e6f4dbdbe2932504aa294394862728cff0ba5c;p=lilypond.git diff --git a/scm/chord-ignatzek-names.scm b/scm/chord-ignatzek-names.scm index dbff86a8b0..22f54fec85 100644 --- a/scm/chord-ignatzek-names.scm +++ b/scm/chord-ignatzek-names.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2000--2011 Han-Wen Nienhuys +;;;; Copyright (C) 2000--2014 Han-Wen Nienhuys ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by @@ -130,7 +130,9 @@ work than classifying the pitches." (define (prefix-modifier->markup mod) (if (and (= 3 (pitch-step mod)) (= FLAT (ly:pitch-alteration mod))) - (make-simple-markup (if lowercase-root? "" "m")) + (if lowercase-root? + empty-markup + (ly:context-property context 'minorChordModifier)) (make-simple-markup "huh"))) (define (filter-alterations alters) @@ -168,8 +170,10 @@ work than classifying the pitches." (make-line-markup total))) (let* ((sep (ly:context-property context 'chordNameSeparator)) + (slashsep (ly:context-property context 'slashChordSeparator)) (root-markup (name-root root lowercase-root?)) - (add-markups (map (lambda (x) (glue-word-to-step "add" x)) + (add-pitch-prefix (ly:context-property context 'additionalPitchPrefix)) + (add-markups (map (lambda (x) (glue-word-to-step add-pitch-prefix x)) addition-pitches)) (filtered-alterations (filter-alterations alteration-pitches)) (alterations (map name-step filtered-alterations)) @@ -183,7 +187,7 @@ work than classifying the pitches." suffixes add-markups) sep)) (base-stuff (if (ly:pitch? bass-pitch) - (list sep (name-note bass-pitch #f)) + (list slashsep (name-note bass-pitch #f)) '()))) (set! base-stuff @@ -209,7 +213,7 @@ work than classifying the pitches." ,exception-markup . ,(if (ly:pitch? bass-pitch) - (list (ly:context-property context 'chordNameSeparator) + (list (ly:context-property context 'slashChordSeparator) (name-note bass-pitch #f)) '())))) @@ -217,8 +221,8 @@ work than classifying the pitches." (pitches (map (lambda (x) (ly:pitch-diff x root)) (cdr in-pitches))) (lowercase-root? (and (ly:context-property context 'chordNameLowercaseMinor) - (let ((third (get-step 3 pitches))) - (and third (= (ly:pitch-alteration third) FLAT))))) + (let ((third (get-step 3 pitches))) + (and third (= (ly:pitch-alteration third) FLAT))))) (exceptions (ly:context-property context 'chordNameExceptions)) (exception (assoc-get pitches exceptions)) (prefixes '()) @@ -238,7 +242,7 @@ work than classifying the pitches." ;; no exception. ;; handle sus4 and sus2 suffix: if there is a 3 together with ;; sus2 or sus4, then we explicitly say add3. - (map + (for-each (lambda (j) (if (get-step j pitches) (begin @@ -280,8 +284,7 @@ work than classifying the pitches." (= 7 (pitch-step main-name)) (is-natural-alteration? main-name) (pair? (remove-uptil-step 7 alterations)) - (reduce (lambda (x y) (and x y)) #t - (map is-natural-alteration? alterations))) + (every is-natural-alteration? alterations)) (begin (set! main-name (last alterations)) (set! alterations '())))