+
+@node Predefined fret diagrams
+@unnumberedsubsubsec Predefined fret diagrams
+
+
+@cindex Bunddiagramme
+@cindex Akkord-Diagramme
+
+@funindex FretBoards
+@funindex stringTunings
+
+Bunddiagramme können mit dem @code{FretBoards}-Kontext angezeigt
+werden. Standardmäßig zeigt der @code{FretBoards}-Kontext
+Bunddiagramme an, die in einer Tabelle definiert sind:
+
+@lilypond[verbatim, ragged-right, quote]
+\include "predefined-guitar-fretboards.ly"
+\context FretBoards {
+ \chordmode {
+ c1 d
+ }
+}
+@end lilypond
+
+Die vordefinierten Diagramme sind in der Datei
+@code{predefined-guitar-fretboards.ly} enthalten. Sie werden
+basierend auf der Tonhöhe eines Akkordes und dem Wert von
+@code{stringTunings} (Saitenstimmung), der gerade benutzt wird,
+gespeichert. @code{predefined-guitar-fretboards.ly} beinhaltet
+vordefinierte Diagramme für die Gitarrenstimmtung (@code{guitar-tuning}).
+Anhand der Beispiele in dieser Datei können auch für andere
+Instrumente oder Stimmungen Diagramme definiert werden.
+
+Tonhöhen von Akkorden können entweder als Akkordkonstrukte
+oder im Akkordmodus notiert werden (siehe auch
+@ref{Chord mode overview}).
+
+@lilypond[verbatim, ragged-right,quote]
+\include "predefined-guitar-fretboards.ly"
+\context FretBoards {
+ \chordmode {c1}
+ <c' e' g'>1
+}
+@end lilypond
+
+@cindex Akkordbezeichnungen und Bunddiagramme
+@cindex Bunddiagramme und Akkordbezeichnungen
+
+@funindex ChordNames
+@funindex chordmode
+@funindex \chordmode
+
+Oft wird sowohl eine Akkordbezeichnung als ein Bunddiagramm
+notiert. Das kann erreicht werden, indem ein
+@code{ChordNames}-Kontext parallel mit einem @code{FretBoards}-Kontext
+gesetzt wird und beiden Kontexten die gleichen Noten zugewiesen
+werden.
+
+@lilypond[verbatim, ragged-right, quote]
+\include "predefined-guitar-fretboards.ly"
+mychords = \chordmode{
+ c1 f g
+}
+
+<<
+ \context ChordNames {
+ \mychords
+ }
+ \context FretBoards {
+ \mychords
+ }
+>>
+@end lilypond
+
+@cindex Transposition von Bunddiagrammen
+@cindex Bunddiagramme, Transposition
+
+Vordefinierte Bunddiagramme können transponiert werden, solange
+ein Diagramm für den transponierten Akkord in der Bunddiagramm-Tabelle
+vorhanden ist.
+
+@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
+
+Die Tabelle der vordefinierten Bunddiagramme enthält sieben
+Akkorde (Dur, Moll, übermäßig, vermindert, Dominantseptakkord,
+große Septime und kleine Septime) für alle 17 Tonarten. Eine
+vollständige Liste der vordefinierten Bunddiagramme findet sich
+in @ref{Predefined fret diagrams}. Wenn in der Tabelle für
+einen Akkord kein Wert steht, wird ein Bunddiagramm vom
+@code{FretBoards}-Engraver errechnet, wobei die automatische
+Bunddiagrammfunktion zu Anwendung kommt. Siehe hierzu
+@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
+
+@cindex Bunddiagramme, eigene definieren
+@cindex Definieren von eigenen Bunddiagrammen
+@cindex Eigene Bunddiagramme definieren
+
+Bunddiagramme können zu der Tabelle hinzugefügt werden. Um ein
+Diagramm hinzuzufügen, muss der Akkord des Diagramms, die Stimmung
+und die Diagramm-Definition angegeben werden. Die Diagramm-Definition
+kann entweder eine @code{fret-diagram-terse}-Definition oder eine
+@code{fret-diagram-verbose}-Liste sein.
+
+@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
+
+Unterschiedliche Bunddiagramme für den selben Akkord können
+gespeichert werden, indem unterschiedliche Oktaven für die
+Tonhöhe benutzt werden. Die unterschiedliche Oktave sollte
+mindestens zwei Oktaven über oder unter der Standardoktave liegen,
+die für transponierende Bunddiagramme eingesetzt wird.
+
+@lilypond[verbatim, ragged-right, quote]
+\include "predefined-guitar-fretboards.ly"
+
+\storePredefinedDiagram \chordmode {c''}
+ #guitar-tuning
+ #(offset-fret 2 (chord-shape 'bes guitar-tuning))
+
+mychords = \chordmode{
+ c1 c''
+}
+
+<<
+ \context ChordNames {
+ \mychords
+ }
+ \context FretBoards {
+ \mychords
+ }
+>>
+@end lilypond
+
+@cindex Bundinstrumente, Akkordformen
+@cindex Akkordformen für Bundinstrumente
+
+@funindex \addChordShape
+@funindex add ChordShape
+@funindex storePredefinedDiagram
+@funindex \storePredefinedDiagram
+
+Zusätzlich zu Bunddiagrammen speichert LilyPond auch eine interne
+Liste an Akkordformen. Die Akkordformen sind Bunddiagramme,
+die am Hals entlang verschoben werden können und dabei unterschiedliche
+Akkorde ergeben. Akkordformen können zu der internen Liste
+hinzugefügt werden und dann benutzt werden, um vordefinierte
+Bunddiagramme zu definieren. Weil sie auf verschiedenen Positionen
+auf dem Steg gelegt werden können, beinhalten vordefinierte
+Akkord üblicherweise keine leeren Saiten. Wie Bunddiagramme können auch
+Akkordformen entweder als @code{fret-diagram-terse}-Definition
+oder als @code{fret-diagram-verbose}-Liste erstellt werden.
+
+@lilypond[verbatim, ragged-right, quote]
+\include "predefined-guitar-fretboards.ly"
+
+% add a new chord shape
+
+\addChordShape #'powerf #guitar-tuning #"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 guitar-tuning)
+\storePredefinedDiagram \chordmode {g''}
+ #guitar-tuning
+ #(offset-fret 2 (chord-shape 'powerf guitar-tuning))
+
+mychords = \chordmode{
+ f1 f'' g g''
+}
+
+<<
+ \context ChordNames {
+ \mychords
+ }
+ \context FretBoards {
+ \mychords
+ }
+>>
+@end lilypond
+
+Die graphische Form eines Bunddiagramms kann entsprechend den
+eigenen Wünschen verändert werden, indem man die Eigenschaften
+der @code{fret-diagram-interface}-Schnittstellt verändert.
+Einzelheiten hierzu in @rinternals{fret-diagram-interface}. Die
+Schnittstelleneigenschaften eines vordefinierten Bunddiagrammes
+gehören dem @code{FretBoards.FretBoard}-Kontext an.
+
+@snippets
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{customizing-fretboard-fret-diagrams.ly}
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{defining-predefined-fretboards-for-other-instruments.ly}
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{chordchanges-for-fretboards.ly}
+
+
+@seealso
+Notationsreferenz:
+@ref{Custom tablatures},
+@ref{Automatic fret diagrams},
+@ref{Chord mode overview},
+@ref{Predefined fret diagrams}.
+
+Installierte Dateien:
+@file{ly/predefined-guitar-fretboards.ly},
+@file{ly/predefined-guitar-ninth-fretboards.ly}.
+
+Schnipsel:
+@rlsr{Fretted strings}.
+
+Referenz der Interna:
+@rinternals {fret-diagram-interface}.
+
+
+@node Automatic fret diagrams
+@unnumberedsubsubsec Automatic fret diagrams
+
+@cindex Bunddiagramme, automatisch
+@cindex Akkorddiagramme, automatisch
+@cindex automatische Bunddiagramme
+
+Bunddiagramme können automatisch aus notierten Noten erstellt werden.
+Hierzu wird der @code{FretBoards}-Kontext eingesetzt. Wenn keine
+vordefinierten Diagramme für die ensprechenden Noten mit
+der aktiven Saitenstimmung (@code{stringTunings}) vorhanden sind,
+errechnet der Kontext Saiten und Bünde die benutzt werden können,
+um die Noten zu spielen.
+
+@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
+
+@funindex predefinedFretboardsOff
+@funindex \predefinedFretboardsOff
+@funindex predefinedFretboardsOn
+@funindex \predefinedFretboardsOn
+
+Da in den Standardeinstellungen keine vordefinierten Diagramme
+geladen werden, ist die automatische Diagrammerstellung das
+Standardverhalten. Wenn die vordefinierten Diagramme eingesetzt
+werden, kann die automatische Berechnung an- und ausgeschaltet
+werden.
+
+@lilypond[quote,ragged-right,verbatim]
+
+\storePredefinedDiagram <c 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 e g c' e'>1
+ \predefinedFretboardsOff
+ <c e g c' e'>
+ \predefinedFretboardsOn
+ <c e g c' e'>
+ }
+ \context Staff {
+ \clef "treble_8"
+ <c e g c' e'>1
+ <c e g c' e'>
+ <c e g c' e'>
+ }
+>>
+@end lilypond
+
+Manchmal kann die Berechnungsfunktion für Bunddiagramme kein
+passendes Diagramm finden. Das kann oft umgangen werden, indem
+man manuell einer Note eine bestimmte Saite zuweist. In vielen
+Fällen muss nur eine Note derart gekennzeichnet werden, der
+Rest wird dann ensprechend durch den @code{FretBoards}-Kontext
+behandelt.
+
+@cindex Bunddiagramme, Fingersatz
+@cindex Fingersatz in Bunddiagrammen
+
+Fingersatz kann zu FretBoard-Bunddiagrammen hinzugefügt werden.
+
+@lilypond[quote, verbatim]
+<<
+ \context ChordNames {
+ \chordmode {
+ c1 d:m
+ }
+ }
+ \context FretBoards {
+ < c-3 e-2 g c'-1 e' > 1
+ < d a-2 d'-3 f'-1>
+ }
+ \context Staff {
+ \clef "treble_8"
+ < c e g c' e' > 1
+ < d a d' f'>
+ }
+>>
+@end lilypond
+
+Der kleinste Bund, der benutzt wird, um Saiten und Bünde im
+FretBoard-Kontext zu errechnen, kann mit der
+@code{minimumFret}-Eigenschaft gesetzt werden.
+
+@lilypond[quote, verbatim]
+<<
+ \context ChordNames {
+ \chordmode {
+ d1:m d:m
+ }
+ }
+ \context FretBoards {
+ < d a d' f'>
+ \set FretBoards.minimumFret = #5
+ < d a d' f'>
+ }
+ \context Staff {
+ \clef "treble_8"
+ < d a d' f'>
+ < d a d' f'>
+ }
+>>
+@end lilypond
+
+Die Saiten und Bünde des @code{FretBoards}-Kontextes hängen von
+der @code{stringTunings}-Eigesnchaft ab, die die gleiche Bedeitung
+wie im TabStaff-Kontext hat. Siehe auch @ref{Custom tablatures}
+zu Information über die @code{stringTunings}Eigenschaft.
+
+Die graphische Erscheindung eines Bunddiagrammes kann den
+Bedürfnissen angepasst werden, indem Eigenschaften der
+@code{fret-diagram-interface}-Schnittstelle verändert werden.
+Einzelheiten finden sich in @rinternals{fret-diagram-interface}.
+Die Schnittstelleneigenschaften eines @code{FretBoards}-Diagramms
+gehören dem @code{FretBoards.FretBoard}-Kontext an.
+
+
+@predefined
+@code{\predefinedFretboardsOff},
+@code{\predefinedFretboardsOn}.
+@endpredefined
+
+