X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdefine-grob-properties.scm;h=fba256f4bff7fafb283ba5bb86aedc509fa4c09f;hb=0f108b36cbf1e3e2168120b3d68997e75158e348;hp=a45f1053d178aa69bee605845be3c4ca7a7931a0;hpb=b777d963f90da011f1cbdf71e4a1d1281c108df2;p=lilypond.git diff --git a/scm/define-grob-properties.scm b/scm/define-grob-properties.scm index a45f1053d1..fba256f4bf 100644 --- a/scm/define-grob-properties.scm +++ b/scm/define-grob-properties.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 1998--2011 Han-Wen Nienhuys +;;;; Copyright (C) 1998--2012 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify @@ -58,10 +58,14 @@ 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.") + (automatically-numbered ,boolean? "Should a footnote be automatically +numbered?") (average-spacing-wishes ,boolean? "If set, the spacing wishes are 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-scripts ,boolean? "If set, a tuplet bracket avoids the +scripts associated with the note heads it encompasses.") (avoid-slur ,symbol? "Method of handling slur collisions. Choices are @code{inside}, @code{outside}, @code{around}, and @code{ignore}. @code{inside} adjusts the slur if needed to keep the @@ -78,6 +82,9 @@ grobs, this should contain only one number.") ;; ;; b ;; + (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.") (base-shortest-duration ,ly:moment? "Spacing is based on the shortest notes in a piece. Normally, pieces are spaced as if notes at least as short as this are present.") @@ -157,7 +164,8 @@ stick out of its bounds?") @code{#(@var{end-of-line} @var{unbroken} @var{begin-of-line})}. @code{#t} means visible, @code{#f} means killed.") (breakable ,boolean? "Allow breaks here.") - + (broken-bound-padding ,number? "The amount of padding to insert +when a spanner is broken at a line break.") ;; ;; c @@ -170,8 +178,13 @@ hairpins (al/@/del niente).") edges of beams?") (collapse-height ,ly:dimension? "Minimum height of system start delimiter. If equal or smaller, the bracket/@/brace/@/line is removed.") + (collision-bias ,number? "Number determining how much to favor the +left (negative) or right (positive). Larger absolute values in either +direction will push a collision in this direction.") (collision-interfaces ,list? "A list of interfaces for which automatic beam-collision resolution is run.") + (collision-padding ,number? "Amount of padding to apply after +a collision is detected via the self-alignment-interface.") (collision-voice-only ,boolean? "Does automatic beam collsion apply only to the voice in which the beam was created?") (color ,color? "The color of this grob.") @@ -272,17 +285,7 @@ Y@tie{}dimension by this much.") ;; ;; f ;; - (flag ,ly:stencil? "A function returning the full flag stencil -for the @code{Stem}, which is passed to the function as the only -argument. The default ly:stem::calc-stencil function uses the -@code{flag-style} property to determine the correct glyph for the -flag. By providing your own function, you can create arbitrary -flags.") (flag-count ,number? "The number of tremolo beams.") - (flag-style ,symbol? "A symbol determining what style of flag -glyph is typeset on a @code{Stem}. Valid options include @code{'()} -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) are using this property. Available @@ -303,11 +306,14 @@ include @code{upright}, @code{italic}, @code{caps}.") @w{@code{-1}} is smaller, @code{+1} is bigger. Each step of@tie{}1 is approximately 12% larger; 6@tie{}steps are exactly a factor@tie{}2 larger. Fractional values are allowed.") + (footnote ,boolean? "Should this be a footnote or in-note?") (footnote-text ,markup? "A footnote for the grob.") (force-hshift ,number? "This specifies a manual shift for notes in collisions. The unit is the note head width of the first voice note. This is used by @rinternals{note-collision-interface}.") - (fraction ,number-pair? "Numerator and denominator of a time + (forced-spacing ,number? "Spacing forced between grobs, used in +various ligature engravers.") + (fraction ,fraction? "Numerator and denominator of a time signature object.") (french-beaming ,boolean? "Use French beaming style for this stem. The stem stops at the innermost beams.") @@ -413,6 +419,8 @@ read from the NonMusicalPaperColumn that begins the measure.") ;; (gap ,ly:dimension? "Size of a gap in a variable symbol.") (gap-count ,integer? "Number of gapped beams for tremolo.") + (glissando-skip ,boolean? "Should this @code{NoteHead} be skipped +by glissandi?") (glyph ,string? "A string determining what @q{style} of glyph is typeset. Valid choices depend on the function that is reading this property.") @@ -475,6 +483,13 @@ left and one to the right of this grob.") ;; ;; i ;; + (id ,string? "An id string for the grob. Depending on the typestting +backend being used, this id will be assigned to a group containing all of +the stencils that comprise a given grob. For example, in the svg backend, +the string will be assigned to the @code{id} attribute of a group () +that encloses the stencils that comprise the grob. In the Postscript +backend, as there is no way to group items, the setting of the id property +will have no effect.") (ignore-collision ,boolean? "If set, don't do note collision resolution on this @code{NoteColumn}.") (implicit ,boolean? "Is this an implicit bass figure?") @@ -506,10 +521,14 @@ objects. Objects with the lowest value of layer are drawn first, then objects with progressively higher values are drawn, so objects with higher values overwrite objects with lower values. By default most objects are assigned a layer value of 1.") + (ledger-extra ,ly:dimension? "Extra distance from staff line to draw ledger +lines for.") (ledger-line-thickness ,number-pair? "The thickness of ledger lines. It is the sum of 2@tie{}numbers: The first is the factor for line thickness, and the second for staff space. Both contributions are added.") + (ledger-positions ,list? "Repeating pattern for the vertical positions +of ledger lines. Bracketed groups are always shown together.") (left-bound-info ,list? "An alist of properties for determining attachments of spanners to edges.") (left-padding ,ly:dimension? "The amount of space that is put @@ -679,7 +698,6 @@ positions are requested, the closest one is taken.") shift dotted up-note to the right, rather than shifting just the dot.") - ;; ;; r ;; @@ -689,6 +707,9 @@ number, the quicker the slur attains its @code{height-limit}.") interesting items.") (remove-first ,boolean? "Remove the first staff of an orchestral score?") + (replacement-alist ,list? "Alist of strings. +The key is a string of the pattern to be replaced. The value is a +string of what should be displayed. Useful for ligatures.") (restore-first ,boolean? "Print a natural before the accidental.") (rhythmic-location ,rhythmic-location? "Where (bar number, @@ -742,6 +763,7 @@ object.") (simple-Y ,boolean? "Should the Y placement of a spanner disregard changes in system heights?") (size ,number? "Size of object, relative to standard size.") + (skip-quanting ,boolean? "Should beam quanting be skipped?") (skyline-horizontal-padding ,number? "For determining the vertical distance between two staves, it is possible to have a configuration which would result in a tight interleaving of grobs from @@ -846,10 +868,8 @@ the @code{staff-staff-spacing} property of the staff's structure.") (stem-attachment ,number-pair? "An @code{(@var{x} . @var{y})} pair where the stem attaches to the notehead.") - (stem-begin-position ,number? "Where does the stem begin (the -position of the support-head)?") - (stem-end-position ,number? "Where does the stem end (the end is -opposite to the support-head)?") + (stem-begin-position ,number? "User override for the +begin position of a stem.") ;;[TODO: doco] (stem-spacing-correction ,number? "Optical correction amount for stems that are placed in tight configurations. For opposite @@ -913,7 +933,8 @@ polyphonic patterns.") spacing problem.") (usable-duration-logs ,list? "List of @code{duration-log}s that can be used in typesetting the grob.") - + (use-skylines ,boolean? "Should skylines be used for side +positioning?") ;; ;; v @@ -942,6 +963,9 @@ texts.") (X-extent ,number-pair? "Hard coded extent in X@tie{}direction.") (X-offset ,number? "The horizontal amount that this object is moved relative to its X-parent.") + (X-positions ,number-pair? "Pair of X staff coordinates of a spanner +in the form @code{(@var{left} . @var{right})}, where both @var{left} and +@var{right} are in @code{staff-space} units of the current staff.") ;; @@ -995,6 +1019,7 @@ function is to protect objects from being garbage collected.") (bars ,ly:grob-array? "An array of bar line pointers.") (beam ,ly:grob? "A pointer to the beam, if applicable.") + (beam-segments ,list? "Internal representation of beam segments.") (bound-alignment-interfaces ,list "Interfaces to be used for positioning elements that align with a column.") (bounded-by-me ,ly:grob-array? "An array of spanners that have this @@ -1004,6 +1029,7 @@ bounds are spaced.") (columns ,ly:grob-array? "An array of grobs, typically containing @code{PaperColumn} or @code{NoteColumn} objects.") + (concurrent-hairpins ,ly:grob-array? "All concurrent hairpins.") (conditional-elements ,ly:grob-array? "Internal use only.") (covered-grobs ,ly:grob-array? "Grobs that could potentially collide with a beam.") @@ -1020,15 +1046,29 @@ the grob where this is set in.") in addition to notes and stems.") (figures ,ly:grob-array? "Figured bass objects for continuation line.") + (flag ,ly:grob? "A pointer to a @code{Flag} object.") + (footnote-stencil ,ly:stencil? "The stencil of a system's footnotes.") + (footnotes-before-line-breaking ,ly:grob-array? "Footnote grobs of +a whole system.") + (footnotes-after-line-breaking ,ly:grob-array? "Footnote grobs of +a broken system.") + (full-score-pure-minimum-translations ,list? "A list of translations +for a full score's worth of grobs.") (glissando-index ,integer? "The index of a glissando in its note column.") (grace-spacing ,ly:grob? "A run of grace notes.") + (has-span-bar ,pair? "A pair of grobs containing the span bars to +be drawn below and above the staff. If no span bar is in a position, +the respective element is set to @code{#f}.") (heads ,ly:grob-array? "An array of note heads.") (items-worth-living ,ly:grob-array? "An array of interesting items. If empty in a particular staff, then that staff is erased.") + (in-note-direction ,ly:dir? "Direction to place in-notes above a system.") + (in-note-padding ,number? "Padding between in-notes.") + (in-note-stencil ,ly:stencil? "The stencil of a system's in-notes.") (keep-alive-with ,ly:grob-array? "An array of other @code{VerticalAxisGroup}s. If any of them are alive, then we will stay alive.") @@ -1037,12 +1077,19 @@ empty in a particular staff, then that staff is erased.") (left-neighbor ,ly:grob? "The right-most column that has a spacing-wish for this column.") + (melody-spanner ,ly:grob? "The @code{MelodyItem} object for a stem.") + + (neighbors ,ly:grob-array? "The X-axis neighbors of a grob. Used by the +pure-from-neighbor-interface to determine various grob heights.") + (normal-stems ,ly:grob-array? "An array of visible stems.") (note-columns ,ly:grob-array? "An array of @code{NoteColumn} grobs.") (note-head ,ly:grob? "A single note head.") (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.") + (potential-X-colliding-grobs ,ly:grob-array? "Grobs that can potentially +collide with a self-aligned grob on the X-axis.") (pure-relevant-grobs ,ly:grob-array? "All the grobs (items and spanners) that are relevant for finding the @code{pure-Y-extent}") (pure-relevant-items ,ly:grob-array? "A subset of elements that are @@ -1060,6 +1107,8 @@ relevant for finding the @code{pure-Y-extent}.") (side-support-elements ,ly:grob-array? "The side support, an array of grobs.") + (skyline-quantizing ,index? "The number of boxes to break a +slur into when calculating its skyline.") (slur ,ly:grob? "A pointer to a @code{Slur} object.") (spacing ,ly:grob? "The spacing spanner governing this section.") (spacing-wishes ,ly:grob-array? "An array of note spacing or staff spacing @@ -1079,9 +1128,15 @@ results, use @code{LEFT} and @code{RIGHT}.") (stems ,ly:grob-array? "An array of stem objects.") (tie ,ly:grob? "A pointer to a @code{Tie} object.") + (ties ,ly:grob-array? "A grob array of @code{Tie} objects.") (tremolo-flag ,ly:grob? "The tremolo object on a stem.") (tuplet-number ,ly:grob? "The number for a bracket.") + (tuplet-start ,boolean? "Is stem at the start of a tuplet?") (tuplets ,ly:grob-array? "An array of smaller tuplet brackets.") + (X-colliding-grobs ,ly:grob-array? "Grobs that can collide +with a self-aligned grob on the X-axis.") + (Y-colliding-grobs ,ly:grob-array? "Grobs that can collide +with a self-aligned grob on the Y-axis.") (X-common ,ly:grob? "Common reference point for axis group.") (Y-common ,ly:grob? "See @code{X-common}.") @@ -1091,9 +1146,6 @@ results, use @code{LEFT} and @code{RIGHT}.") @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.") @@ -1126,6 +1178,11 @@ entries @code{name} and @code{interfaces}.") (minimum-distances ,list? "A list of rods that have the format @code{(@var{obj} . @var{dist})}.") + (note-collision ,ly:grob? "The @code{NoteCollision} object of a +dot column.") + (numbering-assertion-function ,scheme? "The function used to assert +that footnotes are receiving correct automatic numbers.") + (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.") @@ -1136,6 +1193,7 @@ to be within staff spaces.") (quantized-positions ,number-pair? "The beam positions after quanting.") + (script-stencil ,pair? "A pair @code{(@var{type} . @var{arg})} which acts as an index for looking up a @code{Stencil} object.") (shorten ,ly:dimension? "The amount of space that a stem is shortened.