From: Adam Spiers Date: Mon, 7 Nov 2011 11:45:18 +0000 (+0000) Subject: Issue 1503 - add additionalPitchPrefix to allow choice of prefix for additional pitch... X-Git-Tag: release/2.15.21-1~29 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=6c5646b7a626dda2307272a7e178c9374243164e;p=lilypond.git Issue 1503 - add additionalPitchPrefix to allow choice of prefix for additional pitches in chords. This was previously "add", e.g. "Cmaj7 add6add9", but this results in too much clutter and is rarely used. --- diff --git a/Documentation/notation/chords.itely b/Documentation/notation/chords.itely index a8884d2866..2d2975bc9e 100644 --- a/Documentation/notation/chords.itely +++ b/Documentation/notation/chords.itely @@ -616,6 +616,23 @@ of @code{chordRootNamer} to identify a major 7 chord. Predefined options are @code{whiteTriangleMarkup} and @code{blackTriangleMarkup}. +@funindex additionalPitchPrefix + +@item additionalPitchPrefix + +When the chord name contains additional pitches, they can optionally +be prefixed with some text. The default is no prefix, in order to +avoid too much visual clutter, but for small numbers of additional +pitches this can be visually effective. + +@lilypond[verbatim,quote,ragged-right] +\new ChordNames { + % add9 + \set additionalPitchPrefix = #"add" + % add9 +} +@end lilypond + @funindex chordNoteNamer @item chordNoteNamer diff --git a/input/regression/chord-additional-pitch-prefix.ly b/input/regression/chord-additional-pitch-prefix.ly new file mode 100644 index 0000000000..0afc6a035a --- /dev/null +++ b/input/regression/chord-additional-pitch-prefix.ly @@ -0,0 +1,11 @@ +\version "2.15.17" +\header { + texidoc = "The prefix of additional chord pitches can be tuned with +@code{additionalPitchPrefix}." +} + +\new ChordNames { + % add9 + \set additionalPitchPrefix = #"add" + % add9 +} diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly index f88705e300..8c7209b227 100644 --- a/ly/engraver-init.ly +++ b/ly/engraver-init.ly @@ -646,6 +646,7 @@ automatically when an output definition (a @code{\score} or %% chord names: chordNameFunction = #ignatzek-chord-names minorChordModifier = #(make-simple-markup "m") + additionalPitchPrefix = #"" % was "add" majorSevenSymbol = #whiteTriangleMarkup chordNameLowercaseMinor = ##f chordNameSeparator = #(make-hspace-markup 0.5) diff --git a/scm/chord-ignatzek-names.scm b/scm/chord-ignatzek-names.scm index aaf9703985..b20d32947d 100644 --- a/scm/chord-ignatzek-names.scm +++ b/scm/chord-ignatzek-names.scm @@ -172,7 +172,8 @@ work than classifying the pitches." (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)) diff --git a/scm/define-context-properties.scm b/scm/define-context-properties.scm index ecf50fba82..6c79bbdb95 100644 --- a/scm/define-context-properties.scm +++ b/scm/define-context-properties.scm @@ -45,6 +45,8 @@ ;; TODO FIXME (aDueText ,markup? "Text to print at a unisono passage.") + (additionalPitchPrefix ,string? "Text with which to prefix +additional pitches within a chord name.") (alignAboveContext ,string? "Where to insert newly created context in vertical alignment.") (alignBassFigureAccidentals ,boolean? "If true, then the accidentals