Predefined ukulele fretboards

Predefined fretboard diagrams for the ukulele, so that authors can simply write a chord name to get a fretboard with fingering hints, just as with guitar music. Also includes a definition for ukulele-tunings for the standard soprano tuning A-E-C-G, with which Lilypond is able to autogenerate further fretboard diagrams for chords not defined here (although these are not necessarily playable).

The fretboard diagrams are followed by a simple chord chart. Delete that and include the rest of the file to use the diagrams in your own scores.

These chord diagrams may give non-fatal compilation warnings with Lilypond 2.12.2, but 2.13 has been patched to fix this (on 24 Nov 2009 by Carl Sorensen).

Proposed blurb for documentation:

"Predefined fret diagrams" subsection (from section 2.4.1)

The default predefined fret diagrams are contained in the file predefined-guitar-fretboards.ly. Fret diagrams are stored based on the pitches of a chord and the value of stringTunings currently in use. predefined-guitar-fretboards.ly contains predefined fret diagrams only for guitar-tuning. To produce fret diagrams for the ukulele, use the file predefined-ukulele-fretboards.ly:

  \include "predefined-ukulele-fretboards.ly"

  myChords = { a1 a:m a:aug }

  \new ChordNames {
    \myChords
  }

  \new FretBoards {
    \set stringTunings = #ukulele-tuning
    \myChords
  }

Predefined fret diagrams can be added for other instruments or other tunings by following these examples.

From lower down in the same subsection:

The predefined fret diagram table for guitar contains seven chords (major, minor, augmented, diminished, dominant seventh, major seventh, minor seventh) for each of 17 keys. The table for ukulele contains these plus an additional four chords (major sixth, suspended second, suspended fourth, and major ninth) for the same keys. In addition, the file predefined-guitar-ninth-fretboards.ly contains major ninth chords for guitar. A complete list of the predefined fret diagrams is shown in Predefined fretboard diagrams. If there is no entry in the table for a chord, the FretBoards engraver will calculate a fret-diagram using the automatic fret diagram functionality described in Automatic fret diagrams.

"Predefined fretboard diagrams" (section B.3)

I propose to copy the examples given here, except using \include "predefined-ukulele-fretboards.ly" plus \set stringTunings = #ukulele-tuning, and using these chords: mychords = \chordmode {c1 c:m c:aug c:dim c:7 c:maj7 c:m7 c:6 c:sus2 c:sus4 c:9 \break }. I also suggest adding "predefined-guitar-ninth-fretboards.ly" and including c:9 in the list of chords for the guitar.