]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/define-grob-properties.scm
* lily/ledger-line-engraver.cc: new file.
[lilypond.git] / scm / define-grob-properties.scm
index 2890451ba5dafca48475b1dabc3b5e01fde425a5..65f0c23270a743ef7fdb62109393cc48ca32925a 100644 (file)
@@ -10,7 +10,7 @@
 (define (define-grob-property symbol type? description)
   (if (not (equal? (object-property symbol 'backend-doc) #f))
       (begin
-       (ly:warn (string-append "Redefining " (symbol->string symbol) "\n"))
+       (ly:warn-append "Redefining ~S" symbol)
        (exit 2)
       ))
   
@@ -42,8 +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.")
-
-     
+    
      (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" )
@@ -80,6 +79,8 @@ original stencil drawer to draw the balloon around.")
 
      (bar-size ,ly:dimension? "size of a bar line.")
      (bar-size-procedure ,procedure? "Procedure that computes the size of a bar line.")
+     (barre-type ,symbol? "Type of barre indication used in a fret diagram.
+Choices include @code{curved} and @code{straight}.")
      (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.")
      (baseline-skip ,ly:dimension? "Distance between base lines of
@@ -105,8 +106,9 @@ beaming patterns from stem to stem inside a beam.")
 called before line breaking, but after splitting breakable items at
 potential line breaks.")
      (between-cols ,pair? "Where to attach a loose column to")
-     (between-system-string ,string? "string
- to dump between two systems. Useful for forcing page breaks.")
+     (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.")
@@ -155,7 +157,7 @@ square of the inner notes involved.")
 
      (control-points ,list? "List of 4 offsets (number-pairs) that form control points for the  tie/slur shape.")
 
-     (damping ,integer? "Amount of beam slope damping. 0: no, 1: yes,
+     (damping ,number? "Amount of beam slope damping. 0: no, 1: yes,
 100000: horizontal beams.")
      (dash-period ,number? "the length of one dash + white space. If
 negative, no line is drawn at all.")
@@ -166,11 +168,6 @@ line).")
 
      ;; [FIXME: use dash-period/dash length; see text-spanner]
      (dashed ,number? " number representing the length of the dashes.")
-     (neutral-direction ,ly:dir? "Which direction to take in the
-center of the staff.")
-     (neutral-position ,number? "Position (in half staff spaces) where
-to flip the direction of custos stem.")
-
  
      ;; todo: why is this tunable?
      (dir-function ,procedure? "The function to determine the
@@ -188,14 +185,13 @@ mean center distance weighted per note
 ")
      
      (direction ,ly:dir? "Up or down, left or right?")
+     (dot-color ,symbol? "Color of dots.  Options include 
+@code{black} and @code{white}.")
+     (dot-radius ,number? "Radius of dots.")
      (dot-count ,integer? "The number of dots.")
      (duration-log ,integer? "The 2-log of the note head duration, i.e. 0=whole note, 1 = half note, etc.")
      (edge-height ,pair? "A pair of number specifying the heights of
 the vertical edges '(@var{left-height} . @var{right-height}).")
-     (bracket-flare ,number-pair? "A pair of numbers specifying how
-much edges of brackets should slant outward.  Value 0.0 means straight
-edges")
-
      (edge-text ,pair? "A pair specifying the texts to be set at the
 edges '(@var{left-text} . @var{right-text}).")
      (expand-limit ,integer? "maximum number of measures expanded in church rests.")
@@ -221,7 +217,9 @@ 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.")     
+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?
                 "a string determining what style of flag-glyph is
 typeset on a Stem. Valid options include @code{()} and
@@ -230,8 +228,10 @@ 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 category for selecting a font. Options include: @code{music}, @code{number}, @code{text},
-@code{math}, @code{braces}, @code{dynamic}")
+     (font-encoding ,symbol? "The font encoding is the broadest
+category for selecting a font. Options include: @code{fetaMusic},
+@code{fetaNumber}, @code{TeX-text}, @code{TeX-math}, @code{fetaBraces},
+@code{fetaDynamic}")
      (font-name ,string? "Specifies a file name (without extension) of
 the font to load.  This setting override selection using
 @code{font-family}, @code{font-series} and @code{font-shape}.")
@@ -256,6 +256,7 @@ note.  This is used by @internalsref{note-collision-interface}.")
 signature object.")
      (french-beaming ,boolean? "Use French beaming style for this
 stem. The stem will stop at the innermost beams.")
+     (fret-count ,integer? "The number of frets in a fret diagram.")
 
      ;; ugh: double, change.
      (full-size-change ,boolean? "Don't make a change clef smaller.")
@@ -283,6 +284,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}.")
+     (inspect-quants ,number-pair? "If debugging is set,
+set beam quant to this position, and print the respective scores.")
+     
      (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?")
@@ -331,6 +335,11 @@ this long. This requires an appropriate routine for the
 should move (after padding).")
      (print-function ,procedure? "Function taking grob as argument,
 returning a @code{Stencil} object.")
+     (neutral-direction ,ly:dir? "Which direction to take in the
+center of the staff.")
+     (neutral-position ,number? "Position (in half staff spaces) where
+to flip the direction of custos stem.")
+
      (new-accidentals ,list? "List of @code{(@var{pitch}
 . @var{accidental})} pairs.")
      (note-names ,vector? "Vector of strings containing names for
@@ -349,11 +358,15 @@ pairs.}")
 
      (padding ,ly:dimension? "Add this much extra space between
 objects that are next to each other.")
-     (penalty ,number? "Penalty for breaking at
-this column. 10000 or more means forbid linebreak, -10000 or less
-means force linebreak.  Other values influence linebreaking decisions
+     (page-penalty ,number? "Penalty for page break at
+this column.  10000 or more means forbid linebreak, -10000 or less
+means force page break.  Other values influence page breaking decisions
 as a real penalty.")
-     
+     (penalty ,number? "Penalty for line break at
+this column.  10000 or more means forbid line break, -10000 or less
+means force line break.  Other values influence line breaking decisions
+as a real penalty.")
+
      (pitch-max ,ly:pitch? "Top pitch for ambitus.")
      (pitch-min ,ly:pitch? "Bottom pitch for ambitus.")
 
@@ -393,6 +406,7 @@ note that starts here.")
                              "Multiply direction of
 @code{direction-source} with this to get the direction of this
 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.")
@@ -438,10 +452,12 @@ 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.")
      (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.")
      (text ,markup? "Text markup.  See @usermanref{Text markup}.")
+;;FIXME -- Should both be the same?
      (thick-thickness ,number? "Bar line thickness, measured in
 @code{linethickness}.")
      (thickness ,number? "Bar line thickness, measured in
@@ -520,6 +536,7 @@ sizes (like the dynamic @b{p} and @b{f}) on their baselines.")
      (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.")
+     (ambituses ,grob-list? "list of Ambitus objects")
      (arpeggio ,ly:grob? "pointer to arpeggio object.")
      (beam ,ly:grob? "pointer to the beam, if applicable.")
      (center-element ,ly:grob? "grob which will be at the center of
@@ -543,6 +560,8 @@ column as start/begin point. Only columns that have grobs or act as bounds are s
 paper-columns or note-column objects.")
      (conditional-elements ,grob-list? "Internal use only")
      (dependencies ,grob-list? "list of score-grob pointers that indicate who to compute first for certain global passes.")
+     (encompass-objects ,grob-list? "Objects that a slur should avoid
+in addition to notes and stems.")
      (elements ,grob-list? "list of grobs, type depending on the Grob where this is set in.")
      (heads ,grob-list? "List of note heads.")
      (items-worth-living ,grob-list? "A list of interesting items. If
@@ -582,7 +601,7 @@ entries @code{name} and @code{interfaces}.")
      (chord-tremolo ,boolean? "if set, this beam is a tremolo. ")
      (begin-of-line-visible ,boolean? "Used for marking ChordNames that should only show changes.")
      (head-pair ,pair? "Pair of grob pointers, pointing to the two heads of the tie.")
-     (quant-score ,number? "Beam quanting score -- can be stored for
+     (quant-score ,string? "Beam quanting score -- can be stored for
 debugging")
      (least-squares-dy ,number? 
                       "ideal beam slope, without damping.")