]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/grob-property-description.scm
patch::: 1.3.140.jcn2
[lilypond.git] / scm / grob-property-description.scm
index 0430b0f73e582db87e768f4973c05c8edaf9fdde..1b5dfc0d437cd1bcee207a29f5faa7a1f3da0b6b 100644 (file)
 (define all-backend-properties '())
 
 (define (grob-property-description symbol type? description)
+  (if (not (equal? (object-property symbol 'backend-doc) #f))
+      (begin
+       (ly-warn (string-append "Redefining " (symbol->string symbol) "\n"))
+       (exit 2)
+      ))
+  
   (set-object-property! symbol 'backend-type? type?)
   (set-object-property! symbol 'backend-doc description)
   (set! all-backend-properties (cons symbol all-backend-properties))
@@ -53,8 +59,6 @@ In the case of alignment grobs, this should contain only one number.")
 (grob-property-description 'bass list? " musical-pitch, optional.")
 (grob-property-description 'beam ly-grob? "pointer to the beam, if applicable.")
 (grob-property-description 'beam-space-function procedure? "function returning space given multiplicity.")
-(grob-property-description 'beam-space-function procedure? "function returning space given multiplicity.")
-(grob-property-description 'beam-thickness number? "thickness, measured in staffspace.")
 (grob-property-description 'beam-thickness number? "thickness, measured in staffspace.")
 (grob-property-description 'beam-width number? "width of the tremolo sign.")
 (grob-property-description 'beamAuto boolean? "enable autobeaming?.")
@@ -83,7 +87,6 @@ column as start/begin point. Only columns that have grobs or act as bounds are s
 (grob-property-description 'center-element ly-grob? "grob which will
 be at the center of the group after aligning (when using
 Align_interface::center_on_element). .")
-(grob-property-description 'chordChanges boolean? "only show changes in chord scheme?.")
 (grob-property-description 'bar-line-collapse-height number? "Minimum height of system start delimiter bar-line glyphs.  If equal or smaller, the bar-line is removed.")
 (grob-property-description 'brace-collapse-height number? "Minimum height of system start delimiter brace glyphs.  If equal or smaller, the brace is removed.")
 (grob-property-description 'bracket-collapse-height number? "Minimum height of system start delimiter bracket glyphs.  If equal or smaller, the bracket is removed.")
@@ -99,8 +102,7 @@ Align_interface::center_on_element). .")
 (grob-property-description 'default-neutral-direction dir? "Where to go if we're in the middle of the staff.")
 (grob-property-description 'delta-y number? "amount of ascension.")
 (grob-property-description 'dependencies list? "list of score-grob pointers that indicate who to compute first for certain global passes.")
-(grob-property-description 'details list? "alist of parameters for the curve shape.")
-(grob-property-description 'details list? "alist containing contaning a few magic constants.")
+(grob-property-description 'details list? "alist of parameters for detailed grob behavior.")
 (grob-property-description 'dir-forced boolean? "set if direction has been forced; read by Beam.")
 (grob-property-description 'dir-function procedure? "function of type (count total)->direction.  Default value: beam-dir-majority, also available: beam-dir-mean, beam-dir-median.")
 (grob-property-description 'dir-list list? "list of stem directions, needed for optical spacing correction.")
@@ -108,8 +110,7 @@ Align_interface::center_on_element). .")
 (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.")
-(grob-property-description 'duration-log integer? "log of the duration, ie. 0=whole note, 1 = half note, etc.")
+(grob-property-description 'duration-log integer? "2-log of the notehead duration, i.e. 0=whole note, 1 = half note, etc.")
 (grob-property-description 'dy number? "set by beam: vertical travel height")
 (grob-property-description 'edge-height pair? "a cons that specifies the heights of the vertical egdes '(LEFT-height . RIGHT-height).")
 (grob-property-description 'edge-text pair? "a cons that specifies the texts to be set at the edges '(LEFT-text . RIGHT-text).")
@@ -135,7 +136,7 @@ procedure is tried.")
 definition: music roman braces dynamic math ...")
 (grob-property-description 'font-name symbol? "partial font definition:
 base name of font file FIXME: should override other partials.")
-(grob-property-description 'font-point-size number? "partial font definition: exact font size in points FIXME: should override font-relative-size.")
+(grob-property-description 'font-design-size number? "partial font definition: exact font size in points FIXME: should override font-relative-size.")
 (grob-property-description 'font-relative-size number? "partial font definition: the relative size compared the `normal' size.
  0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller.")
 (grob-property-description 'font-series symbol? "partial font definition: medium, bold.")
@@ -179,6 +180,7 @@ FIXME: in Tie this is a pair of grob pointers, pointing to the two heads of the
 For text,  this is `relative'(?) to the current alignment.
 
 For barline, space after a thick line.")
+(grob-property-description 'layer number? "The output layer [0..2].  The default is 1.")
 (grob-property-description 'left-padding number? "space left of accs.")
 (grob-property-description 'length number? "Stem length for unbeamed stems, only for user override.")
 (grob-property-description 'lengths list? "Stem length given multiplicity of flag.")
@@ -199,8 +201,11 @@ Grob at least this long.
 Also works as a scaling parameter for the length of hyphen. .")
 
 ;; FIXME.
-(grob-property-description 'minimum-space number-pair? "(cons LEFT RIGHT).")
-(grob-property-description 'minimum-space number? "minimum distance that the victim should move (after padding).")
+(grob-property-description 'minimum-space number? "minimum distance that the victim should move (after padding).
+
+FIXME: also pair? (cons LEFT RIGHT)
+
+")
 
 (grob-property-description 'minimum-width number? "minimum-width of rest symbol, in staffspace.")
 (grob-property-description 'molecule-callback procedure? "Function taking grob as argument, returning a Scheme encoded Molecule.")
@@ -208,6 +213,7 @@ Also works as a scaling parameter for the length of hyphen. .")
 (grob-property-description 'no-spacing-rods boolean? "read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM).")
 (grob-property-description 'no-stem-extend boolean? "should stem not be extended to middle staff line?.")
 (grob-property-description 'non-default boolean? "not set because of existence of a bar?.")
+(grob-property-description 'note-character string? "character to print in a note head.")
 (grob-property-description 'note-width number? "unit for horizontal translation, measured in staff-space.")
 (grob-property-description 'number-gap number? "size of the gap for the number in a tuplet.")
 (grob-property-description 'old-accidentals list? "list of (pitch, accidental) pairs.")
@@ -244,6 +250,7 @@ itself.  Return value is ignored.")
 (grob-property-description 'stacking-dir dir? "stack contents of grobs in which direction ?.")
 (grob-property-description 'staff-space number? "Amount of line leading relative to global staffspace.")
 (grob-property-description 'staff-position number? "vertical position in staff spaces, counted from the middle line.")
+(grob-property-description 'staff-symbol boolean? "the staff symbol grob that we're in.")
 (grob-property-description 'staffline-clearance number? "don't get closer than this to stafflines.")
 (grob-property-description 'stem ly-grob? "pointer to Stem object.")
 (grob-property-description 'stem-centered boolean? "Center stems on note heads. Useful for mensural notation.")
@@ -262,10 +269,10 @@ Scheme markup text.  It is defined as follows:
 @example
 text: string | (head? text+)
 head: markup | (markup+)
-markup-item: property | abbrev | @var{fontstyle}
+markup-item: property | abbrev
 property: (@var{key} . @var{value})
 abbrev: @code{rows lines roman music bold italic named super sub text}
-
+        @code{finger volta timesig mmrest mark script large Large dynamic}
 @end example
 
 
@@ -291,8 +298,24 @@ horizontal mode: set all text on one line (default)
  superscript
 @item sub
  subscript
-@item any font-style
- finger volta timesig mmrest mark script large Large dynamic
+@item finger
+ select fingering number fontstyle
+@item volta
+ select volta number fontstyle
+@item timesig
+ select time signature number fontstyle
+@item mmrest
+ select multi measure rest number fontstyle
+@item mark
+ select mark number fontstyle
+@item script
+ select scriptsize roman fontstyle
+@item large
+ select large roman fontstyle
+@item Large
+ select Large roman fontstyle
+@item dynamic
+ select dynamics fontstyle
 @end table
 .")
 (grob-property-description 'thick number? "thickness, in stafflinethickness.")