]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/define-grob-properties.scm
Merge branch 'lilypond/translation' of ssh://jomand@git.sv.gnu.org/srv/git/lilypond
[lilypond.git] / scm / define-grob-properties.scm
index 619adf31067cd52fc07bc2ba2c9ed8b6d795169f..4dd07b245b95a6164514f329f282e2656de1c6ee 100644 (file)
@@ -2,7 +2,7 @@
 ;;;;
 ;;;;  source file of the GNU LilyPond music typesetter
 ;;;; 
 ;;;;
 ;;;;  source file of the GNU LilyPond music typesetter
 ;;;; 
-;;;; (c) 1998--2007  Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; (c) 1998--2009  Han-Wen Nienhuys <hanwen@xs4all.nl>
 ;;;;                 Jan Nieuwenhuizen <janneke@gnu.org>
 
 (define (define-grob-property symbol type? description)
 ;;;;                 Jan Nieuwenhuizen <janneke@gnu.org>
 
 (define (define-grob-property symbol type? description)
@@ -79,6 +79,14 @@ specifies which beams to make.  @code{0}@tie{}is the central beam,
 @code{1}@tie{}is the next beam toward the note, etc.  This
 information is used to determine how to connect the beaming patterns
 from stem to stem inside a beam.")
 @code{1}@tie{}is the next beam toward the note, etc.  This
 information is used to determine how to connect the beaming patterns
 from stem to stem inside a beam.")
+     (beamlet-default-length ,pair? "A pair of numbers. The first number
+specifies the default length of a beamlet that sticks out of the left hand
+side of this stem; the second number specifies the default length of the
+beamlet to the right. The actual length of a beamlet is determined by
+taking either the default length or the length specified by
+@code{beamlet-max-length-proportion}, whichever is smaller.")
+     (beamlet-max-length-proportion ,pair? "The maximum length of a beamlet,
+as a proportion of the distance between two adjacent stems.")
      (before-line-breaking ,boolean? "Dummy property, used to trigger
 a callback function.")
      (between-cols ,pair? "Where to attach a loose column to.")
      (before-line-breaking ,boolean? "Dummy property, used to trigger
 a callback function.")
      (between-cols ,pair? "Where to attach a loose column to.")
@@ -133,6 +141,8 @@ stick out of its bounds?")
 
      (c0-position ,integer? "An integer indicating the position of
 middle@tie{}C.")
 
      (c0-position ,integer? "An integer indicating the position of
 middle@tie{}C.")
+     (circled-tip ,boolean? "Put a circle at start/end of hairpins (al/del
+niente).")
      (clip-edges ,boolean? "Allow outward pointing beamlets at the
 edges of beams?")
      (collapse-height ,ly:dimension? "Minimum height of system start
      (clip-edges ,boolean? "Allow outward pointing beamlets at the
 edges of beams?")
      (collapse-height ,ly:dimension? "Minimum height of system start
@@ -169,7 +179,7 @@ be used: @code{#UP}=@code{1}, @code{#DOWN}=@code{-1},
 @code{#LEFT}=@code{-1}, @code{#RIGHT}=@code{1}, @code{#CENTER}=@code{0}.")
      (dot-count ,integer? "The number of dots.")
      (dot-negative-kern ,number? "The space to remove between a dot
 @code{#LEFT}=@code{-1}, @code{#RIGHT}=@code{1}, @code{#CENTER}=@code{0}.")
      (dot-count ,integer? "The number of dots.")
      (dot-negative-kern ,number? "The space to remove between a dot
-a and slash in percent repeat glyphs.  Larger values bring the two
+and a slash in percent repeat glyphs.  Larger values bring the two
 elements closer together.")
      (dot-placement-list ,list? "List 
 consisting of @code{(@var{description} @var{string-number} 
 elements closer together.")
      (dot-placement-list ,list? "List 
 consisting of @code{(@var{description} @var{string-number} 
@@ -218,9 +228,10 @@ glyph is typeset on a @code{Stem}.  Valid options include @code{'()} for
 standard flags, @code{'mensural} and @code{'no-flag}, which switches off 
 the flag.")
      (font-encoding ,symbol? "The font encoding is the broadest
 standard flags, @code{'mensural} and @code{'no-flag}, which switches off 
 the flag.")
      (font-encoding ,symbol? "The font encoding is the broadest
-category for selecting a font.  Options include: @code{fetaMusic},
-@code{fetaNumber}, @code{TeX-text}, @code{TeX-math},
-@code{fetaBraces}, @code{fetaDynamic}.")
+category for selecting a font.  Currently, only lilypond's system fonts
+(Emmentaler and Aybabtu) are using this property.  Available values are
+@code{fetaMusic} (Emmentaler), @code{fetaBraces} (Aybabtu),
+@code{fetaNumber} (Emmentaler), and @code{fetaDynamic} (Emmentaler).")
      (font-family ,symbol? "The font family is the broadest category
 for selecting text fonts.  Options include: @code{sans},
 @code{roman}.")
      (font-family ,symbol? "The font family is the broadest category
 for selecting text fonts.  Options include: @code{sans},
 @code{roman}.")
@@ -255,12 +266,19 @@ include the following:
 Choices include @code{curved}, @code{straight}, and
 @code{none}.  Default @code{curved}.
 @item
 Choices include @code{curved}, @code{straight}, and
 @code{none}.  Default @code{curved}.
 @item
+@code{capo-thickness} -- Thickness of capo indicator, in
+multiples of fret-space.  Default value 0.5.
+@item
 @code{dot-color} -- Color of dots.  Options include
 @code{black} and @code{white}.  Default @code{black}.
 @item
 @code{dot-label-font-mag} -- Magnification for font used to
 label fret dots.  Default value 1.
 @item
 @code{dot-color} -- Color of dots.  Options include
 @code{black} and @code{white}.  Default @code{black}.
 @item
 @code{dot-label-font-mag} -- Magnification for font used to
 label fret dots.  Default value 1.
 @item
+@code{dot-position} -- Location of dot in fret space.  Default
+0.6 for dots without labels, 0.95-@code{dot-radius} for dots with
+labels.
+@item
 @code{dot-radius} -- Radius of dots, in terms of fret spaces.  
 Default value 0.425 for labeled dots, 0.25 for unlabeled dots.
 @item
 @code{dot-radius} -- Radius of dots, in terms of fret spaces.  
 Default value 0.425 for labeled dots, 0.25 for unlabeled dots.
 @item
@@ -274,8 +292,8 @@ Options include @code{none}, @code{in-dot}, and
 @code{fret-label-font-mag} -- The magnification of the font used to label
 the lowest fret number.  Default 0.5
 @item
 @code{fret-label-font-mag} -- The magnification of the font used to label
 the lowest fret number.  Default 0.5
 @item
-@code{fret-label-vertical-offset} -- The vertical offset of the fret label
-from the fret.  Default -0.2
+@code{fret-label-vertical-offset} -- The offset of the fret label
+from the center of the fret in direction parallel to strings.  Default 0.
 @item
 @code{label-dir} -- Side to which the fret label is attached.
 @code{-1}, @code{#LEFT}, or @code{#DOWN} for left or down;
 @item
 @code{label-dir} -- Side to which the fret label is attached.
 @code{-1}, @code{#LEFT}, or @code{#DOWN} for left or down;
@@ -293,12 +311,19 @@ include @code{roman-lower}, @code{roman-upper}, and @code{arabic}.  Default
 string.  Default \"o\".
 @item
 @code{orientation} -- Orientation of fret-diagram.  Options include
 string.  Default \"o\".
 @item
 @code{orientation} -- Orientation of fret-diagram.  Options include
-@code{normal} and @code{landscape}.  Default @code{normal}.
+@code{normal}, @code{landscape}, and @code{opposing-landscape}.
+Default @code{normal}.
 @item
 @code{string-count} -- The number of strings.  Default 6.
 @item
 @code{string-label-font-mag} -- The magnification of the font used to label 
 @item
 @code{string-count} -- The number of strings.  Default 6.
 @item
 @code{string-label-font-mag} -- The magnification of the font used to label 
-fingerings at the string, rather than in the dot.  Default value 0.6.
+fingerings at the string, rather than in the dot.  Default value 0.6 for
+@code{normal} orientation, 0.5 for @code{landscape} and 
+@code{opposing-landscape}.
+@item
+@code{string-thickness-factor} -- Factor for changing thickness of each
+string in the fret diagram.  Thickness of string @code{k} is given by
+@code{thickness}*(1+@code{string-thickness-factor})^(k-1).  Default 0.
 @item
 @code{top-fret-thickness} -- The thickness of the top fret line, as a multiple
 of the standard thickness.   Default value 3.
 @item
 @code{top-fret-thickness} -- The thickness of the top fret line, as a multiple
 of the standard thickness.   Default value 3.
@@ -356,7 +381,9 @@ circled pedals. Default value 0.15.
 @code{circle-y-padding} -- Padding in Y direction of the ellipse around
 circled pedals. Default value 0.2.
 @end itemize")
 @code{circle-y-padding} -- Padding in Y direction of the ellipse around
 circled pedals. Default value 0.2.
 @end itemize")
-
+     (full-measure-extra-space ,number? "Extra space that is allocated at the
+beginning of a measure with only one note. This property is read from the
+NonMusicalPaperColumn that begins the measure.")
      (head-direction ,ly:dir? "Are the note heads left or right in a
 semitie?")
      (height ,ly:dimension? "Height of an object in
      (head-direction ,ly:dir? "Are the note heads left or right in a
 semitie?")
      (height ,ly:dimension? "Height of an object in
@@ -496,6 +523,8 @@ In case of a potential collision, the grob with the smaller
 tightly as possible.")
      (padding ,ly:dimension? "Add this much extra space between
 objects that are next to each other.")
 tightly as possible.")
      (padding ,ly:dimension? "Add this much extra space between
 objects that are next to each other.")
+     (padding-pairs ,list? "An alist mapping @code{(@var{name} . @var{name})}
+to distances.")
      (page-break-penalty ,number? "Penalty for page break at this
 column.  This affects the choices of the page breaker; it avoids a
 page break at a column with a positive penalty and prefers a page break
      (page-break-penalty ,number? "Penalty for page break at this
 column.  This affects the choices of the page breaker; it avoids a
 page break at a column with a positive penalty and prefers a page break
@@ -524,7 +553,7 @@ dot.")
 number, the quicker the slur attains its @code{height-limit}.")
      (remove-empty ,boolean? "If set, remove group if it contains no
 interesting items.")
 number, the quicker the slur attains its @code{height-limit}.")
      (remove-empty ,boolean? "If set, remove group if it contains no
 interesting items.")
-     (remove-first ,boolean? "Remove the first staff of a orchestral
+     (remove-first ,boolean? "Remove the first staff of an orchestral
 score?")
      (restore-first ,boolean? "Print a natural before the
 accidental.")
 score?")
      (restore-first ,boolean? "Print a natural before the
 accidental.")
@@ -550,6 +579,10 @@ value @code{-1} means left aligned, @code{0}@tie{}centered, and
 values may also be specified.")
      (self-alignment-Y ,number? "Like @code{self-alignment-X} but for
 the Y@tie{}axis.")
 values may also be specified.")
      (self-alignment-Y ,number? "Like @code{self-alignment-X} but for
 the Y@tie{}axis.")
+     (toward-stem-shift ,number? "Amount by which scripts are shifted
+toward the stem if their direction coincides with the stem direction.
+@code{0.0} means keep the default position (centered on the note head),
+@code{1.0} means centered on the stem.  Interpolated values are possible.")
      (shorten-pair ,number-pair? "The lengths to shorten a
 text-spanner on both sides, for example a pedal bracket.  Positive
 values shorten the text-spanner, while negative values lengthen it.")
      (shorten-pair ,number-pair? "The lengths to shorten a
 text-spanner on both sides, for example a pedal bracket.  Positive
 values shorten the text-spanner, while negative values lengthen it.")
@@ -569,6 +602,11 @@ is placed vertically.")
 @code{direction-source} with this to get the direction of this
 object.")
      (size ,number? "Size of object, relative to standard size.")
 @code{direction-source} with this to get the direction of this
 object.")
      (size ,number? "Size of object, relative to standard size.")
+     (skyline-horizontal-padding ,number? "For determining the vertical
+distance between two staves, it is possible to have a configuration which
+would result in a tight interleaving of grobs from the top staff and the
+bottom staff.  The larger this parameter is, the farther apart the staves
+are placed in such a configuration.")
      (slash-negative-kern ,number? "The space to remove between
 slashes in percent repeat glyphs.  Larger values bring the two
 elements closer together.")
      (slash-negative-kern ,number? "The space to remove between
 slashes in percent repeat glyphs.  Larger values bring the two
 elements closer together.")
@@ -757,9 +795,6 @@ columns.")
      (note-columns ,pair? "A list of @code{NoteColumn} grobs.")
      (note-head ,ly:grob? "A single note head.")
      (note-heads ,ly:grob-array? "A list of note head grobs.")
      (note-columns ,pair? "A list of @code{NoteColumn} grobs.")
      (note-head ,ly:grob? "A single note head.")
      (note-heads ,ly:grob-array? "A list of note head grobs.")
-
-     (padding-pairs ,list? "An alist mapping @code{(@var{name} . @var{name})}
-to distances.")
      (pedal-text ,ly:grob? "A pointer to the text of a mixed-style piano
 pedal.")
      (pure-Y-common ,ly:grob? "A cache of the
      (pedal-text ,ly:grob? "A pointer to the text of a mixed-style piano
 pedal.")
      (pure-Y-common ,ly:grob? "A cache of the
@@ -803,9 +838,6 @@ that should only show changes.")
 
      (cause ,scheme? "Any kind of causation objects (i.e., music, or perhaps
 translator) that was the cause for this grob.")
 
      (cause ,scheme? "Any kind of causation objects (i.e., music, or perhaps
 translator) that was the cause for this grob.")
-     (circled-tip ,boolean? "Put a circle at start/end of hairpins (al/del
-niente).")
-
      (delta-position ,number? "The vertical position difference.")
      (details ,list? "Alist of parameters for detailed grob behavior.
 
      (delta-position ,number? "The vertical position difference.")
      (details ,list? "Alist of parameters for detailed grob behavior.
 
@@ -848,11 +880,6 @@ acts as an index for looking up a @code{Stencil} object.")
 Internally used to distribute beam shortening over stems.")
      (skyline-distance ,number? "The distance between this staff and the
 next one, as determined by a skyline algorithm.")
 Internally used to distribute beam shortening over stems.")
      (skyline-distance ,number? "The distance between this staff and the
 next one, as determined by a skyline algorithm.")
-     (skyline-horizontal-padding ,number? "For determining the vertical
-distance between two staves, it is possible to have a configuration which
-would result in a tight interleaving of grobs from the top staff and the
-bottom staff.  The larger this parameter is, the farther apart the staves
-are placed in such a configuration.")
      (stem-info ,pair? "A cache of stem parameters.")
 
      (use-breve-rest ,boolean? "Use breve rests for measures longer
      (stem-info ,pair? "A cache of stem parameters.")
 
      (use-breve-rest ,boolean? "Use breve rests for measures longer