;;;;
;;;; 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>
-
-
(define (define-grob-property symbol type? description)
(if (not (equal? (object-property symbol 'backend-doc) #f))
- (begin
- (ly:warn-append "Redefining ~S" symbol)
- (exit 2)
- ))
+ (ly:error (_ "symbol ~S redefined") symbol))
(set-object-property! symbol 'backend-type? type?)
(set-object-property! symbol 'backend-doc description)
- symbol
- )
+ symbol)
;; put this in an alist?
(define-public
(align-dir ,ly:dir? "Which side to align? @code{-1}: left side,
@code{0}: around center of width, @code{1}: right side.")
- (arch-angle ,number? "Turning angle of the hook of a system brace" )
- (arch-height ,ly:dimension? "Height of the hook of a system brace.")
- (arch-thick ,number? "Thickness of the hook of system brace.")
- (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.")
(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-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
+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
(bracket-flare ,number-pair? "A pair of numbers specifying how
much edges of brackets should slant outward. Value 0.0 means straight
edges")
- (bracket-thick ,number? "width of a system start bracket.")
(break-align-symbol ,symbol? "This key is used for aligning and
spacing breakable items.")
(break-align-orders ,vector? " Defines the order in which
the slope of the beam.")
(collapse-height ,ly:dimension? "Minimum height of system start delimiter. If equal or smaller, the bracket is removed.")
- ;;DOCME
+ (color ,color? "The color of this grob.")
+ (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,
dash-period. Should be between 0.0 (no line) and 1.0 (continuous
line).")
- ;; [FIXME: use dash-period/dash length; see text-spanner]
- (dashed ,number? " number representing the length of the dashes.")
-
+ (arrow ,boolean? "Add an arrow to the line.")
+ (arrow-length ,number? "Arrow length.")
+ (arrow-width ,number? "Arrow width.")
+
;; todo: why is this tunable?
(dir-function ,procedure? "The function to determine the
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
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?")
left to a group of accidentals.")
(length ,ly:dimension? "User override for the stem length of
unbeamed stems.")
+ (length-fraction ,number? "Length of ledger line as fraction of note head size.")
(lengths ,list? "Default stem lengths. The list gives a length
for each flag-count.")
(line-count ,integer? "The number of staff lines.")
collisions, even if they have a different number of dots. This normal
notation for some types of polyphonic music. ")
+ (minimum-length-fraction ,number? "Minimum length of ledger line as fraction of note head size.")
(minimum-distance ,ly:dimension? "Minimum distance between rest
and notes or beam.")
(minimum-X-extent ,number-pair? "Minimum size of an object in X
directions, this amount is the correction for two normal sized stems
that overlap completely.")
-
+ (same-direction-correction ,number? "Optical correction amount
+for stems that are placed in tight configurations. This amount is used
+for stems with the same direction to compensate for note-head to stem distance.")
(string-count ,integer? "The number of strings in a fret diagram.")
(stroke-style ,string? "set to \"grace\" to turn stroke through flag on.")
(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.")
(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.")
(position-callbacks ,list? "list of
functions set spanner positions.")
-;;; Junk me, replace it by add-join.
- (join-left-amount ,number? "")
+;;; add-join would be enough if in Mensural_ligature::brew_ligature_primitive
+;;; the next note could be seen
+ (join-right-amount ,number? "")
(delta-pitch ,number? "the interval between this and the next note, or, more precisely, their vertical distance; this is used in ligatures for calculation of the height of vertical joins flexa shapes")
(head-width ,ly:dimension? "width of this ligature head")
(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.")
(add-stem ,boolean? "is this ligature head a virga and therefore needs an additional stem on the right side?")
- (join-left ,boolean? "is this ligature head joined with the previous one by a vertical line?")
(context-info ,integer? "DOCME")
(inclinatum ,boolean? "is this neume an inclinatum?")
(oriscus ,boolean? "is this neume an oriscus?")