-(grob-property-description 'direction ly:dir? "up or down, left or right?.")
-(grob-property-description 'direction-source ly:grob? "in case side-relative-direction is set, which grob to get the direction from .")
-(grob-property-description 'dot ly:grob? "reference to Dots object.")
-(grob-property-description 'dot-count integer? "number of dots.")
-(grob-property-description 'duration-log integer? "2-log of the notehead duration, i.e. 0=whole note, 1 = half note, etc.")
-(grob-property-description 'edge-height pair? "a cons that specifies the heights of the vertical edges '(LEFT-height . RIGHT-height).")
-(grob-property-description 'bracket-flare number-pair? "a pair
- that specifies how much edges of brackets should slant outward.
- Value 0.0 means straight edges")
-
-(grob-property-description 'edge-text pair? "a cons that specifies the texts to be set at the edges '(LEFT-text . RIGHT-text).")
-(grob-property-description 'elements grob-list? "list of grobs, type depending on the Grob where this is set in.")
-(grob-property-description 'expand-limit integer? "maximum number of measures expanded in church rests.")
-(grob-property-description 'extra-X-extent number-pair? "enlarge in X dimension by this much, measured in staff space.")
-(grob-property-description 'extra-Y-extent number-pair? "see @code{extra-Y-extent}.")
-(grob-property-description 'X-extent number-pair? "Store extent. internal use only. ")
-(grob-property-description 'Y-extent number-pair? "Store extent. internal use only. ")
-(grob-property-description 'extra-offset number-pair? "pair of reals
-(a cons) forcing an extra offset before outputting.
-@code{extra-offset} is added just before `printing' the grob, so the
-typesetting engine is completely oblivious to it.
-")
-(grob-property-description 'extremity-offset-alist list? "an alist (attachment stem-dir*dir slur-dir*dir) -> offset. The offset adds to the centre of the notehead, or stem.")
-
-(grob-property-description 'extremity-rules list? "an alist (procedure
-slur dir) -> attachment to determine the attachment (see above). If
-procedure returns #t, attachment is used. Otherwise, the next
-procedure is tried.")
-(grob-property-description
- 'flag-style symbol?
- "a string determining what style of glyph is typeset on a Stem. Valid
-options include undefined and mensural.
- Additionally, @code{no-flag} switches off the flag.")
-(grob-property-description 'stroke-style string? "set to \"grace\" to turn stroke through flag on.")
-(grob-property-description 'flag-width-function procedure? "Procedure that computes the width of a half-beam (a non-connecting beam.).")
-(grob-property-description 'flexa-height ly:dimension? "height of a flexa shape in a ligature grob in staff_space.")
-(grob-property-description 'flexa-width ly:dimension? "width of a flexa shape in a ligature grob in staff_space.")
-(grob-property-description 'font-family symbol? "partial font
-definition: music roman braces dynamic math ...")
-(grob-property-description 'font-name string? "file name for the font to load.
-Overrides all other font-X qualifiers.")
-(grob-property-description 'font-magnification number? "Magnification
- of the font. If undefined, the default is @code{1.0}.")
-
-(grob-property-description 'font-size number? "font definition: the
-relative size compared the `normal' size. 0 is style-sheet's normal
-size, -1 is smaller, +1 is bigger. Each step of 1 is approximately
-12% larger, 6 steps are exactly a factor 2 larger. Fractional values are allowed.")
-
-(grob-property-description 'font-series symbol? "partial font definition: medium, bold.")
-(grob-property-description 'font-shape symbol? "partial font definition: upright or italic.")
-
-(grob-property-description 'force-hshift number? "amount of
-collision_note_width that overides automatic collision settings. This
-is used by @ref{note-collision-interface}.")
-
-(grob-property-description 'fraction number-pair? "fraction of a time signature.")
-(grob-property-description 'french-beaming boolean? "Use French
-beaming style: stems stop at innermost beams.")
-(grob-property-description 'full-size-change boolean? "if set, don't make a change clef smaller.")
-
-(grob-property-description 'glyph string? "a string determining what (style) of glyph is typeset. Valid choices depend on the function that is reading this property. .")
-(grob-property-description 'glyph-name string? "a name of character within font.")
-(grob-property-description 'glyph-name-procedure procedure? "Return
-name of character within font.")
-
-(grob-property-description 'gap ly:dimension? "Size of a gap in a variable symbol.")
-(grob-property-description 'gap-count integer? "Number of gapped beams for tremolo.")
-
-(grob-property-description 'grow-direction ly:dir? "crescendo or decrescendo?.")
-(grob-property-description 'hair-thickness number? "thickness, measured in stafflinethickness.")
-(grob-property-description 'head-pair pair? "Pair of grob pointers, pointing to the two heads of the tie.")
-(grob-property-description 'heads grob-list? "List of note heads.")
-(grob-property-description 'height ly:dimension? "in staffspace.")
-(grob-property-description 'height-limit ly:dimension? "Maximum slur height,
- long slurs approach this height.
-
- For small width w, the height should be proportional to w, for w ->
- infinity, the height should rise to limit h_infinity asymptotically.
-
- Hence we take F (x) such that
-@quotation
-@example
- F (0) = 0 , F' (0) = 1, and F (infinity) = 1
-@end example
-@end quotation
- where
-@quotation
-@example
- h = height-limit * F (x * ratio / height-limit)
-@end example
-@end quotation
- Currently, for F we use
-@quotation
-@example
- F (x) = 2/pi * atan (pi * x/2)
-@end example
-@end quotation
-")
-(grob-property-description 'horizontal-shift integer? "integer that identifies ranking of note-column for horizontal shifting. This is used by @ref{note-collision-interface}.")
-(grob-property-description 'ideal-distances list? "(OBJ . (DIST . STRENGTH)) pairs.")
-(grob-property-description 'inclinatum boolean? "is this neume an inclinatum?.")
-(grob-property-description 'interfaces list? "list of symbols indicating the interfaces supported by this object. Is initialized from the @code{meta} field.")
-(grob-property-description 'inversion list? " musical-pitch, optional.")
-(grob-property-description 'items-worth-living grob-list? "list of interesting items. If empty in a particular system, clear that system.")
-(grob-property-description 'join-heads boolean? "Whether to join the noteheads of an ambitus grob with a vertical line.")
-(grob-property-description 'kern ly:dimension? "amount of extra white
-space to add. For barline, space after a thick line.")
-(grob-property-description 'knee boolean? "Is this beam a knee?")
-(grob-property-description 'knee-spacing-correction number? "optical correction amount for knees. 0: no correction; 1: full correction.")
-(grob-property-description 'layer number? "The output layer [0..2]. The default is 1.")
-
-(grob-property-description 'ledger-line-thickness number-pair?
- "The thickness of ledger lines: it is the sum of 2 numbers.
- The car is the factor for linethickness, and the cdr for staff space. Both contributions are added.")
-(grob-property-description 'left-position number? "position of left part of spanner.")
-(grob-property-description 'left-padding ly:dimension? "space left of accs.")
-
-(grob-property-description 'length ly:dimension? "Stem length for unbeamed stems, only for user override.")
-(grob-property-description 'lengths list? "Stem length given
-multiplicity of flag. The Nth element of the list gives the stem
-length of a note with N flags.
-")
-(grob-property-description 'linea boolean? "attach vertical lines to this neume?.")
-(grob-property-description 'line-count integer? "Number of staff
-lines. If you want to override this for staffs individually, you must
-use @code{\\outputproperty}. @code{\\property .. \\override} will not
-work: @code{\\override} is processed after the StaffSymbol is created,
-and will have no effect.
-")
-(grob-property-description 'maximum-rest-count integer? "kill off rests so we don't more than this number left.")
-(grob-property-description 'measure-length ly:moment? "Length of a
+
+ (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}).")
+ (edge-text ,pair? "A pair specifying the texts to be set at the
+edges '(@var{left-text} . @var{right-text}).")
+ (eccentricity ,number? "How asymmetrical to make a slur. Positive means move the center to the right.")
+
+ (enclose-bounds ,number?
+ "How much of the bound a spanner should enclose:
++1 = completely, 0 = center, -1 not at all.")
+
+ (expand-limit ,integer? "maximum number of measures expanded in church rests.")
+
+ ;; remove me?
+ (extra-X-extent ,number-pair? "A grob is enlarged in X dimension
+by this much.")
+ (extra-Y-extent ,number-pair? "See @code{extra-Y-extent}.")
+
+ (X-extent ,number-pair? "Hard coded extent in X direction. ")
+ (Y-extent ,number-pair? "See @code{X-extent}.")
+
+ (extra-offset ,number-pair? "A pair representing an offset. This
+offset is added just before outputting the symbol, so the typesetting
+engine is completely oblivious to it.")
+
+ (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-count ,number? "The number of tremolo beams.")
+ (flag-style ,symbol?
+ "a string determining what style of flag-glyph is
+typeset on a Stem. Valid options include @code{()} and
+@code{mensural}. Additionally, @code{\"no-flag\"} switches off the
+flag.")
+
+ (flag-width-function ,procedure? "Procedure that computes the width of a half-beam (a non-connecting beam.).")
+ (strict-note-spacing ,boolean? "If set, unbroken columns
+with non-musical material (clefs, barlines, etc.) are not spaced
+separately, but put before musical columns.")
+ (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{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}.")
+ (font-magnification ,number? "Magnification of the font, when it
+is selected with @code{font-name}.")
+
+ (font-size ,number? "The font size, compared the `normal'
+size. 0 is style-sheet's normal size, -1 is smaller, +1 is bigger.
+Each step of 1 is approximately 12% larger, 6 steps are exactly a
+factor 2 larger. Fractional values are allowed.")
+
+ (font-series ,symbol? "Select the series of a font. Choices
+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}.")
+
+ (fraction ,number-pair? "Numerator and denominator of a time
+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.")
+ (non-default ,boolean? "Set for manually specified clefs.")
+
+
+ (glyph ,string? "a string determining what (style) of glyph is
+typeset. Valid choices depend on the function that is reading this
+property.")
+ (glyph-name ,string? "a name of character within font.")
+ (glyph-name-procedure ,procedure? "Return the name of a character
+within font, to use for printing a symbol.")
+
+ (gap ,ly:dimension? "Size of a gap in a variable symbol.")
+ (gap-count ,integer? "Number of gapped beams for tremolo.")
+ (grace-space-factor ,number? "Space grace notes at this fraction
+of the @code{spacing-increment}.")
+
+ (grow-direction ,ly:dir? "Crescendo or decrescendo?")
+ (hair-thickness ,number? "Thickness of the thin line in a bar line.")
+ (height ,ly:dimension? "Height of an object in staffspace.")
+ (height-limit ,ly:dimension? "Maximum slur height: the longer the
+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}.")
+ (avoid-slur ,symbol? "Method of handling slur collisions.
+Choices are @code{around}, @code{inside}, @code{outside}. If unset, script
+and slur ignore eachother.")
+ (inspect-quants ,number-pair? "If debugging is set,
+set beam quant to this position, and print the respective scores.")
+
+ (keep-inside-line ,boolean? "If set, this column cannot have
+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?")
+ (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.")
+ (ledger-line-thickness ,number-pair?
+ "The thickness of ledger lines: it is the
+sum of 2 numbers. The first is the factor for line thickness, and the
+second for staff space. Both contributions are added.")
+ (left-position ,number? "Vertical position of left part of spanner.")
+ (left-padding ,ly:dimension? "The amount of space that is put
+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.")
+ (measure-length ,ly:moment? "Length of a