| [ << Scheme ] | [Top][Contents] | [ Spacing >> ] |
| [ < Changing properties for individual grobs ] | [ Up: Scheme ] | [ Coloring notes depending on their pitch > ] |
Chord name exceptions
The property chordNameExceptions 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
scm/chord-ignatzek-names.scm. Additional rules are given as
chord exceptions and stored in the variable ignatzekExceptions,
as set up in file ly/chord-modifiers-init.ly.
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
sequential-music-to-chord-exceptionsto create a new list of exceptions, then concatenate it with the existing ones. SinceignatzekExceptionsis set up with this function’s second parameter set to#t(to ignore the root of the chords), we have to do the same. - Register the new exception list.
% Step 1: Define music with chords and markup for maj9 and 6(add9). chExceptionMusic = { <c e g b d'>-\markup { \super "maj9" } <c e g a d'>-\markup { \super "6(add9)" } } % Step 2: Create extended exception list. chExceptions = #(append (sequential-music-to-chord-exceptions chExceptionMusic #t) ignatzekExceptions) theMusic = \chordmode { g1:maj9 g1:6.9 % Step 3: Register extended exception list. \set chordNameExceptions = #chExceptions g1:maj9 g1:6.9 } \layout { ragged-right = ##t } << \new ChordNames \theMusic \new Voice \theMusic >>
| [ << Scheme ] | [Top][Contents] | [ Spacing >> ] |
| [ < Changing properties for individual grobs ] | [ Up: Scheme ] | [ Coloring notes depending on their pitch > ] |