;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 1998--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+;;;; (c) 1998--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
;;;; Jan Nieuwenhuizen <janneke@gnu.org>
(if (not (equal? (object-property symbol 'backend-doc) #f))
(begin
(ly:warn-append "Redefining ~S" symbol)
- (exit 2)
- ))
+ (exit 2)))
(set-object-property! symbol 'backend-type? type?)
(set-object-property! symbol 'backend-doc description)
- symbol
- )
+ symbol)
;; put this in an alist?
(define-public
(Y-offset-callbacks ,list? "see @code{X-offset-callbacks}.")
(accidentals ,list? "List of alteration numbers.")
+ (add-stem-support ,boolean? "If set, the Stem object is included in this script's support")
(align-dir ,ly:dir? "Which side to align? @code{-1}: left side,
@code{0}: around center of width, @code{1}: right side.")
(arch-width ,ly:dimension? "Width of the hook of a system brace.")
(arpeggio-direction ,ly:dir? "If set, put an
arrow on the arpeggio squiggly line.")
- (attachment ,pair? "Pair of symbols
-indicating how a slur should be attached at the ends. The format is
-'(@var{left-type} . @var{right-type}), where both @var{type}s are
-symbols. The values of these symbols may be @code{alongside-stem},
-@code{stem}, @code{head} or @code{loose-end}.")
- (attachment-offset ,pair? "cons of offsets,
-'(@var{left-offset} . @var{right-offset}). This offset is added to
-the attachments to prevent ugly slurs. [fixme: we need more
-documentation here].")
-
-
+
(auto-knee-gap ,ly:dimension? "If a gap is found between note heads
-where a horizontal beam fits that is larger than this number, make a kneed beam.")
+where a horizontal beam fits that is larger than this number, make a kneed beam.")
(axes ,list? "list of axis numbers.
In the case of alignment grobs, this should contain only one number.")
(beamed-minimum-free-lengths ,list? "list of normal minimum free stem lengths (chord to beams) given beam multiplicity.")
(beamed-extreme-minimum-free-lengths ,list? "list of extreme minimum free stem lengths (chord to beams) given beam multiplicity.")
- (beamed-stem-shorten ,list? " How much to shorten beamed stems,
-when their direction is forced. It is a list, since the value is different
+ (beamed-stem-shorten ,list? "How much to shorten beamed stems,
+when their direction is forced. It is a list, since the value is different
depending on the number flags/beams.")
(beaming ,pair?
"Pair of number lists. Each number list specifies which
beaming patterns from stem to stem inside a beam.")
- (beautiful ,number? "number that dictates when a slur should be de-uglyfied. It correlates with the enclosed area between noteheads and slurs. A value of 0.1 yields only undisturbed slurs, a value of 5 will tolerate quite high blown slurs.")
(before-line-breaking-callback ,procedure? "This procedure is
called before line breaking, but after splitting breakable items at
potential line breaks.")
accidentals. Choices are @code{smaller} or
@code{parentheses}.")
(cautionary ,boolean? "Is this a cautionary accidental?")
- (concaveness-gap ,ly:dimension? "A beam is printed horizontally
-if its concaveness-gap is larger than this value. The concaveness-gap
-is the distance of an inner note head to the line between two outer
-note heads. ")
- (concaveness-threshold ,number? "A beam is printed horizontally
-if its concaveness is bigger than this threshold.
-
-Concaveness is calculated as the sum of the vertical distances of
-inner note heads that fall outside the interval of the two outer
-note heads, to the vertically nearest outer note head, divided by the
-square of the inner notes involved.")
+ (concaveness ,number? "A beam is concave when its inner stems are
+closer to the beam than the two outside stems. This number is a
+measure of the closeness of the inner stems. It is used for damping
+the slope of the beam.")
(collapse-height ,ly:dimension? "Minimum height of system start delimiter. If equal or smaller, the bracket is removed.")
+ (context ,ly:context? "Originating context of the grob")
+
;;DOCME
-
(control-points ,list? "List of 4 offsets (number-pairs) that form control points for the tie/slur shape.")
(damping ,number? "Amount of beam slope damping. 0: no, 1: yes,
direction of a beam. Choices include:
@table @code
-@item beam-dir-majority
+@item beam-dir-majority
number count of up or down notes
@item beam-dir-mean
mean center distance of all notes
-@item beam-dir-median.
+@item beam-dir-median.
mean center distance weighted per note
@end table
the vertical edges '(@var{left-height} . @var{right-height}).")
(edge-text ,pair? "A pair specifying the texts to be set at the
edges '(@var{left-text} . @var{right-text}).")
+ (excentricity ,number? "How asymmetrical to make a slur. Positive means move the center to the right.")
+
(expand-limit ,integer? "maximum number of measures expanded in church rests.")
;; remove me?
offset is added just before outputting the symbol, so the typesetting
engine is completely oblivious to it.")
- ;; docme.
- (extremity-offset-alist ,list? "The offset adds to the centre of
-the note head, or stem.
-
-Format: alist (attachment stem-dir*dir slur-dir*dir) -> offset.
-")
-
- ;;
- (extremity-function ,procedure? "A function that calculates the
-attachment of a slur-end. The function takes a slur and direction argument and returns a symbol.")
(finger-code ,symbol? "Code for the type of fingering indication in a
fret diagram. Options include @code{none}, @code{in-dot}, and @code{below-string}.")
(flag-style ,symbol?
unset, script and slur ignore each other ")
(inspect-quants ,number-pair? "If debugging is set,
set beam quant to this position, and print the respective scores.")
-
+
+ (allow-outside-line ,boolean? "If set, allow this column to
+things sticking into the margin.")
(kern ,ly:dimension? "Amount of extra white space to add. For
bar line, this is the amount of space after a thick line.")
(knee ,boolean? "Is this beam kneed?")
(new-accidentals ,list? "List of @code{(@var{pitch}
. @var{accidental})} pairs.")
+ (next ,ly:grob? "Object that is next relation (eg. the lyric syllable following an extender.")
(note-names ,vector? "Vector of strings containing names for
easy-notation note heads.")
+ (no-ledgers ,boolean? "If set, don't draw ledger lines on this object.")
(no-spacing-rods ,boolean? "Items with this property do not cause
spacing constraints.")
(no-stem-extend ,boolean? "If set, notes with ledger lines do not
object.")
(size ,number? "Size of object, relative to standard size.")
(slope ,number? "The slope of this object.")
- (slope-limit ,number? "Set slope to zero if slope is running away
-steeper than this.")
+ (slur-padding ,number? "Extra distance between slur and script.")
(slur-details ,list?
"An alist of scoring parameters for slur formatting")
(space-alist ,list? "A table that specifies distances between
staff spaces, counted from the middle line.")
(staffline-clearance ,ly:dimension? "How far away ties keep from
staff lines.")
-
+ (stemlet-length ,number? "How long should a stem over a rest be?")
(stem-attachment-function ,procedure? "A function that calculates
where a stem attaches to the note head? This is a fallback when this
information is not specified in the font. The function takes a grob
stems that are placed in tight configurations. For opposite
directions, this amount is the correction for two normal sized stems
that overlap completely.")
+
+
(string-count ,integer? "The number of strings in a fret diagram.")
(stroke-style ,string? "set to \"grace\" to turn stroke through flag on.")
words in texts.")
(width ,ly:dimension? "The width of a grob measured in staff space.")
(x-gap ,ly:dimension? "The horizontal gap between note head and tie.")
- (y-free ,ly:dimension? "The minimal vertical gap between slur and
-note heads or stems.")
(y-offset ,ly:dimension? "Extra vertical offset for ties away
from the center line.")
(zigzag-length ,ly:dimension? "The length of the lines of a
(apply define-internal-grob-property x))
`(
+ (axis-group-parent-X ,ly:grob? "Containing X axis group")
+ (axis-group-parent-Y ,ly:grob? "Containing Y axis group")
(accidental-grobs ,list? "Alist with (NOTENAME . GROBLIST) entries")
+ (adjacent-hairpins ,grob-list? "List of directly neighboring hairpins")
(after-line-breaking-callback ,procedure? "This procedure is called after line breaking. Its return value is ignored.")
(all-elements ,grob-list? "list of all grobs in this line. Its
function is to protect objects from being garbage collected.")
(center-element ,ly:grob? "grob which will be at the center of
the group after aligning (when using
Align_interface::center_on_element).")
+ (tweak-count ,number? "Number of otherwise unique Grobs.")
+ (tweak-rank ,number? "Identify otherwise unique Grobs.")
(direction-source ,ly:grob? "in case side-relative-direction is
set, which grob to get the direction from .")
(dot ,ly:grob? "reference to Dots object.")
(tie ,ly:grob? "")
(staff-symbol ,ly:grob? "the staff symbol grob that we're in.")
(rest ,ly:grob? "the staff symbol grob that we're in.")
+ (rests ,grob-list? "A list of rest objects.")
(rest-collision ,ly:grob? "rest collision that a rest is in.")
(accidental-grob ,ly:grob? "Accidental for this note.")
(bars ,grob-list? "list of bar line pointers.")
;; [TODO: change this]
(primitive ,integer? "Pointer to a ligature primitive, i.e. an item similar to a note head that is part of a ligature. ")
(stencil ,ly:stencil? "Cached output of the print-function.")
- (de-uglify-parameters ,list? "list of 3 real constants. They
-define the valid areas for the middle control points. They are
-empirical.")
(ideal-distances ,list? "(@var{obj} . (@var{dist} . @var{strength})) pairs.")
(minimum-distances ,list? "list of rods, that have the format (@var{obj} . @var{dist}).")
(interfaces ,list? "list of symbols indicating the interfaces supported by this object. Is initialized from the @code{meta} field.")
(shorten ,ly:dimension? "The amount of space that a
stem. Internally used to distribute beam shortening over stems. ")
- (slur ,ly:grob? "A pointer to a slur object")
+ (slur ,ly:grob? "A pointer to a slur object")
(use-breve-rest ,boolean? "Use breve rests for measures longer
than a whole rest.")
-
+ (spaceable-staves ,grob-list? "Objects to be spaced during page layout.")
;; ancient notation