]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/define-grob-properties.scm
(outside_slur_callback): try three sample points
[lilypond.git] / scm / define-grob-properties.scm
index f338a60d7847a48f1d6320c9dd84f83d8133629a..168944dec2c86e40f05bf5c78c5544f2e7ac0c7f 100644 (file)
@@ -42,6 +42,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,17 +52,7 @@ 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.")
      (axes ,list? "list of axis numbers.
@@ -91,7 +82,7 @@ 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,
+     (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?
@@ -101,11 +92,11 @@ 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.")
      (between-cols ,pair? "Where to attach a loose column to")
+     (bound-padding ,number? "The amount of padding to insert around spanner bounds.")
      (bracket-flare ,number-pair? "A pair of numbers specifying how
 much edges of brackets should slant outward.  Value 0.0 means straight
 edges")
@@ -140,17 +131,10 @@ 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.")
 
      ;;DOCME
@@ -194,6 +178,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? 
@@ -208,16 +194,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?
@@ -225,7 +201,6 @@ fret diagram.  Options include @code{none}, @code{in-dot}, and @code{below-strin
 typeset on a Stem. Valid options include @code{()} and
 @code{mensural}.  Additionally, @code{\"no-flag\"} switches off the
 flag.")
-     (stroke-style ,string? "set to \"grace\" to turn stroke through flag on.")
      (flag-width-function ,procedure? "Procedure that computes the width of a half-beam (a non-connecting beam.).")
      (font-family ,symbol? "The font family is the broadest category for selecting text fonts. Options include: @code{sans}, @code{roman} ")
      (font-encoding ,symbol? "The font encoding is the broadest
@@ -248,6 +223,9 @@ include @code{medium}, @code{bold}, @code{bold-narrow}, etc.")
      (font-shape ,symbol? "Select the shape of a font. Choices include @code{upright},
 @code{italic}, @code{caps}.")
 
+     (forced-distance ,ly:dimension? "A fixed distance between object
+reference points in an alignment.")
+
      (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 @internalsref{note-collision-interface}.")
@@ -284,6 +262,9 @@ slur, the closer it is to this height.")
      (horizontal-shift ,integer? "An integer that identifies ranking
 of note-column for horizontal shifting. This is used by
 @internalsref{note-collision-interface}.")
+     (inside-slur ,boolean? "If set, this script should be inside the
+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.")
      
@@ -293,6 +274,7 @@ bar line, this is the amount of space after a thick line.")
      (knee-spacing-correction ,number? "Factor for the optical
 correction amount for kneed beams. Set between 0 for no correction and
 1 for full correction.")
+     (label-dir ,ly:dir? "Side to which label is attached. @code{-1} for left, @code{1} for right.")
      (layer ,number? "The output layer [0..2]: layers define the order
 of printing objects. Objects in lower layers are overprinted by
 objects in higher layers.")
@@ -342,13 +324,17 @@ 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
 get stems extending to the middle staff line.")
-
+     (number-type ,symbol? "Type of numbers to use in label.  Choices
+include @code{roman-lower}, @code{roman-upper}, and @code{arabic}.")
+     
      (old-accidentals ,list? "List of @code{(@var{pitch} . @var{accidental})
 pairs.}")
 
@@ -405,9 +391,9 @@ 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
 prefatory items, like clef and time-signature. The format is an alist
 of spacing tuples: @code{(@var{break-align-symbol} @var{type}
@@ -431,7 +417,6 @@ expressed in global staffspace.")
 staff spaces, counted from the middle line.")
      (staffline-clearance ,ly:dimension? "How far away ties keep from
 staff lines.")
-
      (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
@@ -449,7 +434,11 @@ 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.")
+     
      (style ,symbol? "This setting determines in what style a grob is
 typeset. Valid choices depend on the @code{print-function} that is
 reading this property.")
@@ -460,8 +449,6 @@ reading this property.")
      (thickness ,number? "Bar line thickness, measured in
 @code{linethickness}.")
      (thin-kern ,number? "The space after a hair-line in a bar line.")
-     (forced-distance ,ly:dimension? "A fixed distance between object
-reference points in an alignment.")
 
      (threshold ,number-pair? "(@var{min} . @var{max}), where
 @var{min} and @var{max} are dimensions in staff space.")
@@ -491,8 +478,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
@@ -529,7 +514,9 @@ sizes (like the dynamic @b{p} and @b{f}) on their baselines.")
      (apply define-internal-grob-property x))
    
    `(
+     
      (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.")
@@ -605,7 +592,6 @@ debugging")
      (stem-info ,pair? "caching of stem parameters")
      (note-columns ,pair? "list of NoteColumn grobs.")
 
-     (if-text-padding ,number? "padding in case texts are there.")
      (position-callbacks ,list? "list of
 functions set spanner positions.")
 
@@ -618,16 +604,13 @@ 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")
      (use-breve-rest ,boolean? "Use breve rests for measures longer
 than a whole rest.")
      
@@ -674,4 +657,3 @@ than a whole rest.")
   (append
    all-internal-grob-properties
    all-user-grob-properties))
-