X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdefine-grob-properties.scm;h=a8563388e5f21dd392bac85c1ac8fb6c028f8b2d;hb=57be7394ffa2e7d7ba6d60548dba563f3409d472;hp=d38ce94d100e0742704bcb58bedbe14d2b4f8d71;hpb=e4de91198cc8c261213799ade7328edfe6cc4ca6;p=lilypond.git diff --git a/scm/define-grob-properties.scm b/scm/define-grob-properties.scm index d38ce94d10..a8563388e5 100644 --- a/scm/define-grob-properties.scm +++ b/scm/define-grob-properties.scm @@ -2,22 +2,16 @@ ;;;; ;;;; source file of the GNU LilyPond music typesetter ;;;; -;;;; (c) 1998--2004 Han-Wen Nienhuys +;;;; (c) 1998--2005 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen - - (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 @@ -54,7 +48,7 @@ called first. The functions take a grob and axis argument. ") 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.") @@ -83,7 +77,7 @@ Choices include @code{curved} and @code{straight}.") (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 @@ -137,6 +131,8 @@ 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.") + (color ,color? "The color of this grob.") + (context ,ly:context? "Originating context of the grob") ;;DOCME @@ -151,19 +147,16 @@ negative, no line is drawn at all.") 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.") - ;; 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 @@ -268,7 +261,9 @@ slur. If set to false, the script places itself around the slur. If 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?") @@ -288,6 +283,7 @@ second for staff space. Both contributions are added.") 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.") @@ -306,6 +302,7 @@ polyphonic guitar notation. The value of this setting is used by 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 @@ -437,7 +434,9 @@ stems that are placed in tight configurations. For opposite 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.") @@ -516,7 +515,8 @@ sizes (like the dynamic @b{p} and @b{f}) on their baselines.") (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.") @@ -527,6 +527,8 @@ 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.") @@ -598,8 +600,9 @@ debugging") (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") @@ -613,7 +616,7 @@ functions set spanner positions.") (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.") @@ -640,7 +643,6 @@ 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?")