-;;;; define-grob-properties.scm -- part of generated backend documentation
+;;;; This file is part of LilyPond, the GNU music typesetter.
;;;;
-;;;; source file of the GNU LilyPond music typesetter
-;;;;
-;;;; (c) 1998--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; Copyright (C) 1998--2010 Han-Wen Nienhuys <hanwen@xs4all.nl>
;;;; Jan Nieuwenhuizen <janneke@gnu.org>
+;;;;
+;;;; LilyPond is free software: you can redistribute it and/or modify
+;;;; it under the terms of the GNU General Public License as published by
+;;;; the Free Software Foundation, either version 3 of the License, or
+;;;; (at your option) any later version.
+;;;;
+;;;; LilyPond is distributed in the hope that it will be useful,
+;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;;; GNU General Public License for more details.
+;;;;
+;;;; You should have received a copy of the GNU General Public License
+;;;; along with LilyPond. If not, see <http://www.gnu.org/licenses/>.
(define (define-grob-property symbol type? description)
(if (not (equal? (object-property symbol 'backend-doc) #f))
switches off the flag.")
(font-encoding ,symbol? "The font encoding is the broadest
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).")
+fonts (Emmentaler) are using this property. Available
+values are @code{fetaMusic} (Emmentaler), @code{fetaBraces},
+@code{fetaText} (Emmentaler).")
(font-family ,symbol? "The font family is the broadest category
for selecting text fonts. Options include: @code{sans},
@code{roman}.")
property.")
(glyph-name ,string? "The glyph name within the font.")
(glyph-name-alist ,list? "An alist of key-string pairs.")
+ (graphical ,boolean? "Display in graphical (vs. text) form.")
(grow-direction ,ly:dir? "Crescendo or decrescendo?")
has affinity. See @var{next-staff-spacing} for the format of this list.")
-
;;
;; k
;;
- (keep-fixed-while-stretching ,boolean? "A grob with this property
-set to true is fixed relative to the staff above it when systems are
-stretched.")
(keep-inside-line ,boolean? "If set, this column cannot have
objects sticking into the margin.")
(kern ,ly:dimension? "Amount of extra white space to add. For
;; l
;;
(labels ,list? "List of labels (symbols) placed on a column.")
- (layer ,integer? "The output layer (a value between 0
-and@tie{}2): Layers define the order of printing objects. Objects in
-lower layers are overprinted by objects in higher layers.")
+ (layer ,integer? "An integer which determines the order of printing
+objects. Objects with the lowest value of layer are drawn first, then
+objects with progressively higher values are drawn, so objects with
+higher values overwrite objects with lower values. By default most
+objects are assigned a layer value of 1.")
(ledger-line-thickness ,number-pair? "The thickness of ledger
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
(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
-left to an object (e.g., a group of accidentals).")
+left to an object (e.g., a lyric extender).")
(length ,ly:dimension? "User override for the stem length of
unbeamed stems.")
(length-fraction ,number? "Multiplier for lengths. Used for
(no-alignment ,boolean? "If set, don't place this grob in a
@code{VerticalAlignment}; rather, place it using its own
@code{Y-offset} callback.")
+ (non-break-align-symbols ,list? "A list of symbols that determine
+which NON-break-aligned interfaces to align this to.")
(no-ledgers ,boolean? "If set, don't draw ledger lines on this
object.")
(no-stem-extend ,boolean? "If set, notes with ledger lines do not
get stems extending to the middle staff line.")
+ (non-affinity-spacing ,list? "An alist of spacing variables
+that controls the spacing from a loose line (see @var{staff-affinity})
+to the staff for which the loose line does not have affinity.
+See @var{next-staff-spacing} for a description of the elements of
+this alist.")
(non-default ,boolean? "Set for manually specified clefs.")
(non-musical ,boolean? "True if the grob belongs to a
@code{NonMusicalPaperColumn}.")
(spacing-increment ,number? "Add this much space for a doubled
duration. Typically, the width of a note head. See also
@rinternals{spacing-spanner-interface}.")
+ (spacing-pair ,pair? "A pair of alignment symbols which set an object's
+spacing relative to its left and right @code{BreakAlignment}s.
+
+For example, a @code{MultiMeasureRest} will ignore prefatory items at its
+bounds (i.e., clefs, key signatures and time signatures) using the following
+override:
+
+@example
+\\override MultiMeasureRest #'spacing-pair = #'(staff-bar . staff-bar)
+@end example")
(springs-and-rods ,boolean? "Dummy variable for triggering
spacing routines.")
(stacking-dir ,ly:dir? "Stack objects in which direction?")
(thickness ,number? "Line thickness, generally measured in
@code{line-thickness}.")
(thin-kern ,number? "The space after a hair-line in a bar line.")
- (threshold ,number-pair? "@code{(@var{min} . @var{max})}, where
-@var{min} and @var{max} are dimensions in staff space.")
(tie-configuration ,list? "List of @code{(@var{position} .
@var{dir})} pairs, indicating the desired tie configuration, where
@var{position} is the offset from the center of the staff in staff
;;
(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.")
(width ,ly:dimension? "The width of a grob measured in staff
space.")
(word-space ,ly:dimension? "Space to insert between words in
(accidental-grob ,ly:grob? "The accidental for this note.")
(accidental-grobs ,list? "An alist with @code{(@var{notename} .
@var{groblist})} entries.")
- (adjacent-hairpins ,ly:grob-array? "An array of directly neighboring
-hairpins.")
+ (adjacent-spanners ,ly:grob-array? "An array of directly neighboring
+dynamic spanners.")
(all-elements ,ly:grob-array? "An array of all grobs in this line. Its
function is to protect objects from being garbage collected.")
(arpeggio ,ly:grob? "A pointer to an @code{Arpeggio} object.")
(items-worth-living ,ly:grob-array? "An array of interesting items. If
empty in a particular staff, then that staff is erased.")
+ (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-neighbor ,ly:grob? "The right-most column that has a spacing-wish
for this column.")
(note-heads ,ly:grob-array? "An array of note head grobs.")
(pedal-text ,ly:grob? "A pointer to the text of a mixed-style piano
pedal.")
+ (pure-relevant-grobs ,ly:grob-array? "All the grobs (items and spanners)
+that are relevant for finding the @code{pure-Y-extent}")
(pure-relevant-items ,ly:grob-array? "A subset of elements that are
relevant for finding the @code{pure-Y-extent}.")
(pure-relevant-spanners ,ly:grob-array? "A subset of elements that are
(right-items ,ly:grob-array? "DOCME")
(right-neighbor ,ly:grob? "See @code{left-neighbor}.")
- (separation-item ,ly:grob? "A pointer to a @code{SeparationItem}
-object.")
(side-support-elements ,ly:grob-array? "The side support, an array of
grobs.")
(slur ,ly:grob? "A pointer to a @code{Slur} object.")
- (spaceable-staves ,ly:grob-array? "Objects to be spaced during page
-layout.")
(spacing ,ly:grob? "The spacing spanner governing this section.")
(spacing-wishes ,ly:grob-array? "An array of note spacing or staff spacing
objects.")
(adjacent-pure-heights ,pair? "A pair of vectors. Used by a
@code{VerticalAxisGroup} to cache the @code{Y-extent}s of different column
ranges.")
-
+
(bar-extent ,number-pair? "The Y-extent of the actual bar line.
This may differ from @code{Y-extent} because it does not include the dots in
a repeat bar line.")
acts as an index for looking up a @code{Stencil} object.")
(shorten ,ly:dimension? "The amount of space that a stem is shortened.
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.")
(stem-info ,pair? "A cache of stem parameters.")
(system-Y-offset ,number? "The Y-offset (relative to the bottom of the
top-margin of the page) of the system to which this staff belongs.")
(inclinatum ,boolean? "Is this neume an inclinatum?")
- (join-heads ,boolean? "Whether to join the note heads of an ambitus
-grob with a vertical line.")
(join-right-amount ,number? "A length used for calculating the
Y-extent of mensural ligatures.")