]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/notation/fretted-strings.itely
Doc: NR 1.8.2 - add \abs-fontsize to main doc
[lilypond.git] / Documentation / notation / fretted-strings.itely
index ec37a8636de44d962c601651b2274678451f55f0..e8deaafb8c9402363d8e4f9195a39416d2d4c82d 100644 (file)
@@ -7,7 +7,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.13.46"
+@c \version "2.15.16"
 
 @node Fretted string instruments
 @section Fretted string instruments
 
 @node Fretted string instruments
 @section Fretted string instruments
@@ -76,7 +76,6 @@ in @ref{Collision resolution}.
 
 @end itemize
 
 
 @end itemize
 
-
 @seealso
 Notation Reference:
 @ref{Fingering instructions},
 @seealso
 Notation Reference:
 @ref{Fingering instructions},
@@ -122,13 +121,12 @@ in the code:
 
 @snippets
 
 
 @snippets
 
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle]
 {controlling-the-placement-of-chord-fingerings.ly}
 
 {controlling-the-placement-of-chord-fingerings.ly}
 
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle]
 {allowing-fingerings-to-be-printed-inside-the-staff.ly}
 
 {allowing-fingerings-to-be-printed-inside-the-staff.ly}
 
-
 @seealso
 Notation Reference:
 @ref{Fingering instructions}.
 @seealso
 Notation Reference:
 @ref{Fingering instructions}.
@@ -253,34 +251,38 @@ minimumFret is 0.
 >>
 @end lilypond
 
 >>
 @end lilypond
 
-@funindex \tabChordRepetition
+@funindex \tabChordRepeats
+@funindex \chordRepeats
+@cindex Chord, repetition
+@cindex repetition, using @code{q}
 
 Chord constructs can be repeated by the chord repetition symbol
 
 Chord constructs can be repeated by the chord repetition symbol
-@code{q}. To use this feature in combination with tablature,
-@code{\tabChordRepetition} is provided.  It preserves the string
-information explicitly given within chord constructs so repeated chords
-get identical tablature representations.
+@code{q}.  In combination with tabulatures, its behavior of removing
+string and finger numbers alongside with other events is cumbersome, so
+you'll want to run
+@example
+\chordRepeats #'(string-number-event fingering-event)
+@end example
+explicitly on music expressions in tabulature using @ref{Chord
+repetition}.  This particular command is so common that it is available
+as @code{\tabChordRepeats}.
 
 @lilypond[quote,verbatim]
 
 @lilypond[quote,verbatim]
-\tabChordRepetition
-
 guitar = \relative c' {
 guitar = \relative c' {
-  r8 <gis\4 cis\3 b\2>~ q4 q8~ q q4
+  r8 <gis-6 cis-6 b-0>~ q4 q8~ q q4
 }
 
 \new StaffGroup <<
   \new Staff {
     \clef "treble_8"
 }
 
 \new StaffGroup <<
   \new Staff {
     \clef "treble_8"
-    \override Voice.StringNumber #'transparent = ##t
     \guitar
   }
   \new TabStaff {
     \guitar
   }
   \new TabStaff {
-    \guitar
+    \tabChordRepeats \guitar
   }
 >>
 @end lilypond
 
   }
 >>
 @end lilypond
 
-
 Ties over a line break are parenthesized by default.  The same holds for
 the second alternative of a repeat.
 
 Ties over a line break are parenthesized by default.  The same holds for
 the second alternative of a repeat.
 
@@ -373,9 +375,9 @@ pitches:
 
 @lilypond[verbatim,quote]
 firstHarmonic = {
 
 @lilypond[verbatim,quote]
 firstHarmonic = {
-  <d'\4\harmonic>4
-  <g'\3\harmonic>4
-  <b'\2\harmonic>2
+  d'4\4\harmonic
+  g'4\3\harmonic
+  b'2\2\harmonic
 }
 \score {
   <<
 }
 \score {
   <<
@@ -385,8 +387,9 @@ firstHarmonic = {
 }
 @end lilypond
 
 }
 @end lilypond
 
-Note that the command @code{\harmonic} must always be defined
-inside a chord construct. It only makes sense for open-string harmonics
+Note that the command @code{\harmonic} must always be attached to single
+notes (possibly inside of a chord) instead of whole chords.
+It only makes sense for open-string harmonics
 in the 12th fret. All other harmonics should be calculated by LilyPond.
 This can be achieved by indicating the fret where a finger of the
 fretting hand should touch a string.
 in the 12th fret. All other harmonics should be calculated by LilyPond.
 This can be achieved by indicating the fret where a finger of the
 fretting hand should touch a string.
@@ -423,33 +426,32 @@ ratioHarmonics = {
 }
 @end lilypond
 
 }
 @end lilypond
 
-
 @snippets
 @snippets
-
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle]
 {stem-and-beam-behavior-in-tablature.ly}
 
 {stem-and-beam-behavior-in-tablature.ly}
 
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle]
 {polyphony-in-tablature.ly}
 
 {polyphony-in-tablature.ly}
 
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle]
 {open-string-harmonics-in-tablature.ly}
 
 {open-string-harmonics-in-tablature.ly}
 
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle]
 {fretted-string-harmonics-in-tablature.ly}
 
 {fretted-string-harmonics-in-tablature.ly}
 
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle]
 {slides-in-tablature.ly}
 
 {slides-in-tablature.ly}
 
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle]
 {chord-glissando-in-tablature.ly}
 
 {chord-glissando-in-tablature.ly}
 
-
 @seealso
 Notation Reference:
 @seealso
 Notation Reference:
-@ref{Stems},
+@ref{Chord repetition},
+@ref{Glissando},
 @ref{Harmonics},
 @ref{Harmonics},
-@ref{Glissando}.
+@ref{Stems},
+@ref{Written-out repeats}.
 
 Snippets:
 @rlsr{Fretted strings}.
 
 Snippets:
 @rlsr{Fretted strings}.
@@ -460,9 +462,7 @@ Internals Reference:
 @rinternals{TabVoice},
 @rinternals{Beam}.
 
 @rinternals{TabVoice},
 @rinternals{Beam}.
 
-
 @knownissues
 @knownissues
-
 Chords are not handled in a special way, and hence the automatic
 string selector may easily select the same string for two notes in
 a chord.
 Chords are not handled in a special way, and hence the automatic
 string selector may easily select the same string for two notes in
 a chord.
@@ -485,6 +485,7 @@ melodia = \partcombine { e4 g g g } { e4 e e e }
 
 Guitar special effects are limited to harmonics and slides.
 
 
 Guitar special effects are limited to harmonics and slides.
 
+
 @node Custom tablatures
 @unnumberedsubsubsec Custom tablatures
 
 @node Custom tablatures
 @unnumberedsubsubsec Custom tablatures
 
@@ -503,7 +504,7 @@ Guitar special effects are limited to harmonics and slides.
 @cindex tablature, bass
 @cindex tablature, double bass
 
 @cindex tablature, bass
 @cindex tablature, double bass
 
-@funindex StringTunings
+@funindex stringTunings
 
 LilyPond tablature automatically calculates the fret for
 a note based on the string to which the note is assigned.
 
 LilyPond tablature automatically calculates the fret for
 a note based on the string to which the note is assigned.
@@ -539,21 +540,20 @@ The default string tuning is @code{guitar-tuning}, which
 is the standard EADGBE tuning.  Some other predefined tunings are
 @code{guitar-open-g-tuning}, @code{mandolin-tuning} and
 @code{banjo-open-g-tuning}.  The predefined string tunings
 is the standard EADGBE tuning.  Some other predefined tunings are
 @code{guitar-open-g-tuning}, @code{mandolin-tuning} and
 @code{banjo-open-g-tuning}.  The predefined string tunings
-are found in @file{ly/string-tuning-init.ly}.
+are found in @file{ly/string-tunings-init.ly}.
 
 
-@funindex contextStringTunings
-@funindex \contextStringTunings
+@funindex stringTuning
+@funindex \stringTuning
 @cindex tablature, custom string tunings
 @cindex custom string tunings
 
 Any desired string tuning can be created.  The
 @cindex tablature, custom string tunings
 @cindex custom string tunings
 
 Any desired string tuning can be created.  The
-@code{\contextStringTuning} function can be
-used to define a string tuning and set it as the
-@code{stringTunings} for the current context.
-@code{\contextStringTuning} takes two arguments: the
-symbol in which the string tuning will be stored,
-and a chord construct
-that defines the pitches of each string in the tuning.
+@code{\stringTuning} function can be
+used to define a string tuning which can be used
+to set @code{stringTunings} for the current context.
+
+Its argument is a chord construct
+defining the pitches of each string in the tuning.
 The chord construct must be in absolute octave mode,
 see @ref{Absolute octave entry}.  The string
 with the highest number (generally the lowest string) must
 The chord construct must be in absolute octave mode,
 see @ref{Absolute octave entry}.  The string
 with the highest number (generally the lowest string) must
@@ -574,7 +574,7 @@ mynotes = {
     \mynotes
   }
   \new TabStaff {
     \mynotes
   }
   \new TabStaff {
-    \contextStringTuning #'custom-tuning <c' g' d'' a''>
+    \set stringTunings = \stringTuning <c' g' d'' a''>
     \mynotes
   }
 >>
     \mynotes
   }
 >>
@@ -583,21 +583,14 @@ mynotes = {
 The @code{stringTunings} property is also used by
 @code{FretBoards} to calculate automatic fret diagrams.
 
 The @code{stringTunings} property is also used by
 @code{FretBoards} to calculate automatic fret diagrams.
 
-@funindex makeStringTuning
-@funindex \makeStringTuning
-
 String tunings are used as part of the hash key
 for predefined fret diagrams
 String tunings are used as part of the hash key
 for predefined fret diagrams
-(see @ref{Predefined fret diagrams}).  The @code{\makeStringTuning}
-function is used to create a string tuning without setting the
-@code{stringTunings} property in the current context.  The
-arguments to @code{\makeStringTuning} are the symbol to be
-used for the new string tuning and a chord construct used
-to define the tuning.
+(see @ref{Predefined fret diagrams}).
+
 The previous example could also be written as follows:
 
 @lilypond[quote,verbatim]
 The previous example could also be written as follows:
 
 @lilypond[quote,verbatim]
-\makeStringTuning #'custom-tuning <c' g' d'' a''>
+"custom-tuning" = \stringTuning <c' g' d'' a''>
 
 mynotes = {
   c'4 e' g' c'' |
 
 mynotes = {
   c'4 e' g' c'' |
@@ -627,36 +620,26 @@ A string pitch in a string tuning list is a LilyPond pitch
 object.  Pitch objects are created with the Scheme function
 @code{ly:make-pitch} (see @ref{Scheme functions}).
 
 object.  Pitch objects are created with the Scheme function
 @code{ly:make-pitch} (see @ref{Scheme functions}).
 
-If desired, a string tuning can be created as a Scheme
-literal.  The example below recreates the examples above,
-but the string tuning is not saved as a separate object:
-
-@lilypond[quote,verbatim]
-mynotes = {
-  c'4 e' g' c'' |
-  e''4 g'' b'' c'''
-}
-
-<<
-  \new Staff {
-    \clef treble
-    \mynotes
-  }
-  \new TabStaff {
-    \set TabStaff.stringTunings = #`(,(ly:make-pitch 1 5 0)
-                                    ,(ly:make-pitch 1 1 0)
-                                    ,(ly:make-pitch 0 4 0)
-                                    ,(ly:make-pitch 0 0 0))
-    \mynotes
-  }
->>
-@end lilypond
+@code{\stringTuning} creates such an object from chord input.
 
 LilyPond automatically calculates the number of lines in the
 @code{TabStaff} and the number of strings in an automatically
 calculated @code{FretBoard} as the number of elements
 in @code{stringTunings}.
 
 
 LilyPond automatically calculates the number of lines in the
 @code{TabStaff} and the number of strings in an automatically
 calculated @code{FretBoard} as the number of elements
 in @code{stringTunings}.
 
+To let all TabStaff contexts use the same custom tuning by default,
+you can use
+
+@example
+\layout @{
+  \context @{
+    \TabStaff
+    stringTunings = \stringTuning \notemode @{ <c' g' d'' a''> @}
+  @}
+@}
+@end example
+
+
 @cindex moderntab clef
 @cindex clef, moderntab
 @cindex clef, tab
 @cindex moderntab clef
 @cindex clef, moderntab
 @cindex clef, tab
@@ -683,7 +666,7 @@ Notation Reference:
 @ref{Scheme functions}.
 
 Installed Files:
 @ref{Scheme functions}.
 
 Installed Files:
-@file{ly/string-tuning-init.ly}
+@file{ly/string-tunings-init.ly},
 @file{scm/tablature.scm}.
 
 Snippets:
 @file{scm/tablature.scm}.
 
 Snippets:
@@ -697,6 +680,7 @@ Automatic tablature calculations do not work properly in most
 cases for instruments where string pitches do not vary
 monotonically with string number, such as ukuleles.
 
 cases for instruments where string pitches do not vary
 monotonically with string number, such as ukuleles.
 
+
 @node Fret diagram markups
 @unnumberedsubsubsec Fret diagram markups
 
 @node Fret diagram markups
 @unnumberedsubsubsec Fret diagram markups
 
@@ -1087,10 +1071,10 @@ markup, the interface properties belong to @code{Voice.TextScript}.
 
 @snippets
 
 
 @snippets
 
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle]
 {changing-fret-orientations.ly}
 
 {changing-fret-orientations.ly}
 
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle]
 {customizing-markup-fret-diagrams.ly}
 
 @seealso
 {customizing-markup-fret-diagrams.ly}
 
 @seealso
@@ -1107,7 +1091,6 @@ Internals Reference:
 @node Predefined fret diagrams
 @unnumberedsubsubsec Predefined fret diagrams
 
 @node Predefined fret diagrams
 @unnumberedsubsubsec Predefined fret diagrams
 
-
 @cindex fret diagrams
 @cindex fret diagrams, ukulele
 @cindex fret diagrams, mandolin
 @cindex fret diagrams
 @cindex fret diagrams, ukulele
 @cindex fret diagrams, mandolin
@@ -1389,19 +1372,18 @@ the interface properties belong to @code{FretBoards.FretBoard}.
 
 @snippets
 
 
 @snippets
 
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle]
 {customizing-fretboard-fret-diagrams.ly}
 
 {customizing-fretboard-fret-diagrams.ly}
 
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle]
 {defining-predefined-fretboards-for-other-instruments.ly}
 
 {defining-predefined-fretboards-for-other-instruments.ly}
 
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle]
 {chordchanges-for-fretboards.ly}
 
 {chordchanges-for-fretboards.ly}
 
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle]
 {fretboards-alternate-tables.ly}
 
 {fretboards-alternate-tables.ly}
 
-
 @seealso
 Notation Reference:
 @ref{Custom tablatures},
 @seealso
 Notation Reference:
 @ref{Custom tablatures},
@@ -1569,7 +1551,6 @@ diagram, the interface properties belong to
 @code{\predefinedFretboardsOn}.
 @endpredefined
 
 @code{\predefinedFretboardsOn}.
 @endpredefined
 
-
 @seealso
 Notation Reference:
 @ref{Custom tablatures}.
 @seealso
 Notation Reference:
 @ref{Custom tablatures}.
@@ -1622,13 +1603,12 @@ short, for example @code{RH},
 
 @snippets
 
 
 @snippets
 
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle]
 {placement-of-right-hand-fingerings.ly}
 
 {placement-of-right-hand-fingerings.ly}
 
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle]
 {fingerings,-string-indications,-and-right-hand-fingerings.ly}
 
 {fingerings,-string-indications,-and-right-hand-fingerings.ly}
 
-
 @seealso
 Snippets:
 @rlsr{Fretted strings}.
 @seealso
 Snippets:
 @rlsr{Fretted strings}.
@@ -1674,7 +1654,6 @@ b16 e g e b g\stopTextSpan
 e16 b g d
 @end lilypond
 
 e16 b g d
 @end lilypond
 
-
 @seealso
 Notation Reference:
 @ref{Text spanners}.
 @seealso
 Notation Reference:
 @ref{Text spanners}.
@@ -1883,22 +1862,21 @@ correct fret numbers for the fifth string:
 @funindex banjo-open-dm-tuning
 @funindex four-string-banjo
 
 @funindex banjo-open-dm-tuning
 @funindex four-string-banjo
 
-A number of common tunings for banjo are predefined in LilyPond:
+A number of common tunings for the five-string banjo are predefined:
 @code{banjo-c-tuning} (gCGBD), @code{banjo-modal-tuning} (gDGCD),
 @code{banjo-open-d-tuning} (aDF#AD) and @code{banjo-open-dm-tuning}
 (aDFAD).
 
 @code{banjo-c-tuning} (gCGBD), @code{banjo-modal-tuning} (gDGCD),
 @code{banjo-open-d-tuning} (aDF#AD) and @code{banjo-open-dm-tuning}
 (aDFAD).
 
-These tunings may be converted to four-string banjo tunings using the
+These may be converted to four-string tunings using the
 @code{four-string-banjo} function:
 
 @example
 \set TabStaff.stringTunings = #(four-string-banjo banjo-c-tuning)
 @end example
 
 @code{four-string-banjo} function:
 
 @example
 \set TabStaff.stringTunings = #(four-string-banjo banjo-c-tuning)
 @end example
 
-
 @seealso
 @seealso
+Installed Files:
+@file{ly/string-tunings-init.ly}.
+
 Snippets:
 @rlsr{Fretted strings}.
 Snippets:
 @rlsr{Fretted strings}.
-
-Installed Files:
-@file{scm/string-tunings-init.scm} contains predefined banjo tunings.