]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/define-grob-properties.scm
Make \footnote work via \tweak
[lilypond.git] / scm / define-grob-properties.scm
index c26bd3cae19a503c10ee9e3eb7c586e8498adc9a..6502dd9d722a4b94d3f5641101e925a86b3d4b17 100644 (file)
@@ -1,6 +1,6 @@
 ;;;; This file is part of LilyPond, the GNU music typesetter.
 ;;;;
-;;;; Copyright (C) 1998--2011  Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; Copyright (C) 1998--2012  Han-Wen Nienhuys <hanwen@xs4all.nl>
 ;;;;                 Jan Nieuwenhuizen <janneke@gnu.org>
 ;;;;
 ;;;; LilyPond is free software: you can redistribute it and/or modify
@@ -64,6 +64,8 @@ numbered?")
 averaged over staves.")
      (avoid-note-head ,boolean? "If set, the stem of a chord does not
 pass through all note heads, but starts at the last note head.")
+     (avoid-scripts ,boolean? "If set, a tuplet bracket avoids the
+scripts associated with the note heads it encompasses.")
      (avoid-slur ,symbol? "Method of handling slur collisions.
 Choices are @code{inside}, @code{outside}, @code{around}, and
 @code{ignore}.  @code{inside} adjusts the slur if needed to keep the
@@ -162,6 +164,8 @@ stick out of its bounds?")
 @code{#(@var{end-of-line} @var{unbroken} @var{begin-of-line})}.
 @code{#t} means visible, @code{#f} means killed.")
      (breakable ,boolean? "Allow breaks here.")
+     (broken-bound-padding ,number? "The amount of padding to insert
+when a spanner is broken at a line break.")
 
 ;;
 ;; c
@@ -174,8 +178,13 @@ 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.")
+     (collision-bias ,number? "Number determining how much to favor the
+left (negative) or right (positive).  Larger absolute values in either
+direction will push a collision in this direction.")
      (collision-interfaces ,list? "A list of interfaces for which
 automatic beam-collision resolution is run.")
+     (collision-padding ,number? "Amount of padding to apply after
+a collision is detected via the self-alignment-interface.")
      (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.")
@@ -298,6 +307,7 @@ include @code{upright}, @code{italic}, @code{caps}.")
 approximately 12% larger; 6@tie{}steps are exactly a factor@tie{}2
 larger.  Fractional values are allowed.")
      (footnote ,boolean? "Should this be a footnote or in-note?")
+     (footnote-music ,ly:music? "Music creating a footnote.")
      (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
@@ -474,6 +484,13 @@ left and one to the right of this grob.")
 ;;
 ;; i
 ;;
+     (id ,string? "An id string for the grob.  Depending on the typestting
+backend being used, this id will be assigned to a group containing all of
+the stencils that comprise a given grob.  For example, in the svg backend,
+the string will be assigned to the @code{id} attribute of a group (<g>)
+that encloses the stencils that comprise the grob.  In the Postscript
+backend, as there is no way to group items, the setting of the id property
+will have no effect.")
      (ignore-collision ,boolean? "If set, don't do note collision
 resolution on this @code{NoteColumn}.")
      (implicit ,boolean? "Is this an implicit bass figure?")
@@ -1013,6 +1030,7 @@ bounds are spaced.")
 
      (columns ,ly:grob-array? "An array of grobs, typically containing
 @code{PaperColumn} or @code{NoteColumn} objects.")
+     (concurrent-hairpins ,ly:grob-array? "All concurrent hairpins.")
      (conditional-elements ,ly:grob-array? "Internal use only.")
      (covered-grobs ,ly:grob-array? "Grobs that could potentially collide
 with a beam.")
@@ -1042,8 +1060,9 @@ for a full score's worth of grobs.")
 column.")
      (grace-spacing ,ly:grob? "A run of grace notes.")
 
-     (has-span-bar ,pair? "A pair of booleans indicating whether a a span bar
-is drawn above, or respectively below, this staff.")
+     (has-span-bar ,pair? "A pair of grobs containing the span bars to
+be drawn below and above the staff.  If no span bar is in a position,
+the respective element is set to @code{#f}.")
      (heads ,ly:grob-array? "An array of note heads.")
 
      (items-worth-living ,ly:grob-array? "An array of interesting items.  If
@@ -1070,6 +1089,8 @@ pure-from-neighbor-interface to determine various grob heights.")
      (note-heads ,ly:grob-array? "An array of note head grobs.")
      (pedal-text ,ly:grob? "A pointer to the text of a mixed-style piano
 pedal.")
+     (potential-X-colliding-grobs ,ly:grob-array? "Grobs that can potentially
+collide with a self-aligned grob on the X-axis.")
      (pure-relevant-grobs ,ly:grob-array? "All the grobs (items and spanners)
 that are relevant for finding the @code{pure-Y-extent}")
      (pure-relevant-items ,ly:grob-array? "A subset of elements that are
@@ -1087,6 +1108,8 @@ relevant for finding the @code{pure-Y-extent}.")
 
      (side-support-elements ,ly:grob-array? "The side support, an array of
 grobs.")
+     (skyline-quantizing ,index? "The number of boxes to break a
+slur into when calculating its skyline.")
      (slur ,ly:grob? "A pointer to a @code{Slur} object.")
      (spacing ,ly:grob? "The spacing spanner governing this section.")
      (spacing-wishes ,ly:grob-array? "An array of note spacing or staff spacing
@@ -1109,7 +1132,12 @@ results, use @code{LEFT} and @code{RIGHT}.")
      (ties ,ly:grob-array? "A grob array of @code{Tie} objects.")
      (tremolo-flag ,ly:grob? "The tremolo object on a stem.")
      (tuplet-number ,ly:grob? "The number for a bracket.")
+     (tuplet-start ,boolean? "Is stem at the start of a tuplet?")
      (tuplets ,ly:grob-array? "An array of smaller tuplet brackets.")
+     (X-colliding-grobs ,ly:grob-array? "Grobs that can collide
+with a self-aligned grob on the X-axis.")
+     (Y-colliding-grobs ,ly:grob-array? "Grobs that can collide
+with a self-aligned grob on the Y-axis.")
      (X-common ,ly:grob? "Common reference point for axis group.")
      (Y-common ,ly:grob? "See @code{X-common}.")
 
@@ -1166,6 +1194,7 @@ to be within staff spaces.")
      (quantized-positions ,number-pair? "The beam positions after
 quanting.")
 
+
      (script-stencil ,pair? "A pair @code{(@var{type} . @var{arg})} which
 acts as an index for looking up a @code{Stencil} object.")
      (shorten ,ly:dimension? "The amount of space that a stem is shortened.