]> git.donarmstrong.com Git - lilypond.git/commitdiff
Update predefined fret diagrams and documentation
authorCarl Sorensen <c_sorensen@byu.edu>
Sat, 9 Aug 2008 14:19:30 +0000 (08:19 -0600)
committerCarl Sorensen <c_sorensen@byu.edu>
Sat, 9 Aug 2008 14:19:30 +0000 (08:19 -0600)
Documentation/user/fretted-strings.itely
Documentation/user/notation-appendices.itely
input/manual/display-predefined-fretboards.ly [new file with mode: 0644]
input/regression/predefined-fretboards.ly [new file with mode: 0644]
ly/declarations-init.ly
ly/predefined-fretboards-init.ly
ly/predefined-guitar-fretboards.ly [new file with mode: 0644]

index e49b1bc739fe2a8994a8322329e55f91c4171ec6..335f4e4727ca4cb1d079fc94775c1383ae5f4de2 100644 (file)
@@ -36,8 +36,9 @@ to fretted string instruments.
 * String number indications::   
 * Default tablatures::          
 * Custom tablatures::           
-* Automatic fret diagrams::               
 * Fret diagram markups::
+* Predefined fret diagrams::
+* Automatic fret diagrams::               
 * Right-hand fingerings::       
 @end menu
 
@@ -286,115 +287,6 @@ Internals Reference:
 
 No guitar special effects have been implemented.
 
-@node Automatic fret diagrams
-@subsubsection Automatic fret diagrams
-@cindex fret diagrams
-@cindex chord diagrams
-
-Fret diagrams can be automatically created from entered notes using the 
-@code{FretBoards} context.  This context calculates strings and frets
-which can be used to play the notes.
-
-@lilypond[quote,ragged-right,verbatim]
-<<
-  \context ChordNames {
-     \chordmode { 
-       f1 g  
-     }
-  }
-  \context FretBoards {
-    < f, c f a c' f'>1
-    < g,\6 b, d g b g'>
-  }
-  \context Staff {
-    \clef "treble_8"
-    < f, c f a c' f'>1
-    < g, b, d g b' g'>
-  }  
->>
-@end lilypond
-
-Notes can be explicitly placed on a string.  It is often enough
-to place only the lowest note on an explicit string; the rest of 
-the notes will then be placed appropriately by the @code{FretBoards}
-context.
-
-@lilypond[quote,ragged-right,verbatim]
-<<
-  \context ChordNames {
-     \chordmode { 
-       c1 c d:m d:m    
-     }
-  }
-  \context FretBoards {
-    < c e g c' e' > 1
-    < c\5 e g c' e' > 1
-    < d a d' f'>
-    < d\4 a d' f'>
-  }
-  \context Staff {
-    \clef "treble_8"
-    < c e g c' e' > 1
-    < c e g c' e' > 1
-    < d a d' f'>
-    < d a d' f'>
-  }  
->>
-@end lilypond
-
-Fingerings can be added to FretBoard fret diagrams.
-
-@lilypond[quote, verbatim]
-<<
-  \context ChordNames {
-     \chordmode { 
-       c1 d:m          
-     }
-  }
-  \context FretBoards {
-    < c\5-3 e-2 g c'-1 e' > 1
-    < d\4 a-2 d'-3 f'-1>
-  }
-  \context Staff {
-    \clef "treble_8"
-    < c e g c' e' > 1
-    < d a d' f'>
-  }  
->>
-@end lilypond
-
-The strings and frets for the @code{FretBoards} context depend
-on the @code{stringTunings} property, which has the same meaning
-as in the TabStaff context.  See @ref{Custom tablatures} for 
-information on the @code{stringTunings} property. 
-
-The graphical layout of a fret diagram can be customized according to
-user preference through the properties of the @code{fret-diagram-interface}.
-Details are found at @rinternals{fret-diagram-interface}.  For a 
-@code{FretBoards} fret diagram, the interface properties belong to 
-@code{FretBoards}.
-
-@snippets
-The minimum fret to be used in calculating strings and frets for
-the FretBoard context can be set with the @code{minimumFret}
-property.
-
-@c TODO -- snippet showing minimum fret.
-
-@c TODO -- snippet for using StringTunings
-
-@seealso
-
-Notation Reference:
-@ref{Custom tablatures}
-
-Snippets:
-@rlsr{Fretted strings}.
-
-Internals Reference:
-@rinternals {fret-diagram-interface}.
-
-
 @node Fret diagram markups
 @subsubsection Fret diagram markups
 @cindex fret diagrams
@@ -724,6 +616,372 @@ Snippets:
 Internals Reference:
 @rinternals{fret-diagram-interface}.
 
+@node Predefined fret diagrams
+@subsubsection Predefined fret diagrams
+@cindex fret diagrams
+@cindex chord diagrams
+
+Fret diagrams can be displayed using the @code{FretBoards} context.  By
+default, the @code{FretBoards} context will display fret diagrams that
+are stored in a lookup table:
+
+@lilypond[verbatim, ragged-right, quote]
+\include "predefined-guitar-fretboards.ly"
+\context FretBoards {
+  \chordmode {
+    c1 d
+  }
+}
+@end lilypond
+
+The default predefined fret diagrams are contained in the file
+@code{predefined-guitar-fretboards.ly}.  Fret diagrams are 
+stored based on the pitches of a chord and the value of
+@code{StringTunings} that is currently in use.  
+@code{predefined-guitar-fretboards.ly} contains predefined 
+fret diagrams only for @code{guitar-tuning}.  Predefined fret
+diagrams can be added for other instruments or other tunings
+by following the examples found in 
+@code{predefined-guitar-fretboards.ly}.  
+
+Chord pitches can be entered
+either as simultaneous music or using chord mode (see
+@ref{Chord mode overview}).
+
+@lilypond[verbatim, ragged-right,quote]
+\include "predefined-guitar-fretboards.ly"
+\context FretBoards {
+  \chordmode {c1}
+  <c' e' g'>1
+}
+@end lilypond
+
+It is common that both chord names and fret diagrams are displayed together.
+This is achieved by putting a @code{ChordNames} context in parallel with
+a @code{FretBoards} context and giving both contexts the same music.
+
+@lilypond[verbatim, ragged-right, quote]
+\include "predefined-guitar-fretboards.ly"
+mychords = \chordmode{
+  c1 f g
+}
+
+<<
+  \context ChordNames {
+    \mychords
+  }
+  \context FretBoards {
+    \mychords
+  }
+>>
+@end lilypond
+
+Predefined fret diagrams are transposable, as long as a diagram for the
+transposed chord is stored in the fret diagram table.
+
+@lilypond[verbatim, ragged-right, quote]
+\include "predefined-guitar-fretboards.ly"
+mychords = \chordmode{
+  c1 f g
+}
+
+mychordlist = {
+  \mychords
+  \transpose c e { \mychords}
+}
+<<
+  \context ChordNames {
+    \mychordlist
+  }
+  \context FretBoards {
+    \mychordlist
+  }
+>>
+@end lilypond
+
+
+The predefined fret diagram table contains seven chords (major, minor,
+augmented, diminished, dominant seventh, major seventh, minor seventh)
+for each of 17 keys.  A complete list of the predefined fret diagrams is
+shown in @ref{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
+@ref{Automatic fret diagrams}.
+
+@lilypond[verbatim, ragged-right, quote]
+\include "predefined-guitar-fretboards.ly"
+mychords = \chordmode{
+  c1 c:9
+}
+
+<<
+  \context ChordNames {
+    \mychords
+  }
+  \context FretBoards {
+    \mychords
+  }
+>>
+@end lilypond
+
+Fret diagrams can be added to the fret diagram table.  To add a diagram,
+you must specify the chord for the diagram, the tuning to be used, and the
+fret-diagram-terse definition string for the diagram.
+
+@lilypond[verbatim, ragged-right, quote]
+\include "predefined-guitar-fretboards.ly"
+
+\storePredefinedDiagram \chordmode {c:9} 
+                        #guitar-tuning
+                        #"x;3-2;2-1;3-3;3-4;x;"
+
+mychords = \chordmode{
+  c1 c:9
+}
+
+<<
+  \context ChordNames {
+    \mychords
+  }
+  \context FretBoards {
+    \mychords
+  }
+>>
+@end lilypond
+
+Different fret diagrams for the same chord name can be stored using different
+octaves of pitches.
+
+@lilypond[verbatim, ragged-right, quote]
+\include "predefined-guitar-fretboards.ly"
+
+\storePredefinedDiagram \chordmode {c'} 
+                        #guitar-tuning
+                        #(offset-fret 2 (chord-shape 'bes))
+
+mychords = \chordmode{
+  c1 c'
+}
+
+<<
+  \context ChordNames {
+    \mychords
+  }
+  \context FretBoards {
+    \mychords
+  }
+>>
+@end lilypond
+
+In addition to fret diagrams, LilyPond stores an internal list of chord
+shapes.  The chord shapes are fret diagrams that can be shifted along
+the neck to different posistions to provide different chords.  Chord
+shapes can be added to the internal list and then used to define
+predefined fret diagrams.
+
+@lilypond[verbatim, ragged-right, quote]
+\include "predefined-guitar-fretboards.ly"
+
+% add a new chord shape
+
+\addChordShape #'powerf #"1-1;3-3;3-4;x;x;x;"
+
+% add some new chords based on the power chord shape
+
+\storePredefinedDiagram \chordmode {f'} 
+                        #guitar-tuning 
+                        #(chord-shape 'powerf)
+\storePredefinedDiagram \chordmode {g'} 
+                        #guitar-tuning
+                        #(offset-fret 2 (chord-shape 'powerf))
+
+mychords = \chordmode{
+  f1 f' g g' 
+}
+
+<<
+  \context ChordNames {
+    \mychords
+  }
+  \context FretBoards {
+    \mychords
+  }
+>>
+@end lilypond
+
+The graphical layout of a fret diagram can be customized according to
+user preference through the properties of the @code{fret-diagram-interface}.
+Details are found at @rinternals{fret-diagram-interface}.  For a 
+predefined fret diagram, the interface properties belong to @code{FretBoards}.
+
+@c @snippets
+
+@seealso
+
+Notation Reference:
+@ref{Custom tablatures},
+@ref{Automatic fret diagrams},
+@ref{Chord mode overview},
+@ref{Predefined fretboard diagrams}.
+
+Installed Files:
+@file{ly/predefined-guitar-fretboards.ly}.
+
+Snippets:
+@rlsr{Fretted strings}.
+
+Internals Reference:
+@rinternals {fret-diagram-interface}.
+
+
+@node Automatic fret diagrams
+@subsubsection Automatic fret diagrams
+@cindex fret diagrams
+@cindex chord diagrams
+
+Fret diagrams can be automatically created from entered notes using the 
+@code{FretBoards} context.  If no predefined diagram is available for
+the entered notes in the active @code{stringTunings}, this context
+calculates strings and frets that can be used to play the notes.
+
+@lilypond[quote,ragged-right,verbatim]
+<<
+  \context ChordNames {
+     \chordmode { 
+       f1 g  
+     }
+  }
+  \context FretBoards {
+    < f, c f a c' f'>1
+    < g,\6 b, d g b g'>
+  }
+  \context Staff {
+    \clef "treble_8"
+    < f, c f a c' f'>1
+    < g, b, d g b' g'>
+  }  
+>>
+@end lilypond
+
+As no predefined diagrams are loaded by default, automatic calculation 
+of fret diagrams is the default behavior.  Once default diagrams are
+loaded, automatic calculation can be enabled and disabled with predefined
+commands:
+
+@lilypond[quote,ragged-right,verbatim]
+
+\storePredefinedDiagram <c\5 e g c' e'>
+                        #guitar-tuning
+                        #"x;3-1-(;5-2;5-3;5-4;3-1-1);"
+<<
+  \context ChordNames {
+     \chordmode { 
+       c1 c c 
+     }
+  }
+  \context FretBoards {
+    <c\5 e g c' e'>1
+    \predefinedFretboardsOff
+    <c\5 e g c' e'>
+    \predefinedFretboardsOn
+    <c\5 e g c' e'>
+  }
+  \context Staff {
+    \clef "treble_8"
+    <c\5 e g c' e'>1
+    <c\5 e g c' e'>
+    <c\5 e g c' e'>
+  }  
+>>
+@end lilypond
+
+  
+
+Notes can be explicitly placed on a string.  It is often enough
+to place only the lowest note on an explicit string; the rest of 
+the notes will then be placed appropriately by the @code{FretBoards}
+context.
+
+@lilypond[quote,ragged-right,verbatim]
+<<
+  \context ChordNames {
+     \chordmode { 
+       c1 c d:m d:m    
+     }
+  }
+  \context FretBoards {
+    < c e g c' e' > 1
+    < c\5 e g c' e' > 1
+    < d a d' f'>
+    < d\4 a d' f'>
+  }
+  \context Staff {
+    \clef "treble_8"
+    < c e g c' e' > 1
+    < c e g c' e' > 1
+    < d a d' f'>
+    < d a d' f'>
+  }  
+>>
+@end lilypond
+
+Fingerings can be added to FretBoard fret diagrams.
+
+@lilypond[quote, verbatim]
+<<
+  \context ChordNames {
+     \chordmode { 
+       c1 d:m          
+     }
+  }
+  \context FretBoards {
+    < c\5-3 e-2 g c'-1 e' > 1
+    < d\4 a-2 d'-3 f'-1>
+  }
+  \context Staff {
+    \clef "treble_8"
+    < c e g c' e' > 1
+    < d a d' f'>
+  }  
+>>
+@end lilypond
+
+The strings and frets for the @code{FretBoards} context depend
+on the @code{stringTunings} property, which has the same meaning
+as in the TabStaff context.  See @ref{Custom tablatures} for 
+information on the @code{stringTunings} property. 
+
+The graphical layout of a fret diagram can be customized according to
+user preference through the properties of the @code{fret-diagram-interface}.
+Details are found at @rinternals{fret-diagram-interface}.  For a 
+@code{FretBoards} fret diagram, the interface properties belong to 
+@code{FretBoards}.
+
+@snippets
+The minimum fret to be used in calculating strings and frets for
+the FretBoard context can be set with the @code{minimumFret}
+property.
+
+@c TODO -- snippet showing minimum fret.
+
+@c TODO -- snippet for using StringTunings
+
+@predefined
+\predefinedFretboardsOff,
+\predefinedFretboardsOn.
+
+@seealso
+
+Notation Reference:
+@ref{Custom tablatures}.
+
+Snippets:
+@rlsr{Fretted strings}.
+
+Internals Reference:
+@rinternals {fret-diagram-interface}.
+
+
 @node Right-hand fingerings
 @subsubsection Right-hand fingerings
 
index 396da816d26c14d53811cd37886f2c962cd968a2..399657042985084bbef6c8355e2756db6654be77 100644 (file)
@@ -377,9 +377,7 @@ TODO
 
 The chart below shows the predefined fretboard diagrams.
 
-@ignore
-@lilypondfile{predefined-fretboard-diagrams.ly}
-@end ignore
+@lilypondfile{display-predefined-fretboards.ly}
 
 @node MIDI instruments
 @appendixsec MIDI instruments
diff --git a/input/manual/display-predefined-fretboards.ly b/input/manual/display-predefined-fretboards.ly
new file mode 100644 (file)
index 0000000..a53fb37
--- /dev/null
@@ -0,0 +1,67 @@
+\include "predefined-guitar-fretboards.ly"
+
+mychords = \chordmode {c1 c:m c:aug c:dim c:7 c:maj7 c:m7 \break }
+
+chordsline = {
+  \mychords
+  \transpose c cis {
+    \mychords
+  }
+  \transpose c des {
+    \mychords
+  }
+  \transpose c d {
+    \mychords
+  }
+  \transpose c dis {
+    \mychords
+  }
+ \transpose c ees {
+    \mychords
+  }
+  \transpose c e {
+    \mychords
+  }
+  \transpose c f {
+    \mychords
+  }
+  \transpose c fis {
+    \mychords
+  }
+  \transpose c ges {
+    \mychords
+  }
+  \transpose c g {
+    \mychords
+  }
+  \transpose c gis {
+    \mychords
+  }
+  \transpose c aes {
+    \mychords
+  }
+  \transpose c a {
+    \mychords
+  }
+  \transpose c ais {
+    \mychords
+  }
+  \transpose c bes {
+    \mychords
+  }
+  \transpose c b {
+    \mychords
+  }
+}
+
+<<
+  \context ChordNames {
+    \chordsline
+  }
+  \context FretBoards {
+    \chordsline
+  }
+  \context Staff {
+    \chordsline
+  }
+>>
diff --git a/input/regression/predefined-fretboards.ly b/input/regression/predefined-fretboards.ly
new file mode 100644 (file)
index 0000000..daa88bd
--- /dev/null
@@ -0,0 +1,33 @@
+% add a chord shape
+
+\addChordShape #'bes #"x;1-1-(;3-2;3-3;3-4;1-1-);"
+
+% add chords
+
+\storePredefinedDiagram \chordmode {bes}
+                        #guitar-tuning
+                        #(chord-shape 'bes)
+
+\storePredefinedDiagram \chordmode {c}
+                        #guitar-tuning
+                        #(offset-fret 2 (chord-shape 'bes))
+
+mychords = \chordmode {
+  bes
+}
+
+chordline = {
+  \mychords
+  \transpose bes c {
+    \mychords
+  }
+}
+
+<<
+  \context ChordNames {
+    \chordline
+  }
+  \context FretBoards {
+    \chordline
+  }
+>>
index 23df48ad0ef617efbce1220c0700e462c2247702..88fdfe1c0308061213294bec0cf0384177a3e384 100644 (file)
@@ -120,4 +120,4 @@ setDefaultDurationToQuarter = { c4 }
 #(define book-text-handler ly:book-add-score!)
 
 
-%\include "predefined-fretboards-init.ly"
+\include "predefined-fretboards-init.ly"
index 587d7f37e631a03d87c395e8a91fe168df419501..c8b7ff073146d47b562c8ceca88effa8e8a53b45 100644 (file)
 % symbols are LilyPond chordmode chord descriptions,
 % but that is unnecessary.
 
-#(define base-chord-shapes
-  (list
-    '(f . "1-1-(;3-3;3-4;2-2;1-1;1-1-);")
-    '(f:m . "1-1-(;3-3;3-4;1-1;1-1;1-1-);")
-    '(f:7 . "1-1-(;3-3;1-1;2-2;1-1;1-1-);")
-    '(f:m7 . "1-1-(;3-3;1-1;1-1;1-1;1-1-);")
-    '(bes . "x;1-1-(;3-2;3-3;3-4;1-1-);")
-    '(bes:m . "x;1-1-(;3-3;3-4;2-2;1-1-);")
-    '(bes:m7 . "x;1-1-(;3-3;1-1;2-2;1-1-);")
-    '(bes:7 . "x;1-1-(;3-2;1-1;3-3;1-1-);")
-    '(bes:maj7 . "x;1-1;3-3;2-2;3-4;x;")
-    '(c:dim . "x;x;1-1;2-3;1-2;2-4;")
-    '(c:aug . "x;x;2-2;1-1-(;1-1-);4-4;")
-    '(cis . "x;x;3-3;1-1-(;2-2;1-1-);")
-    '(ees:dim . "x;x;1-1;2-3;1-2;2-4;")
-    '(a:dim . "x;x;1-1;2-3;1-2;2-4;")
-  ))
+#(define base-chord-shapes '())
 
 
 % music function for adding a chord shape to
 % base-chord-shapes
 
 addChordShape =
-#(define-music-function (parser location shape-pair)
-   (pair?)
-   (set! base-chord-shapes (acons
-                             (car shape-pair)
-                             (cdr shape-pair)
-                             base-chord-shapes))
+#(define-music-function (parser location key-symbol shape-string)
+   (symbol? string?)
+   (set! base-chord-shapes 
+           (acons key-symbol shape-string base-chord-shapes))
    (make-music 'SequentialMusic 'void #t))
 
+% for convenience, to eliminate storage list in .ly references
+
+#(define (chord-shape shape-code)
+   (get-chord-shape shape-code base-chord-shapes))
 
 % music function for adding a predefined diagram to
 % fretboard-table
@@ -58,424 +44,3 @@ storePredefinedDiagram =
              (parse-terse-string terse-definition)))
   (make-music 'SequentialMusic 'void #t))
 
-
-% for convenience, to eliminate storage list in .ly references
-
-#(define (chord-shape shape-code)
-   (get-chord-shape shape-code base-chord-shapes))
-
-#(define predefined-diagram-table fretboard-table)
-
-%%%%%%%%%%%%%%%%%%%%%%%
-%%%
-
-% definitions of predefined diagrams below here
-
-%%%%  c chords
-%
-\storePredefinedDiagram \chordmode {c}
-                        #guitar-tuning 
-                        #"x;3-3;2-2;o;1-1;o;"  
-\storePredefinedDiagram \chordmode {c:m} 
-                        #guitar-tuning 
-                        #(offset-fret 2 (chord-shape 'bes:m))
-\storePredefinedDiagram \chordmode {c:aug} 
-                        #guitar-tuning 
-                        #(chord-shape 'c:aug)
-\storePredefinedDiagram \chordmode {c:dim} 
-                        #guitar-tuning 
-                        #(chord-shape 'c:dim)
-\storePredefinedDiagram \chordmode {c:7} 
-                        #guitar-tuning 
-                        #"o;3-3;2-2;3-4;1-1;o;"  
-\storePredefinedDiagram \chordmode {c:maj7} 
-                        #guitar-tuning 
-                        #"x;3-3;2-2;o;o;o;"  
-\storePredefinedDiagram \chordmode {c:m7} 
-                        #guitar-tuning 
-                        #(offset-fret 2 (chord-shape 'bes:m7))
-
-%%%%  cis chords
-%
-\storePredefinedDiagram \chordmode {cis} 
-                        #guitar-tuning 
-                        #(chord-shape 'cis)
-\storePredefinedDiagram \chordmode {cis:m} 
-                        #guitar-tuning 
-                        #"x;x;2-2;1-1;2-3;o;"  
-\storePredefinedDiagram \chordmode {cis:aug} 
-                        #guitar-tuning 
-                        #"x;4-4;3-3;2-1;2-2;x;"  
-\storePredefinedDiagram \chordmode {cis:dim} 
-                        #guitar-tuning 
-                        #(offset-fret 1 (chord-shape 'c:dim))
-\storePredefinedDiagram \chordmode {cis:7} 
-                        #guitar-tuning 
-                        #"x;x;3-2;4-3;2-1;4-4;"  
-\storePredefinedDiagram \chordmode {cis:maj7} 
-                        #guitar-tuning 
-                        #"x;4-4;3-3;1-1-(;1-1;1-1-);"  
-\storePredefinedDiagram \chordmode {cis:m7} 
-                        #guitar-tuning 
-                        #"x;4-4;2-2;1-1;o;o;"
-
-%%%%  des chords
-%
-\storePredefinedDiagram \chordmode {des} 
-                        #guitar-tuning 
-                        #"x;x;3-3;1-1-(;2-2;1-1-);"  
-\storePredefinedDiagram \chordmode {des:m} 
-                        #guitar-tuning 
-                        #"x;x;2-2;1-1;2-3;o;"  
-\storePredefinedDiagram \chordmode {des:aug} 
-                        #guitar-tuning 
-                        #"x;4-4;3-3;2-1;2-2;x;"  
-\storePredefinedDiagram \chordmode {des:dim} 
-                        #guitar-tuning 
-                        #(offset-fret 1 (chord-shape 'c:dim))
-\storePredefinedDiagram \chordmode {des:7} 
-                        #guitar-tuning 
-                        #"x;x;3-2;4-3;2-1;4-4;"  
-\storePredefinedDiagram \chordmode {des:maj7} 
-                        #guitar-tuning 
-                        #"x;4-4;3-3;1-1-(;1-1;1-1-);"  
-\storePredefinedDiagram \chordmode {des:m7} 
-                        #guitar-tuning 
-                        #"x;4-4;2-2;1-1;o;o;"
-
-%%%%  d chords
-%
-\storePredefinedDiagram \chordmode {d} 
-                        #guitar-tuning 
-                        #"x;x;o;2-1;3-2;2-3;"  
-\storePredefinedDiagram \chordmode {d:m} 
-                        #guitar-tuning 
-                        #"x;x;o;2-2;3-3;1-1;"  
-\storePredefinedDiagram \chordmode {d:aug} 
-                        #guitar-tuning 
-                        #"x;x;o;3-2;3-3;2-1;"  
-\storePredefinedDiagram \chordmode {d:dim} 
-                        #guitar-tuning 
-                        #"x;x;o;1-1;o;1-2;"  
-\storePredefinedDiagram \chordmode {d:7} 
-                        #guitar-tuning 
-                        #"x;x;o;2-2;1-1;2-3;"  
-\storePredefinedDiagram \chordmode {d:maj7} 
-                        #guitar-tuning 
-                        #"x;x;o;2-1;2-2;2-3;"  
-\storePredefinedDiagram \chordmode {d:m7} 
-                        #guitar-tuning 
-                        #"x;x;o;2-2;1-1-(;1-1-);"  
-
-%%%%  dis chords
-%
-\storePredefinedDiagram \chordmode {dis} 
-                        #guitar-tuning 
-                        #(offset-fret 2 (chord-shape 'cis))
-\storePredefinedDiagram \chordmode {dis:m} 
-                        #guitar-tuning 
-                        #"x;x;4-3;3-2;4-4;1-1;"  
-\storePredefinedDiagram \chordmode {dis:aug} 
-                        #guitar-tuning 
-                        #"3-3;2-2;1-1;o;o;3-4"  
-\storePredefinedDiagram \chordmode {dis:dim} 
-                        #guitar-tuning 
-                        #(chord-shape 'ees:dim) 
-\storePredefinedDiagram \chordmode {dis:7} 
-                        #guitar-tuning 
-                        #"x;x;1-1;3-3;2-2;3-4;"  
-\storePredefinedDiagram \chordmode {dis:maj7} 
-                        #guitar-tuning 
-                        #"x;x;1-1;3-2;3-3;3-4;"  
-\storePredefinedDiagram \chordmode {dis:m7} 
-                        #guitar-tuning 
-                        #"x;x;1-1;3-2;2-3;2-4;"  
-
-%%%%  ees chords
-%
-\storePredefinedDiagram \chordmode {ees} 
-                        #guitar-tuning 
-                        #(offset-fret 2 (chord-shape 'cis))
-\storePredefinedDiagram \chordmode {ees:m} 
-                        #guitar-tuning 
-                        #"x;x;4-3;3-2;4-4;1-1;"  
-\storePredefinedDiagram \chordmode {ees:aug} 
-                        #guitar-tuning 
-                        #"3-3;2-2;1-1;o;o;3-4"  
-\storePredefinedDiagram \chordmode {ees:dim} 
-                        #guitar-tuning 
-                        #(chord-shape 'ees:dim) 
-\storePredefinedDiagram \chordmode {ees:7} 
-                        #guitar-tuning 
-                        #"x;x;1-1;3-3;2-2;3-4;"  
-\storePredefinedDiagram \chordmode {ees:maj7} 
-                        #guitar-tuning 
-                        #"x;x;1-1;3-2;3-3;3-4;"  
-\storePredefinedDiagram \chordmode {ees:m7} 
-                        #guitar-tuning 
-                        #"x;x;1-1;3-2;2-3;2-4;"  
-
-%%%%  e chords
-%
-\storePredefinedDiagram \chordmode {e} 
-                        #guitar-tuning 
-                        #"o;2-2;2-3;1-1;o;o;"  
-\storePredefinedDiagram \chordmode {e:m} 
-                        #guitar-tuning 
-                        #"o;2-2;2-3;o;o;o;"  
-\storePredefinedDiagram \chordmode {e:aug} 
-                        #guitar-tuning 
-                        #"o;3-3;2-2;1-1;x;x;"  
-\storePredefinedDiagram \chordmode {e:dim} 
-                        #guitar-tuning 
-                        #(offset-fret 1 (chord-shape 'ees:dim))
-\storePredefinedDiagram \chordmode {e:7} 
-                        #guitar-tuning 
-                        #"o;2-2;o;1-1;o;o;"  
-\storePredefinedDiagram \chordmode {e:maj7} 
-                        #guitar-tuning 
-                        #"o;2-3;1-1;1-2;o;x;"  
-\storePredefinedDiagram \chordmode {e:m7} 
-                        #guitar-tuning 
-                        #"o;2-2;o;o;o;o;"  
-
-%%%%  f chords
-%
-\storePredefinedDiagram \chordmode {f} 
-                        #guitar-tuning 
-                        #(chord-shape 'f)
-\storePredefinedDiagram \chordmode {f:m} 
-                        #guitar-tuning 
-                        #(chord-shape 'f:m)
-\storePredefinedDiagram \chordmode {f:aug} 
-                        #guitar-tuning 
-                        #"x;x;1-1;4-3;4-4;3-2;"  
-\storePredefinedDiagram \chordmode {f:dim} 
-                        #guitar-tuning 
-                        #"x;x;o;1-1;o;1-2;"  
-\storePredefinedDiagram \chordmode {f:7} 
-                        #guitar-tuning 
-                        #(chord-shape 'f:7)
-\storePredefinedDiagram \chordmode {f:maj7} 
-                        #guitar-tuning 
-                        #"x;3-3;3-4;2-2;1-1;"  
-\storePredefinedDiagram \chordmode {f:m7} 
-                        #guitar-tuning 
-                        #(chord-shape 'f:m7)
-
-%%%%  fis chords
-%
-\storePredefinedDiagram \chordmode {fis} 
-                        #guitar-tuning 
-                        #(offset-fret 1 (chord-shape 'f))
-\storePredefinedDiagram \chordmode {fis:m} 
-                        #guitar-tuning 
-                        #(offset-fret 1 (chord-shape 'f:m))
-\storePredefinedDiagram \chordmode {fis:aug} 
-                        #guitar-tuning 
-                        #"2-2;1-1;o;3-4-(;3-4-);2-3;" 
-\storePredefinedDiagram \chordmode {fis:dim} 
-                        #guitar-tuning 
-                        #"x;x;1-1;2-3;1-2;2-4;"  
-\storePredefinedDiagram \chordmode {fis:7} 
-                        #guitar-tuning 
-                        #(offset-fret 1 (chord-shape 'f:7))
-\storePredefinedDiagram \chordmode {fis:maj7} 
-                        #guitar-tuning 
-                        #"x;x;4-4;3-3;2-2;1-1;"  
-\storePredefinedDiagram \chordmode {fis:m7} 
-                        #guitar-tuning 
-                        #(offset-fret 1 (chord-shape 'f:m7))
-
-%%%%  ges chords
-%
-\storePredefinedDiagram \chordmode {ges} 
-                        #guitar-tuning 
-                        #(offset-fret 1 (chord-shape 'f))
-\storePredefinedDiagram \chordmode {ges:m} 
-                        #guitar-tuning 
-                        #(offset-fret 1 (chord-shape 'f:m))
-\storePredefinedDiagram \chordmode {ges:aug} 
-                        #guitar-tuning 
-                        #"2-2;1-1;o;3-4-(;3-4-);2-3;" 
-\storePredefinedDiagram \chordmode {ges:dim} 
-                        #guitar-tuning 
-                        #"x;x;1-1;2-3;1-2;2-4;"  
-\storePredefinedDiagram \chordmode {ges:7} 
-                        #guitar-tuning 
-                        #(offset-fret 1 (chord-shape 'f:7))
-\storePredefinedDiagram \chordmode {ges:maj7} 
-                        #guitar-tuning 
-                        #"x;x;4-4;3-3;2-2;1-1;"  
-\storePredefinedDiagram \chordmode {ges:m7} 
-                        #guitar-tuning 
-                        #(offset-fret 1 (chord-shape 'f:m7))
-
-%%%%  g chords
-%
-\storePredefinedDiagram \chordmode {g} 
-                        #guitar-tuning 
-                        #"3-2;2-1;o;o;o;3-3;"  
-\storePredefinedDiagram \chordmode {g:m} 
-                        #guitar-tuning 
-                        #(offset-fret 2 (chord-shape 'f:m))
-\storePredefinedDiagram \chordmode {g:aug} 
-                        #guitar-tuning 
-                        #"x;x;5-1;8-3;8-4;7-2;"  
-\storePredefinedDiagram \chordmode {g:dim} 
-                        #guitar-tuning 
-                        #"x;x;5-2;6-4;5-3;3-1;"  
-\storePredefinedDiagram \chordmode {g:7} 
-                        #guitar-tuning 
-                        #"3-3;2-2;o;o;o;1-1;"  
-\storePredefinedDiagram \chordmode {g:maj7} 
-                        #guitar-tuning 
-                        #"x;x;5-4;4-3;3-2;2-1;"  
-\storePredefinedDiagram \chordmode {g:m7} 
-                        #guitar-tuning 
-                        #(offset-fret 2 (chord-shape 'f:m7))
-
-%%%%  gis chords
-%
-\storePredefinedDiagram \chordmode {gis} 
-                        #guitar-tuning 
-                        #(offset-fret 3 (chord-shape 'f))
-\storePredefinedDiagram \chordmode {gis:m} 
-                        #guitar-tuning 
-                        #(offset-fret 3 (chord-shape 'f:m))
-\storePredefinedDiagram \chordmode {gis:aug} 
-                        #guitar-tuning 
-                        #"o;3-4;2-3;1-1;1-2;o;"  
-\storePredefinedDiagram \chordmode {gis:dim} 
-                        #guitar-tuning 
-                        #"x;x;o;1-1;o;1-2;"  
-\storePredefinedDiagram \chordmode {gis:7} 
-                        #guitar-tuning 
-                        #(offset-fret 3 (chord-shape 'f:7))
-\storePredefinedDiagram \chordmode {gis:maj7} 
-                        #guitar-tuning 
-                        #"x;x;1-1-(;1-1;1-1-);3-3;"  
-\storePredefinedDiagram \chordmode {gis:m7} 
-                        #guitar-tuning 
-                        #(offset-fret 3 (chord-shape 'f:m7))
-
-%%%%  aes chords
-%
-\storePredefinedDiagram \chordmode {aes} 
-                        #guitar-tuning 
-                        #(offset-fret 3 (chord-shape 'f))
-\storePredefinedDiagram \chordmode {aes:m} 
-                        #guitar-tuning 
-                        #(offset-fret 3 (chord-shape 'f:m))
-\storePredefinedDiagram \chordmode {aes:aug} 
-                        #guitar-tuning 
-                        #"o;3-4;2-3;1-1;1-2;o;"  
-\storePredefinedDiagram \chordmode {aes:dim} 
-                        #guitar-tuning 
-                        #"x;x;o;1-1;o;1-2;"  
-\storePredefinedDiagram \chordmode {aes:7} 
-                        #guitar-tuning 
-                        #(offset-fret 3 (chord-shape 'f:7))
-\storePredefinedDiagram \chordmode {aes:maj7} 
-                        #guitar-tuning 
-                        #"x;x;1-1-(;1-1;1-1-);3-3;"  
-\storePredefinedDiagram \chordmode {aes:m7} 
-                        #guitar-tuning 
-                        #(offset-fret 3 (chord-shape 'f:m7))
-
-%%%%  a chords
-%
-\storePredefinedDiagram \chordmode {a} 
-                        #guitar-tuning 
-                        #"x;o;2-1;2-2;2-3;o;"  
-\storePredefinedDiagram \chordmode {a:m} 
-                        #guitar-tuning 
-                        #"x;o;2-2;2-3;1-1;o;"  
-\storePredefinedDiagram \chordmode {a:aug} 
-                        #guitar-tuning 
-                        #"x;o;3-4;2-2;2-3;1-1;"  
-\storePredefinedDiagram \chordmode {a:dim} 
-                        #guitar-tuning 
-                        #(chord-shape 'a:dim)
-\storePredefinedDiagram \chordmode {a:7} 
-                        #guitar-tuning 
-                        #"x;o;2-1;o;2-3;o;"  
-\storePredefinedDiagram \chordmode {a:maj7} 
-                        #guitar-tuning 
-                        #"x;o;2-2;1-1;2-3;o;"  
-\storePredefinedDiagram \chordmode {a:m7} 
-                        #guitar-tuning 
-                        #"x;o;2-2;o;1-1;o;"  
-
-%%%%  ais chords
-%
-\storePredefinedDiagram \chordmode {ais} 
-                        #guitar-tuning 
-                        #(chord-shape 'bes)
-\storePredefinedDiagram \chordmode {ais:m} 
-                        #guitar-tuning 
-                        #(chord-shape 'bes:m)
-\storePredefinedDiagram \chordmode {ais:aug} 
-                        #guitar-tuning 
-                        #"2-2;1-1;o;3-4-(;3-4-);2-3;"  
-\storePredefinedDiagram \chordmode {ais:dim} 
-                        #guitar-tuning 
-                        #(offset-fret 1 (chord-shape 'a:dim))
-\storePredefinedDiagram \chordmode {ais:7} 
-                        #guitar-tuning 
-                        #(chord-shape 'bes:7)
-\storePredefinedDiagram \chordmode {ais:maj7} 
-                        #guitar-tuning 
-                        #"x;1-1;3-3;2-2;3-4;x;"  
-\storePredefinedDiagram \chordmode {ais:m7} 
-                        #guitar-tuning 
-                        #(chord-shape 'bes:m7)
-
-%%%%  bes chords
-%
-\storePredefinedDiagram \chordmode {bes} 
-                        #guitar-tuning 
-                        #(chord-shape 'bes)
-\storePredefinedDiagram \chordmode {bes:m} 
-                        #guitar-tuning 
-                        #(chord-shape 'bes:m)
-\storePredefinedDiagram \chordmode {bes:aug} 
-                        #guitar-tuning 
-                        #"2-2;1-1;o;3-4-(;3-4-);2-3;"  
-\storePredefinedDiagram \chordmode {bes:dim} 
-                        #guitar-tuning 
-                        #(offset-fret 1 (chord-shape 'a:dim))
-\storePredefinedDiagram \chordmode {bes:7} 
-                        #guitar-tuning 
-                        #(chord-shape 'bes:7)
-\storePredefinedDiagram \chordmode {bes:maj7} 
-                        #guitar-tuning 
-                        #"x;1-1;3-3;2-2;3-4;x;"  
-\storePredefinedDiagram \chordmode {bes:m7} 
-                        #guitar-tuning 
-                        #(chord-shape 'bes:m7)
-
-%%%%  b chords
-%
-\storePredefinedDiagram \chordmode {b} 
-                        #guitar-tuning 
-                        #(offset-fret 1 (chord-shape 'bes))
-\storePredefinedDiagram \chordmode {b:m} 
-                        #guitar-tuning 
-                        #(offset-fret 1 (chord-shape 'bes:m))
-\storePredefinedDiagram \chordmode {b:aug} 
-                        #guitar-tuning 
-                        #"x;3-2;2-1;o;o;x;"  
-\storePredefinedDiagram \chordmode {b:dim} 
-                        #guitar-tuning 
-                        #"x;x;o;1-1;o;1-2;"  
-\storePredefinedDiagram \chordmode {b:7} 
-                        #guitar-tuning 
-                        #(offset-fret 1 (chord-shape 'bes:7))
-\storePredefinedDiagram \chordmode {b:maj7} 
-                        #guitar-tuning 
-                        #"x;2-1;4-3;3-2;4-4;x;"  
-\storePredefinedDiagram \chordmode {b:m7} 
-                        #guitar-tuning 
-                        #(offset-fret 1 (chord-shape 'bes:m7))
-
diff --git a/ly/predefined-guitar-fretboards.ly b/ly/predefined-guitar-fretboards.ly
new file mode 100644 (file)
index 0000000..2a08c4f
--- /dev/null
@@ -0,0 +1,435 @@
+%%%% predefined-guitar-fretboards.ly
+%%%%
+%%%% source file of the GNU LilyPond music typesetter
+%%%%
+%%%% (c) 2008 Carl D. Sorensen <c_sorensen@byu.edu>
+
+%%%  Add basic chordshapes
+
+\addChordShape #'f #"1-1-(;3-3;3-4;2-2;1-1;1-1-);"
+\addChordShape #'f:m #"1-1-(;3-3;3-4;1-1;1-1;1-1-);"
+\addChordShape #'f:7 #"1-1-(;3-3;1-1;2-2;1-1;1-1-);"
+\addChordShape #'f:m7 #"1-1-(;3-3;1-1;1-1;1-1;1-1-);"
+\addChordShape #'bes #"x;1-1-(;3-2;3-3;3-4;1-1-);"
+\addChordShape #'bes:m #"x;1-1-(;3-3;3-4;2-2;1-1-);"
+\addChordShape #'bes:m7 #"x;1-1-(;3-3;1-1;2-2;1-1-);"
+\addChordShape #'bes:7 #"x;1-1-(;3-2;1-1;3-3;1-1-);"
+\addChordShape #'bes:maj7 #"x;1-1;3-3;2-2;3-4;x;"
+\addChordShape #'c:dim #"x;x;1-1;2-3;1-2;2-4;"
+\addChordShape #'c:aug #"x;x;2-2;1-1-(;1-1-);4-4;"
+\addChordShape #'cis #"x;x;3-3;1-1-(;2-2;1-1-);"
+\addChordShape #'ees:dim #"x;x;1-1;2-3;1-2;2-4;"
+\addChordShape #'a:dim #"x;x;1-1;2-3;1-2;2-4;"
+
+%%%  Add predefined chords
+
+% definitions of predefined diagrams below here
+
+%%%%  c chords
+%
+\storePredefinedDiagram \chordmode {c}
+                        #guitar-tuning 
+                        #"x;3-3;2-2;o;1-1;o;"  
+\storePredefinedDiagram \chordmode {c:m} 
+                        #guitar-tuning 
+                        #(offset-fret 2 (chord-shape 'bes:m))
+\storePredefinedDiagram \chordmode {c:aug} 
+                        #guitar-tuning 
+                        #(chord-shape 'c:aug)
+\storePredefinedDiagram \chordmode {c:dim} 
+                        #guitar-tuning 
+                        #(chord-shape 'c:dim)
+\storePredefinedDiagram \chordmode {c:7} 
+                        #guitar-tuning 
+                        #"o;3-3;2-2;3-4;1-1;o;"  
+\storePredefinedDiagram \chordmode {c:maj7} 
+                        #guitar-tuning 
+                        #"x;3-3;2-2;o;o;o;"  
+\storePredefinedDiagram \chordmode {c:m7} 
+                        #guitar-tuning 
+                        #(offset-fret 2 (chord-shape 'bes:m7))
+
+%%%%  cis chords
+%
+\storePredefinedDiagram \chordmode {cis} 
+                        #guitar-tuning 
+                        #(chord-shape 'cis)
+\storePredefinedDiagram \chordmode {cis:m} 
+                        #guitar-tuning 
+                        #"x;x;2-2;1-1;2-3;o;"  
+\storePredefinedDiagram \chordmode {cis:aug} 
+                        #guitar-tuning 
+                        #"x;4-4;3-3;2-1;2-2;x;"  
+\storePredefinedDiagram \chordmode {cis:dim} 
+                        #guitar-tuning 
+                        #(offset-fret 1 (chord-shape 'c:dim))
+\storePredefinedDiagram \chordmode {cis:7} 
+                        #guitar-tuning 
+                        #"x;x;3-2;4-3;2-1;4-4;"  
+\storePredefinedDiagram \chordmode {cis:maj7} 
+                        #guitar-tuning 
+                        #"x;4-4;3-3;1-1-(;1-1;1-1-);"  
+\storePredefinedDiagram \chordmode {cis:m7} 
+                        #guitar-tuning 
+                        #"x;4-4;2-2;1-1;o;o;"
+
+%%%%  des chords
+%
+\storePredefinedDiagram \chordmode {des} 
+                        #guitar-tuning 
+                        #"x;x;3-3;1-1-(;2-2;1-1-);"  
+\storePredefinedDiagram \chordmode {des:m} 
+                        #guitar-tuning 
+                        #"x;x;2-2;1-1;2-3;o;"  
+\storePredefinedDiagram \chordmode {des:aug} 
+                        #guitar-tuning 
+                        #"x;4-4;3-3;2-1;2-2;x;"  
+\storePredefinedDiagram \chordmode {des:dim} 
+                        #guitar-tuning 
+                        #(offset-fret 1 (chord-shape 'c:dim))
+\storePredefinedDiagram \chordmode {des:7} 
+                        #guitar-tuning 
+                        #"x;x;3-2;4-3;2-1;4-4;"  
+\storePredefinedDiagram \chordmode {des:maj7} 
+                        #guitar-tuning 
+                        #"x;4-4;3-3;1-1-(;1-1;1-1-);"  
+\storePredefinedDiagram \chordmode {des:m7} 
+                        #guitar-tuning 
+                        #"x;4-4;2-2;1-1;o;o;"
+
+%%%%  d chords
+%
+\storePredefinedDiagram \chordmode {d} 
+                        #guitar-tuning 
+                        #"x;x;o;2-1;3-2;2-3;"  
+\storePredefinedDiagram \chordmode {d:m} 
+                        #guitar-tuning 
+                        #"x;x;o;2-2;3-3;1-1;"  
+\storePredefinedDiagram \chordmode {d:aug} 
+                        #guitar-tuning 
+                        #"x;x;o;3-2;3-3;2-1;"  
+\storePredefinedDiagram \chordmode {d:dim} 
+                        #guitar-tuning 
+                        #"x;x;o;1-1;o;1-2;"  
+\storePredefinedDiagram \chordmode {d:7} 
+                        #guitar-tuning 
+                        #"x;x;o;2-2;1-1;2-3;"  
+\storePredefinedDiagram \chordmode {d:maj7} 
+                        #guitar-tuning 
+                        #"x;x;o;2-1;2-2;2-3;"  
+\storePredefinedDiagram \chordmode {d:m7} 
+                        #guitar-tuning 
+                        #"x;x;o;2-2;1-1-(;1-1-);"  
+
+%%%%  dis chords
+%
+\storePredefinedDiagram \chordmode {dis} 
+                        #guitar-tuning 
+                        #(offset-fret 2 (chord-shape 'cis))
+\storePredefinedDiagram \chordmode {dis:m} 
+                        #guitar-tuning 
+                        #"x;x;4-3;3-2;4-4;1-1;"  
+\storePredefinedDiagram \chordmode {dis:aug} 
+                        #guitar-tuning 
+                        #"3-3;2-2;1-1;o;o;3-4"  
+\storePredefinedDiagram \chordmode {dis:dim} 
+                        #guitar-tuning 
+                        #(chord-shape 'ees:dim) 
+\storePredefinedDiagram \chordmode {dis:7} 
+                        #guitar-tuning 
+                        #"x;x;1-1;3-3;2-2;3-4;"  
+\storePredefinedDiagram \chordmode {dis:maj7} 
+                        #guitar-tuning 
+                        #"x;x;1-1;3-2;3-3;3-4;"  
+\storePredefinedDiagram \chordmode {dis:m7} 
+                        #guitar-tuning 
+                        #"x;x;1-1;3-2;2-3;2-4;"  
+
+%%%%  ees chords
+%
+\storePredefinedDiagram \chordmode {ees} 
+                        #guitar-tuning 
+                        #(offset-fret 2 (chord-shape 'cis))
+\storePredefinedDiagram \chordmode {ees:m} 
+                        #guitar-tuning 
+                        #"x;x;4-3;3-2;4-4;1-1;"  
+\storePredefinedDiagram \chordmode {ees:aug} 
+                        #guitar-tuning 
+                        #"3-3;2-2;1-1;o;o;3-4"  
+\storePredefinedDiagram \chordmode {ees:dim} 
+                        #guitar-tuning 
+                        #(chord-shape 'ees:dim) 
+\storePredefinedDiagram \chordmode {ees:7} 
+                        #guitar-tuning 
+                        #"x;x;1-1;3-3;2-2;3-4;"  
+\storePredefinedDiagram \chordmode {ees:maj7} 
+                        #guitar-tuning 
+                        #"x;x;1-1;3-2;3-3;3-4;"  
+\storePredefinedDiagram \chordmode {ees:m7} 
+                        #guitar-tuning 
+                        #"x;x;1-1;3-2;2-3;2-4;"  
+
+%%%%  e chords
+%
+\storePredefinedDiagram \chordmode {e} 
+                        #guitar-tuning 
+                        #"o;2-2;2-3;1-1;o;o;"  
+\storePredefinedDiagram \chordmode {e:m} 
+                        #guitar-tuning 
+                        #"o;2-2;2-3;o;o;o;"  
+\storePredefinedDiagram \chordmode {e:aug} 
+                        #guitar-tuning 
+                        #"o;3-3;2-2;1-1;x;x;"  
+\storePredefinedDiagram \chordmode {e:dim} 
+                        #guitar-tuning 
+                        #(offset-fret 1 (chord-shape 'ees:dim))
+\storePredefinedDiagram \chordmode {e:7} 
+                        #guitar-tuning 
+                        #"o;2-2;o;1-1;o;o;"  
+\storePredefinedDiagram \chordmode {e:maj7} 
+                        #guitar-tuning 
+                        #"o;2-3;1-1;1-2;o;x;"  
+\storePredefinedDiagram \chordmode {e:m7} 
+                        #guitar-tuning 
+                        #"o;2-2;o;o;o;o;"  
+
+%%%%  f chords
+%
+\storePredefinedDiagram \chordmode {f} 
+                        #guitar-tuning 
+                        #(chord-shape 'f)
+\storePredefinedDiagram \chordmode {f:m} 
+                        #guitar-tuning 
+                        #(chord-shape 'f:m)
+\storePredefinedDiagram \chordmode {f:aug} 
+                        #guitar-tuning 
+                        #"x;x;1-1;4-3;4-4;3-2;"  
+\storePredefinedDiagram \chordmode {f:dim} 
+                        #guitar-tuning 
+                        #"x;x;o;1-1;o;1-2;"  
+\storePredefinedDiagram \chordmode {f:7} 
+                        #guitar-tuning 
+                        #(chord-shape 'f:7)
+\storePredefinedDiagram \chordmode {f:maj7} 
+                        #guitar-tuning 
+                        #"x;3-3;3-4;2-2;1-1;"  
+\storePredefinedDiagram \chordmode {f:m7} 
+                        #guitar-tuning 
+                        #(chord-shape 'f:m7)
+
+%%%%  fis chords
+%
+\storePredefinedDiagram \chordmode {fis} 
+                        #guitar-tuning 
+                        #(offset-fret 1 (chord-shape 'f))
+\storePredefinedDiagram \chordmode {fis:m} 
+                        #guitar-tuning 
+                        #(offset-fret 1 (chord-shape 'f:m))
+\storePredefinedDiagram \chordmode {fis:aug} 
+                        #guitar-tuning 
+                        #"2-2;1-1;o;3-4-(;3-4-);2-3;" 
+\storePredefinedDiagram \chordmode {fis:dim} 
+                        #guitar-tuning 
+                        #"x;x;1-1;2-3;1-2;2-4;"  
+\storePredefinedDiagram \chordmode {fis:7} 
+                        #guitar-tuning 
+                        #(offset-fret 1 (chord-shape 'f:7))
+\storePredefinedDiagram \chordmode {fis:maj7} 
+                        #guitar-tuning 
+                        #"x;x;4-4;3-3;2-2;1-1;"  
+\storePredefinedDiagram \chordmode {fis:m7} 
+                        #guitar-tuning 
+                        #(offset-fret 1 (chord-shape 'f:m7))
+
+%%%%  ges chords
+%
+\storePredefinedDiagram \chordmode {ges} 
+                        #guitar-tuning 
+                        #(offset-fret 1 (chord-shape 'f))
+\storePredefinedDiagram \chordmode {ges:m} 
+                        #guitar-tuning 
+                        #(offset-fret 1 (chord-shape 'f:m))
+\storePredefinedDiagram \chordmode {ges:aug} 
+                        #guitar-tuning 
+                        #"2-2;1-1;o;3-4-(;3-4-);2-3;" 
+\storePredefinedDiagram \chordmode {ges:dim} 
+                        #guitar-tuning 
+                        #"x;x;1-1;2-3;1-2;2-4;"  
+\storePredefinedDiagram \chordmode {ges:7} 
+                        #guitar-tuning 
+                        #(offset-fret 1 (chord-shape 'f:7))
+\storePredefinedDiagram \chordmode {ges:maj7} 
+                        #guitar-tuning 
+                        #"x;x;4-4;3-3;2-2;1-1;"  
+\storePredefinedDiagram \chordmode {ges:m7} 
+                        #guitar-tuning 
+                        #(offset-fret 1 (chord-shape 'f:m7))
+
+%%%%  g chords
+%
+\storePredefinedDiagram \chordmode {g} 
+                        #guitar-tuning 
+                        #"3-2;2-1;o;o;o;3-3;"  
+\storePredefinedDiagram \chordmode {g:m} 
+                        #guitar-tuning 
+                        #(offset-fret 2 (chord-shape 'f:m))
+\storePredefinedDiagram \chordmode {g:aug} 
+                        #guitar-tuning 
+                        #"x;x;5-1;8-3;8-4;7-2;"  
+\storePredefinedDiagram \chordmode {g:dim} 
+                        #guitar-tuning 
+                        #"x;x;5-2;6-4;5-3;3-1;"  
+\storePredefinedDiagram \chordmode {g:7} 
+                        #guitar-tuning 
+                        #"3-3;2-2;o;o;o;1-1;"  
+\storePredefinedDiagram \chordmode {g:maj7} 
+                        #guitar-tuning 
+                        #"x;x;5-4;4-3;3-2;2-1;"  
+\storePredefinedDiagram \chordmode {g:m7} 
+                        #guitar-tuning 
+                        #(offset-fret 2 (chord-shape 'f:m7))
+
+%%%%  gis chords
+%
+\storePredefinedDiagram \chordmode {gis} 
+                        #guitar-tuning 
+                        #(offset-fret 3 (chord-shape 'f))
+\storePredefinedDiagram \chordmode {gis:m} 
+                        #guitar-tuning 
+                        #(offset-fret 3 (chord-shape 'f:m))
+\storePredefinedDiagram \chordmode {gis:aug} 
+                        #guitar-tuning 
+                        #"o;3-4;2-3;1-1;1-2;o;"  
+\storePredefinedDiagram \chordmode {gis:dim} 
+                        #guitar-tuning 
+                        #"x;x;o;1-1;o;1-2;"  
+\storePredefinedDiagram \chordmode {gis:7} 
+                        #guitar-tuning 
+                        #(offset-fret 3 (chord-shape 'f:7))
+\storePredefinedDiagram \chordmode {gis:maj7} 
+                        #guitar-tuning 
+                        #"x;x;1-1-(;1-1;1-1-);3-3;"  
+\storePredefinedDiagram \chordmode {gis:m7} 
+                        #guitar-tuning 
+                        #(offset-fret 3 (chord-shape 'f:m7))
+
+%%%%  aes chords
+%
+\storePredefinedDiagram \chordmode {aes} 
+                        #guitar-tuning 
+                        #(offset-fret 3 (chord-shape 'f))
+\storePredefinedDiagram \chordmode {aes:m} 
+                        #guitar-tuning 
+                        #(offset-fret 3 (chord-shape 'f:m))
+\storePredefinedDiagram \chordmode {aes:aug} 
+                        #guitar-tuning 
+                        #"o;3-4;2-3;1-1;1-2;o;"  
+\storePredefinedDiagram \chordmode {aes:dim} 
+                        #guitar-tuning 
+                        #"x;x;o;1-1;o;1-2;"  
+\storePredefinedDiagram \chordmode {aes:7} 
+                        #guitar-tuning 
+                        #(offset-fret 3 (chord-shape 'f:7))
+\storePredefinedDiagram \chordmode {aes:maj7} 
+                        #guitar-tuning 
+                        #"x;x;1-1-(;1-1;1-1-);3-3;"  
+\storePredefinedDiagram \chordmode {aes:m7} 
+                        #guitar-tuning 
+                        #(offset-fret 3 (chord-shape 'f:m7))
+
+%%%%  a chords
+%
+\storePredefinedDiagram \chordmode {a} 
+                        #guitar-tuning 
+                        #"x;o;2-1;2-2;2-3;o;"  
+\storePredefinedDiagram \chordmode {a:m} 
+                        #guitar-tuning 
+                        #"x;o;2-2;2-3;1-1;o;"  
+\storePredefinedDiagram \chordmode {a:aug} 
+                        #guitar-tuning 
+                        #"x;o;3-4;2-2;2-3;1-1;"  
+\storePredefinedDiagram \chordmode {a:dim} 
+                        #guitar-tuning 
+                        #(chord-shape 'a:dim)
+\storePredefinedDiagram \chordmode {a:7} 
+                        #guitar-tuning 
+                        #"x;o;2-1;o;2-3;o;"  
+\storePredefinedDiagram \chordmode {a:maj7} 
+                        #guitar-tuning 
+                        #"x;o;2-2;1-1;2-3;o;"  
+\storePredefinedDiagram \chordmode {a:m7} 
+                        #guitar-tuning 
+                        #"x;o;2-2;o;1-1;o;"  
+
+%%%%  ais chords
+%
+\storePredefinedDiagram \chordmode {ais} 
+                        #guitar-tuning 
+                        #(chord-shape 'bes)
+\storePredefinedDiagram \chordmode {ais:m} 
+                        #guitar-tuning 
+                        #(chord-shape 'bes:m)
+\storePredefinedDiagram \chordmode {ais:aug} 
+                        #guitar-tuning 
+                        #"2-2;1-1;o;3-4-(;3-4-);2-3;"  
+\storePredefinedDiagram \chordmode {ais:dim} 
+                        #guitar-tuning 
+                        #(offset-fret 1 (chord-shape 'a:dim))
+\storePredefinedDiagram \chordmode {ais:7} 
+                        #guitar-tuning 
+                        #(chord-shape 'bes:7)
+\storePredefinedDiagram \chordmode {ais:maj7} 
+                        #guitar-tuning 
+                        #"x;1-1;3-3;2-2;3-4;x;"  
+\storePredefinedDiagram \chordmode {ais:m7} 
+                        #guitar-tuning 
+                        #(chord-shape 'bes:m7)
+
+%%%%  bes chords
+%
+\storePredefinedDiagram \chordmode {bes} 
+                        #guitar-tuning 
+                        #(chord-shape 'bes)
+\storePredefinedDiagram \chordmode {bes:m} 
+                        #guitar-tuning 
+                        #(chord-shape 'bes:m)
+\storePredefinedDiagram \chordmode {bes:aug} 
+                        #guitar-tuning 
+                        #"2-2;1-1;o;3-4-(;3-4-);2-3;"  
+\storePredefinedDiagram \chordmode {bes:dim} 
+                        #guitar-tuning 
+                        #(offset-fret 1 (chord-shape 'a:dim))
+\storePredefinedDiagram \chordmode {bes:7} 
+                        #guitar-tuning 
+                        #(chord-shape 'bes:7)
+\storePredefinedDiagram \chordmode {bes:maj7} 
+                        #guitar-tuning 
+                        #"x;1-1;3-3;2-2;3-4;x;"  
+\storePredefinedDiagram \chordmode {bes:m7} 
+                        #guitar-tuning 
+                        #(chord-shape 'bes:m7)
+
+%%%%  b chords
+%
+\storePredefinedDiagram \chordmode {b} 
+                        #guitar-tuning 
+                        #(offset-fret 1 (chord-shape 'bes))
+\storePredefinedDiagram \chordmode {b:m} 
+                        #guitar-tuning 
+                        #(offset-fret 1 (chord-shape 'bes:m))
+\storePredefinedDiagram \chordmode {b:aug} 
+                        #guitar-tuning 
+                        #"x;3-2;2-1;o;o;x;"  
+\storePredefinedDiagram \chordmode {b:dim} 
+                        #guitar-tuning 
+                        #"x;x;o;1-1;o;1-2;"  
+\storePredefinedDiagram \chordmode {b:7} 
+                        #guitar-tuning 
+                        #(offset-fret 1 (chord-shape 'bes:7))
+\storePredefinedDiagram \chordmode {b:maj7} 
+                        #guitar-tuning 
+                        #"x;2-1;4-3;3-2;4-4;x;"  
+\storePredefinedDiagram \chordmode {b:m7} 
+                        #guitar-tuning 
+                        #(offset-fret 1 (chord-shape 'bes:m7))
+