(apply define-grob-property x))
`(
- (X-extent-callback ,procedure? "Procedure that calculates the
-extent of this object. If this value is set to @code{#f}, the object
-is empty in the X direction. The procedure takes a grob and axis
-argument, and returns a number-pair.
-")
-
- (X-offset-callbacks ,list? "A list of functions determining this
-objects' position relative to its parent. The last one in the list is
-called first. The functions take a grob and axis argument. ")
-
- (Y-extent-callback ,procedure? "see @code{X-extent-callback}.")
- (Y-offset-callbacks ,list? "see @code{X-offset-callbacks}.")
-
+ (X-offset ,number? "The horizontal amount that this object is moved relative to its X-parent")
+ (Y-offset ,number? "The vertical amount that this object is moved
+relative to its X-parent")
+ (self-X-offset ,number? "")
+ (self-Y-offset ,number? "")
(accidentals ,list? "List of alteration numbers")
(alteration-alist ,list? "List of @code{(@var{pitch}
. @var{accidental})} pairs for key signature.")
(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.")
+ (average-spacing-wishes ,boolean? "If set, the spacing wishes are averaged over staves.")
(axes ,list? "list of axis numbers.
In the case of alignment grobs, this should contain only one number.")
(balloon-text-offset ,number-pair?
"Where to put text relative to balloon.")
(balloon-padding ,ly:dimension? "Text to add to help balloon")
- (balloon-original-callback ,procedure? "The
+ (original-stencil ,ly:stencil? "The
original stencil drawer to draw the balloon around.")
multiple lines of text.")
(beam-thickness ,ly:dimension? "thickness, measured in staffspace.")
(beam-width ,ly:dimension? "width of the tremolo sign.")
- (beamed-lengths ,list? "list of stem lengths given beam multiplicity .")
- (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
depending on the number flags/beams.")
(cautionary-style ,symbol? "How to print cautionary
accidentals. Choices are @code{smaller} or
@code{parentheses}.")
- (callbacks ,list? "An alist of (@var{symbol} . @var{procedure})
-pairs. When the grob property @var{symbol} is requested,
-@var{procedure} is invoked. The return value, if it is unequal to
-@code{#<unspecified>} is recorded as the value of the property.")
(cautionary ,boolean? "Is this a cautionary accidental?")
(concaveness ,number? "A beam is concave when its inner stems are
closer to the beam than the two outside stems. This number is a
(color ,color? "The color of this grob.")
- (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.")
(arrow-length ,number? "Arrow length.")
(arrow-width ,number? "Arrow width.")
- ;; todo: why is this tunable?
- (dir-function ,procedure? "The function to determine the
-direction of a beam. Choices include:
-
-@table @code
-@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.
-mean center distance weighted per note
-@end table
-
-")
(direction ,ly:dir? "Up or down, left or right?")
(dot-color ,symbol? "Color of dots. Options include
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},
(glyph ,string? "a string determining what (style) of glyph is
typeset. Valid choices depend on the function that is reading this
property.")
- (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
second for staff space. Both contributions are added.")
(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.")
+ (length-fraction ,number? "Multiplier for lengths. Used for
+determining ledger lines and stem lengths.")
+
(line-break-system-details ,list?
"Alist of properties to use when this
column is the start of a system.")
dimension, measured in staff space.")
(minimum-Y-extent ,number-pair? "See @code{minimum-Y-extent}.")
(minimum-length ,ly:dimension? "Try to make a spanner at least
-this long. This requires an appropriate routine for the
-@code{spacing-procedure} property.")
+this long. This requires an appropriate callback for the
+@code{springs-and-rods} property.")
(minimum-space ,ly:dimension? "Minimum distance that the victim
should move (after padding).")
(neutral-direction ,ly:dir? "Which direction to take in the
"Pair of staff coordinates @code{(@var{left}
. @var{right})}, where both @var{left} and @var{right} are in the
staff-space unit of the current staff.")
- (print-function ,procedure? "Function taking grob as argument,
-returning a @code{Stencil} object.")
-
(ratio ,number? "Parameter for slur shape. The higher this number, the
quicker the slur attains it @code{height-limit}.")
+
+ (remove-empty ,boolean? "If set, remove group if it contains no
+@code{interesting-items}")
(remove-first ,boolean? "Remove the first staff of a orchestral score?")
(right-padding ,ly:dimension? "Space to insert between note and
accidentals.")
+ (same-direction-correction ,number? "Optical correction amount
+for stems that are placed in tight configurations. This amount is used
+for stems with the same direction to compensate for note-head to stem distance.")
(script-priority ,number? "A sorting key that determines in what
order a script is within a stack of scripts.")
"Multiply direction of
@code{direction-source} with this to get the direction of this
object.")
+ (side-axis ,number? "Is this object horizontally or vertically next to another object?")
(size ,number? "Size of object, relative to standard size.")
(slope ,number? "The slope of this object.")
(slur-padding ,number? "Extra distance between slur and script.")
of spacing tuples: @code{(@var{break-align-symbol} @var{type}
. @var{distance})}, where @var{type} can be the symbols
@code{minimum-space} or @code{extra-space}.")
- (space-function ,procedure? "Calculate the vertical space between
-two beams. This function takes a beam grob and the maximum number of
-beams.")
(spacing-increment ,number? "Add this much space for a doubled
duration. Typically, the width of a note head. See also
@internalsref{spacing-spanner-interface}.")
- (spacing-procedure ,procedure? "Procedure for calculating spacing
-parameters. The routine is called after
-@code{before-line-breaking-callback}.")
+ (springs-and-rods ,boolean? "Dummy variable for triggering spacing routines.")
(stacking-dir ,ly:dir? "Stack objects in which direction?")
(staff-space ,ly:dimension? "Amount of space between staff lines,
expressed in global staffspace.")
staff spaces, counted from the middle line.")
(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
-and axis argument, and returns a (@var{x} . @var{y}) pair, specifying
-location in terms of note head bounding box.")
+ (stem-attachment ,number-pair? "A (@var{x} . @var{y}) pair where the stem attaches to the notehead.")
(stem-end-position ,number? "Where does the stem end (the end is opposite to the support-head.")
- (stem-shorten ,list? "How much a stem in a forced direction
-should be shortened. The list gives an amount depending on the number
-of flags/beams.")
-
;;[TODO: doco]
(stem-spacing-correction ,number? "Optical correction amount for
stems that are placed in tight configurations. For opposite
directions, this amount is the correction for two normal sized stems
that overlap completely.")
- (same-direction-correction ,number? "Optical correction amount
-for stems that are placed in tight configurations. This amount is used
-for stems with the same direction to compensate for note-head to stem distance.")
+ (strict-note-spacing ,boolean? "If set, unbroken columns
+with non-musical material (clefs, barlines, etc.) are not spaced
+separately, but put before musical columns.")
(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.")
+typeset. Valid choices depend on the @code{stencil} callback reading
+this property.")
+ (styles ,list? "A list of style symbols.")
(text ,markup? "Text markup. See @usermanref{Text markup}.")
;;FIXME -- Should both be the same?
(text-direction ,ly:dir? "This controls the ordering of the
@var{min} and @var{max} are dimensions in staff space.")
(tie-configuration ,list? "List of (@var{position} . @var{dir})
pairs, indicating the desired tie configuration.")
- (transparent ,boolean? "This is almost the same as setting
-@code{print-function} to @code{#f}, but this retains the dimensions of
-this grob, which means that grobs can be erased individually.")
+ (transparent ,boolean? "This makes the grob invisible.")
(uniform-stretching ,boolean? "If set, items stretch proportional
to their durations. This looks better in complex polyphonic patterns")
(used ,boolean? "If set, this spacing column is kept in the spacing problem")
;; TODO: use interface for this!
+ (quantized-positions ,number-pair? "Beam positions after quanting.")
(chord-tremolo ,boolean? "if set, this beam is a tremolo. ")
(begin-of-line-visible ,boolean? "Used for marking ChordNames that should only show changes.")
+ (quantize-position ,boolean? "If set, a vertical alignment is aligned to be within staff spaces.")
(quant-score ,string? "Beam quanting score -- can be stored for
debugging")
(least-squares-dy ,number?
"ideal beam slope, without damping.")
- (ligature-primitive-callback ,procedure? "callback that brews ligature head.")
(stem-info ,pair? "caching of stem parameters")
(note-columns ,pair? "list of NoteColumn grobs.")
- (position-callbacks ,list? "list of
-functions set spanner positions.")
-
;;; add-join would be enough if in Mensural_ligature::brew_ligature_primitive
;;; the next note could be seen
(join-right-amount ,number? "")
;; [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.")
+ (stencil ,ly:stencil? "The symbol to print.")
(ideal-distances ,list? "(@var{obj} . (@var{dist} . @var{strength})) pairs.")
(minimum-distances ,list? "list of rods, that have the format (@var{obj} . @var{dist}).")
(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")
+ (staff-hierarchy ,pair? "A nested list of staff symbol grobs.")
(use-breve-rest ,boolean? "Use breve rests for measures longer
than a whole rest.")
(spaceable-staves ,ly:grob-array? "Objects to be spaced during page layout.")
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ancient notation
-
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;; TODO:
;; there are too many properties for ancient notation
;; probably neume-types (a list of symbols) would also work.