;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 1998--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+;;;; (c) 1998--2006 Han-Wen Nienhuys <hanwen@cs.uu.nl>
;;;; Jan Nieuwenhuizen <janneke@gnu.org>
(define (define-grob-property symbol type? description)
(apply define-grob-property x))
`(
- (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-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 Y-parent")
(accidentals ,list? "List of alteration numbers")
+ (after-line-breaking ,boolean? "Dummy property, used to trigger callback for after-line-breaking")
(alteration-alist ,list? "List of @code{(@var{pitch}
. @var{accidental})} pairs for key signature.")
(add-stem-support ,boolean? "If set, the Stem object is included in this script's support")
(arpeggio-direction ,ly:dir? "If set, put an
arrow on the arpeggio squiggly line.")
+
+ (arrow ,boolean? "Add an arrow to the line.")
+ (arrow-length ,number? "Arrow length.")
+ (arrow-width ,number? "Arrow width.")
+
(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.")
(color ,color? "The color of this grob.")
- ;;DOCME
- (control-points ,list? "List of 4 offsets (number-pairs) that form control points for the tie/slur shape.")
+ (control-points ,list? "List of offsets (number-pairs) that form
+control points for the tie/slur/bracket shape. For beziers, this
+should list the control points of a 3rd order bezier curve." )
+ (connect-to-neighbor ,pair? "Pair of booleans, indicating whether this
+grob looks as a continued break.")
(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
(dash-fraction ,number? "Size of the dashes, relative to
dash-period. Should be between 0.0 (no line) and 1.0 (continuous
line).")
-
- (arrow ,boolean? "Add an arrow to the line.")
- (arrow-length ,number? "Arrow length.")
- (arrow-width ,number? "Arrow width.")
-
+ (default-direction ,ly:dir? "Direction determined by note head positions.")
(direction ,ly:dir? "Up or down, left or right?")
(dot-color ,symbol? "Color of dots. Options include
@code{black} and @code{white}.")
typeset on a Stem. Valid options include @code{()} and
@code{mensural}. Additionally, @code{\"no-flag\"} switches off the
flag.")
-
- (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},
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}.")
- (number-visibility ,boolean-or-symbol? "Like
-@code{bracket-visibility}, but for the number.")
-
-
-
(packed-spacing ,boolean? "If set, the notes are spaced as
tightly as possible.")
(padding ,ly:dimension? "Add this much extra space between
(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.")
- (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}
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.")
(axis-group-parent-Y ,ly:grob? "Containing Y axis group")
(accidental-grobs ,list? "Alist with (NOTENAME . GROBLIST) entries")
(adjacent-hairpins ,ly:grob-array? "List of directly neighboring hairpins")
- (after-line-breaking ,boolean? "Dummy property, used to trigger callback for after-line-breaking")
(all-elements ,ly:grob-array? "list of all grobs in this line. Its
function is to protect objects from being garbage collected.")
(arpeggio ,ly:grob? "pointer to arpeggio object.")
(beam ,ly:grob? "pointer to the beam, if applicable.")
+ (bracket ,ly:grob? "the bracket for a number.")
(direction-source ,ly:grob? "in case side-relative-direction is
set, which grob to get the direction from .")
(dot ,ly:grob? "reference to Dots object.")
(spacing-wishes ,ly:grob-array? "List of note spacing or staff spacing objects.")
(stems ,ly:grob-array? "list of stem objects, corresponding to the notes that the arpeggio has to be before.")
(tuplets ,ly:grob-array? "list of smaller tuplet brackets")
+ (tuplet-number ,ly:grob? "the number for a bracket.")
(left-neighbors ,ly:grob-array? " List of
spacing-wish grobs that are close to the current column.
;; 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")
(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.