;;;; This file is part of LilyPond, the GNU music typesetter.
;;;;
-;;;; Copyright (C) 2000--2011 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; Copyright (C) 2000--2015 Han-Wen Nienhuys <hanwen@xs4all.nl>
;;;;
;;;; LilyPond is free software: you can redistribute it and/or modify
;;;; it under the terms of the GNU General Public License as published by
(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))
(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 '())
;; 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
(= 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 '())))