]> git.donarmstrong.com Git - lilypond.git/commitdiff
* Documentation/user/refman.itely: minor corrections (replacing
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Fri, 6 Sep 2002 16:50:11 +0000 (16:50 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Fri, 6 Sep 2002 16:50:11 +0000 (16:50 +0000)
`grob' by `object'), addition of an example in the tablature
section.

ChangeLog
Documentation/user/refman.itely

index 94cb29ed879e0fddf130a6a71ef00b0810185ef4..9ec04b9e9885748820b6e2bb86e9c263619c0da0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2002-09-06  Jérémie Lumbroso  <jeremie@lumbroso.fr>
+
+       * Documentation/user/refman.itely: minor corrections (replacing
+       `grob' by `object'), addition of an example in the tablature
+       section.
+
 2002-09-06  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
 
        * VERSION: 1.6.2 released  
index 0d981ae70c973730eabd02934c1e987e72edc61e..05d42eba2e02fb4f813fa7dc0d54b81b808e4713 100644 (file)
@@ -797,7 +797,7 @@ such as keys, clefs and time signatures.
 
 
 The lines of the staff symbol are formed by the
-@internalsref{StaffSymbol} grob.  This grob is created at the moment
+@internalsref{StaffSymbol} object.  This object is created at the moment
 that their context is created.  You can not change the appearance of
 the staff symbol by using @code{\override} or @code{\set}.  At the
 moment that @code{\property Staff} is interpreted, a Staff context is
@@ -846,7 +846,7 @@ This command sets the context property @code{Staff.keySignature}.
 Non-standard key signatures can be specified by setting this property
 directly.
 
-The printed signature is a @internalsref{KeySignature} grob, typically
+The printed signature is a @internalsref{KeySignature} object, typically
 created in @internalsref{Staff} context.
 
 @cindex @code{keySignature}
@@ -896,7 +896,7 @@ name. For example,
        \clef "G_8"
 @end example
 
-The grob for this symbol is @internalsref{Clef}. 
+The object for this symbol is @internalsref{Clef}. 
 
 
 This command is equivalent to setting @code{clefGlyph},
@@ -923,9 +923,9 @@ property. Setting it to @code{#'()} uses fraction style for 4/4 and
 2/2 time.
 
 
-The grob for this symbol is @internalsref{TimeSignature}.  There are
+The object for this symbol is @internalsref{TimeSignature}.  There are
 many more options for its layout. They are selected through the
-@code{style} grob property. See @file{input/test/time.ly} for more
+@code{style} object property. See @file{input/test/time.ly} for more
 examples.
 
 This command sets the property @code{timeSignatureFraction},
@@ -1025,7 +1025,7 @@ top level, and they are connected between different staffs of a
 \context Staff = pedal { \clef bass c2 c2 } >
 @end lilypond
 
-The grobs that are created at @internalsref{Staff} level. The name is
+The objects that are created at @internalsref{Staff} level. The name is
 @internalsref{BarLine}.
 
 The command @code{\bar @var{bartype}} is a short cut for
@@ -1103,7 +1103,7 @@ horizontal shifts and stem directions, as is shown  in the following example:
 
 
 Normally, note heads with a different number of dots are not merged, but
-if you set the grob property @code{merge-differently-dotted}, they are:
+if you set the object property @code{merge-differently-dotted}, they are:
 @lilypond[verbatim,fragment,singleline]
 \context Voice < {
      g'8 g'8 
@@ -1136,7 +1136,7 @@ See also @internalsref{NoteCollision} and @internalsref{RestCollision}
 
 Resolving collisions is a very intricate subject, and LilyPond only
 handles a few situations. When it can not cope, you are advised to use
-@code{force-hshift} of the @internalsref{NoteColumn} grob and pitched
+@code{force-hshift} of the @internalsref{NoteColumn} object and pitched
 rests to override typesetting decisions.
 
 @node Beaming
@@ -1221,7 +1221,7 @@ same effect as twiddling with @code{stemLeftBeamCount} and
 
 Kneed beams are inserted automatically, when a large gap between two
 adjacent beamed notes is detected. This behavior can be tuned through
-the grob property @code{auto-knee-gap}.
+the object property @code{auto-knee-gap}.
 
 @cindex beams, kneed
 @cindex kneed beams
@@ -1615,7 +1615,7 @@ See also @seeinternals{Slur}.
 Slurs avoid crossing stems, and are generally attached to note heads.
 However, in some situations with beams, slurs may be attached to stem
 ends.  If you want to override this layout you can do this through the
-grob-property @code{attachment} of @internalsref{Slur} in
+object property @code{attachment} of @internalsref{Slur} in
 @internalsref{Voice} context It's value is a pair of symbols, specifying
 the attachment type of the left and right end points.
 
@@ -1642,7 +1642,7 @@ stems might look better:
 Similarly, the curvature of a slur is adjusted to stay clear of note
 heads and stems.  When that would increase the curvature too much, the
 slur is reverted to its default shape.  The threshold for this
-decision is in @internalsref{Slur}'s grob-property @code{beautiful}.
+decision is in @internalsref{Slur}'s object property @code{beautiful}.
 It is loosely related to the enclosed area between the slur and the
 notes.  Usually, the default setting works well, but in some cases you
 may prefer a curved slur when LilyPond decides for a vertically moved
@@ -1739,9 +1739,9 @@ is as follows:
 \spanrequest \start "text"
 \spanrequest \stop "text"
 @end example
-LilyPond will respond by creating a @internalsref{TextSpanner} grob (typically
+LilyPond will respond by creating a @internalsref{TextSpanner} object (typically
 in @internalsref{Voice} context).  The string to be printed, as well as the
-style is set through grob properties.
+style is set through object properties.
 
 An application---or rather, a hack---is to fake octavation indications.
 @lilypond[fragment,relative,verbatim]
@@ -1922,7 +1922,7 @@ exact length of the string, which may lead to collisions.  Also, @TeX{}
 commands won't work with direct PostScript output.
 @c (see @ref{PostScript output}).
 
-Text scripts are created in form of @internalsref{TextScript} grobs, in
+Text scripts are created in form of @internalsref{TextScript} objects, in
 @internalsref{Voice} context. 
 
 @ref{Text markup} describes how to change the font or access
@@ -1981,7 +1981,7 @@ staffs, using this grace timing.
 
 
 Unbeamed eighth notes and shorter by default have a slash through the
-stem. This can be controlled with grob property @code{flag-style} of
+stem. This can be controlled with object property @code{flag-style} of
 @internalsref{Stem}. The change in formatting is accomplished by
 inserting @code{\startGraceMusic} before handling the grace notes, and
 @code{\stopGraceMusic} after finishing the grace notes. You can add to
@@ -2138,11 +2138,11 @@ You can also supply your own texts:
 
 @cindex diminuendo
 
-Dynamics are grobs of @internalsref{DynamicText} and
+Dynamics are objects of @internalsref{DynamicText} and
 @internalsref{Hairpin}. Vertical positioning of these symbols is
-handled by the @internalsref{DynamicLineSpanner} grob.  If you want to
+handled by the @internalsref{DynamicLineSpanner} object.  If you want to
 adjust padding or vertical direction of the dynamics, you must set
-properties for the @internalsref{DynamicLineSpanner} grob. Predefined
+properties for the @internalsref{DynamicLineSpanner} object. Predefined
 identifiers to set the vertical direction are \dynamicUp and
 \dynamicDown.
 
@@ -2286,9 +2286,9 @@ command can be
 @item 'end-repeat
  Print a :| bar line
 @item (volta . @var{text})
 Print a volta bracket saying @var{text}.
+ Print a volta bracket saying @var{text}.
 @item (volta . #f)
 Stop a running volta bracket
+ Stop a running volta bracket
 @end table
 
 @lilypond[verbatim, fragment]
@@ -2300,7 +2300,7 @@ command can be
 @end lilypond
 
 
-Repeats brackets are @internalsref{VoltaBracket} grobs.
+Repeats brackets are @internalsref{VoltaBracket} objects.
 
 @node Tremolo repeats
 @subsection Tremolo repeats
@@ -2319,7 +2319,7 @@ style.
 }
 @end lilypond
 
-Tremolo beams are @internalsref{Beam} grobs. Single stem tremolos are
+Tremolo beams are @internalsref{Beam} objects. Single stem tremolos are
 @internalsref{StemTremolo}. The single stem tremolo @emph{must} be
 entered without @code{@{} and @code{@}}.  
 
@@ -2365,7 +2365,7 @@ patterns that divide the measure length are replaced by slashes.
 }
 @end lilypond   
 
-The signs are represented by these grobs: @internalsref{RepeatSlash} and
+The signs are represented by these objects: @internalsref{RepeatSlash} and
 @internalsref{PercentRepeat} and @internalsref{DoublePercentRepeat}.
 
 @refbugs
@@ -2770,7 +2770,7 @@ Sustain, Sostenuto or UnaCorda.  Refer to the generated documentation of
 @rgrob{SustainPedal}, for example, for more information.
 
 Pedals can also be indicated by a sequence of brackets, by setting the 
-@code{pedal-type} property of SustainPedal grobs: 
+@code{pedal-type} property of SustainPedal objects: 
 
 @lilypond[fragment,verbatim]
 \property Staff.SustainPedal \override #'pedal-type = #'bracket
@@ -2799,7 +2799,7 @@ c''4 \sostenutoDown d''4 e''4 c'4 f'4 g'4 a'4 \sostenutoUp
 
 For fine-tuning of the appearance of a pedal bracket, the properties
 @code{edge-width}, @code{edge-height}, and @code{shorten-pair} of
-@code{PianoPedalBracket} grobs (see the detailed documentation of
+@code{PianoPedalBracket} objects (see the detailed documentation of
 @rgrob{PianoPedalBracket}) can be modified.  For example, the bracket
 may be extended to the end of the note head.
 
@@ -2840,11 +2840,11 @@ to the chords in both staves, and set
   >  
 @end lilypond
 
-This command creates @internalsref{Arpeggio} grobs.  Cross staff arpeggios
+This command creates @internalsref{Arpeggio} objects.  Cross staff arpeggios
 are @code{PianoStaff.Arpeggio}.
 
 To add an arrow head to explicitly specify the direction of the
-arpeggio, you should set the arpeggio grob property
+arpeggio, you should set the arpeggio object property
 @code{arpeggio-direction}.
 
 @lilypond[fragment,relative,verbatim]
@@ -2859,7 +2859,7 @@ arpeggio, you should set the arpeggio grob property
 A square bracket on the left indicates that the player should not
 arpeggiate the chord. To draw these brackets, set the
 @code{molecule-callback} property of @code{Arpeggio} or
-@code{PianoStaff.Arpeggio} grobs to @code{\arpeggioBracket}, and use
+@code{PianoStaff.Arpeggio} objects to @code{\arpeggioBracket}, and use
 @code{\arpeggio} statements within the chords as before.
 
 @lilypond[fragment,relative,verbatim]
@@ -2905,7 +2905,7 @@ can be printed automatically. This is enabled if the property
   >  
 @end lilypond
 
-The associated grob is @internalsref{VoiceFollower}.
+The associated object is @internalsref{VoiceFollower}.
 
 
 @node Tablatures
@@ -2954,10 +2954,30 @@ tuning defaults to the standard guitar tuning (with 6 strings).
 There are many ways to customize Lilypond tablatures.
 
 First you can change the number of strings, by setting the number of
-lines in the @internalsref{TabStaff}.  You can change the strings
+lines in the @internalsref{TabStaff} (the @code{line-count} property
+of TabStaff can only be changed using @code{\outputproperty}, for more
+information, see @ref{Tuning per object}.  You can change the strings
 tuning. A string tuning is given as a Scheme list with one integer
 number for each string, the number being the pitch of an open string.
 
+(The numbers specified for stringTuning are the numbers of semitons
+to subtract --- or add --- starting the specified pitch by default
+middle C, in string order: thus the notes are e, a, d & g)
+
+@lilypond[fragment,verbatim]
+  \context TabStaff <
+
+    \outputproperty #(make-type-checker 'staff-symbol-interface)
+                    #'line-count = #4
+    \property TabStaff.stringTunings =  #'(-20 - 15 -10 -5)
+    
+    \notes {
+      a,4 c' a e' e c' a e'
+    }
+
+  > 
+@end lilypond
+
 Finally, it is possible to change the Scheme function to format the
 tablature note text. The default is @var{fret-number-tablature-format},
 which uses the fret number, but for some instruments that may not use
@@ -3215,7 +3235,7 @@ scheme = \notes {
 By default, a chord name system proposed by Harald Banter (See
 @ref{Literature}) is used. The system is very regular and predictable.
 Typical American style chord names may be selected by setting the
-@code{style} property of the @code{ChordNames.ChordName} grob to
+@code{style} property of the @code{ChordNames.ChordName} object to
 @code{'american}. Similarly @code{'jazz} selects Jazz chordnames.
 
 Routines that determine the names to be printed are written in Scheme,
@@ -3289,7 +3309,7 @@ To print a  rehearsal mark, use the @code{\mark} command.
 
 As you can see, the mark is incremented automatically if you use
 @code{\mark \default}. The value to use is stored in the property
-@code{rehearsalMark} is used and automatically incremented.  The grob
+@code{rehearsalMark} is used and automatically incremented.  The object
 is @internalsref{RehearsalMark} in @internalsref{Score} context. See
 @code{input/test/boxed-molecule.ly} if you need boxes around the
 marks.
@@ -3438,7 +3458,7 @@ measure.
 
 @cindex whole rests for a full measure 
 
-The grob for this object is @internalsref{MultiMeasureRest}.
+The object for this object is @internalsref{MultiMeasureRest}.
 
 @refbugs
 
@@ -3604,7 +3624,7 @@ output.
 
  To get a longa note head, you have to use mensural note heads. This
 is accomplished by setting the @code{style} property of the
-NoteHead grob to @code{mensural}. There is also a note head style
+NoteHead object to @code{mensural}. There is also a note head style
 @code{baroque} which gives mensural note heads for @code{\longa} and
 @code{\breve} but standard note heads for shorter notes.
 
@@ -3747,7 +3767,7 @@ LilyPond has limited support for figured bass:
 The support for figured bass consists of two parts: there is an input
 mode, introduced by @code{\figures}, where you can enter bass figures
 as numbers, and there is a context called @internalsref{FiguredBass}
-that takes care of making @internalsref{BassFigure} grobs.
+that takes care of making @internalsref{BassFigure} objects.
 
 In figures input mode, a group of bass figures is delimited by
 @code{<} and @code{>}. The duration is entered after the @code{>}.
@@ -3797,34 +3817,34 @@ hands. Nevertheless, there are situations where it needs some help, or
 where you want to override its decisions. In this section we discuss
 ways to do just that.
 
-Formatting is internally done by manipulating so called grobs (graphic
-objects). Each grob carries with it a set of properties (grob
-properties) specific to that object.  For example, a stem grob has
+Formatting is internally done by manipulating so called objects (graphic
+objects). Each object carries with it a set of properties (object
+properties) specific to that object.  For example, a stem object has
 properties that specify its direction, length and thickness.
 
 The most direct way of tuning the output is by altering the values of
 these properties. There are two ways of doing that: first, you can
-temporarily change the definition of a certain type of grob, thus
+temporarily change the definition of a certain type of object, thus
 affecting a whole set of objects.  Second, you can select one specific
-object, and set a grob property in that object.
+object, and set a object property in that object.
 
 @menu
-* Tuning groups of grobs ::     
-* Tuning per grob ::            
+* Tuning groups of objects ::     
+* Tuning per object ::            
 * Font selection::              
 * Text markup::                 
 @end menu
 
-@node Tuning groups of grob
-@subsection Tuning groups of grob
+@node Tuning groups of object
+@subsection Tuning groups of object
 
-@cindex grob description
+@cindex object description
 
 
 
-A grob definition is a Scheme association list, that is stored in a
+A object definition is a Scheme association list, that is stored in a
 context property.  By assigning to that property (using plain
-@code{\property}), you can change the resulting grobs.
+@code{\property}), you can change the resulting objects.
 
 @lilypond[verbatim, fragment]
 c'4 \property Voice.Stem  = #'()
@@ -3845,11 +3865,11 @@ find this useful:
 @cindex \set
 
 This mechanism is fairly crude, since you can only set, but not modify,
-the definition of a grob. For this reason, there is a more advanced
+the definition of a object. For this reason, there is a more advanced
 mechanism.
 
-The definition of a grob is actually a list of default grob
-properties. For example, the definition of the Stem grob (available in
+The definition of a object is actually a list of default object
+properties. For example, the definition of the Stem object (available in
 @file{scm/grob-description.scm}), defines the following values for
 @internalsref{Stem}
 
@@ -3914,13 +3934,13 @@ default value:
   \set \set \set \set @var{to default value}
 @end example
 
-If there is no default (i.e. by default, the grob property is unset),
+If there is no default (i.e. by default, the object property is unset),
 then you can use
 @example
   \set \set \set \revert
 @end example
 
-For the digirati, the grob description is an Scheme association
+For the digirati, the object description is an Scheme association
 list. Since a Scheme list is a singly linked list, we can treat it as a
 stack, and @code{\override} and @code{\revert} are just push and pop
 operations. This pushing and popping is also used for overriding
@@ -3929,35 +3949,35 @@ automatic beaming settings.
 @refbugs
 
 LilyPond will hang or crash if @var{value} contains cyclic references.
-The backend is not very strict in type-checking grob properties. If you
+The backend is not very strict in type-checking object properties. If you
 @code{\revert} properties that are expected to be set by default,
 LilyPond may crash.
 
 
 
 
-@node Tuning per grob 
-@subsection Tuning per grob 
+@node Tuning per object 
+@subsection Tuning per object 
 
 @cindex \outputproperty
 
-A second way of tuning grobs is the more arcane @code{\outputproperty}
+A second way of tuning objects is the more arcane @code{\outputproperty}
 feature.  The syntax is as follows:
 @example
 \outputproperty @var{predicate} @var{symbol} = @var{value}
 @end example
-Here @code{predicate} is a Scheme function taking a grob argument, and
+Here @code{predicate} is a Scheme function taking a object argument, and
 returning a boolean.  This statement is processed by the
 @code{Output_property_engraver}.  It instructs the engraver to feed all
-grobs that it sees to @var{predicate}. Whenever the predicate returns
-true, the grob property @var{symbol} will be set to @var{value}.
+objects that it sees to @var{predicate}. Whenever the predicate returns
+true, the object property @var{symbol} will be set to @var{value}.
+
+This command is only single shot, in contrast to @code{\override} and
+@code{\set}.
 
 You will need to combine this statement with @code{\context} to select
 the appropriate context to apply this to.
 
-Here are some random examples. 
-
-
 In the following example, all note heads occurring at current staff
 level, are shifted up and right by setting their @code{extra-offset}
 property.
@@ -3972,7 +3992,7 @@ property.
 
 @cindex @code{extra-offset}
 
-In this example, the predicate checks the @code{text} grob property, to
+In this example, the predicate checks the @code{text} object property, to
 shift only the `m.d.' text,  but not the fingering instruction "2".
 @lilypond[verbatim,singleline]
 #(define (make-text-checker text)
@@ -4016,7 +4036,7 @@ example of those is in @file{input/test/cue-notes.ly}.
 @cindex font size
 @cindex size
 
-The font used for printing a grob can be selected by setting
+The font used for printing a object can be selected by setting
 @code{font-name}, e.g.
 @example
   \property Staff.TimeSignature
@@ -4026,8 +4046,8 @@ You may use any font which is available to @TeX{}, such as foreign
 fonts or fonts that do not belong to the Computer Modern font family.
 Font selection for the standard fonts, @TeX{}'s Computer Modern fonts,
 can also be adjusted with a more fine-grained mechanism.  By setting
-the grob properties described below, you can select a different font.
-All three mechanisms work for every grob that supports
+the object properties described below, you can select a different font.
+All three mechanisms work for every object that supports
 @code{font-interface}.
 
 @table @code
@@ -4065,15 +4085,15 @@ For any of these properties, the value @code{*} (i.e. the @emph{symbol},
 @code{*}, entered as @code{#'*}), acts as a wildcard. This can be used
 to override default setting, which are always present. For example:
 @example
-  \property Lyrics . LyricText \override #'font-series = #'bold
-  \property Lyrics . LyricText \override #'font-family = #'typewriter
-  \property Lyrics . LyricText \override #'font-shape = #'*
+  \property Lyrics.LyricText \override #'font-series = #'bold
+  \property Lyrics.LyricText \override #'font-family = #'typewriter
+  \property Lyrics.LyricText \override #'font-shape  = #'*
 @end example
 
 @cindex @code{font-style}
 
 There are also pre-cooked font selection qualifiers. These are
-selected through the grob property @code{font-style}.  For example,
+selected through the object property @code{font-style}.  For example,
 the style @code{finger} selects family @code{number} and relative size
 @code{-3}.  Styles available include @code{volta}, @code{finger},
 @code{tuplet}, @code{timesig}, @code{mmrest}, @code{script},
@@ -4083,7 +4103,7 @@ to this file for more information.
 
 @cindex magnification
 
-The size of the font may be scaled with the grob property
+The size of the font may be scaled with the object property
 @code{font-magnification}.  For example, @code{2.0} blows up all
 letters by a factor 2 in both directions.
 
@@ -4122,7 +4142,7 @@ in the following way.
 @end lilypond
 
 Normally, the Scheme markup text is stored in the @code{text} property
-of a grob.  Formally, it is defined as follows:
+of a object.  Formally, it is defined as follows:
 
 @example
 text: string | (head? text+)
@@ -4134,9 +4154,9 @@ abbrev: @code{columns lines roman music bold italic named super sub}
         @code{large Large dynamic}
 @end example
 
-The markup is broken down and converted into a list of grob properties,
+The markup is broken down and converted into a list of object properties,
 which are prepended to the property list.  The @var{key}-@var{value}
-pair is a grob property. A list of properties available is included in
+pair is a object property. A list of properties available is included in
 the generated documentation for @internalsref{text-interface}.
 
 The following abbreviations are defined:
@@ -4280,14 +4300,14 @@ could also make the staff larger at the bottom by setting it to
 @code{(-6 . 4)}. The default value is @code{(-6 . 6)}.
 
 Vertical aligment of staves is handled by the
-@internalsref{VerticalAlignment} grob, which lives at
+@internalsref{VerticalAlignment} object, which lives at
 @internalsref{Score} level.
 
 The piano staffs are handled a little differently: to make cross-staff
 beaming work correctly, it necessary that the distance between staves
 is fixed.  This is also done with a @internalsref{VerticalAlignment}
-grob, created in @internalsref{PianoStaff}, but a forced distance is
-set. This is done with the grob property #'forced-distance. If you
+object, created in @internalsref{PianoStaff}, but a forced distance is
+set. This is done with the object property #'forced-distance. If you
 want to override this, use a @code{\translator} block as follows:
 @example
   \translator @{
@@ -4318,7 +4338,7 @@ quarter note is followed by 2 NHW, the half by 3 NHW, etc.
 @end lilypond
 
 These two amounts of space are @code{shortest-duration-space}
-@code{spacing-increment}, grob properties of
+@code{spacing-increment}, object properties of
 @internalsref{SpacingSpanner}. Normally @code{spacing-increment} is
 set to 1.2, which is the width of a note head, and
 @code{shortest-duration-space} is set to 2.0, meaning that the
@@ -4359,7 +4379,7 @@ through @code{base-shortest-duration}.
 
 In the introduction it was explained that stem directions influence
 spacing. This is controlled with @code{stem-spacing-correction} in
-@internalsref{NoteSpacing}. The @code{StaffSpacing} grob contains the
+@internalsref{NoteSpacing}. The @code{StaffSpacing} object contains the
 same property for controlling the stem/barline spacing. In the
 following example shows these corrections, once with default settings,
 and once with exaggerated corrections.