Chord name exceptions: Difference between revisions
m Replace version="2.24.0" with version="2.24" now that the LilyWiki extension supports auto-selecting the latest release in a stable series |
Improve documentation |
||
| (2 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
The property <code>chordNameExceptions</code> can be | The property <code>chordNameExceptions</code> stores a list of chord name exceptions to handle cases either not covered or handled incorrectly. | ||
The default chord names used by LilyPond follow the rules as given in Klaus Ignatzek's book “Die Jazzmethode für Klavier 1”; the algorithm to convert chords to chord names can be found in file <code>scm/chord-ignatzek-names.scm</code>. Additional rules are given as chord exceptions and stored in the variable <code>ignatzekExceptions</code>, as set up in file <code>ly/chord-modifiers-init.ly</code>. | |||
This snippet modifies these exceptions in three steps. | |||
# Set up some music with chords and associated markup. By convention, the root (i.e., the lowest note) of each chord should have pitch c. | |||
# Call Scheme function <code>sequential-music-to-chord-exceptions</code> to create a new list of exceptions, then concatenate it with the existing ones. Since <code>ignatzekExceptions</code> is set up with this function’s second parameter set to <code>#t</code> (to ignore the root of the chords), we have to do the same. | |||
# Register the new exception list. | |||
<lilypond version="2.24"> | <lilypond version="2.24"> | ||
% | % Step 1: Define music with chords and markup for maj9 and 6(add9). | ||
chExceptionMusic = { | chExceptionMusic = { | ||
<c e g b d'> | <c e g b d'>-\markup { \super "maj9" } | ||
<c e g a d'> | <c e g a d'>-\markup { \super "6(add9)" } | ||
} | } | ||
% | % Step 2: Create extended exception list. | ||
chExceptions = #(append | chExceptions = | ||
#(append (sequential-music-to-chord-exceptions chExceptionMusic #t) | |||
ignatzekExceptions) | |||
theMusic = \chordmode { | theMusic = \chordmode { | ||
g1:maj9 g1:6.9 | g1:maj9 g1:6.9 | ||
% Step 3: Register extended exception list. | |||
\set chordNameExceptions = #chExceptions | \set chordNameExceptions = #chExceptions | ||
g1:maj9 g1:6.9 | g1:maj9 g1:6.9 | ||
| Line 31: | Line 39: | ||
[[Category:Chords]] | [[Category:Chords]] | ||
[[Category: | [[Category:Scheme]] | ||
[[Category:Specific notation]] | [[Category:Specific notation]] | ||
[[Category:Included in the official documentation]] | [[Category:Included in the official documentation]] | ||
[[Category:Snippet]] | |||