;;;; This file is part of LilyPond, the GNU music typesetter.
;;;;
-;;;; Copyright (C) 1998--2014 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; Copyright (C) 1998--2015 Han-Wen Nienhuys <hanwen@xs4all.nl>
;;;; Jan Nieuwenhuizen <janneke@gnu.org>
;;;;
;;;; LilyPond is free software: you can redistribute it and/or modify
the slope of the beam.")
(connect-to-neighbor ,pair? "Pair of booleans, indicating whether
this grob looks as a continued break.")
- (control-points ,list? "List of offsets (number pairs) that form
+ (control-points ,number-pair-list? "List of offsets (number pairs) that form
control points for the tie, slur, or bracket shape. For B@'eziers,
this should list the control points of a third-order B@'ezier curve.")
(count-from ,integer? "The first measure in a measure count
dash structure. Each @code{dash-element} has a starting t value,
an ending t-value, a @code{dash-fraction}, and a @code{dash-period}.")
(dash-fraction ,number? "Size of the dashes, relative to
-@code{dash-period}. Should be between @code{0.0} (no line) and
-@code{1.0} (continuous line).")
+@code{dash-period}. Should be between @code{0.1} and
+@code{1.0} (continuous line). If set to @code{0.0}, a dotted line is
+produced")
(dash-period ,number? "The length of one dash together with
whitespace. If negative, no line is drawn at all.")
(default-direction ,ly:dir? "Direction determined by note head
@item
@code{fret-count} -- The number of frets. Default@tie{}4.
@item
+@code{fret-distance} -- Multiplier to adjust the distance between frets.
+Default@tie{}1.0.
+@item
@code{fret-label-custom-format} -- The format string to be used label
the lowest fret number, when @code{number-type} equals to
@code{custom}. Default@tie{}\"~a\".
@item
@code{string-count} -- The number of strings. Default@tie{}6.
@item
+@code{string-distance} -- Multiplier to adjust the distance between strings.
+Default@tie{}1.0.
+@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 for @code{normal} orientation, 0.5 for @code{landscape} and
;;;
;;; i
;;;
- (id ,string? "An id string for the grob. Depending on the typestting
-backend being used, this id will be assigned to a group containing all of
-the stencils that comprise a given grob. For example, in the svg backend,
-the string will be assigned to the @code{id} attribute of a group (<g>)
-that encloses the stencils that comprise the grob. In the Postscript
-backend, as there is no way to group items, the setting of the id property
-will have no effect.")
+ (id ,string? "An id string for the grob.")
+ (ignore-ambitus ,boolean? "If set, don't consider this notehead
+for ambitus calculation.")
(ignore-collision ,boolean? "If set, don't do note collision
resolution on this @code{NoteColumn}.")
(implicit ,boolean? "Is this an implicit bass figure?")
lines. It is the sum of 2@tie{}numbers: The first is the factor for
line thickness, and the second for staff space. Both contributions
are added.")
- (ledger-positions ,list? "Repeating pattern for the vertical positions
-of ledger lines. Bracketed groups are always shown together.")
+ (ledger-positions ,list? "Vertical positions of ledger lines.
+When set on a @code{StaffSymbol} grob it defines a repeating
+pattern of ledger lines and any parenthesized groups will always be
+shown together.")
+ (ledger-positions-function ,scheme? "A quoted Scheme procedure that
+takes a @code{StaffSymbol} grob and the vertical position of a note head
+as arguments and returns a list of ledger line positions.")
(left-bound-info ,list? "An alist of properties for determining
attachments of spanners to edges.")
(left-padding ,ly:dimension? "The amount of space that is put
;;;
(max-beam-connect ,integer? "Maximum number of beams to connect
to beams from this stem. Further beams are typeset as beamlets.")
- (max-stretch ,number? "The maximum amount that this
-@code{VerticalAxisGroup} can be vertically stretched (for example, in
-order to better fill a page).")
(maximum-gap ,number? "Maximum value allowed for @code{gap}
property.")
+ (max-symbol-separation ,number? "The maximum distance between
+symbols making up a church rest.")
(measure-count ,integer? "The number of measures for a
multi-measure rest.")
(measure-length ,ly:moment? "Length of a measure. Used in some
appropriate callback for the @code{springs-and-rods} property. If
added to a @code{Tie}, this sets the minimum distance between
noteheads.")
+ (minimum-length-after-break ,ly:dimension? "If set, try to make
+a broken spanner starting a line this long. This requires an
+appropriate callback for the @code{springs-and-rods} property. If
+added to a @code{Tie}, this sets the minimum distance to the
+notehead.")
(minimum-length-fraction ,number? "Minimum length of ledger line
as fraction of note head size.")
(minimum-space ,ly:dimension? "Minimum distance that the victim
get stems extending to the middle staff line.")
(non-break-align-symbols ,list? "A list of symbols that determine
which NON-break-aligned interfaces to align this to.")
- (non-default ,boolean? "Set for manually specified clefs.")
+ (non-default ,boolean? "Set for manually specified clefs and keys.")
(non-musical ,boolean? "True if the grob belongs to a
@code{NonMusicalPaperColumn}.")
(nonstaff-nonstaff-spacing ,list? "The spacing alist
between 0 and 1.")
(note-names ,vector? "Vector of strings containing names for
easy-notation note heads.")
+ (note-collision-threshold ,ly:dimension? "Simultaneous notes that
+are this close or closer in units of @code{staff-space} will be
+identified as vertically colliding. Used by @code{Stem} grobs for notes
+in the same voice, and @code{NoteCollision} grobs for notes in
+different voices. Default value@tie{}1.")
(number-type ,symbol? "Numbering style. Choices include
@code{roman-lower}, @code{roman-upper} and @code{arabic}.")
;;;
;;; o
;;;
+ (output-attributes ,list? "An alist of attributes for the grob, to
+be included in output files. When the SVG typesetting backend is used,
+the attributes are assigned to a group (<g>) containing all of the
+stencils that comprise a given grob. For example,
+@code{'((id . 123) (class . foo) (data-whatever . @qq{bar}))} will produce
+@code{<g id=@qq{123} class=@qq{foo} data-whatever=@qq{bar}> @dots{} </g>}.
+In the Postscript backend, where there is no way to group items, the
+setting of the output-attributes property will have no effect.")
(outside-staff-horizontal-padding ,number? "By default, an
outside-staff-object can be placed so that is it very close to another
grob horizontally. If this property is set, the outside-staff-object
used.")
(parent-alignment-Y ,number? "Like @code{parent-alignment-X}
but for the Y@tie{}axis.")
+ (parenthesis-friends ,list? "A list of Grob types, as symbols.
+When parentheses enclose a Grob that has 'parenthesis-friends, the
+parentheses widen to include any child Grobs with type among
+'parenthesis-friends.")
(parenthesized ,boolean? "Parenthesize this grob.")
(positions ,number-pair? "Pair of staff coordinates
@code{(@var{left} . @var{right})}, where both @var{left} and
interesting items.")
(remove-first ,boolean? "Remove the first staff of an orchestral
score?")
- (remove-layer ,integer? "The @code{Keep_alive_together_engraver}
-removes all @code{VerticalAxisGroup} grobs with a @code{remove-layer}
-larger than the smallest retained @code{remove-layer}. Set to
-@code{#f} to make a layer invisible to the
-@code{Keep_alive_together_engraver}, set to @code{'()} to have it not
-participate in the layering decisions.")
+ (remove-layer ,key? "When set as a positive integer, the
+@code{Keep_alive_together_engraver} removes all
+@code{VerticalAxisGroup} grobs with a @code{remove-layer} larger than
+the smallest retained @code{remove-layer}. Set to @code{#f} to make a
+layer independent of the @code{Keep_alive_together_engraver}. Set to
+@code{'()}, the layer does not participate in the layering decisions.
+The property can also be set as a symbol for common behaviors:
+@code{#'any} to keep the layer alive with any other layer in the
+group; @code{#'above} or @code{#'below} to keep the layer alive with
+the context immediately before or after it, respectively.")
(replacement-alist ,list? "Alist of strings.
The key is a string of the pattern to be replaced. The value is a
string of what should be displayed. Useful for ligatures.")
values may also be specified - the unit is half the object width.")
(self-alignment-Y ,number? "Like @code{self-alignment-X} but for
the Y@tie{}axis.")
+ (shape ,symbol? "This setting determines what shape a grob
+has. Valid choices depend on the @code{stencil} callback reading
+this property.")
(sharp-positions ,list? "Sharps in key signatures are placed
within the specified ranges of staff-positions. The general form
is a list of pairs, with one pair for each type of clef, in order
If the list contains a single element it applies for all clefs.
A single number in place of a pair sets accidentals within the octave
ending at that staff-position.")
- (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 on both sides
+a hairpin or text-spanner such as a pedal bracket. Positive values
+shorten the hairpin or text-spanner, while negative values lengthen
+it.")
(shortest-duration-space ,number? "Start with this multiple of
@code{spacing-increment} space for the shortest duration. See also
@rinternals{spacing-spanner-interface}.")
object.")
(simple-Y ,boolean? "Should the Y placement of a spanner
disregard changes in system heights?")
- (size ,number? "Size of object, relative to standard size.")
+ (size ,number? "The ratio of the size of the object to its default
+size.")
(skip-quanting ,boolean? "Should beam quanting be skipped?")
(skyline-horizontal-padding ,number? "For determining the
vertical distance between two staves, it is possible to have a
used when the grob is just left of the first note on a line
@item next-note
-used when the grob is just left of any other note
+used when the grob is just left of any other note;
+if not set, the value of @code{first-note} gets used
@item right-edge
used when the grob is the last item on the line (only compatible with
\\override MultiMeasureRest
#'spacing-pair = #'(staff-bar . staff-bar)
@end example")
- (spanner-id ,string? "An identifier to distinguish concurrent spanners.")
+ (spanner-id ,key? "An identifier to distinguish concurrent spanners.")
(springs-and-rods ,boolean? "Dummy variable for triggering
spacing routines.")
(stacking-dir ,ly:dir? "Stack objects in which direction?")
line just before it would otherwise stop.")
(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.")
+@code{0.0} means centered on the note head (the default position of
+most scripts); @code{1.0} means centered on the stem. Interpolated
+values are possible.")
+ (toward-stem-shift-in-column ,number? "Amount by which a script
+is shifted toward the stem if its direction coincides with the stem
+direction and it is associated with a @code{ScriptColumn} object.
+@code{0.0} means centered on the note head (the default position of
+most scripts); @code{1.0} means centered on the stem. Interpolated
+values are possible.")
(transparent ,boolean? "This makes the grob invisible.")
;;;
(vertical-skylines ,ly:skyline-pair? "Two skylines, one above and
one below this grob.")
+ (voiced-position ,number? "The staff-position of a voiced
+@code{Rest}, negative if the rest has @code{direction} @code{DOWN}.")
;;;
;;; w
;;;
- (when ,ly:moment? "Global time step associated with this column
-happen?")
- (whiteout ,boolean? "If true, the grob is printed over a white
-background to white-out underlying material, if the grob is visible.
- Usually #f by default.")
+ (when ,ly:moment? "Global time step associated with this column.")
+ (whiteout ,boolean-or-number? "If a number or true, the grob is
+printed over a white background to white-out underlying material, if
+the grob is visible. A number indicates how far the white background
+extends beyond the bounding box of the grob as a multiple of the
+staff-line thickness. The shape of the background is determined by
+@code{whiteout-style}. Usually @code{#f} by default.")
+ (whiteout-style ,symbol? "Determines the shape of the
+@code{whiteout} background. Available are @code{'outline},
+@code{'rounded-box}, and the default @code{'box}.")
(width ,ly:dimension? "The width of a grob measured in staff
space.")
(word-space ,ly:dimension? "Space to insert between words in
(keep-alive-with ,ly:grob-array? "An array of other
@code{VerticalAxisGroup}s. If any of them are alive, then we will stay alive.")
- (left-items ,ly:grob-array? "DOCME")
+ (left-items ,ly:grob-array? "Grobs organized on the left by a spacing
+object.")
(left-neighbor ,ly:grob? "The right-most column that has a spacing-wish
for this column.")
(rest ,ly:grob? "A pointer to a @code{Rest} object.")
(rest-collision ,ly:grob? "A rest collision that a rest is in.")
(rests ,ly:grob-array? "An array of rest objects.")
- (right-items ,ly:grob-array? "DOCME")
+ (right-items ,ly:grob-array? "Grobs organized on the right by
+a spacing object.")
(right-neighbor ,ly:grob? "See @code{left-neighbor}.")
+ (scripts ,ly:grob-array? "An array of @code{Script} objects.")
(side-support-elements ,ly:grob-array? "The side support, an array of
grobs.")
(slur ,ly:grob? "A pointer to a @code{Slur} object.")
(spacing ,ly:grob? "The spacing spanner governing this section.")
+ (space-increment ,ly:dimension? "The amount by which the total duration
+of a multimeasure rest affects horizontal spacing. Each doubling of the
+duration adds @code{space-increment} to the length of the bar.")
(spacing-wishes ,ly:grob-array? "An array of note spacing or staff spacing
objects.")
(span-start ,boolean? "Is the note head at the start of a spanner?")
(quantized-positions ,number-pair? "The beam positions after
quanting.")
-
+ (script-column ,ly:grob? "A @code{ScriptColumn} associated with a
+@code{Script} object.")
(script-stencil ,pair? "A pair @code{(@var{type} . @var{arg})} which
acts as an index for looking up a @code{Stencil} object.")
(shorten ,ly:dimension? "The amount of space that a stem is shortened.