]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/define-grob-properties.scm
Doc: NR minor edits to Clef and Cue section
[lilypond.git] / scm / define-grob-properties.scm
index e6eb6a8c8d079fafa41028fc7148d497da7b1236..8f05a8b324a366f90fb9227b9f893fa6fdf7f57e 100644 (file)
@@ -25,9 +25,7 @@
   symbol)
 
 ;; put this in an alist?
   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))
   (map
    (lambda (x)
      (apply define-grob-property x))
@@ -50,6 +48,9 @@ be created below this bar line.")
      (alteration-alist ,list? "List of @code{(@var{pitch}
 . @var{accidental})} pairs for key signature.")
      (annotation ,string? "Annotate a grob for debug purposes.")
      (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.")
      (arpeggio-direction ,ly:dir? "If set, put an arrow on the
 arpeggio squiggly line.")
      (arrow-length ,number? "Arrow length.")
@@ -77,7 +78,6 @@ grobs, this should contain only one number.")
 ;;
 ;; b
 ;;
 ;;
 ;; 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.")
      (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.")
@@ -170,6 +170,10 @@ hairpins (al/del niente).")
 edges of beams?")
      (collapse-height ,ly:dimension? "Minimum height of system start
 delimiter.  If equal or smaller, the bracket/brace/line is removed.")
 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
      (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
@@ -184,7 +188,6 @@ this grob looks as a continued break.")
 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.")
 
 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
 ;;
 ;;
 ;; d
 ;;
@@ -296,6 +299,7 @@ include @code{upright}, @code{italic}, @code{caps}.")
 @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.")
 @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}.")
      (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}.")
@@ -336,6 +340,10 @@ Default @code{none} for markup fret diagrams, @code{below-string} for
 @item
 @code{fret-count} -- The number of frets.  Default@tie{}4.
 @item
 @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
 @code{fret-label-font-mag} -- The magnification of the font used to
 label the lowest fret number.  Default@tie{}0.5.
 @item
@@ -351,7 +359,9 @@ Default@tie{}0.
 string.  Default @code{\"x\"}.
 @item
 @code{number-type} -- Type of numbers to use in fret label.  Choices
 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
 Default @code{roman-lower}.
 @item
 @code{open-string} -- Character string to be used to indicate open
@@ -609,6 +619,9 @@ the nearest staff in the opposite direction from
 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.")
 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.")
 
      (note-names ,vector? "Vector of strings containing names for
 easy-notation note heads.")
 
@@ -683,6 +696,10 @@ of an object (e.g., between note and its accidentals).")
      (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.")
      (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.")
 
 
 ;;
 
 
 ;;
@@ -724,6 +741,11 @@ 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.")
 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.")
      (slash-negative-kern ,number? "The space to remove between
 slashes in percent repeat glyphs.  Larger values bring the two
 elements closer together.")
@@ -879,6 +901,8 @@ proportionally to their durations.  This looks better in complex
 polyphonic patterns.")
      (used ,boolean? "If set, this spacing column is kept in the
 spacing problem.")
 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.")
 
 
 ;;
 
 
 ;;
@@ -969,6 +993,8 @@ bounds are spaced.")
      (columns ,ly:grob-array? "An array of grobs, typically containing
 @code{PaperColumn} or @code{NoteColumn} objects.")
      (conditional-elements ,ly:grob-array? "Internal use only.")
      (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.")
 
      (direction-source ,ly:grob? "In case @code{side-relative-direction} is
 set, which grob to get the direction from.")
@@ -983,6 +1009,8 @@ in addition to notes and stems.")
 
      (figures ,ly:grob-array? "Figured bass objects for continuation line.")
 
 
      (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.")
      (grace-spacing ,ly:grob? "A run of grace notes.")
 
      (heads ,ly:grob-array? "An array of note heads.")
@@ -1025,6 +1053,11 @@ grobs.")
      (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?")
      (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-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.")
      (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.")
@@ -1083,9 +1116,6 @@ did its job.  This ensures that a positioning is only done once.")
      (pure-Y-extent ,number-pair? "The estimated height of a system.")
      (pure-Y-offset-in-progress ,boolean? "A debugging aid for catching
 cyclic dependencies.")
      (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
      (quantize-position ,boolean? "If set, a vertical alignment is aligned
 to be within staff spaces.")
      (quantized-positions ,number-pair? "The beam positions after
@@ -1099,8 +1129,6 @@ Internally used to distribute beam shortening over stems.")
      (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.")
 
      (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
 
      ;;;;;;;;;;;;;;;;
      ;; ancient notation
@@ -1135,13 +1163,15 @@ right neighbour, encoded as a bit mask.")
 
      (flexa-height ,ly:dimension? "The height of a flexa shape in a ligature
 grob (in @code{staff-space} units).")
 
      (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).")
      (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?")
 
 
      (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?")
 
 
      (linea ,boolean? "Attach vertical lines to this neume?")