;;;; This file is part of LilyPond, the GNU music typesetter.
;;;;
-;;;; Copyright (C) 1998--2010 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; Copyright (C) 1998--2011 Han-Wen Nienhuys <hanwen@xs4all.nl>
;;;; Jan Nieuwenhuizen <janneke@gnu.org>
;;;;
;;;; LilyPond is free software: you can redistribute it and/or modify
symbol)
;; put this in an alist?
-(define-public
- all-user-grob-properties
-
+(define-public all-user-grob-properties
(map
(lambda (x)
(apply define-grob-property x))
(alteration-alist ,list? "List of @code{(@var{pitch}
. @var{accidental})} pairs for key signature.")
(annotation ,string? "Annotate a grob for debug purposes.")
+ (annotation-balloon ,boolean? "Print the balloon around an annotation.")
+ (annotation-line ,boolean? "Print the line from an annotation to the
+grob that it annotates.")
(arpeggio-direction ,ly:dir? "If set, put an arrow on the
arpeggio squiggly line.")
(arrow-length ,number? "Arrow length.")
;;
;; b
;;
- (bar-size ,ly:dimension? "The size of a 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.")
edges of beams?")
(collapse-height ,ly:dimension? "Minimum height of system start
delimiter. If equal or smaller, the bracket/brace/line is removed.")
+ (collision-interfaces ,list? "A list of interfaces for which
+automatic beam-collision resolution is run.")
+ (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.")
(common-shortest-duration ,ly:moment? "The most common shortest
note length. This is used in spacing. Enlarging this sets the score
control points for the tie, slur, or bracket shape. For B@'eziers,
this should list the control points of a third-order B@'ezier curve.")
-
;;
;; d
;;
@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-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}.")
@item
@code{fret-count} -- The number of frets. Default@tie{}4.
@item
+@code{fret-label-custom-format} -- The format string to be used label
+the lowest fret number, when @code{number-type} equals to
+@code{custom}. Default@tie{}\"~a\".
+@item
@code{fret-label-font-mag} -- The magnification of the font used to
label the lowest fret number. Default@tie{}0.5.
@item
string. Default @code{\"x\"}.
@item
@code{number-type} -- Type of numbers to use in fret label. Choices
-include @code{roman-lower}, @code{roman-upper}, and @code{arabic}.
+include @code{roman-lower}, @code{roman-upper}, @code{arabic} and
+@code{custom}. In the later case, the format string is supplied by
+the @code{fret-label-custom-format} property.
Default @code{roman-lower}.
@item
@code{open-string} -- Character string to be used to indicate open
between the two, and @code{staff-affinity} is either @code{UP} or
@code{DOWN}. See @code{staff-staff-spacing} for a description of
the alist structure.")
+ (normalized-endpoints ,pair? "Represents left and right placement
+over the total spanner, where the width of the spanner is normalized
+between 0 and 1.")
(note-names ,vector? "Vector of strings containing names for
easy-notation note heads.")
(rotation ,list? "Number of degrees to rotate this object, and
what point to rotate around. For example, @code{#'(45 0 0)} rotates
by 45 degrees around the center of this object.")
+ (round-to-longer-rest ,boolean? "Displays the longer multi-measure
+rest when the length of a measure is between two values of
+@code{usable-duration-logs}. For example, displays a breve instead of a whole
+in a 3/2 measure.")
;;
(side-relative-direction ,ly:dir? "Multiply direction of
@code{direction-source} with this to get the direction of this
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.")
(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
the top staff and the bottom staff. The larger this parameter is, the
farther apart the staves are placed in such a configuration.")
+ (skyline-vertical-padding ,number? "The amount by which the left
+and right skylines of a column are padded vertically, beyond the
+@code{Y-extent}s and @code{extra-spacing-height}s of the constituent
+grobs in the column. Increase this to prevent interleaving of grobs
+from adjacent columns.")
(slash-negative-kern ,number? "The space to remove between
slashes in percent repeat glyphs. Larger values bring the two
elements closer together.")
@example
\\override MultiMeasureRest #'spacing-pair = #'(staff-bar . staff-bar)
@end example")
+ (spanner-id ,string? "An identifier to distinguish concurrent spanners.")
(springs-and-rods ,boolean? "Dummy variable for triggering
spacing routines.")
(stacking-dir ,ly:dir? "Stack objects in which direction?")
@item
@code{padding} -- the minimum required amount of unobstructed
-vertical whitespace between the two items, measured in
-staff-spaces.
+vertical whitespace between the bounding boxes (or skylines) of
+the two items, measured in staff-spaces.
@item
@code{stretchability} -- a unitless measure of the dimension'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)?")
;;[TODO: doco]
polyphonic patterns.")
(used ,boolean? "If set, this spacing column is kept in the
spacing problem.")
+ (usable-duration-logs ,list? "List of @code{duration-log}s that
+can be used in typesetting the grob.")
;;
(columns ,ly:grob-array? "An array of grobs, typically containing
@code{PaperColumn} or @code{NoteColumn} objects.")
(conditional-elements ,ly:grob-array? "Internal use only.")
+ (covered-grobs ,ly:grob-array? "Grobs that could potentially collide
+with a beam.")
(direction-source ,ly:grob? "In case @code{side-relative-direction} is
set, which grob to get the direction from.")
(figures ,ly:grob-array? "Figured bass objects for continuation line.")
+ (glissando-index ,integer? "The index of a glissando in its note
+column.")
(grace-spacing ,ly:grob? "A run of grace notes.")
(heads ,ly:grob-array? "An array of note heads.")
(spacing-wishes ,ly:grob-array? "An array of note spacing or staff spacing
objects.")
(span-start ,boolean? "Is the note head at the start of a spanner?")
+ (spanner-broken ,boolean? "Indicates whether spanner
+alignment should be broken after the current spanner.")
+ (spanner-placement ,ly:dir? "The place of an annotation on a spanner.
+LEFT is for the first spanner, and RIGHT is for the last. CENTER will
+place it on the broken spanner that falls closest to the center of the length
+of the entire spanner, although this behavior is unpredictable in situations
+with lots of rhythmic diversity. For predictable results, use LEFT and RIGHT.")
(staff-grouper ,ly:grob? "The staff grouper we belong to.")
(staff-symbol ,ly:grob? "The staff symbol grob that we are in.")
(stem ,ly:grob? "A pointer to a @code{Stem} object.")
(pure-Y-extent ,number-pair? "The estimated height of a system.")
(pure-Y-offset-in-progress ,boolean? "A debugging aid for catching
cyclic dependencies.")
-
- (quant-score ,string? "The beam quanting score; stored for
-debugging.")
(quantize-position ,boolean? "If set, a vertical alignment is aligned
to be within staff spaces.")
(quantized-positions ,number-pair? "The beam positions after
(system-Y-offset ,number? "The Y-offset (relative to the bottom of the
top-margin of the page) of the system to which this staff belongs.")
- (use-breve-rest ,boolean? "Use breve rests for measures longer
-than a whole rest.")
;;;;;;;;;;;;;;;;
;; ancient notation
(flexa-height ,ly:dimension? "The height of a flexa shape in a ligature
grob (in @code{staff-space} units).")
+ (flexa-interval ,integer? "The interval spanned by the two notes of a
+flexa shape (1 is a second, 7 is an octave).")
(flexa-width ,ly:dimension? "The width of a flexa shape in a
ligature grob in (in @code{staff-space} units).")
+ (ligature-flexa ,boolean? "request joining note to the previous one
+in a flexa.")
(inclinatum ,boolean? "Is this neume an inclinatum?")
- (join-right-amount ,number? "A length used for calculating the
-Y-extent of mensural ligatures.")
(linea ,boolean? "Attach vertical lines to this neume?")