]> git.donarmstrong.com Git - lilypond.git/commitdiff
Merge branch 'master' of ssh+git://hanwen@git.sv.gnu.org/srv/git/lilypond
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 23 Jul 2008 14:50:02 +0000 (11:50 -0300)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 23 Jul 2008 14:50:02 +0000 (11:50 -0300)
52 files changed:
Documentation/user/changing-defaults.itely
Documentation/user/chords.itely
Documentation/user/fretted-strings.itely
Documentation/user/input.itely
Documentation/user/introduction.itely
Documentation/user/lilypond.tely
Documentation/user/notation-appendices.itely
Documentation/user/rhythms.itely
input/lsr/accordion-discant-symbols.ly
input/lsr/adding-drum-parts.ly
input/lsr/adding-fingerings-to-a-score.ly [new file with mode: 0644]
input/lsr/adding-fingerings-to-tablatures.ly [new file with mode: 0644]
input/lsr/adding-the-current-date-to-a-score.ly
input/lsr/adding-volta-brackets-to-additional-staves.ly
input/lsr/adjusting-lyrics-vertical-spacing.ly
input/lsr/aligning-and-centering-instrument-names.ly
input/lsr/aligning-lyrics.ly
input/lsr/aligning-marks-with-various-notation-objects.ly
input/lsr/alignment-vertical-spacing.ly
input/lsr/allowing-fingerings-to-be-printed-inside-the-staff.ly
input/lsr/analysis-brackets-above-the-staff.ly
input/lsr/ancient-time-signatures.ly
input/lsr/applying-note-head-styles-depending-on-the-step-of-the-scale.ly
input/lsr/automatic-beam-subdivisions.ly
input/lsr/automatic-beams-two-per-two-in-4-4-or-2-2-time-signature.ly
input/lsr/controlling-the-placement-of-chord-fingerings.ly
input/lsr/editorial-annotations.snippet-list
input/lsr/expressive-marks.snippet-list
input/lsr/faking-a-hammer-in-tablatures.ly [new file with mode: 0644]
input/lsr/fingerings,-string-indications,-and-right-hand-fingerings.ly [new file with mode: 0644]
input/lsr/flamenco-notation.ly [new file with mode: 0644]
input/lsr/fret-diagrams-explained-and-developed.ly [new file with mode: 0644]
input/lsr/fretted-strings.snippet-list
input/lsr/how-to-change-fret-diagram-position.ly [new file with mode: 0644]
input/lsr/jazz-combo-template.ly
input/lsr/keyboards.snippet-list
input/lsr/laissez-vibrer-ties.ly [new file with mode: 0644]
input/lsr/letter-tablature-formatting.ly [new file with mode: 0644]
input/lsr/modern-tab-text-clef.ly [new file with mode: 0644]
input/lsr/placement-of-right-hand-fingerings.ly [new file with mode: 0644]
input/lsr/polyphony-in-tablature.ly [new file with mode: 0644]
input/lsr/single-staff-template-with-notes,-lyrics,-chords-and-frets.ly
input/lsr/staff-notation.snippet-list
input/lsr/stem-and-beam-behavior-in-tablature.ly [new file with mode: 0644]
input/lsr/tweaks-and-overrides.snippet-list
input/lsr/volta-multi-staff.ly
input/new/fret-diagrams-explained-and-developed.ly [new file with mode: 0644]
input/new/letter-tablature-formatting.ly [new file with mode: 0644]
input/new/modern-tab-text-clef.ly [new file with mode: 0644]
input/new/volta-multi-staff.ly
lily/fretboard-engraver.cc
scm/define-context-properties.scm

index 381dba467b4d1467c5f84d1e450bd90d71d7905d..301f34374dfd7c3f02b2374032648260748d3a3b 100644 (file)
@@ -232,6 +232,9 @@ Then the following, which I don't know what to do with:
     * FretBoards
         Engraves fretboards from chords. Not easy... Not
 documented.
+        There is now some documentation on FretBoards in the NR, under
+         instrument-specific notation -- cds.
+
     * NoteNames
 
     * CueVoice Not documented
@@ -1530,9 +1533,11 @@ To create tab diagrams, enter notes or chords in note mode and
 render them in a @code{TabStaff} context, see
 @ref{Default tablatures}.
 
-To create fret diagrams above a staff, enter them as markup
-above the notes using the @code{\fret-diagram} command, see
-@ref{Fret diagrams}.
+To create fret diagrams above a staff, you have two choices.
+You can either use the @code{FretBoards} context (see
+@ref{Automatic fret diagrams} or you can enter them as a markup
+above the notes using the @code{\fret-diagram} command (see
+@ref{Fret diagram markups}).
 
 @strong{Lyrics mode}
 
index dbb1f0084da9ac4dfb4a4c4ea40f2e3a58ffbdb7..14983289cc99e1f3af0d2ee333d5feb424dcb2d9 100644 (file)
@@ -138,35 +138,94 @@ Seventh chords can be created:
 @funindex m
 
 The table belows shows the actions of the quality modifiers on
-triads and seventh chords.
+triads and seventh chords.  A more complete table of modifier usage
+is found at @ref{Common chord modifiers}.
 
-@table @code
+@c @table @code
+@multitable @columnfractions .2 .5 .2
 
-@item m
+@item
+@b{Modifier}
+@tab
+@b{Action}
+@tab
+@b{Example}
+
+@item
+None
+@tab
+The default action; produces a major triad.
+@tab
+@lilypond[line-width=4\cm, noragged-right]
+\chordmode {
+  \override Staff.TimeSignature #'stencil = ##f
+  c1
+}
+@end lilypond
+
+@item 
+m
+@tab
 The minor chord.  This modifier lowers the 3rd and (if present) the
 7th step.
+@tab
+@lilypond[line-width=4\cm, noragged-right]
+\chordmode {
+  \override Staff.TimeSignature #'stencil = ##f
+  c1:m c:m7
+}
+@end lilypond
 
-@item dim
+
+@item 
+dim
+@tab
 The diminished chord.  This modifier lowers the 3rd, 5th and (if
 present) the 7th step.
+@tab
+@lilypond[line-width=4\cm, noragged-right]
+\chordmode {
+  \override Staff.TimeSignature #'stencil = ##f
+  c1:dim c:dim7
+}
+@end lilypond
 
-@item aug
+@item 
+aug
+@tab
 The augmented chord.  This modifier raises the 5th step.
+@tab
+@lilypond[line-width=4\cm, noragged-right]
+\chordmode {
+  \override Staff.TimeSignature #'stencil = ##f
+  c1:aug
+}
+@end lilypond
 
-@item maj
+@item 
+maj, maj7
+@tab
 The major 7th chord.  This modifier adds a raised 7th step.  The
 @code{7} following @code{maj} is optional.  Do NOT use this modifier
 to create a major triad.
+@tab
+@lilypond[line-width=4\cm, noragged-right]
+\chordmode {
+  \override Staff.TimeSignature #'stencil = ##f
+  c1:maj c:maj7
+}
+@end lilypond
 
-@end table
+@end multitable
 
-@c TODO -- perhaps add warning about c and c:maj being different, while
-@c   c:maj and c:maj7 are the same
 
 @seealso
 
+Notation Reference:
+@ref{Common chord modifiers}.
+
 Snippets:
-@rlsr{Chords}
+@rlsr{Chords}.
 
 @node Extended and altered chords
 @unnumberedsubsubsec Extended and altered chords
index 3e4f8a2f2af6018f7811cec5ca2997fcaf796aad..2bcb518678280ce718341bed228592e43c22a9a4 100644 (file)
@@ -6,7 +6,7 @@
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
-@c \version "2.11.51"
+@c \version "2.11.53"
 
 @node Fretted string instruments
 @section Fretted string instruments
@@ -36,7 +36,8 @@ to fretted string instruments.
 * String number indications::   
 * Default tablatures::          
 * Custom tablatures::           
-* Fret diagrams::               
+* Automatic fret diagrams::               
+* Fret diagram markups::
 * Right-hand fingerings::       
 @end menu
 
@@ -322,16 +323,124 @@ Snippets:
 The file @file{scm/@/output@/-lib@/.scm} contains the predefined string
 tunings.
 
-Internals Reference: @rinternals{Tab_note_heads_engraver}.
+Internals Reference: 
+@rinternals{Tab_note_heads_engraver}.
 
 @knownissues
 
 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
 
-@node Fret diagrams
-@subsubsection Fret diagrams
+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
 @cindex chord diagrams
 
@@ -343,6 +452,268 @@ produce equivalent markups, but have varying amounts of
 information in the markup string.  Details about the markup
 interfaces are found at @ref{Text markup commands}.
 
+The standard fret diagram markup string indicates the string
+number and the fret number for each dot to be placed on the string.
+In addition, open and unplayed (muted) strings can be indicated.
+
+@lilypond[quote, verbatim]
+<<
+  \context ChordNames {
+     \chordmode { 
+       c1 d:m          
+     }
+  }
+  \context Staff {
+    \clef "treble_8"
+    < c e g c' e' > 1 ^\markup 
+      \fret-diagram #"6-x;5-3;4-2;3-o;2-1;1-o;"
+    < d a d' f'> ^\markup
+      \fret-diagram #"6-x;5-x;4-o;3-2;2-3;1-1;"
+  }  
+>>
+@end lilypond
+
+Barre indications can be added to the diagram from
+the fret-diagram markup string.
+
+@lilypond[quote, verbatim]
+<<
+  \context ChordNames {
+     \chordmode {
+       f1 g
+     }
+  }
+  \context Staff {
+    \clef "treble_8"
+    < f, c f a c' f'>1 ^\markup
+      \fret-diagram #"c:6-1-1;6-1;5-3;4-3;3-2;2-1;1-1;"
+    < g, b, d g b' g'> ^\markup
+      \fret-diagram #"c:6-1-3;6-3;5-5;4-5;3-4;2-3;1-3;"
+  }
+>>
+@end lilypond
+
+The size of the fret diagram, and the number of frets in the diagram
+can be changed in the fret-diagram markup string.
+
+@lilypond[quote, verbatim]
+<<
+  \context ChordNames {
+     \chordmode {
+       f1 g
+     }
+  }
+  \context Staff {
+    \clef "treble_8"
+    < f, c f a c' f'>1 ^\markup
+      \fret-diagram #"s:1.5;c:6-1-1;6-1;5-3;4-3;3-2;2-1;1-1;"
+    < g, b, d g b' g'> ^\markup
+      \fret-diagram #"h:6;6-3;5-2;4-o;3-o;2-o;1-3;"
+  }
+>>
+@end lilypond
+
+The number of strings in a fret diagram can be changed to accomodate
+different instruments such as banjos and ukeleles with the fret-diagram
+markup string.
+
+@lilypond[quote, verbatim]
+<<
+  \context ChordNames {
+     \chordmode {
+       a1
+     }
+  }
+  \context Staff {
+        %% A chord for ukelele
+    a'1 ^\markup \fret-diagram #"w:4;4-2-2;3-1-1;2-o;1-o;"
+  }
+>>
+@end lilypond
+
+Fingering indications can be added, and the location of fingering labels
+can be controlled by the fret-diagram markup string.
+
+@lilypond[quote, verbatim]
+<<
+  \context ChordNames {
+     \chordmode { 
+       c1 d:m          
+     }
+  }
+  \context Staff {
+    \clef "treble_8"
+    < c e g c' e' > 1 ^\markup 
+      \fret-diagram #"f:1;6-x;5-3-3;4-2-2;3-o;2-1-1;1-o;"
+    < d a d' f'> ^\markup
+      \fret-diagram #"f:2;6-x;5-x;4-o;3-2-2;2-3-3;1-1-1;"
+  }  
+>>
+@end lilypond
+
+Dot radius and dot position can be controlled with the fret-diagram
+markup string.
+
+@lilypond[quote, verbatim]
+<<
+  \context ChordNames {
+     \chordmode { 
+       c1 d:m          
+     }
+  }
+  \context Staff {
+    \clef "treble_8"
+    < c e g c' e' > 1 ^\markup 
+      \fret-diagram #"d:0.35;6-x;5-3;4-2;3-o;2-1;1-o;"
+    < d a d' f'> ^\markup
+      \fret-diagram #"p:0.2;6-x;5-x;4-o;3-2;2-3;1-1;"
+  }  
+>>
+@end lilypond
+
+The fret-diagram-terse markup string omits string numbers; the string
+number is implied by the presence of semicolons.  There is one semicolon 
+for each string in the diagram.  The first semicolon corresponds to the
+highest string number and the last semicolon corresponds to the first string.
+Mute strings, open strings, and fret numbers can be indicated.
+
+@lilypond[quote, verbatim]
+<<
+  \context ChordNames {
+     \chordmode {
+       c1 d:m
+     }
+  }
+  \context Staff {
+    \clef "treble_8"
+    < c e g c' e' > 1 ^\markup
+      \fret-diagram-terse #"x;3;2;o;1;o;"
+    < d a d' f'> ^\markup
+      \fret-diagram-terse #"x;x;o;2;3;1;"
+  }
+>>
+@end lilypond
+
+Barre indicators can be included in the fret-diagram-terse markup string.
+
+@lilypond[quote, verbatim]
+<<
+  \context ChordNames {
+     \chordmode {
+       f1 g
+     }
+  }
+  \context Staff {
+    \clef "treble_8"
+    < f, c f a c' f'>1 ^\markup
+      \fret-diagram-terse #"1-(;3;3;2;1;1-);"
+    < g, b, d g b' g'> ^\markup
+      \fret-diagram-terse #"3-(;5;5;4;3;3-);"
+  }
+>>
+@end lilypond      
+
+Fingering indications can be included in the fret-diagram-terse markup string.
+
+@c Need to use override to enable fingerings to show this -- can we do so?
+@lilypond[quote, verbatim]
+<<    
+  \context ChordNames {
+     \chordmode {
+       c1 d:m
+     }
+  }
+  \context Staff {
+    \override Voice.TextScript 
+      #'fret-diagram-details #'finger-code = #'below-string
+    \clef "treble_8"
+    < c e g c' e' > 1 ^\markup
+      \fret-diagram-terse #"x;3-3;2-2;o;1-1;o;"
+    < d a d' f'> ^\markup
+      \fret-diagram-terse #"x;x;o;2-2;3-3;1-1;"
+  }
+>>
+@end lilypond
+
+Other fret diagram properties must be adjusted using @code{\override} when using
+the fret-diagram-terse markup.
+
+The fret-diagram-verbose markup string is in the format of a Scheme list.  Each
+element of the list indicates an item to be placed on the fret diagram.
+
+@lilypond[quote, verbatim]
+<<  \context ChordNames {
+     \chordmode {
+       c1 d:m
+     }
+  }
+  \context Staff {
+    \clef "treble_8"
+    < c e g c' e' > 1 ^\markup
+      \fret-diagram-verbose #'(
+        (mute 6)
+        (place-fret 5 3)
+        (place-fret 4 2)
+        (open 3)
+        (place-fret 2 1)
+        (open 1)
+      )
+    < d a d' f'> ^\markup
+      \fret-diagram-verbose #'(
+        (mute 6)
+        (mute 5)
+        (open 4)
+        (place-fret 3 2)
+        (place-fret 2 3)
+        (place-fret 1 1)
+      )
+  }
+>>
+@end lilypond
+
+Fingering indications and barres can be included in a 
+fret-diagram-verbose markup string.
+
+@c \override is necessary to make fingering visible
+@lilypond[quote, verbatim]
+<<
+  \context ChordNames {
+     \chordmode {
+       f1 g
+     }
+  }
+  \context Staff {
+    \clef "treble_8"
+    \override Voice.TextScript
+      #'fret-diagram-details #'finger-code = #'below-string
+
+    < f, c f a c' f'>1 ^\markup
+      \fret-diagram-verbose #'(
+        (place-fret 6 1)
+        (place-fret 5 3)
+        (place-fret 4 3)
+        (place-fret 3 2)
+        (place-fret 2 1)
+        (place-fret 1 1)
+        (barre 6 1 1)
+      )
+    < g, b, d g b' g'> ^\markup
+      \fret-diagram-verbose #'(
+        (place-fret 6 3 2)
+        (place-fret 5 2 1)
+        (open 4)
+        (open 3)
+        (open 2)
+        (place-fret 1 3 3)
+      )
+  }
+>>
+@end lilypond
+
+All other fret diagram properties must be adjusted using @code{\override} 
+when using the fret-diagram-verbose markup.
+
+@ignore
 The following example shows the three fret-diagram markup
 interfaces, along with examples of common tweaks.  For example,
 the size of the verbose fret diagram is reduced to 0.75, and the
@@ -376,17 +747,27 @@ and color of dots.
   c c c
 }
 @end lilypond
+@end ignore
 
-You can set a number of graphical properties according to your preference.
-Details about the property interface to fret diagrams are found at
-@rinternals{fret-diagram-interface}.
+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 fret diagram
+markup , the interface properties belong to @code{Voice.TextScript}.
 
+@snippets
+TODO create snippets for changing properties.  Use regression test?
 
 @seealso
 
+Notation Reference:
+@ref{Text markup commands}.
+
 Snippets:
 @rlsr{Fretted strings}.
 
+Internals Reference:
+@rinternals{fret-diagram-interface}.
+
 @node Right-hand fingerings
 @subsubsection Right-hand fingerings
 
@@ -490,6 +871,15 @@ b16 d g b e
 e16 b g d
 @end lilypond
 
+@seealso
+
+Notation Reference:
+@ref{Text spanners}.
+
+Snippets:
+@rlsr{Fretted strings},
+@rlsr{Expressive marks}.
+
 @node Indicating harmonics and dampened notes
 @subsubsection Indicating harmonics and dampened notes
 
@@ -568,3 +958,4 @@ The file @file{scm/@/output@/-lib@/.scm} contains predefined banjo tunings.
 
 
 
+
index 081494939a3528e9eb0302549e572d44c2a9a1da..fde1bd564f29843d1d57ba25c7ac83eb2d1e465a 100644 (file)
@@ -9,10 +9,10 @@
 
 @c \version "2.11.51"
 
-@node Input syntax
-@chapter Input syntax
+@node General input and output
+@chapter General input and output
 
-This section deals with general LilyPond input syntax issues,
+This section deals with general LilyPond input and output issues,
 rather than specific notation.
 
 @menu
index a43aa25d618290473b7f4ccee5f0d68c55da8b95..41eb709cafe3870d74fe212f052c5acd98dacf81 100644 (file)
@@ -898,9 +898,9 @@ gives details about special notation that will only be useful for
 particular instrument (or vocal) groups.
 
 @item
-@ruser{Input syntax}:
-discusses general information about LilyPond files and controlling
-output.
+@ruser{General input and output}:
+discusses general information about LilyPond input files and
+controlling output.
 
 @item
 @ruser{Spacing issues}:
index 9b3ef5a500f12046e35c87bc68b23740d135f62b..0d116b6fd3b4ad97a2d5cd3c947774b05bdae105 100644 (file)
@@ -153,8 +153,8 @@ of this and other documentation.
 * Musical notation::               Musical notation.
 * Specialist notation::            Notation which is only used for
     specific purposes.
-* Input syntax::                   General information about
-    lilypond input files.
+* General input and output::       General information about
+    lilypond input and output.
 * Spacing issues::                 Display of output on paper.
 * Changing defaults::              Tuning output.
 * Interfaces for programmers::     Expert usage.
index 0158773c578ae7f6a500a044a5113369f033edd0..b47dd2ece6e8f65867954610760f5a351dd0b189 100644 (file)
@@ -63,7 +63,7 @@ Major third, perfect fifth
 @tab
 @code{5} or nothing
 @tab
-@lilypond[line-width=3\cm,noragged-right]
+@lilypond[line-width=3\cm,noragged-right, notime]
 \chordmode {
   c1:5
 }
@@ -76,7 +76,7 @@ Minor third, perfect fifth
 @tab
 @code{m} or @code{m5}
 @tab
-@lilypond[line-width=3\cm,noragged-right]
+@lilypond[line-width=3\cm,noragged-right, notime]
 \chordmode {
   c1:m
 }
@@ -89,7 +89,7 @@ Major third, augmented fifth
 @tab
 @code{aug}
 @tab
-@lilypond[line-width=3\cm,noragged-right]
+@lilypond[line-width=3\cm,noragged-right, notime]
 \chordmode {
   c1:aug
 }
@@ -102,7 +102,7 @@ Minor third, diminished fifth
 @tab
 @code{dim}
 @tab
-@lilypond[line-width=3\cm,noragged-right]
+@lilypond[line-width=3\cm,noragged-right, notime]
 \chordmode {
   c1:dim
 }
@@ -115,7 +115,7 @@ Major triad, minor seventh
 @tab
 @code{7}
 @tab
-@lilypond[line-width=3\cm,noragged-right]
+@lilypond[line-width=3\cm,noragged-right, notime]
 \chordmode {
   c1:7
 }
@@ -128,7 +128,7 @@ Major triad, major seventh
 @tab
 @code{maj7} or @code{maj}
 @tab
-@lilypond[line-width=3\cm,noragged-right]
+@lilypond[line-width=3\cm,noragged-right, notime]
 \chordmode {
   c1:maj7
 }
@@ -141,7 +141,7 @@ Minor triad, minor seventh
 @tab
 @code{m7}
 @tab
-@lilypond[line-width=3\cm,noragged-right]
+@lilypond[line-width=3\cm,noragged-right, notime]
 \chordmode {
   c1:m7
 }
@@ -154,7 +154,7 @@ Diminished triad, diminished seventh
 @tab
 @code{dim7}
 @tab
-@lilypond[line-width=3\cm,noragged-right]
+@lilypond[line-width=3\cm,noragged-right, notime]
 \chordmode {
   c1:dim7
 }
@@ -167,7 +167,7 @@ Augmented triad, minor seventh
 @tab
 @code{aug7}
 @tab
-@lilypond[line-width=3\cm,noragged-right]
+@lilypond[line-width=3\cm,noragged-right, notime]
 \chordmode {
   c1:aug7
 }
@@ -180,7 +180,7 @@ Diminished triad, minor seventh
 @tab
 @code{dim5m7}
 @tab
-@lilypond[line-width=3\cm,noragged-right]
+@lilypond[line-width=3\cm,noragged-right, notime]
 \chordmode {
   c1:dim5m7
 }
@@ -193,7 +193,7 @@ Minor triad, major seventh
 @tab
 @code{7m5}
 @tab
-@lilypond[line-width=3\cm,noragged-right]
+@lilypond[line-width=3\cm,noragged-right, notime]
 \chordmode {
   c1:7m5
 }
@@ -206,7 +206,7 @@ Major triad, sixth
 @tab
 @code{6}
 @tab
-@lilypond[line-width=3\cm,noragged-right]
+@lilypond[line-width=3\cm,noragged-right, notime]
 \chordmode {
   c1:6
 }
@@ -219,7 +219,7 @@ Minor triad, sixth
 @tab
 @code{m6}
 @tab
-@lilypond[line-width=3\cm,noragged-right]
+@lilypond[line-width=3\cm,noragged-right, notime]
 \chordmode {
   c1:m6
 }
@@ -232,7 +232,7 @@ Dominant seventh, major ninth
 @tab
 @code{9}
 @tab
-@lilypond[line-width=3\cm,noragged-right]
+@lilypond[line-width=3\cm,noragged-right, notime]
 \chordmode {
   c1:9
 }
@@ -245,7 +245,7 @@ TODO
 @tab
 @code{maj9}
 @tab
-@lilypond[line-width=3\cm,noragged-right]
+@lilypond[line-width=3\cm,noragged-right, notime]
 \chordmode {
   c1:maj9
 }
@@ -258,7 +258,7 @@ TODO
 @tab
 @code{m9}
 @tab
-@lilypond[line-width=3\cm,noragged-right]
+@lilypond[line-width=3\cm,noragged-right, notime]
 \chordmode {
   c1:m9
 }
@@ -271,7 +271,7 @@ Dominant ninth, perfect eleventh
 @tab
 @code{11}
 @tab
-@lilypond[line-width=3\cm,noragged-right]
+@lilypond[line-width=3\cm,noragged-right, notime]
 \chordmode {
   c1:11
 }
@@ -284,7 +284,7 @@ TODO
 @tab
 @code{maj11}
 @tab
-@lilypond[line-width=3\cm,noragged-right]
+@lilypond[line-width=3\cm,noragged-right, notime]
 \chordmode {
   c1:maj11
 }
@@ -297,7 +297,7 @@ TODO
 @tab
 @code{m11}
 @tab
-@lilypond[line-width=3\cm,noragged-right]
+@lilypond[line-width=3\cm,noragged-right, notime]
 \chordmode {
   c1:m11
 }
@@ -310,7 +310,7 @@ Dominant eleventh, major thirteenth
 @tab
 @code{13.11}
 @tab
-@lilypond[line-width=3\cm,noragged-right]
+@lilypond[line-width=3\cm,noragged-right, notime]
 \chordmode {
   c1:13.11
 }
@@ -323,7 +323,7 @@ TODO
 @tab
 @code{maj13.11}
 @tab
-@lilypond[line-width=3\cm,noragged-right]
+@lilypond[line-width=3\cm,noragged-right, notime]
 \chordmode {
   c1:maj13.11
 }
@@ -336,7 +336,7 @@ TODO
 @tab
 @code{m13.11}
 @tab
-@lilypond[line-width=3\cm,noragged-right]
+@lilypond[line-width=3\cm,noragged-right, notime]
 \chordmode {
   c1:m13.11
 }
@@ -349,7 +349,7 @@ TODO
 @tab
 @code{sus2}
 @tab
-@lilypond[line-width=3\cm,noragged-right]
+@lilypond[line-width=3\cm,noragged-right, notime]
 \chordmode {
   c1:sus2
 }
@@ -362,7 +362,7 @@ TODO
 @tab
 @code{sus4}
 @tab
-@lilypond[line-width=3\cm,noragged-right]
+@lilypond[line-width=3\cm,noragged-right, notime]
 \chordmode {
   c1:sus4
 }
index ee87ba5de193d9b1b2d6166a696592166c1b7714..e251cb98f464dbed6134198e91a2f410f972a920 100644 (file)
@@ -1036,7 +1036,7 @@ Partial or pick-up measures, such as an anacrusis or upbeat, are
 entered using the @code{\partial} command, with the syntax
 
 @example
-\partial @var{duration} @emph{notes}
+\partial @var{duration} 
 @end example
 
 where @code{duration} is the rhythmic length of the interval
@@ -1317,9 +1317,12 @@ Internals Reference:
 
 @knownissues
 
-When using different time signatures in parallel, the spacing is
-aligned vertically, but bar lines distort the regular spacing.
-
+When using different time signatures in parallel, notes
+at the same moment will be be placed at the same horizontal
+location.  However, the bar lines in the different staves
+will cause the note spacing to be less regular in each of the
+individual staves than would be normal without the different
+time signatures.
 
 @node Automatic note splitting
 @subsubsection Automatic note splitting
@@ -1329,7 +1332,7 @@ aligned vertically, but bar lines distort the regular spacing.
 
 Long notes which overrun bar lines can be converted automatically
 to tied notes.  This is done by replacing the
-@code{Note_heads_engraver} by the
+@code{Note_heads_engraver} with the
 @code{Completion_heads_engraver}.  In the following
 example, notes crossing the bar lines are split and tied.
 
@@ -1351,7 +1354,9 @@ To allow line breaking on the bar lines where the
 @code{Completion_heads_engraver} has inserted a split note, remove
 the @code{Forbid_line_break_engraver} too.
 
-
+TODO -- find example that shows the above paragraph.  I can't make
+the Forbid_line_break_engraver have any effect in my examples (cs).
+Does the Forbid_line_break_engraver still have the claimed effect?
 @seealso
 
 Music Glossary: @rglos{tie}
@@ -1372,8 +1377,8 @@ Internals Reference:
 @knownissues
 
 Not all durations (especially those containing tuplets) can be
-represented exactly with normal notes and dots, but the engraver
-will not insert tuplets.
+represented exactly with normal notes and dots, but the 
+@code{Completion_heads_engraver} will not insert tuplets.
 
 The @code{Completion_heads_engraver} only affects notes; it does not
 split rests.
@@ -1394,6 +1399,8 @@ staff are squashed, and the staff itself has a single line
 }
 @end lilypond
 
+TODO -- put example in with multiple lines as well (used for strumming
+rhythms in guitar)
 
 @node Beams
 @subsection Beams
@@ -1442,6 +1449,7 @@ c16 c8
 
 @snippets
 
+@c TODO -- convert to snippet
 Beaming patterns may be altered with the @code{beatGrouping} property,
 
 @lilypond[quote,verbatim,relative=2,fragment,ragged-right]
@@ -1452,6 +1460,7 @@ c8[^"(2+3)" c16 c8]
 c8[^"(3+2)" c16 c8]
 @end lilypond
 
+@c TODO  convert to snippet
 The beams of consecutive 16th (or shorter) notes are, by default,
 not sub-divided.  That is, the three (or more) beams stretch
 unbroken over entire groups of notes.  This behavior can
@@ -1485,6 +1494,7 @@ For more information about @code{make-moment}, see
 @cindex break, line
 @cindex line breaks
 
+@c TODO  convert to snippet
 Line breaks are normally forbidden when beams cross bar lines.
 This behavior can be changed by setting the @code{breakable}
 property: @code{\override Beam #'breakable = ##t}.
@@ -1499,6 +1509,7 @@ c8 \repeat unfold 15 { c[ c] } c
 @cindex kneed beams
 @cindex auto-knee-gap
 
+@c TODO convert to snippet
 Kneed beams are inserted automatically when a large gap is
 detected between the note heads.  This behavior can be tuned
 through the @code{auto-knee-gap} property.  A kneed beam is
@@ -1553,24 +1564,32 @@ defined in @file{scm/@/auto@/-beam@/.scm}.
 
 In order to add a rule to the list, use
 @example
-#(override-auto-beam-setting '(be p q n m) a b [context])
+#(override-auto-beam-setting 
+  '(beam-limit beam-numerator  beam-denominator
+     time-signature-numerator time-signature-denominator) 
+  moment-numerator moment-denominator [context])
 @end example
 
 @itemize
 
-@item @code{be} is either @code{begin} or @code{end}.
+@item @code{beam-limit} is the type of automatic beam limit
+defined, either @code{begin} or @code{end}.
 
-@item @code{p/q} is the duration of the note for which you want
-to add a rule.  A beam is considered to have the duration of its
-shortest note.  Set @code{p} and @code{q} to @code{'*'} to
-have this apply to any beam.
+@item @code{beam-numerator/beam-denominator} is the beam duration
+for which you want to add a rule.  A beam is considered to have 
+the duration of its shortest note.  Set @code{beam-numerator} and 
+@code{beam-denominator} to @code{'*'} to
+have this rule apply beams of any duration.
 
-@item @code{n/m} is the time signature to which
-this rule should apply.  Set @code{n} and @code{m} to @code{'*'}
-to have this apply in any time signature.
+@item @code{time-signature-numerator/time-signature-denominator}
+is the time signature to which
+this rule should apply.  Set @code{time-signature-numerator} and 
+@code{time-signature-denominator} to @code{'*'}
+to have this rule apply in any time signature.
 
-@item @code{a/b} is the position in the bar at which the beam should
-begin/end.
+@item @code{monent-numerator/moment-denominator} is the position 
+in the bar at which the beam should
+begin or end.
 
 @item @code{context} is optional, and it specifies the context at which
 the change should be made.  The default is @code{'Voice}.
@@ -1580,6 +1599,7 @@ the change should be made.  The default is @code{'Voice}.
 
 @end itemize
 
+TODO -- convert to music example
 For example, if automatic beams should always end on the first quarter
 note, use
 
@@ -1592,9 +1612,11 @@ note is a certain duration
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 \time 2/4
+% end 1/16 beams for all time signatures at the 1/16 moment
 #(override-auto-beam-setting '(end 1 16 * *) 1 16)
 a16 a a a a a a a |
 a32 a a a a16 a a a a a |
+% end 1/32 beams for all time signatures at the 1/16 moment
 #(override-auto-beam-setting '(end 1 32 * *) 1 16)
 a32 a a a a16 a a a a a |
 @end lilypond
@@ -1604,6 +1626,7 @@ signatures
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 \time 5/8
+% end beams of all durations in 5/8 time signature at the 2/8 moment
 #(override-auto-beam-setting '(end * * 5 8) 2 8)
 c8 c d d d
 \time 4/4
@@ -1612,21 +1635,27 @@ e8 e f f e e d d
 c8 c d d d
 @end lilypond
 
-You can also remove a previously set beam-ending rule by using
+Existing auto-beam rules are removed by using
 
 @example
-#(revert-auto-beam-setting '(be p q n m) a b [context])
+#(revert-auto-beam-setting 
+  '(beam-limit beam-numerator  beam-denominator
+     time-signature-numerator time-signature-denominator) 
+  moment-numerator moment-denominator [context])
 @end example
 
 @noindent
-@code{be}, @code{p}, @code{q}, @code{n}, @code{m}, @code{a},
-@code{b} and @code{context} are the same as above.  Note that the
-default rules are specified in @file{scm/@/auto@/-beam@/.scm},
+@code{beam-limit}, @code{beam-numerator}, @code{beam-denominator}, 
+@code{time-signature-numerator}, @code{time-signature-denominator},
+@code{moment-numerator}, @code{moment-denominator} and @code{context}
+are the same as above.  Note that the default auto-beaming rules are 
+specified in @file{scm/@/auto@/-beam@/.scm},
 so you can revert rules that you did not explicitly create.
 
 @lilypond[quote,fragment,ragged-right,verbatim,relative=2]
 \time 4/4
 a16 a a a a a a a a a a a a a a a
+% undo a rule ending 1/16 beams in 4/4 time at 1/4 moment
 #(revert-auto-beam-setting '(end 1 16 4 4) 1 4)
 a16 a a a a a a a a a a a a a a a
 @end lilypond
@@ -1726,6 +1755,8 @@ Snippets:
 @subsubsection Manual beams
 
 @cindex beams, manual
+@funindex ]
+@funindex [
 
 In some cases it may be necessary to override the automatic
 beaming algorithm.  For example, the autobeamer will not put beams
@@ -1748,9 +1779,6 @@ from being beamed:
 \time 2/4 c8 c\noBeam c c
 @end lilypond
 
-@funindex ]
-@funindex [
-
 @funindex stemLeftBeamCount
 @funindex stemRightBeamCount
 
@@ -1763,6 +1791,7 @@ then it is erased.  In this example, the last @code{f} is printed
 with only one beam on the left side, i.e., the eighth-note beam of
 the group as a whole.
 
+TODO -- no difference based on stemLeftBeamCount in this example
 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
 {
   f8[ r16 f g a]
@@ -1781,6 +1810,10 @@ the group as a whole.
 @cindex beams, feathered
 @funindex \featherDurations
 
+TODO -- this section relies on overrides.  We need to either add
+a predefined, move this to snippets (whole section), or violate
+policy for this section.
+
 Feathered beams are used to indicate that a small group of notes
 should be played at an increasing (or decreasing) tempo, without
 changing the overall tempo of the piece.  The extent of the
@@ -1801,6 +1834,8 @@ which notes are to have their durations modified.  Normally
 these would delimit the same group of notes, but this is not
 required: the two commands are independent.
 
+@c TODO -- eliminate "Talking through code"
+
 In the following example the eight 16th notes occupy exactly the
 same time as a half note, but the first note is one half as long
 as the last one, with the intermediate notes gradually
@@ -1823,6 +1858,9 @@ the last four 32nd notes are at a constant tempo.
 The spacing in the printed output represents the
 note durations only approximately, but the midi output is exact.
 
+@c TODO -- resolve whether or not midi is capitalized -- policy 
+@c  decision needed
+
 @knownissues
 
 The @code{\featherDurations} command only works with very short
@@ -1867,9 +1905,14 @@ double bar line is usually placed at the end of a piece:
 e4 d c2 \bar "|."
 @end lilypond
 
+@c TODO -- make this warning more clear.  What does it mean?
 @warning{An incorrect duration can lead to poorly formatted
 music.}
 
+@c TODO -- check this.  I think this behavior no longer happens
+@c with completion_heads_engraver, but it may with note_heads_engraver
+@c Make an example showing the problem
+
 It is not invalid if the final note in a measure does not
 end on the automatically entered bar line: the note is assumed
 to carry over into the next measure.  But if a long sequence
index cb84eb3586f83ef08278616f699998effcc90080..324b1dedf63f4507be5cda8a0b27ed12ff045443 100644 (file)
@@ -5,6 +5,14 @@
 \header {
   lsrtags = "keyboards"
 
+  texidoces = "
+Los símbolos específicos de acordeón discanto se escriben mediante
+@code{\markup}. Se puede trucar la colocación vertical de los
+símbolos modificando los argumentos de @code{\raise}.
+
+"
+  doctitlees = "Símbolos de acordeón discanto"
+
   texidoc = "
 Accordion discant-specific symbols are added using @code{\\markup}. The
 vertical placement of the symbols can be tweaked by changing the
index 17f381c5ad6e3ec9127365956c5403abe441be8d..29b669bde772c3629a2d79022ad5e201dfeb32e4 100644 (file)
@@ -5,6 +5,18 @@
 \header {
   lsrtags = "rhythms, percussion"
 
+  texidoces = "
+Mediante la utilización de las potentes herramientas preconfiguradas
+como la función @code{\drummode} y el contexto @code{DrumStaff}, la
+introducción de partes para percusión es muy fácil: las percusiones se
+sitúan en sus propias posiciones de pentagrama (con una clave
+especial) y tienen las cabezas correspondientes al instrumento.  Es
+posible añadir un símbolo adicional a la percusión o reducir el número
+de líneas.
+
+"
+  doctitlees = "Escritura de partes de percusión"
+
   texidoc = "
 Using the powerful pre-configured tools such as the @code{\\drummode}
 function and the @code{DrumStaff} context, inputting drum parts is
diff --git a/input/lsr/adding-fingerings-to-a-score.ly b/input/lsr/adding-fingerings-to-a-score.ly
new file mode 100644 (file)
index 0000000..b333639
--- /dev/null
@@ -0,0 +1,16 @@
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.52"
+
+\header {
+  lsrtags = "editorial-annotations, fretted-strings"
+
+  texidoc = "
+Fingering instructions can be entered using a simple syntax.
+
+"
+  doctitle = "Adding fingerings to a score"
+} % begin verbatim
+\relative c'' {
+  c4-1 d-2 f-4 e-3
+}
diff --git a/input/lsr/adding-fingerings-to-tablatures.ly b/input/lsr/adding-fingerings-to-tablatures.ly
new file mode 100644 (file)
index 0000000..9ec8bb5
--- /dev/null
@@ -0,0 +1,38 @@
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.52"
+
+\header {
+  lsrtags = "fretted-strings"
+
+  texidoc = "
+To add fingerings to tablatures, use a combination of @code{\\markup}
+and @code{\\finger}. 
+
+"
+  doctitle = "Adding fingerings to tablatures"
+} % begin verbatim
+one = \markup { \finger 1 }
+two = \markup { \finger 2 }
+threeTwo = \markup {
+  \override #'(baseline-skip . 2)
+  \column {
+    \finger 3
+    \finger 2
+  }
+}
+threeFour = \markup {
+  \override #'(baseline-skip . 2)
+  \column {
+    \finger 3
+    \finger 4
+  }
+}
+
+\score {
+  \new TabStaff {
+    \stemUp
+    e8\4^\one b\2 <e, g\3 e'\1>^>[ b\2 e\4]
+    <a\3 fis'\1>^>^\threeTwo[ b\2 e\4]
+  }
+}
index a7b8ad7f4d959b9ae94d1be6e9603f4f8b18d721..0f61c4e9c4927a858e8bd5f20084d4e5892adbec 100644 (file)
@@ -5,6 +5,13 @@
 \header {
   lsrtags = "titles"
 
+  texidoces = "
+Con algo de código de Scheme, se puede añadir fácilmente la fecha
+actual a una partitura.
+
+"
+  doctitlees = "Añadir la fecha actual a una partitura"
+
   texidoc = "
 With a little Scheme code, the current date can easily be added to a
 score.
index 0523fad84d755fa04ccf205271a0c0c2fa22918a..104ddacb9b17551bcad9a919980f6cd04214a1ff 100644 (file)
@@ -5,6 +5,17 @@
 \header {
   lsrtags = "repeats"
 
+  texidoces = "
+El grabador @code{Volta_engraver} reside de forma predeterminada
+dentro del contexto de @code{Score}, y los corchetes de la repetición
+se imprimen así normalmente sólo encima del pentagrama superior.  Esto
+se puede ajustar añadiendo el grabador @code{Volta_engraver} al
+contexto de @code{Staff} en que deban aparecer los corchetes; véase
+también el fragmento de código \"Volta multi staff\".
+
+"
+  doctitlees = "Añadir corchetes de primera y segunda vez a más pentagramas"
+
   texidoc = "
 The @code{Volta_engraver} by default resides in the @code{Score}
 context, and brackets for the repeat are thus normally only printed
index f6d6f6036044e69578eb34ff508470fb5bdb082c..116205bc1a656953647665ee81f877fab7c539bb 100644 (file)
@@ -5,6 +5,13 @@
 \header {
   lsrtags = "text, vocal-music, spacing"
 
+  texidoces = "
+Este fragmento de código muestra cómo situar la línea de base de la
+letra más cerca del pentagrama.
+
+"
+  doctitlees = "Ajuste del especiado vertical de la letra"
+
   texidoc = "
 This snippet shows how to bring the lyrics line closer to the staff.
 
index 883a48d9d739bac0201595d71796c759adb1fad9..110ec890fa5175d1901e7a14d4ac9e1799592888 100644 (file)
@@ -5,6 +5,30 @@
 \header {
   lsrtags = "text, paper-and-layout, titles"
 
+  texidoces = "
+Los nombres de instrumento se imprimen generalmente a la izquierda de
+los pentagramas.  Para alinear los nombres de varios instrumentos
+distintos, sitúelos dentro de un bloque @code{\markup} y utilice una
+de las siguientes posiblidades:
+
+*
+    Nombres de instrumento alineados por la derecha: es el
+    comportamiento predeterminado
+  
+*
+    Nombres de instrumento centrados: la utilización de la instrucción
+    @code{\hcenter-in #n} sitúa los nombres de instrumento dentro de
+    un rectángulo separado, donde @code{n} es la anchura del
+    rectángulo
+  
+* 
+    Nombres de instrumento alineados por la izquierda: los nombres se
+    imprimen en la parte superior de un rectángulo vacío, utilizando
+    la instrucción @code{\combine} con un objeto @code{\hspace #n}.
+
+"
+  doctitlees = "Alinear y centrar los nombres de instrumento"
+
   texidoc = "
 Instrument names are generally printed to the left of the staves. To
 align the names of several different intruments, put them in a
index e04eab7c40d5e2bf2f398e256ac822f97412afd8..e2bda9571ef673764552bbf98235ce88f1ada65e 100644 (file)
@@ -5,6 +5,16 @@
 \header {
   lsrtags = "text, vocal-music"
 
+  texidoces = "
+La alineación horizontal de la letra se puede ajustar sobreescribiendo
+la propiedad @code{self-alignment-X} del objeto @code{LyricText}.
+@code{#-1} es izquierda, @code{#0} es centrado y @code{#1} es derecha;
+sin embargo, puede usar también @code{#LEFT}, @code{#CENTER} y
+@code{#RIGHT}.
+
+"
+  doctitlees = "Alineación de la letra"
+
   texidoc = "
 Horizontal alignment for lyrics cam be set by overriding the
 @code{self-alignment-X} property of the @code{LyricText} object.
index 357ae350e72702a0205e2462219449ca6018468e..94924815a99eea8387a633f638bc8ad4cf305944 100644 (file)
@@ -5,6 +5,21 @@
 \header {
   lsrtags = "text"
 
+  texidoces = "
+Si están especificadas, las marcas de texto se pueden alinear con
+objetos de notación distintos a las líneas divisorias.  Entre estos
+objetos se encuentran @code{ambitus}, @code{breathing-sign},
+@code{clef}, @code{custos}, @code{staff-bar}, @code{left-edge},
+@code{key-cancellation}, @code{key-signature} y @code{time-signature}.
+
+En estos casos, las marcas de texto se centran horizontalmente sobre
+el objeto, aunque esto se puede cambiar, como se muestra en la segunda
+línea de este ejemplo (en una partitura con varios pentagramas, se
+debe hacer este ajuste para todos los pentagramas).
+
+"
+  doctitlees = "Alinear marcas con varios objetos de notación"
+
   texidoc = "
 If specified, text marks may be aligned with notation objects other
 than bar lines.  These objects include @code{ambitus},
index d094f1230fe2b9015ab21caf264e93b4508b40b2..0bcd7d3295a2bfede907b08acc759978a8c8caa4 100644 (file)
@@ -5,6 +5,23 @@
 \header {
   lsrtags = "tweaks-and-overrides, paper-and-layout, spacing"
 
+  texidoces = "
+Mediante el establecimiento de las propiedades de
+@code{NonMusicalPaperColumn} se puede ajustar el espaciado vertical en
+cada sistema.
+
+Ajustando @code{alignment-extra-space} o
+@code{fixed-alignment-extra-space} se puede ampliar verticalmente un
+sistema individual.
+
+Por razones técnicas, se debe usar @code{\overrideProperty} para
+cambiar estas propiedades dentro de un pentagrama; aún se debe usar
+@code{\override} dentro de un bloque @code{\context} para las
+sobreescrituras globales.
+
+"
+  doctitlees = "Espaciado de la alineación vertical"
+
   texidoc = "
 By setting properties in @code{NonMusicalPaperColumn}, vertical spacing
 can be adjusted per system.
index e24ae1f16041884ec590cab6dec2076d98f10d5e..9421ffb5857dc58675b78062b5993cd4f3e07396 100644 (file)
@@ -3,7 +3,7 @@
 \version "2.11.52"
 
 \header {
-  lsrtags = "editorial-annotations, spacing"
+  lsrtags = "editorial-annotations, fretted-strings, spacing"
 
   texidoces = "
 Las cifras de digitación se imprimen de forma predeterminada fuera
index a9d774ecd7513b31c98fb659a8ec971887416a74..a94afe6ba87e45ac745a913eafdddf2928289779 100644 (file)
@@ -5,6 +5,14 @@
 \header {
   lsrtags = "editorial-annotations, tweaks-and-overrides"
 
+  texidoces = "
+De forma predeterminada se añaden corchetes de análisis sencillos
+debajo del pentagrama.  El ejemplo siguiente muestra una manera de
+colocarlos por encima.
+
+"
+  doctitlees = "Corchetes de análisis encima del pentagrama"
+
   texidoc = "
 Simple horizontal analysis brackets are added below the staff by
 default. The following example shows a way to place them above the
index 672ae064428666dcb667e5bcd7b6d070adbfb4b5..1c0d668111fff94ad9a49d63e01545f60d6db6f6 100644 (file)
@@ -5,6 +5,12 @@
 \header {
   lsrtags = "ancient-notation"
 
+  texidoces = "
+Las indicaciones de compás también se pueden grabar en estilo antiguo.
+
+"
+  doctitlees = "Indicaciones de compás antiguas"
+
   texidoc = "
 Time signatures may also be engraved in an old style.
 
index 974ac1bd60c090609a56765c997828789bd8e69b..b877d99420bf56bab6869212718b4838a5c82f03 100644 (file)
@@ -61,12 +61,12 @@ fragment = {
   \new Staff {
     \transpose c d 
     \relative c' {
-      \set shapeNoteStyles = ##(do re mi fa #f la ti)
+      \set shapeNoteStyles = #'#(do re mi fa #f la ti)
       \fragment
     }
     
     \relative c' {
-      \set shapeNoteStyles  = ##(cross triangle fa #f mensural xcircle diamond)
+      \set shapeNoteStyles  = #'#(cross triangle fa #f mensural xcircle diamond)
       \fragment
     }
   }
index 4d42973b3d5bb75968126bbcf6eda508cb175211..955de045e7adff39a3a6326a0ced180a775f0b6c 100644 (file)
@@ -5,6 +5,14 @@
 \header {
   lsrtags = "rhythms"
 
+  texidoces = "
+Se pueden subdividir las barras automáticamente.  Estableciendo la
+propiedad @code{subdivideBeams}, las barras se subdividen en
+posiciones de pulso (tal y como se especifica en @code{beatLength}).
+
+"
+  doctitlees = "Subdivisiones de barra automáticas"
+
   texidoc = "
 Beams can be subdivided automatically.  By setting the property
 @code{subdivideBeams}, beams are subdivided at beat positions (as
index 4d62a26abc1815dd2aa3c012089c992f50571287..6c7db412b6feb92486f82830d5dfdb7233face67 100644 (file)
@@ -5,6 +5,16 @@
 \header {
   lsrtags = "rhythms"
 
+  texidoces = "
+En un compás sencillo como 2/2 Ã³ 4/4, las corcheas se barran de forma
+predeterminada como dos grupos de cuatro.
+
+Utilizando un macro que seobreescribe el comportamiento automático del
+barrado, este fragmento de código cambia el barrado a pulsos de negra.
+
+"
+  doctitlees = "Barras automáticas de dos en dos en los compases de 4/4 o de 2/2"
+
   texidoc = "
 In a simple time signature of 2/2 or 4/4, 8th notes are beamed by
 default as two sets of four.
index 2129244f76afa1a330049fc293cab5db7d677874..84282bf2e71117ff143de943da081806658e6811 100644 (file)
@@ -3,7 +3,7 @@
 \version "2.11.52"
 
 \header {
-  lsrtags = "editorial-annotations, chords, keyboards"
+  lsrtags = "editorial-annotations, chords, keyboards, fretted-strings"
 
   texidoces = "
 Se puede controlar con precisión la colocación de los números de digitación.
index 841fbc193902a61b3ed633908ebd2ced6319e655..b3e6832d208ef7c195c5ca84e9e2c92897e9f835 100644 (file)
@@ -7,6 +7,7 @@ embedding-native-postscript-in-a--markup-block.ly
 changing-the-appearance-of-a-slur-from-solid-to-dotted-or-dashed.ly
 grid-lines--emphasizing-rhythms-and-notes-synchronization.ly
 changing-a-single-notes-size-in-a-chord.ly
+adding-fingerings-to-a-score.ly
 grid-lines--changing-their-appearance.ly
 default-direction-of-stems-on-the-center-line-of-the-staff.ly
 allowing-fingerings-to-be-printed-inside-the-staff.ly
index ac522894e78737d5a7506de6f5252869bbfec7e2..c03626f27f0d69c6e2ca858e508c0242b39c6adf 100644 (file)
@@ -4,6 +4,7 @@ changing-the-appearance-of-a-slur-from-solid-to-dotted-or-dashed.ly
 creating-arpeggios-across-notes-in-different-voices.ly
 creating-cross-staff-arpeggios-in-other-contexts.ly
 printing-hairpins-using-al-niente-notation.ly
+laissez-vibrer-ties.ly
 contemporary-glissando.ly
 adding-parentheses-around-an-expressive-mark-or-chordal-note.ly
 line-arrows.ly
diff --git a/input/lsr/faking-a-hammer-in-tablatures.ly b/input/lsr/faking-a-hammer-in-tablatures.ly
new file mode 100644 (file)
index 0000000..ed40239
--- /dev/null
@@ -0,0 +1,22 @@
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.52"
+
+\header {
+  lsrtags = "fretted-strings"
+
+  texidoc = "
+A hammer in tablature can be faked with slurs.  
+
+"
+  doctitle = "Faking a hammer in tablatures"
+} % begin verbatim
+\score{
+  \new TabStaff {
+    \relative c'' {
+      c4( d) d( d)
+      d2( c)
+    }
+  }
+}
+
diff --git a/input/lsr/fingerings,-string-indications,-and-right-hand-fingerings.ly b/input/lsr/fingerings,-string-indications,-and-right-hand-fingerings.ly
new file mode 100644 (file)
index 0000000..d70f514
--- /dev/null
@@ -0,0 +1,23 @@
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.52"
+
+\header {
+  lsrtags = "fretted-strings"
+
+  texidoc = "
+This example combines left-hand fingering, string indications, and
+right-hand fingering.
+
+"
+  doctitle = "Fingerings, string indications, and right-hand fingerings"
+} % begin verbatim
+#(define RH rightHandFinger)
+
+\relative c {
+  \clef "treble_8"
+  <c-3\5-\RH #1 >4
+  <e-2\4-\RH #2 >4
+  <g-0\3-\RH #3 >4
+  <c-1\2-\RH #4 >4
+}
diff --git a/input/lsr/flamenco-notation.ly b/input/lsr/flamenco-notation.ly
new file mode 100644 (file)
index 0000000..66976b2
--- /dev/null
@@ -0,0 +1,239 @@
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.52"
+
+\header {
+  lsrtags = "fretted-strings"
+
+  texidoc = "
+For flamenco guitar, special notations are used:
+
+
+*  a golpe symbol to indicate a slap on the guitar body with the nail
+of the ring finger, *  an arrow to indicate (the direction of) strokes,
+*  different letters for fingering (\"p\": thumb, \"i\": index finger,
+\"m\": middle finger, \"a\": ring finger and \"x\": little finger)  * 
+3- and 4-finger rasgueados; stroke upwards with all fingers, ending
+with an up- and down using the index finger  *  abanicos; strokes (in
+tuples) with thumb (down), little and index finger (both up). There's
+also an abanico 2 where middle and ring finger are used instead of the
+little finger. *  alza pua fast playing with the thumb
+
+
+
+Most figures use arrows in combination with fingering and with abanicos
+and rasgueados, noteheads are printed only for the first chord.>This
+snippet contains some header-like code that can be copied as
+@samp{flamenco.ly} and included in your source. 
+
+"
+  doctitle = "Flamenco notation"
+} % begin verbatim
+% This snippet was originally made for LilyPond 2.11.41
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%  Cut here ----- Start 'flamenco.ly' 
+
+% Text indicators
+abanico   = \markup { \italic Abanico }
+rasgueaso = \markup { \italic Ras. }
+alzapua   = \markup { \italic Alzapua }
+
+% Finger stroke symbols
+strokeUp = \markup { \postscript #"
+  0.1     setlinewidth
+  0.5 0   moveto
+  0.5 2   lineto
+  0.2 1.4 lineto
+  0.5 2   moveto
+  0.8 1.4 lineto
+  stroke
+"}
+
+strokeDown = \markup { \postscript #"
+  0.1     setlinewidth
+  0.5 2   moveto
+  0.5 0   lineto
+  0.2 0.6 lineto
+  0.5 0   moveto
+  0.8 0.6 lineto
+  stroke
+"}
+
+
+
+% Golpe symbol
+golpe = \markup { \postscript #"
+  0.2 setlinewidth
+  0 0 moveto
+  1 0 lineto
+  1 1 lineto
+  stroke
+  "\postscript #"
+  0.1       setlinewidth
+  -0.6 -0.1  moveto
+  -0.6  1.0 lineto
+  0.5  1.0 lineto
+  stroke
+"}  
+
+strokeUpGolpe   = \markup { \column { \golpe \line { \strokeUp }}}
+iUpGolpe        = \markup { \column { \golpe \line { \small i } \line { \strokeUp }}}
+
+% Stokes for all fingers
+pUp   = \markup { \column { \small p \line { \strokeUp }}}
+pDown = \markup { \column { \small p \line { \strokeDown }}}
+iUp   = \markup { \column { \small i \line { \strokeUp }}}
+iDown = \markup { \column { \small i \line { \strokeDown }}}
+mUp   = \markup { \column { \small m \line { \strokeUp }}}
+mDown = \markup { \column { \small m \line { \strokeDown }}}
+aUp   = \markup { \column { \small a \line { \strokeUp }}}
+aDown = \markup { \column { \small a \line { \strokeDown }}}
+xUp   = \markup { \column { \small x \line { \strokeUp }}}
+xDown = \markup { \column { \small x \line { \strokeDown }}}
+
+
+% Just handy :)
+tupletOff = {
+  \once \override TupletNumber #'stencil = ##f
+  \once \override TupletBracket #'stencil = ##f
+}
+
+tupletsOff = {
+  \override TupletNumber #'stencil = ##f
+  \override TupletBracket #'bracket-visibility = #'if-no-beam
+}
+
+tupletsOn = {
+  \override TupletBracket #'bracket-visibility = #'default
+  \revert TupletNumber #'stencil
+}
+
+headsOff = {
+  \override TabNoteHead #'transparent = ##t
+  \override NoteHead #'transparent = ##t
+  \override NoteHead #'no-ledgers = ##t
+}
+
+headsOn = {
+  \override TabNoteHead #'transparent = ##f
+  \override NoteHead #'transparent = ##f
+  \override NoteHead #'no-ledgers = ##f
+}
+
+%%%%%%%  Cut here ----- End 'flamenco.ly' 
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+part = \relative c' {
+  <a, e' a cis e>8^\iUp
+  <a e' a cis e>8^\iDown
+  r4
+  r2^\golpe
+    
+  <a e' a cis e>8^\iUp
+  <a e' a cis e>8^\iDown
+  <a e' a cis e>8^\iUpGolpe
+  <a e' a cis e>8^\iDown
+  r2
+      
+  <a e' a cis e>16^\aUp
+  \headsOff 
+  <a e' a cis e>^\mUp
+  <a e' a cis e>^\iUp
+  <a e' a cis e>^\iDown~
+  \headsOn
+  <a e' a cis e>2
+  r4
+
+  \tupletOff
+  \times 4/5 {
+    <a e' a cis e>16^\xUp
+    \headsOff
+    <a e' a cis e>^\aUp
+    <a e' a cis e>^\mUp
+    <a e' a cis e>^\iUp
+    <a e' a cis e>^\iDown~
+    \headsOn
+  }
+  <a e' a cis e>2
+  r4
+    
+  \tupletsOff
+  \times 2/3 {
+    <a e' a cis e>8^\pDown
+    \headsOff
+    <a e' a cis e>^\xUp
+    <a e' a cis e>^\iUp
+    \headsOn
+  }
+  
+  \times 2/3 {
+    <a e' a cis e>8^\pDown
+    \headsOff
+    <a e' a cis e>^\xUp
+    <a e' a cis e>^\iUp
+    \headsOn
+  }
+    
+  \times 2/3 {
+    <a e' a cis e>8^\pDown
+    \headsOff
+    <a e' a cis e>^\xUp
+    <a e' a cis e>^\iUp
+    \headsOn
+  }
+  \times 2/3 {
+    <a e' a cis e>8^\pDown
+    \headsOff
+    <a e' a cis e>^\xUp
+    <a e' a cis e>^\iUp
+    \headsOn
+  }
+  
+  \tupletsOff
+  \override Beam #'positions = #'(2 . 2)
+  \times 2/3 {
+    a8^\markup{ \small p }
+    <e' a>^\strokeUpGolpe
+    <e a>^\strokeDown
+  }
+  \times 2/3 {
+    a,8^\markup{ \small p }
+    <e' a>^\strokeUpGolpe
+    <e a>^\strokeDown
+  }
+  \times 2/3 {
+    a,8^\markup{ \small p }
+    <e' a>^\strokeUpGolpe
+    <e a>^\strokeDown
+  }
+  \times 2/3 {
+    a,8^\markup{ \small p }
+    <e' a>^\strokeUpGolpe
+    <e a>^\strokeDown
+  }
+  \tupletsOn
+    
+  \once \override TextScript #'extra-offset = #'(0 . -1)
+  <g, b f'>1_\golpe^\mUp
+  \bar "|."
+}
+
+\score {
+  \new StaffGroup <<
+    \context Staff = part <<
+      \clef G
+      \transpose c c'
+      {
+        \part
+      }
+    >>
+    \context TabStaff {
+      \part
+    }
+  >>
+  \layout {
+    ragged-right = ##t
+  }
+}
+
diff --git a/input/lsr/fret-diagrams-explained-and-developed.ly b/input/lsr/fret-diagrams-explained-and-developed.ly
new file mode 100644 (file)
index 0000000..8f0d7ec
--- /dev/null
@@ -0,0 +1,106 @@
+%% Do not edit this file; it is auto-generated from input/new
+%% This file is in the public domain.
+\version "2.11.53"
+
+\header {
+  lsrtags = "fretted-strings,tweaks-and-overrides"
+  texidoc = "This snippet shows many possibilities for obtaining
+and tweaking fret diagrams."
+  doctitle = "Fret diagrams explained and developed"
+} % begin verbatim
+
+<<
+  \chords {
+    a2 a
+    c2 c
+    d1
+  }
+  
+  \new Voice = "mel" {
+    \textLengthOn
+    % Set global properties of fret diagram
+    \override Voice.TextScript #'size = #1.2
+    \override Voice.TextScript #'fret-diagram-details #'finger-code = #'below-string
+    \override Voice.TextScript #'fret-diagram-details #'dot-color = #'black
+    
+    %% A chord for ukelele
+    a'2^\markup {
+      \override #'(fret-diagram-details . (
+                   (string-count . 4)
+                   (dot-color . white)
+                   (finger-code . in-dot))) {
+        \fret-diagram #"4-2-2;3-1-1;2-o;1-o;"
+      }
+    }
+    
+    %% A chord for ukelele, with formatting defined in definition string
+    %  1.2 * size, 4 strings, 4 frets, fingerings below string
+    %  dot radius .35 of fret spacing, dot position 0.55 of fret spacing
+    a'2^\markup {
+      \override #'(fret-diagram-details . (
+                   (dot-color . white)
+                   (open-string . "o"))) {
+        \fret-diagram #"s:1.2;w:4;h:3;f:2;d:0.35;p:0.55;4-2-2;3-1-1;2-o;1-o;"
+      }
+    }
+    
+    %% C major for guitar, barred on third fret
+    %  verbose style
+    %  roman fret label, finger labels below string, straight barre
+    c'2^\markup {
+      % 110% of default size
+      \override #'(size . 1.1) {
+        \override #'(fret-diagram-details . (
+                     (number-type . roman-lower)
+                     (finger-code . below-string)
+                     (barre-type . straight))) {
+          \fret-diagram-verbose #'((mute 6)
+                                   (place-fret 5 3 1)
+                                   (place-fret 4 5 2)
+                                   (place-fret 3 5 3)
+                                   (place-fret 2 5 4)
+                                   (place-fret 1 3 1)
+                                   (barre 5 1 3))
+        }
+      }
+    }
+    
+    %% C major for guitar, barred on third fret
+    %  verbose style
+    c'2^\markup {
+      % 110% of default size
+      \override #'(size . 1.1) {
+        \override #'(fret-diagram-details . (
+                     (number-type . arabic)
+                     (dot-label-font-mag . 0.9)
+                     (finger-code . in-dot)
+                     (fret-label-font-mag . 0.6)
+                     (fret-label-vertical-offset . 0)
+                     (label-dir . -1)
+                     (mute-string . "M")
+                     (orientation . landscape)
+                     (xo-font-magnification . 0.4)
+                     (xo-padding . 0.3))) {
+          \fret-diagram-verbose #'((mute 6)
+                                   (place-fret 5 3 1)
+                                   (place-fret 4 5 2)
+                                   (place-fret 3 5 3)
+                                   (place-fret 2 5 4)
+                                   (place-fret 1 3 1)
+                                   (barre 5 1 3))
+        }
+      }
+    }
+    
+    %% simple D chord
+    d'1^\markup {
+      \override #'(fret-diagram-details . (
+                   (finger-code . below-string)
+                   (dot-radius . 0.35)
+                   (dot-position . 0.5)
+                   (fret-count . 3))) {
+        \fret-diagram-terse #"x;x;o;2-1;3-2;2-3;"
+      }
+    }
+  }
+>>
index 01e15570dcadea603a390f44569dc6cab52f0ec3..3f3fbe0e69067b5b3c15a7e1bb4bae39d4ef322f 100644 (file)
@@ -1 +1,16 @@
-volta-multi-staff.ly
+how-to-change-fret-diagram-position.ly
+flamenco-notation.ly
+adding-fingerings-to-tablatures.ly
+placement-of-right-hand-fingerings.ly
+fingerings,-string-indications,-and-right-hand-fingerings.ly
+polyphony-in-tablature.ly
+jazz-combo-template.ly
+adding-fingerings-to-a-score.ly
+letter-tablature-formatting.ly
+laissez-vibrer-ties.ly
+controlling-the-placement-of-chord-fingerings.ly
+allowing-fingerings-to-be-printed-inside-the-staff.ly
+faking-a-hammer-in-tablatures.ly
+fret-diagrams-explained-and-developed.ly
+modern-tab-text-clef.ly
+stem-and-beam-behavior-in-tablature.ly
diff --git a/input/lsr/how-to-change-fret-diagram-position.ly b/input/lsr/how-to-change-fret-diagram-position.ly
new file mode 100644 (file)
index 0000000..6219869
--- /dev/null
@@ -0,0 +1,56 @@
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.52"
+
+\header {
+  lsrtags = "fretted-strings, tweaks-and-overrides"
+
+  texidoc = "
+If you want to move the position of a fret diagram, for example, to
+avoid collision, or to place it between two notes, you have various
+possibilities:
+
+1) modify #'padding or #'extra-offset values (as shown in the first
+snippet)
+
+2) you can add an invisible voice and attach the fret diagrams to the
+invisible notes in that voice (as shown in the second example).
+
+ If you need to move the fret according with a rythmic position inside
+the bar (in the example, the third beat of the measure) the second
+example is better, because the fret is aligned with the third beat
+itself.  
+
+"
+  doctitle = "How to change fret diagram position"
+} % begin verbatim
+harmonies = \chordmode
+{
+  a8:13
+% THE FOLLOWING IS THE COMMAND TO MOVE THE CHORD NAME
+  \once \override ChordNames.ChordName #'extra-offset = #'(10 . 0)
+  b8:13 s2.
+% THIS LINE IS THE SECOND METHOD
+    s4 s4  b4:13
+}
+
+\score
+{
+  <<
+    \context ChordNames \harmonies
+    \context Staff
+    {a8^\markup { \fret-diagram  #"6-x;5-0;4-2;3-0;2-0;1-2;"  }
+% THE FOLLOWING IS THE COMMAND TO MOVE THE FRET DIAGRAM
+     \once \override TextScript #'extra-offset = #'(10 . 0)
+     b4.~^\markup { \fret-diagram  #"6-x;5-2;4-4;3-2;2-2;1-4;"  } b4. a8\break
+% HERE IS THE SECOND METHOD
+     <<
+       { a8 b4.~ b4. a8} 
+       { s4 s4 s4^\markup { \fret-diagram  #"6-x;5-2;4-4;3-2;2-2;1-4;"  }
+       }
+     >>
+   }
+  >>
+}
+
+
index 585373c65b7d720949553ae0c3609252daee51c7..f1db4a9d6a24a97136e8758f735ca4158a069b9c 100644 (file)
@@ -3,7 +3,7 @@
 \version "2.11.52"
 
 \header {
-  lsrtags = "keyboards, percussion, template"
+  lsrtags = "keyboards, percussion, fretted-strings, template"
 
   texidoc = "
 This is quite an advanced template, for a jazz ensemble. Note that all
index 3892c67ea500ad7533a70143bd0fa93b80cac4c2..feb6826cf0166ce3313e778ae47da4bfbac014a9 100644 (file)
@@ -5,6 +5,7 @@ piano-template-with-centered-lyrics.ly
 vocal-ensemble-template-with-automatic-piano-reduction.ly
 piano-template-simple.ly
 controlling-the-placement-of-chord-fingerings.ly
+laissez-vibrer-ties.ly
 accordion-discant-symbols.ly
 fine-tuning-pedal-brackets.ly
 piano-template-with-melody-and-lyrics.ly
diff --git a/input/lsr/laissez-vibrer-ties.ly b/input/lsr/laissez-vibrer-ties.ly
new file mode 100644 (file)
index 0000000..7fac693
--- /dev/null
@@ -0,0 +1,26 @@
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.52"
+
+\header {
+  lsrtags = "expressive-marks, keyboards, fretted-strings"
+
+  texidoc = "
+Laissez vibrer ties have a fixed size. Their formatting can be tuned
+using @code{'tie-configuration}. 
+
+"
+  doctitle = "Laissez vibrer ties"
+} % begin verbatim
+\relative c' {
+  <c e g>4\laissezVibrer r <c f g>\laissezVibrer r
+  <c d f g>4\laissezVibrer r <c d f g>4.\laissezVibrer r8
+
+  <c d e f>4\laissezVibrer r
+  \override LaissezVibrerTieColumn #'tie-configuration
+     = #`((-7 . ,DOWN)
+          (-5 . ,DOWN)
+          (-3 . ,UP)
+          (-1 . ,UP))
+  <c d e f>4\laissezVibrer r
+}
diff --git a/input/lsr/letter-tablature-formatting.ly b/input/lsr/letter-tablature-formatting.ly
new file mode 100644 (file)
index 0000000..07b271b
--- /dev/null
@@ -0,0 +1,40 @@
+%% Do not edit this file; it is auto-generated from input/new
+%% This file is in the public domain.
+\version "2.11.53"
+
+\header {
+  lsrtags = "staff-notation,fretted-strings"
+
+  texidoc = "Tablature can be formatted using letters instead of
+numbers."
+  doctitle = "Letter tablature formatting"
+} % begin verbatim
+
+#(define (letter-tablature-format str context event)
+  (let*
+      ((tuning (ly:context-property context 'stringTunings))
+       (pitch (ly:event-property event 'pitch)))
+    (make-whiteout-markup
+     (make-vcenter-markup
+      (string (integer->char
+         (+ (char->integer #\a)
+            (- (ly:pitch-semitones pitch)
+            (list-ref tuning (- str 1))))))))))
+
+music = \relative c {
+  c4 d e f
+  g4 a b c
+  d4 e f g
+}
+
+<<
+  \new Staff {
+    \clef "G_8"
+    \music
+  }
+  \new TabStaff \with {
+    tablatureFormat = #letter-tablature-format
+  } {
+    \music
+  }
+>>
diff --git a/input/lsr/modern-tab-text-clef.ly b/input/lsr/modern-tab-text-clef.ly
new file mode 100644 (file)
index 0000000..da8113a
--- /dev/null
@@ -0,0 +1,32 @@
+%% Do not edit this file; it is auto-generated from input/new
+%% This file is in the public domain.
+\version "2.11.53"
+
+\header {
+  lsrtags = "staff-notation, fretted-strings"
+
+  texidoc = "
+Use a markup text to replace the (TAB) clef glyph with a modern font.
+
+"
+  doctitle = "Modern TAB text clef"
+} % begin verbatim
+
+TAB = \markup {
+  \raise #1.5
+  \sans
+  \bold
+  \huge
+  \override #'(baseline-skip . 2.5)
+  \center-align {
+    T
+    A
+    B
+  }
+}
+
+\new TabStaff {
+  \override Staff.Clef #'stencil = #(lambda (grob)
+    ly:clef::print (grob-interpret-markup grob TAB))
+  a
+}
diff --git a/input/lsr/placement-of-right-hand-fingerings.ly b/input/lsr/placement-of-right-hand-fingerings.ly
new file mode 100644 (file)
index 0000000..f05cd99
--- /dev/null
@@ -0,0 +1,29 @@
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.52"
+
+\header {
+  lsrtags = "fretted-strings"
+
+  texidoc = "
+It is possible to exercise greater control over the placement of
+right-hand fingerings by setting a specific property, as demonstrated
+in the following example.
+
+"
+  doctitle = "Placement of right-hand fingerings"
+} % begin verbatim
+#(define RH rightHandFinger)
+
+\relative c {
+  \clef "treble_8"
+  
+  \set strokeFingerOrientations = #'(up down)
+  <c-\RH #1 e-\RH #2 g-\RH #3 c-\RH #4 >4
+  
+  \set strokeFingerOrientations = #'(up right down)
+  <c-\RH #1 e-\RH #2 g-\RH #3 c-\RH #4 >4
+  
+  \set strokeFingerOrientations = #'(left)
+  <c-\RH #1 e-\RH #2 g-\RH #3 c-\RH #4 >2
+}
diff --git a/input/lsr/polyphony-in-tablature.ly b/input/lsr/polyphony-in-tablature.ly
new file mode 100644 (file)
index 0000000..d904939
--- /dev/null
@@ -0,0 +1,42 @@
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.52"
+
+\header {
+  lsrtags = "fretted-strings"
+
+  texidoc = "
+Polyphony is created the same way in a @code{TabStaff} as in a regular
+staff.
+
+"
+  doctitle = "Polyphony in tablature"
+} % begin verbatim
+upper = \relative c' {
+  \time 12/8
+  \key e \minor
+  \voiceOne
+  r4. r8 e, fis g16 b g e e' b c b a g fis e
+}
+
+lower = \relative c {
+  \key e \minor
+  \voiceTwo
+  r16 e d c b a g4 fis8 e fis g a b c
+}
+
+\score {
+  <<
+    \new StaffGroup = "tab with traditional" <<
+      \new Staff = "guitar traditional" <<
+        \clef "treble_8"
+        \context Voice = "upper" \upper
+        \context Voice = "lower" \lower
+      >>
+      \new TabStaff = "guitar tab" <<
+        \context TabVoice = "upper" \upper
+        \context TabVoice = "lower" \lower
+      >>
+    >>
+  >>
+}
index e27e1ec21c16577010ca41f52bbb61da996d1049..186dd7bddf06358e1fc8e0b46fe542a9df57b944 100644 (file)
@@ -22,11 +22,11 @@ fret diagrams.
 } % begin verbatim
 % Define the fret diagrams to be used
 cFretDiagram = \markup {
-  \fret-diagram #"5-3-3;4-2-2;3-o;2-1-1;1-o"
+  \fret-diagram #"6-x;5-3-3;4-2-2;3-o;2-1-1;1-o;"
 }
 
 gFretDiagram = \markup {
-  \fret-diagram #"6-3-2;5-2-1;4-o;3-o;2-o;1-3-3"
+  \fret-diagram #"6-3-2;5-2-1;4-o;3-o;2-o;1-3-3;"
 }
 
 verseI = \lyricmode {
index 680bc199c4c7aeed4a7b479d7c3bed480780b0b5..cffd42852f01be93ad92cd7d628a58ec778d89c2 100644 (file)
@@ -9,6 +9,7 @@ tweaking-clef-properties.ly
 removing-the-first-empty-line.ly
 quoting-another-voice.ly
 volta-multi-staff.ly
+modern-tab-text-clef.ly
 non-traditional-key-signatures.ly
 measure-counter.ly
 adding-ambitus-per-voice.ly
@@ -18,6 +19,7 @@ time-signature-in-parentheses.ly
 changing-the-staff-size.ly
 use-square-bracket-at-the-start-of-a-staff-group.ly
 quoting-another-voice-with-transposition.ly
+letter-tablature-formatting.ly
 inserting-score-fragments-above-a-staff,-as-markups.ly
 volta-below-chords.ly
 nesting-staves.ly
diff --git a/input/lsr/stem-and-beam-behavior-in-tablature.ly b/input/lsr/stem-and-beam-behavior-in-tablature.ly
new file mode 100644 (file)
index 0000000..11fe174
--- /dev/null
@@ -0,0 +1,23 @@
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.52"
+
+\header {
+  lsrtags = "fretted-strings"
+
+  texidoc = "
+The direction of stems is controlled the same way in tablature as in
+traditional notation. Beams can be made horizontal, as shown in this
+example.
+
+"
+  doctitle = "Stem and beam behavior in tablature"
+} % begin verbatim
+\new TabStaff {
+  \relative c {
+    g16 b d g b d g b
+    \stemDown
+    \override Beam #'damping = #100000
+    g,,16 b d g b d g b
+  }
+}
index 826f90bd958ddbcdf9a782d1092cff49387fee82..d794e10443db4f2ceb4800fc9551488f1623859c 100644 (file)
@@ -7,6 +7,7 @@ manually-controlling-beam-positions.ly
 custodes.ly
 creating-text-spanners.ly
 rest-styles.ly
+how-to-change-fret-diagram-position.ly
 using-the--tweak-command-to-tweak-individual-grobs.ly
 suppressing-warnings-for-clashing-note-columns.ly
 controlling-tuplet-bracket-visibility.ly
@@ -27,6 +28,7 @@ making-an-object-invisible-with-the-transparent-property.ly
 alignment-vertical-spacing.ly
 drawing-circles-around-various-objects.ly
 analysis-brackets-above-the-staff.ly
+fret-diagrams-explained-and-developed.ly
 removing-the-first-empty-line.ly
 caesura-railtracks-with-fermata.ly
 changing-form-of-multi--measure-rests.ly
index 246d1e4c67ee588d6ed6b99e68e776380780ad30..bdd360343dfd2f94497ae38a39e09e430e44a4be 100644 (file)
@@ -2,7 +2,7 @@
 %% This file is in the public domain.
 \version "2.11.52"
 \header {
-  lsrtags = "repeats,staff-notation,fretted-strings"
+  lsrtags = "repeats,staff-notation"
   texidoc = "By adding the @code{Volta_engraver} to the relevant
 staff, volte can be put over staves other than the topmost
 one in a score."
diff --git a/input/new/fret-diagrams-explained-and-developed.ly b/input/new/fret-diagrams-explained-and-developed.ly
new file mode 100644 (file)
index 0000000..d8d408b
--- /dev/null
@@ -0,0 +1,104 @@
+\version "2.11.53"
+
+\header {
+  lsrtags = "fretted-strings,tweaks-and-overrides"
+  texidoc = "This snippet shows many possibilities for obtaining
+and tweaking fret diagrams."
+  doctitle = "Fret diagrams explained and developed"
+}
+
+<<
+  \chords {
+    a2 a
+    c2 c
+    d1
+  }
+  
+  \new Voice = "mel" {
+    \textLengthOn
+    % Set global properties of fret diagram
+    \override Voice.TextScript #'size = #1.2
+    \override Voice.TextScript #'fret-diagram-details #'finger-code = #'below-string
+    \override Voice.TextScript #'fret-diagram-details #'dot-color = #'black
+    
+    %% A chord for ukelele
+    a'2^\markup {
+      \override #'(fret-diagram-details . (
+                   (string-count . 4)
+                   (dot-color . white)
+                   (finger-code . in-dot))) {
+        \fret-diagram #"4-2-2;3-1-1;2-o;1-o;"
+      }
+    }
+    
+    %% A chord for ukelele, with formatting defined in definition string
+    %  1.2 * size, 4 strings, 4 frets, fingerings below string
+    %  dot radius .35 of fret spacing, dot position 0.55 of fret spacing
+    a'2^\markup {
+      \override #'(fret-diagram-details . (
+                   (dot-color . white)
+                   (open-string . "o"))) {
+        \fret-diagram #"s:1.2;w:4;h:3;f:2;d:0.35;p:0.55;4-2-2;3-1-1;2-o;1-o;"
+      }
+    }
+    
+    %% C major for guitar, barred on third fret
+    %  verbose style
+    %  roman fret label, finger labels below string, straight barre
+    c'2^\markup {
+      % 110% of default size
+      \override #'(size . 1.1) {
+        \override #'(fret-diagram-details . (
+                     (number-type . roman-lower)
+                     (finger-code . below-string)
+                     (barre-type . straight))) {
+          \fret-diagram-verbose #'((mute 6)
+                                   (place-fret 5 3 1)
+                                   (place-fret 4 5 2)
+                                   (place-fret 3 5 3)
+                                   (place-fret 2 5 4)
+                                   (place-fret 1 3 1)
+                                   (barre 5 1 3))
+        }
+      }
+    }
+    
+    %% C major for guitar, barred on third fret
+    %  verbose style
+    c'2^\markup {
+      % 110% of default size
+      \override #'(size . 1.1) {
+        \override #'(fret-diagram-details . (
+                     (number-type . arabic)
+                     (dot-label-font-mag . 0.9)
+                     (finger-code . in-dot)
+                     (fret-label-font-mag . 0.6)
+                     (fret-label-vertical-offset . 0)
+                     (label-dir . -1)
+                     (mute-string . "M")
+                     (orientation . landscape)
+                     (xo-font-magnification . 0.4)
+                     (xo-padding . 0.3))) {
+          \fret-diagram-verbose #'((mute 6)
+                                   (place-fret 5 3 1)
+                                   (place-fret 4 5 2)
+                                   (place-fret 3 5 3)
+                                   (place-fret 2 5 4)
+                                   (place-fret 1 3 1)
+                                   (barre 5 1 3))
+        }
+      }
+    }
+    
+    %% simple D chord
+    d'1^\markup {
+      \override #'(fret-diagram-details . (
+                   (finger-code . below-string)
+                   (dot-radius . 0.35)
+                   (dot-position . 0.5)
+                   (fret-count . 3))) {
+        \fret-diagram-terse #"x;x;o;2-1;3-2;2-3;"
+      }
+    }
+  }
+>>
diff --git a/input/new/letter-tablature-formatting.ly b/input/new/letter-tablature-formatting.ly
new file mode 100644 (file)
index 0000000..5f2b267
--- /dev/null
@@ -0,0 +1,38 @@
+\version "2.11.53"
+
+\header {
+  lsrtags = "staff-notation,fretted-strings"
+
+  texidoc = "Tablature can be formatted using letters instead of
+numbers."
+  doctitle = "Letter tablature formatting"
+}
+
+#(define (letter-tablature-format str context event)
+  (let*
+      ((tuning (ly:context-property context 'stringTunings))
+       (pitch (ly:event-property event 'pitch)))
+    (make-whiteout-markup
+     (make-vcenter-markup
+      (string (integer->char
+         (+ (char->integer #\a)
+            (- (ly:pitch-semitones pitch)
+            (list-ref tuning (- str 1))))))))))
+
+music = \relative c {
+  c4 d e f
+  g4 a b c
+  d4 e f g
+}
+
+<<
+  \new Staff {
+    \clef "G_8"
+    \music
+  }
+  \new TabStaff \with {
+    tablatureFormat = #letter-tablature-format
+  } {
+    \music
+  }
+>>
diff --git a/input/new/modern-tab-text-clef.ly b/input/new/modern-tab-text-clef.ly
new file mode 100644 (file)
index 0000000..4af5379
--- /dev/null
@@ -0,0 +1,30 @@
+\version "2.11.53"
+
+\header {
+  lsrtags = "staff-notation, fretted-strings"
+
+  texidoc = "
+Use a markup text to replace the (TAB) clef glyph with a modern font.
+
+"
+  doctitle = "Modern TAB text clef"
+}
+
+TAB = \markup {
+  \raise #1.5
+  \sans
+  \bold
+  \huge
+  \override #'(baseline-skip . 2.5)
+  \center-align {
+    T
+    A
+    B
+  }
+}
+
+\new TabStaff {
+  \override Staff.Clef #'stencil = #(lambda (grob)
+    ly:clef::print (grob-interpret-markup grob TAB))
+  a
+}
index 276a49f9a71f1c207a83eccb8b0c32e123ebb9ff..5a56af1a43837d4734acaeb9df6b7c8edf7d4a55 100644 (file)
@@ -1,6 +1,6 @@
 \version "2.11.36"
 \header {
-  lsrtags = "repeats,staff-notation,fretted-strings"
+  lsrtags = "repeats,staff-notation"
   texidoc = "By adding the @code{Volta_engraver} to the relevant
 staff, volte can be put over staves other than the topmost
 one in a score."
index 056b826588f69fc8bcce8fa9c9c65dc6333b1725..b75156f5456df10bbea38b42ffb0a45c54a082bd 100644 (file)
@@ -95,6 +95,7 @@ ADD_TRANSLATOR (Fretboard_engraver,
                /* read */
                "stringTunings "
                "minimumFret "
+                "maximumFretStretch "
                "tablatureFormat "
                "highStringOne ",
 
index 59878070f2a75c7285ff205b857ecca1317a7de4..a9ca43f9f710a54dcf8793545585c5b9b7600943 100644 (file)
@@ -426,8 +426,8 @@ the nesting of a start delimiters.")
 
 
      (tablatureFormat ,procedure? "A function formatting a tablature
-note head; it takes a string number, a list of string tunings and a
-@code{Pitch} object.  It returns the text as a string.")
+note head.  Called with three arguments: string number, context and event.
+It returns the text as a string.")
      (tempoWholesPerMinute ,ly:moment? "The tempo in whole notes per
 minute.")
      (tempoUnitCount ,number? "Count for specifying tempo.")