]> git.donarmstrong.com Git - lilypond.git/commitdiff
* scm/music-property-description.scm: describe string-number (whoops)
authorRune Zedeler <rune@lilypond.org>
Sun, 8 Sep 2002 02:16:19 +0000 (02:16 +0000)
committerRune Zedeler <rune@lilypond.org>
Sun, 8 Sep 2002 02:16:19 +0000 (02:16 +0000)
* Documentation/user/refman.itely: Tablature and bar number updates

ChangeLog
Documentation/user/refman.itely
scm/music-property-description.scm

index 923b253d21f3671cb3677dc3e8844499ac07ef22..86ae95e0f03b938e2d85d1d0509b0680e7b45c82 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2002-09-08  Rune Zedeler  <rune@zedeler.dk>
+
+       * scm/music-property-description.scm: describe string-number (whoops)
+
+       * Documentation/user/refman.itely: Tablature and bar number updates
+       
 2002-09-08  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
 
        * lily/include/simultaneous-music-iterator.hh (class
@@ -33,7 +39,7 @@
        of Text_script_req; read properties stringOneTopmost and
        highStringOne.
        
-       * ly/engraver-init.ly (tabStaffContext): Bugfix: remove Key_engraver
+       * ly/engraver-init.ly (tabStaffContext): Bugfix: remove Key_engraver;
        set stringOneTopmost and highStringOne to #t
        
        * scm/output-lib.scm (tablature-stem-attachment-function): Changed
index 86aa8c12c0d4bc45409fc4275c34c5ff7e9355fb..fccd9f6440c8341bed77d81400b0e77ab5621696 100644 (file)
@@ -2915,7 +2915,7 @@ The associated object is @internalsref{VoiceFollower}.
 Tablature notation is used for notating music for plucked string
 instruments.  It notates pitches not by using note heads, but by
 indicating on which string and fret a note must be played.  LilyPond
-offers limited support for tablature by abusing the fingering system.
+offers limited support for tablature.
 
 @menu
 * Tablatures basic::            
@@ -2930,24 +2930,50 @@ offers limited support for tablature by abusing the fingering system.
 Tablature can be typeset with Lilypond by using the
 @internalsref{TabStaff} and @internalsref{TabVoice} contexts. As
 tablature is a recent feature in Lilypond, most of the guitar special
-effects such as hammer, pull, bend are not yet supported.
+effects such as bend are not yet supported.
 
 With the @internalsref{TabStaff}, the string number associated to a note
-is given though the fingering mechanism, e.g. @code{c4-3} for a C
-quarter on the third string. The string 1 is the lowest one, and the
+is given as a backslash followed by the string number, e.g. @code{c4\3} for a C
+quarter on the third string. By default, string 1 is the highest one, and the
 tuning defaults to the standard guitar tuning (with 6 strings).
 
 @lilypond[fragment,verbatim]
   \context TabStaff <
     \notes {
-      \property Staff.Stem \override #'direction = #1
-      
-      a,4-2 c'-5 a-4 e'-6
-      e-3 c'-5 a-4 e'-6
+      a,4\5 c'\2 a\3 e'\1
+      e\4 c'\2 a\3 e'\1
     }
   >  
 @end lilypond
 
+If you do not specify a string number then lilypond automatically selects one.
+The selection is controlled by the translator property @code{minimumFret}. -- LilyPond
+simply selects the first string that does not give a fret number less than
+@code{minimumFret}. Default is 0.
+
+Notice that LilyPond does not handle chords in any special way, and hence
+the automatic string selector may easily select the same string to two notes in a chord.
+
+@example
+e8 fis gis a b cis' dis' e'
+\property TabStaff.minimumFret = #8
+e8 fis gis a b cis' dis' e'
+@end example
+@lilypond
+frag = \notes {
+    \key e \major
+    e8 fis gis a b cis' dis' e'
+    \property TabStaff.minimumFret = #8
+    e8 fis gis a b cis' dis' e'
+}
+\score {
+  \context StaffGroup <
+    \context Staff { \clef "G_8" \frag }
+    \context TabStaff { \frag }
+  >
+}
+@end lilypond
+
 @node Non-guitar tablatures
 @subsection Non-guitar tablatures
 @cindex Non-guitar tablatures
@@ -2970,7 +2996,7 @@ middle C, in string order: thus the notes are e, a, d & g)
 
     \outputproperty #(make-type-checker 'staff-symbol-interface)
                     #'line-count = #4
-    \property TabStaff.stringTunings =  #'(-20 - 15 -10 -5)
+    \property TabStaff.stringTunings =  #'(-5 -10 -15 -20)
     
     \notes {
       a,4 c' a e' e c' a e'
@@ -3352,14 +3378,36 @@ number itself is a property that can be set by modifying the
   \property Score.currentBarNumber = #217
 @end example
 
-If you want boxed bar numbers, see the example file
-@code{input/test/boxed-molecule.ly}.
+To typeset Bar Numbers at regular intervals instead of at the beginning of each line,
+you need to change the grob property @code{break-visibility} as well as the translator
+property @code{barNumberVisibility}, as illustrated in the following example which also
+adds a box around the bar numbers:
+@example
+\property Score.BarNumber \override #'break-visibility =
+  #end-of-line-invisible
+\property Score.barNumberVisibility = #(every-nth-bar-number-visible 5)
+\property Score.BarNumber \override #'molecule-callback =
+  #(make-molecule-boxer 0.1 0.25 0.25 Text_item::brew_molecule)
+\property Score.BarNumber \override #'font-relative-size = #0
+@end example
+@lilypond
+\score {
+    \context Staff \notes \transpose c''' {
+       \property Score.BarNumber \override #'break-visibility = #end-of-line-invisible
+       \property Score.barNumberVisibility = #(every-nth-bar-number-visible 5)
+       \property Score.BarNumber \override #'molecule-callback =
+       #(make-molecule-boxer 0.1 0.25 0.25 Text_item::brew_molecule)
+       \property Score.BarNumber \override #'font-relative-size = #0
+       
+       \repeat unfold 16 c1 \bar "|."
+    }
+}
+@end lilypond
 
 See also @seeinternals{BarNumber}.
 
 @refbugs
 
-Printing bar numbers at regular intervals is not implemented.
 Barnumbers can collide with the StaffGroup, if there is one at the
 top. To solve this, You have to twiddle with the
 @internalsref{padding} property of @internalsref{BarNumber} if your
index b850493b965752adb774d64e13263ad890b41580..0f92f40fda24c313b9aca66f3ca641b71a2ebf17 100644 (file)
@@ -62,7 +62,7 @@ TODO: consider making type into symbol ")
 
 (music-property-description 'start-moment-function procedure? "Function to compute the negative length of
 starting grace notes.")
-
+(music-property-description 'string-number integer? "The number of the string in a String_number_req")
 (music-property-description 'symbol symbol? "Grob name to perform an override/revert on.")
 (music-property-description 'text markup? "markup expression to be printed")
 ;; markup?