X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdefine-grob-properties.scm;h=0cb0793f22b4f84fbbe18f71be01b523735b4e21;hb=91e7cbaa6e54e004365d28e0f10c9362a7f13320;hp=cd504b0e05bf96978062277ab14630f9b44547fc;hpb=9f692644270aecf2a37f28e08eac2b939554091c;p=lilypond.git diff --git a/scm/define-grob-properties.scm b/scm/define-grob-properties.scm index cd504b0e05..0cb0793f22 100644 --- a/scm/define-grob-properties.scm +++ b/scm/define-grob-properties.scm @@ -2,7 +2,7 @@ ;;;; ;;;; source file of the GNU LilyPond music typesetter ;;;; -;;;; (c) 1998--2004 Han-Wen Nienhuys +;;;; (c) 1998--2005 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen @@ -11,13 +11,11 @@ (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 @@ -42,6 +40,7 @@ called first. The functions take a grob and axis argument. ") (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.") @@ -51,19 +50,9 @@ called first. The functions take a grob and axis argument. ") (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.") @@ -91,8 +80,8 @@ Choices include @code{curved} and @code{straight}.") (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 @@ -101,7 +90,6 @@ note etc. This information is used to determine how to connect the 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.") @@ -141,21 +129,15 @@ middle C.") 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, @@ -175,11 +157,11 @@ line).") 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 @@ -195,6 +177,8 @@ mean center distance weighted per note 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? @@ -209,16 +193,6 @@ by this much.") 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? @@ -292,7 +266,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?") @@ -349,8 +325,10 @@ to flip the direction of custos stem.") (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 @@ -414,8 +392,7 @@ note that starts here.") 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 @@ -441,7 +418,7 @@ expressed in global staffspace.") 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 @@ -459,6 +436,8 @@ of flags/beams.") 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.") @@ -501,8 +480,6 @@ happen?") 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 @@ -539,7 +516,10 @@ 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.") (all-elements ,grob-list? "list of all grobs in this line. Its function is to protect objects from being garbage collected.") @@ -548,6 +528,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.") @@ -557,6 +539,7 @@ set, which grob to get the direction from .") (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.") @@ -627,21 +610,18 @@ functions set spanner positions.") ;; [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