X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdefine-grob-properties.scm;h=72f6894703d6a1ee6e80e5b01e793b67f75a0188;hb=4d88ff7f4887a48096b4718c278c04d04ea7e1f9;hp=973ffdd178b5a9f2465771853eaa79c5ca57dc48;hpb=805b7d14d56c2597d6f2879ba4c5a12ae5126b86;p=lilypond.git diff --git a/scm/define-grob-properties.scm b/scm/define-grob-properties.scm index 973ffdd178..72f6894703 100644 --- a/scm/define-grob-properties.scm +++ b/scm/define-grob-properties.scm @@ -1,9 +1,20 @@ -;;;; 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 +;;;; Copyright (C) 1998--2010 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen +;;;; +;;;; 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 . (define (define-grob-property symbol type? description) (if (not (equal? (object-property symbol 'backend-doc) #f)) @@ -27,6 +38,10 @@ ;; (add-stem-support ,boolean? "If set, the @code{Stem} object is included in this script's support.") + (after-last-staff-spacing ,list? "An alist of spacing variables +that controls the spacing after the last staff in this staff group. +See @var{next-staff-spacing} for a description of the elements of +this alist.") (after-line-breaking ,boolean? "Dummy property, used to trigger callback for @code{after-line-breaking}.") (align-dir ,ly:dir? "Which side to align? @code{-1}: left side, @@ -51,10 +66,14 @@ averaged over staves.") (avoid-note-head ,boolean? "If set, the stem of a chord does not pass through all note heads, but starts at the last note head.") (avoid-slur ,symbol? "Method of handling slur collisions. -Choices are @code{around}, @code{inside}, @code{outside}. If unset, -scripts and slurs ignore each other. @code{around} only moves the -script if there is a collision; @code{outside} always moves the -script.") +Choices are @code{inside}, @code{outside}, @code{around}, and +@code{ignore}. @code{inside} adjusts the slur if needed to keep the +grob inside the slur. @code{outside} moves the grob vertically to the +outside of the slur. @code{around} moves the grob vertically to the +outside of the slur only if there is a collision. @code{ignore} does +not move either. In grobs whose notational significance depends on +vertical position (such as accidentals, clefs, etc.), @code{outside} +and @code{around} behave like @code{ignore}.") (axes ,list? "List of axis numbers. In the case of alignment grobs, this should contain only one number.") @@ -91,10 +110,14 @@ 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.") - (bound-padding ,number? "The amount of padding to insert around -spanner bounds.") + (between-staff-spacing ,list? "An alist of spacing variables +that controls the spacing between staves within this staff group. +See @var{next-staff-spacing} for a description of the elements of +this alist.") (bound-details ,list? "An alist of properties for determining attachments of spanners to edges.") + (bound-padding ,number? "The amount of padding to insert around +spanner bounds.") (bracket-flare ,number-pair? "A pair of numbers specifying how much edges of brackets should slant outward. Value @code{0.0} means straight edges.") @@ -109,13 +132,7 @@ for example, this is used to position grobs relative to the (visual) center of the bar line.") (break-align-anchor-alignment ,number? "Read by @code{ly:break-aligned-interface::calc-extent-aligned-anchor} for -aligning an anchor to a grob's extent") - (break-align-symbol ,symbol? "This key is used for aligning and -spacing breakable items.") - (break-align-symbols ,list? "A list of symbols that determine -which break-aligned grobs to align this to. If the grob selected by -the first symbol in the list is invisible due to break-visibility, we -will align to the next grob (and so on).") +aligning an anchor to a grob's extent.") (break-align-orders ,vector? "Defines the order in which prefatory matter (clefs, key signatures) appears. The format is a vector of length@tie{}3, where each element is one order for @@ -133,6 +150,15 @@ For example, clefs are put after key signatures by setting clef time-signature)) @end example") + (break-align-symbol ,symbol? "This key is used for aligning and +spacing breakable items.") + (break-align-symbols ,list? "A list of symbols that determine +which break-aligned grobs to align this to. If the grob selected by +the first symbol in the list is invisible due to break-visibility, we +will align to the next grob (and so on). Choices are @code{left-edge}, +@code{ambitus}, @code{breathing-sign}, @code{clef}, @code{staff-bar}, +@code{key-cancellation}, @code{key-signature}, @code{time-signature}, +and @code{custos}.") (break-overshoot ,number-pair? "How much does a broken spanner stick out of its bounds?") (break-visibility ,vector? "A vector of 3@tie{}booleans, @@ -171,6 +197,9 @@ this should list the control points of a third-order B@'ezier curve.") ;; d ;; (damping ,number? "Amount of beam slope damping.") + (dash-definition ,pair? "List of @code{dash-elements} defining the +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).") @@ -178,7 +207,15 @@ this should list the control points of a third-order B@'ezier curve.") whitespace. If negative, no line is drawn at all.") (default-direction ,ly:dir? "Direction determined by note head positions.") - (digit-names ,vector "Names for string finger digits.") + (default-next-staff-spacing ,list? "An alist of spacing variables +that controls the spacing between this staff and the next. +See @var{next-staff-spacing} for a description of the elements of +this alist.") + (details ,list? "Alist of parameters for detailed grob behavior. +More information on the allowed parameters for a grob can be found by +looking at the top of the Internals Reference page for each interface +having a @code{details} property.") + (digit-names ,vector? "Names for string finger digits.") (direction ,ly:dir? "If @code{side-axis} is @code{0} (or @code{#X}), then this property determines whether the object is placed @code{#LEFT}, @code{#CENTER} or @code{#RIGHT} with respect to the @@ -209,10 +246,6 @@ the vertical edges: @code{(@var{left-height} . @var{right-height})}.") edges: @code{(@var{left-text} . @var{right-text})}.") (expand-limit ,integer? "Maximum number of measures expanded in church rests.") - (extra-X-extent ,number-pair? "A grob is enlarged in -X@tie{}dimension by this much.") - (extra-Y-extent ,number-pair? "A grob is enlarged in -Y@tie{}dimension by this much.") ;; remove me? (extra-dy ,number? "Slope glissandi this much extra.") (extra-offset ,number-pair? "A pair representing an offset. This @@ -230,6 +263,10 @@ problem, we pad each item by this amount (by adding the @q{car} on the left side of the item and adding the @q{cdr} on the right side of the item). In order to make a grob take up no horizontal space at all, set this to @code{(+inf.0 . -inf.0)}.") + (extra-X-extent ,number-pair? "A grob is enlarged in +X@tie{}dimension by this much.") + (extra-Y-extent ,number-pair? "A grob is enlarged in +Y@tie{}dimension by this much.") ;; @@ -248,9 +285,9 @@ for 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. 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}.") @@ -372,6 +409,7 @@ read from the NonMusicalPaperColumn that begins the measure.") (glyph ,string? "A string determining what @q{style} of glyph is typeset. Valid choices depend on the function that is reading this property.") + (glyph-name ,string? "The glyph name within the font.") (glyph-name-alist ,list? "An alist of key-string pairs.") (grow-direction ,ly:dir? "Crescendo or decrescendo?") @@ -389,27 +427,27 @@ be included in harp-pedal-details include the following: @itemize @bullet @item @code{box-offset} -- Vertical shift of the center of flat/sharp pedal -boxes above/below the horizontal line. Default value 0.8. +boxes above/below the horizontal line. Default value@tie{}0.8. @item -@code{box-width} -- Width of each pedal box. Default value 0.4. +@code{box-width} -- Width of each pedal box. Default value@tie{}0.4. @item -@code{box-height} -- Height of each pedal box. Default value 1.0. +@code{box-height} -- Height of each pedal box. Default value@tie{}1.0. @item @code{space-before-divider} -- Space between boxes before the first -divider (so that the diagram can be made symmetric). Default value -0.8. +divider (so that the diagram can be made symmetric). Default +value@tie{}0.8. @item @code{space-after-divider} -- Space between boxes after the first -divider. Default value 0.8. +divider. Default value@tie{}0.8. @item @code{circle-thickness} -- Thickness (in unit of the line-thickness) -of the ellipse around circled pedals. Default value 0.5. +of the ellipse around circled pedals. Default value@tie{}0.5. @item @code{circle-x-padding} -- Padding in X direction of the ellipse around circled pedals. Default value 0.15. @item @code{circle-y-padding} -- Padding in Y direction of the ellipse -around circled pedals. Default value 0.2. +around circled pedals. Default value@tie{}0.2. @end itemize") (head-direction ,ly:dir? "Are the note heads left or right in a semitie?") @@ -417,6 +455,8 @@ semitie?") units.") (height-limit ,ly:dimension? "Maximum slur height: The longer the slur, the closer it is to this height.") + (hide-tied-accidental-after-break ,boolean? "If set, an accidental +that appears on a tied note after a line break will not be displayed.") (horizontal-shift ,integer? "An integer that identifies ranking of @code{NoteColumn}s for horizontal shifting. This is used by @rinternals{note-collision-interface}.") @@ -434,6 +474,12 @@ resolution on this @code{NoteColumn}.") configuration to this index, and print the respective scores.") (inspect-quants ,number-pair? "If debugging is set, set beam and slur quants to this position, and print the respective scores.") + (inter-loose-line-spacing ,list? "Specifies how to vertically +position a non-spaced line relative to the other non-spaced lines +around it. See @var{next-staff-spacing} for the format of this list.") + (inter-staff-spacing ,list? "Specifies how to vertically +position a non-spaced line relative to the staff for which it +has affinity. See @var{next-staff-spacing} for the format of this list.") ;; @@ -455,7 +501,7 @@ correction and @code{1} for full correction.") ;; ;; l ;; - (labels ,list? "List of labels (symbols) placed on a column") + (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.") @@ -513,10 +559,6 @@ guitar notation. The value of this setting is used by @code{merge-differently-headed} only applies to opposing stem directions (i.e., voice 1 &@tie{}2).") - (minimum-X-extent ,number-pair? "Minimum size of an object in -X@tie{}dimension, measured in @code{staff-space} units.") - (minimum-Y-extent ,number-pair? "Minimum size of an object in -Y@tie{}dimension, measured in @code{staff-space} units.") (minimum-distance ,ly:dimension? "Minimum distance between rest and notes or beam.") (minimum-length ,ly:dimension? "Try to make a spanner at least @@ -528,6 +570,10 @@ noteheads.") as fraction of note head size.") (minimum-space ,ly:dimension? "Minimum distance that the victim should move (after padding).") + (minimum-X-extent ,number-pair? "Minimum size of an object in +X@tie{}dimension, measured in @code{staff-space} units.") + (minimum-Y-extent ,number-pair? "Minimum size of an object in +Y@tie{}dimension, measured in @code{staff-space} units.") ;; @@ -539,6 +585,25 @@ center of the staff.") to flip the direction of custos stem.") (next ,ly:grob? "Object that is next relation (e.g., the lyric syllable following an extender).") + (next-staff-spacing ,list? "An alist of properties used to position +the next staff in the system. The symbols that can be defined in the alist +are +@itemize @bullet +@item @var{space} -- the amount of stretchable space between the center +of this staff and the center of the next staff; +@item @var{padding} -- the minimum amount of whitespace that must be +present between this staff and the next staff; +@item @var{stretchability} -- the ease with which the stretchable +space increases when the system to which this staff belongs is stretched. +If this is zero, the distance to the next staff will be fixed either at +@var{space} or at @var{padding} plus the minimum distance to ensure +there is no overlap, whichever is larger; +@item @var{minimum-distance} -- the minimum distance to place between +the center of this staff and the center of the next. This differs +from @var{padding} in that the height of a staff has no effect on +the application of @var{minimum-distance} (whereas the height of a +staff is crucial for @var{padding}). +@end itemize") (no-alignment ,boolean? "If set, don't place this grob in a @code{VerticalAlignment}; rather, place it using its own @code{Y-offset} callback.") @@ -546,6 +611,11 @@ syllable following an extender).") 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}.") @@ -640,11 +710,6 @@ 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.") - (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.") @@ -691,6 +756,8 @@ duration. Typically, the width of a note head. See also (springs-and-rods ,boolean? "Dummy variable for triggering spacing routines.") (stacking-dir ,ly:dir? "Stack objects in which direction?") + (staff-affinity ,ly:dir? "The direction of the staff to which this +line should stick.") (staff-padding ,ly:dimension? "Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics @b{p} and @b{f}) on their @@ -714,7 +781,7 @@ rest?") (stencils ,list? "Multiple stencils, used as intermediate value.") (strict-grace-spacing ,boolean? "If set, main notes are spaced -normally, then grace notes are put left of the musical columns fot the +normally, then grace notes are put left of the musical columns for the main notes.") (strict-note-spacing ,boolean? "If set, unbroken columns with non-musical material (clefs, bar lines, etc.) are not spaced @@ -739,8 +806,6 @@ should use @code{LEFT}.") (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 @@ -750,6 +815,11 @@ in the list causes the corresponding tie to be formatted automatically.") (to-barline ,boolean? "If true, the spanner will stop at the bar 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.") (transparent ,boolean? "This makes the grob invisible.") @@ -775,6 +845,8 @@ one below this grob.") ;; (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. 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 @@ -827,136 +899,128 @@ constructed from a whole number of squiggles.") `( ;;;;;;;;;;;;;;;; ;; grobs & grob arrays. (alphabetical) - (X-common ,ly:grob? "Common reference point for axis group.") - - (Y-common ,ly:grob? "See @code{X-common}.") - (accidental-grob ,ly:grob? "The accidental for this note.") (accidental-grobs ,list? "An alist with @code{(@var{notename} . @var{groblist})} entries.") - (adjacent-pure-heights ,vector? "Used by a @code{VerticalAxisGroup} to -cache the @code{Y-extent}s of different column ranges.") - (adjacent-hairpins ,ly:grob-array? "A list of directly neighboring -hairpins.") - (all-elements ,ly:grob-array? "A list of all grobs in this line. Its + (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.") (axis-group-parent-X ,ly:grob? "Containing X@tie{}axis group.") (axis-group-parent-Y ,ly:grob? "Containing Y@tie{}axis group.") - (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.") - (bars ,ly:grob-array? "A list of bar line pointers.") + (bars ,ly:grob-array? "An array of bar line pointers.") (beam ,ly:grob? "A pointer to the beam, if applicable.") - (bounded-by-me ,ly:grob-array? "A list of spanners that have this + (bounded-by-me ,ly:grob-array? "An array of spanners that have this column as start/begin point. Only columns that have grobs or act as bounds are spaced.") (bracket ,ly:grob? "The bracket for a number.") - (columns ,ly:grob-array? "A list of grobs, typically containing + (columns ,ly:grob-array? "An array of grobs, typically containing @code{PaperColumn} or @code{NoteColumn} objects.") (conditional-elements ,ly:grob-array? "Internal use only.") - (cross-staff ,boolean? "For a beam or a stem, this is true if we -depend on inter-staff spacing.") (direction-source ,ly:grob? "In case @code{side-relative-direction} is set, which grob to get the direction from.") (dot ,ly:grob? "A reference to a @code{Dots} object.") (dots ,ly:grob-array? "Multiple @code{Dots} objects.") - (elements ,ly:grob-array? "A list of grobs; the type is depending on + (elements ,ly:grob-array? "An array of grobs; the type is depending on the grob where this is set in.") (encompass-objects ,ly:grob-array? "Objects that a slur should avoid in addition to notes and stems.") (figures ,ly:grob-array? "Figured bass objects for continuation line.") - (forced ,boolean? "Manually forced accidental.") - (glyph-name ,string? "The glyph name within the font.") (grace-spacing ,ly:grob? "A run of grace notes.") - (heads ,ly:grob-array? "A list of note heads.") + (heads ,ly:grob-array? "An array of note heads.") - (important-column-ranks ,vector? "A cache of columns that contain -@code{items-worth-living} data.") - (items-worth-living ,ly:grob-array? "A list of interesting items. If + (items-worth-living ,ly:grob-array? "An array of interesting items. If empty in a particular staff, then that staff is erased.") (left-items ,ly:grob-array? "DOCME") - (left-neighbors ,ly:grob-array? "A list of @code{spacing-wishes} grobs -that are close to the current column. - -The closest @code{spacing-wishes} determine the actual distances between the -columns.") + (left-neighbor ,ly:grob? "The right-most column that has a spacing-wish +for this column.") (normal-stems ,ly:grob-array? "An array of visible stems.") - (note-columns ,pair? "A list of @code{NoteColumn} grobs.") + (note-columns ,ly:grob-array? "An array of @code{NoteColumn} grobs.") (note-head ,ly:grob? "A single note head.") - (note-heads ,ly:grob-array? "A list of note head grobs.") + (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-Y-common ,ly:grob? "A cache of the -@code{common_refpoint_of_array} of the @code{elements} grob set.") - (pure-Y-offset-in-progress ,boolean? "A debugging aid for catching -cyclic dependencies.") (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 relevant for finding the @code{pure-Y-extent}.") + (pure-Y-common ,ly:grob? "A cache of the +@code{common_refpoint_of_array} of the @code{elements} grob set.") (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? "A list of rest objects.") + (rests ,ly:grob-array? "An array of rest objects.") (right-items ,ly:grob-array? "DOCME") - (right-neighbors ,ly:grob-array? "See @code{left-neighbors}.") + (right-neighbor ,ly:grob? "See @code{left-neighbor}.") - (separation-item ,ly:grob? "A separation item.") - (side-support-elements ,ly:grob-array? "The side support, a list of + (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? "List of note spacing or staff spacing + (spacing-wishes ,ly:grob-array? "An array of note spacing or staff spacing objects.") + (staff-grouper ,ly:grob? "The staff grouper we belong to.") (staff-symbol ,ly:grob? "The staff symbol grob that we are in.") (stem ,ly:grob? "A pointer to a @code{Stem} object.") - (stems ,ly:grob-array? "A list of stem objects, corresponding to the -notes that the arpeggio has to be before.") + (stems ,ly:grob-array? "An array of stem objects.") (tie ,ly:grob? "A pointer to a @code{Tie} object.") (tremolo-flag ,ly:grob? "The tremolo object on a stem.") (tuplet-number ,ly:grob? "The number for a bracket.") - (tuplets ,ly:grob-array? "A list of smaller tuplet brackets.") + (tuplets ,ly:grob-array? "An array of smaller tuplet brackets.") + (X-common ,ly:grob? "Common reference point for axis group.") + (Y-common ,ly:grob? "See @code{X-common}.") ;;;;;;;;;;;;;;;; ;; other - (begin-of-line-visible ,boolean? "Used for marking @code{ChordNames} -that should only show changes.") + (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.") + (begin-of-line-visible ,boolean? "Set to make @code{ChordName} or +@code{FretBoard} be visible only at beginning of line or at +chord changes.") (cause ,scheme? "Any kind of causation objects (i.e., music, or perhaps translator) that was the cause for this grob.") - (delta-position ,number? "The vertical position difference.") - (details ,list? "Alist of parameters for detailed grob behavior. + (cross-staff ,boolean? "For a beam or a stem, this is true if we +depend on inter-staff spacing.") -More information on the allowed parameters can be found by inspecting -@file{lily/slur-scoring.cc}, @file{lily/beam-quanting.cc}, and -@file{lily/tie-formatting-problem.cc}. Setting @code{debug-tie-scoring}, -@code{debug-beam-scoring} or @code{debug-slur-scoring} also provides -useful clues.") + (delta-position ,number? "The vertical position difference.") (font ,ly:font-metric? "A cached font metric object.") + (forced ,boolean? "Manually forced accidental.") (head-width ,ly:dimension? "The width of this ligature head.") (ideal-distances ,list? "@code{(@var{obj} . (@var{dist} . @var{strength}))} pairs.") + (important-column-ranks ,vector? "A cache of columns that contain +@code{items-worth-living} data.") (interfaces ,list? "A list of symbols indicating the interfaces supported by this object. It is initialized from the @code{meta} field.") (least-squares-dy ,number? "The ideal beam slope, without damping.") + (maybe-loose ,boolean? "Used to mark a breakable column that is +loose if and only if it is in the middle of a line.") (meta ,list? "Provide meta information. It is an alist with the entries @code{name} and @code{interfaces}.") (minimum-distances ,list? "A list of rods that have the format @@ -965,6 +1029,8 @@ entries @code{name} and @code{interfaces}.") (positioning-done ,boolean? "Used to signal that a positioning element did its job. This ensures that a positioning is only done once.") (pure-Y-extent ,number-pair? "The estimated height of a system.") + (pure-Y-offset-in-progress ,boolean? "A debugging aid for catching +cyclic dependencies.") (quant-score ,string? "The beam quanting score; stored for debugging.") @@ -980,6 +1046,8 @@ 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.") (use-breve-rest ,boolean? "Use breve rests for measures longer than a whole rest.") @@ -1012,8 +1080,8 @@ a head may be affected by the left and/or right neighbour head. @code{context-info} holds for each head such information about the left and right neighbour, encoded as a bit mask.") - (descendens ,boolean? "Is this neume of descendent type?") (deminutum ,boolean? "Is this neume deminished?") + (descendens ,boolean? "Is this neume of descendent type?") (flexa-height ,ly:dimension? "The height of a flexa shape in a ligature grob (in @code{staff-space} units).") @@ -1022,9 +1090,8 @@ ligature grob in (in @code{staff-space} units).") (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? "DOCME") + (join-right-amount ,number? "A length used for calculating the +Y-extent of mensural ligatures.") (linea ,boolean? "Attach vertical lines to this neume?")