]> git.donarmstrong.com Git - lilypond.git/commitdiff
Merge branch 'master' of ssh://jomand@git.sv.gnu.org/srv/git/lilypond
authorJohn Mandereau <john.mandereau@gmail.com>
Sat, 25 Jul 2009 18:56:25 +0000 (20:56 +0200)
committerJohn Mandereau <john.mandereau@gmail.com>
Sat, 25 Jul 2009 18:56:25 +0000 (20:56 +0200)
Conflicts:
Documentation/user/music-glossary.tely

53 files changed:
Documentation/music-glossary.tely
Documentation/notation/expressive.itely
Documentation/notation/text.itely
flower/include/interval.hh
lily/context-scheme.cc
lily/general-scheme.cc
lily/grob-scheme.cc
lily/grob.cc
lily/include/lily-guile.hh
lily/include/prob.hh
lily/include/skyline.hh
lily/include/spring.hh
lily/music-scheme.cc
lily/paper-book.cc
lily/paper-system-scheme.cc
lily/prob-scheme.cc
lily/program-option-scheme.cc
lily/simple-closure.cc
lily/simple-spacer.cc
lily/skyline.cc
lily/spring.cc
ly/dynamic-scripts-init.ly
ly/engraver-init.ly
ly/paper-defaults-init.ly
scm/GNUmakefile
scm/autochange.scm
scm/coverage.scm
scm/define-context-properties.scm
scm/define-event-classes.scm
scm/define-grob-interfaces.scm
scm/define-grob-properties.scm
scm/define-grobs.scm
scm/define-music-display-methods.scm
scm/define-music-properties.scm
scm/define-music-types.scm
scm/document-backend.scm
scm/document-music.scm
scm/documentation-generate.scm
scm/framework-eps.scm
scm/framework-null.scm
scm/framework-scm.scm
scm/framework-socket.scm
scm/layout-beam.scm
scm/layout-page-dump.scm
scm/layout-page-layout.scm
scm/layout-slur.scm
scm/lily.scm
scm/ly-syntax-constructors.scm
scm/memory-trace.scm
scm/parser-clef.scm
scm/parser-ly-from-scheme.scm
scm/song-util.scm
scm/song.scm

index 874c4827f9d7147bdc69d4e37cf7db2e2ed21343..c1762ecf2b1e947fb481040758a70c9374a6ade7 100644 (file)
@@ -372,6 +372,7 @@ Languages in this order.
 * harmony::
 * hemiola::
 * homophony::
+* hook::
 * hymn meter::
 * interval::
 * inversion::
@@ -857,8 +858,8 @@ I: alterazione,
 F: altération,
 D: Alteration,
 NL: verhoging of verlaging,
-DK: ?,
-S: ?,
+DK: Forandring,
+S: Förändring,
 FI: muunnettu.
 
 An alteration is the modification, raising or lowering, of a note's
@@ -1171,13 +1172,13 @@ FI: ylinouseva intervalli.
 @node augmentation
 @section augmentation
 
-ES: ?,
-I: ?,
+ES: aumentación,
+I: aumentazione,
 F: augmentation,
-D: ?,
-NL: ?,
-DK: ?,
-S: ?,
+D: Augmentation,
+NL: Augmentatio,
+DK: Forøgelse,
+S: Förstoring,
 FI: aika-arvojen pidentäminen.
 
 @c TODO: add definition.
@@ -4407,6 +4408,13 @@ the same rhythm (more or less).  In contrast to @emph{polyphony}.
 @ref{polyphony}.
 
 
+@node hook
+@section hook
+
+@seealso
+@ref{flag}.
+
+
 @node hymn meter
 @section hymn meter
 
index 56904b0067206e54fbdb1b3098d45101105e8ae7..3145261f6dcd0173e3caf7192edecce47625124f 100644 (file)
@@ -193,10 +193,10 @@ Absolute dynamic marks are specified using a command after a note,
 such as @code{c4\ff}.  The available dynamic marks are
 @code{\ppppp}, @code{\pppp}, @code{\ppp}, @code{\pp}, @code{\p},
 @code{\mp}, @code{\mf}, @code{\f}, @code{\ff}, @code{\fff},
-@code{\ffff}, @code{\fp}, @code{\sf}, @code{\sff}, @code{\sp},
-@code{\spp}, @code{\sfz}, and @code{\rfz}.  Dynamic marks may be
-manually placed above or below the staff; see @ref{Direction and
-placement}.
+@code{\ffff}, @code{\fffff}, @code{\fp}, @code{\sf}, @code{\sff},
+@code{\sp}, @code{\spp}, @code{\sfz}, and @code{\rfz}.  Dynamic
+marks may be manually placed above or below the staff; see
+@ref{Direction and placement}.
 
 @lilypond[verbatim,quote,relative=2]
 c2\ppp c\mp
index 516fd1e996ee114cfc34356e002f35cd0d06436a..41b8fb34a432f6dfc0626f038c8f0ec8330ef2d7 100644 (file)
@@ -53,7 +53,10 @@ information, see @ref{Text encoding}.}
 @cindex non-empty texts
 @cindex quoted text
 
-Simple @qq{quoted text} indications may be added to a score.
+Simple @qq{quoted text} indications may be added to a score, as
+demonstrated in the following example.  Such indications may be
+manually placed above or below the staff, using the syntax described
+in @ref{Direction and placement}.
 
 @lilypond[quote,verbatim,relative=2]
 a8^"pizz." g f e a4-"scherz." f
@@ -68,10 +71,6 @@ a8^\markup { \italic pizz. } g f e
 a4_\markup { \tiny scherz. \bold molto } f
 @end lilypond
 
-@qq{Quoted text} and @code{\markup} commands may be manually
-placed above or below the staff; see @ref{Direction and
-placement}.
-
 By default, text indications do not influence the note spacing.
 However, their widths can be taken into account:
 in the following example, the first text string does not affect
@@ -84,10 +83,13 @@ a4_"scherzando" f
 @end lilypond
 
 
-@predefined
 @funindex \textLengthOn
-@code{\textLengthOn},
+@funindex textLengthOn
 @funindex \textLengthOff
+@funindex textLengthOff
+
+@predefined
+@code{\textLengthOn},
 @code{\textLengthOff}.
 @endpredefined
 
@@ -103,6 +105,11 @@ Snippets:
 Internals Reference:
 @rinternals{TextScript}.
 
+@cindex text outside margin
+@cindex margin, text running over
+@cindex text, keeping inside margin
+@cindex lyrics, keeping inside margin
+
 
 @knownissues
 
@@ -119,13 +126,12 @@ default; to enable it, use
 @node Text spanners
 @unnumberedsubsubsec Text spanners
 
-@cindex Text spanners
+@cindex text spanners
 
 Some performance indications, e.g., @notation{rallentando} or
 @notation{accelerando}, are written as text and are extended over
-multiple notes with dotted lines.
-Such objects, called @qq{spanners}, may be created
-from one note to another using the following syntax:
+multiple notes with dotted lines.  Such objects, called @qq{spanners},
+may be created from one note to another using the following syntax:
 
 @lilypond[verbatim,quote,relative=2]
 \override TextSpanner #'(bound-details left text) = "rit."
@@ -133,11 +139,14 @@ b1\startTextSpan
 e,\stopTextSpan
 @end lilypond
 
+@cindex text spanners, formatting
+@cindex formatting text spanners
+
 @noindent
-The string to be printed is set through
-object properties.  By default it is printed in italic characters,
-but different formatting can be obtained using
-@code{\markup} blocks, as described in @ref{Formatting text}.
+The string to be printed is set through object properties.  By default
+it is printed in italic characters, but different formatting can be
+obtained using @code{\markup} blocks, as described in @ref{Formatting
+text}.
 
 @lilypond[quote,relative=2,verbatim]
 \override TextSpanner #'(bound-details left text) =
@@ -149,16 +158,18 @@ e,\stopTextSpan
 The line style, as well as the text string, can be defined as an
 object property.  This syntax is described in @ref{Line styles}.
 
-Text spanners may be manually placed above or below the staff; see
-@ref{Direction and placement}.
+
+@funindex \textSpannerUp
+@funindex textSpannerUp
+@funindex \textSpannerDown
+@funindex textSpannerDown
+@funindex \textSpannerNeutral
+@funindex textSpannerNeutral
 
 
 @predefined
-@funindex textSpannerUp
 @code{\textSpannerUp},
-@funindex textSpannerDown
 @code{\textSpannerDown},
-@funindex textSpannerNeutral
 @code{\textSpannerNeutral}.
 @endpredefined
 
@@ -166,8 +177,7 @@ Text spanners may be manually placed above or below the staff; see
 @seealso
 Notation Reference:
 @ref{Line styles},
-@ref{Dynamics},
-@ref{Direction and placement}.
+@ref{Dynamics}.
 
 Snippets:
 @rlsr{Text}.
@@ -179,11 +189,19 @@ Internals Reference:
 @node Text marks
 @unnumberedsubsubsec Text marks
 
+
+@cindex text marks
+@cindex marks, text
+@cindex text on bar line
 @cindex coda on bar line
 @cindex segno on bar line
 @cindex fermata on bar line
 @cindex bar lines, symbols on
+
 @funindex \mark
+@funindex mark
+@funindex \markup
+@funindex markup
 
 Various text elements may be added to a score using
 the syntax described in @ref{Rehearsal marks}:
@@ -270,10 +288,14 @@ all.
 @unnumberedsubsubsec Separate text
 
 @cindex separate text
+@cindex text, separate
 @cindex standalone text
 @cindex top-level text
+@cindex text, top-level
 @cindex text, standalone
+
 @funindex \markup
+@funindex markup
 
 A @code{\markup} block can exist by itself, outside of any
 any @code{\score} block, as a @qq{top-level
@@ -286,11 +308,9 @@ expression}.  This syntax is described in @ref{File structure}.
 @end lilypond
 
 @noindent
-This allows printing text separately
-from the music, which is particularly
-useful when the input file contains
-several music pieces, as described in
-@ref{Multiple scores in a book}.
+This allows printing text separately from the music, which is
+particularly useful when the input file contains several music pieces,
+as described in @ref{Multiple scores in a book}.
 
 @lilypond[quote,verbatim]
 \score {
@@ -310,8 +330,12 @@ within LilyPond.  This feature, and the specific syntax it
 requires, are described in @ref{Multi-page markup}.
 
 
-@predefined
+@funindex \markup
+@funindex markup
 @funindex \markuplines
+@funindex markuplines
+
+@predefined
 @code{\markup},
 @code{\markuplines}.
 @endpredefined
@@ -356,23 +380,27 @@ using the @code{\markup} mode specific syntax.
 @cindex text markup
 @cindex markup text
 @cindex typeset text
+
 @funindex \markup
+@funindex markup
 
 A @code{\markup} block is used to typeset text with an extensible
 syntax called @qq{markup mode}.
 
 @cindex markup expressions
+@cindex expressions, markup
 @cindex markup syntax
+@cindex synatax, markup
 
 The markup syntax is similar to LilyPond's usual syntax: a
 @code{\markup} expression is enclosed in curly braces @code{@{
 @dots{} @}}.  A single word is regarded as a minimal expression,
 and therefore does not need to be enclosed with braces.
 
-Unlike simple @qq{quoted text} indications, @code{\markup} blocks
-may contain nested expressions or markup commands,
-entered using the backslash @code{\} character.
-Such commands only affect the first following expression.
+Unlike simple @qq{quoted text} indications, @code{\markup} blocks may
+contain nested expressions or markup commands, entered using the
+backslash @code{\} character.  Such commands only affect the first
+following expression.
 
 @lilypond[quote,verbatim,relative=2]
 a1-\markup intenso
@@ -387,15 +415,17 @@ c
 @cindex special characters in markup mode
 @cindex markup mode, special characters
 @cindex reserved characters, printing
+@cindex printing reserved characters
 @cindex printing special characters
 @cindex quoted text in markup mode
+@cindex markup mode, quoted text
 
-A @code{\markup} block may also contain quoted text strings.
-Such strings are treated as minimal text expressions, and
-therefore any markup command or special character (such as
-@code{\} and @code{#}) will be printed verbatim without affecting
-the formatting of the text.  Double quotation marks themselves
-may be printed by preceding them with backslashes.
+A @code{\markup} block may also contain quoted text strings.  Such
+strings are treated as minimal text expressions, and therefore any
+markup command or special character (such as @code{\} and @code{#})
+will be printed verbatim without affecting the formatting of the text.
+Double quotation marks themselves may be printed by preceding them
+with backslashes.
 
 @lilypond[quote,verbatim,relative=2]
 a1^"\italic markup..."
@@ -403,12 +433,11 @@ a_\markup { \italic "... prints \"italic\" letters!" }
 a a
 @end lilypond
 
-To be treated as a distinct expression, a list of words needs
-to be enclosed with double quotes or preceded by a command.
-The way markup expressions are defined affects how these
-expressions will be stacked, centered and aligned; in the
-following example, the second @code{\markup} expression is
-treated the same as the first one:
+To be treated as a distinct expression, a list of words needs to be
+enclosed with double quotes or preceded by a command.  The way markup
+expressions are defined affects how these expressions will be stacked,
+centered and aligned; in the following example, the second
+@code{\markup} expression is treated the same as the first one:
 
 @lilypond[quote,verbatim,relative=2]
 c1^\markup { \center-column { a bbb c } }
@@ -455,9 +484,15 @@ Syntax errors for markup mode can be confusing.
 @unnumberedsubsubsec Selecting font and font size
 
 @cindex font switching
+@cindex changing fonts
+@cindex switching fonts
+
 @funindex \italic
+@funindex italic
 @funindex \bold
+@funindex bold
 @funindex \underline
+@funindex underline
 
 Basic font switching is supported in markup mode:
 
@@ -473,10 +508,15 @@ f1 d2 r
 
 @cindex font size
 @cindex text size
+
 @funindex \fontsize
+@funindex fontsize
 @funindex \smaller
+@funindex smaller
 @funindex \larger
+@funindex larger
 @funindex \magnify
+@funindex magnify
 
 The size of the characters can also be altered in different ways:
 @itemize
@@ -514,11 +554,14 @@ d c2 r8 c bes a g1
 
 @cindex subscript
 @cindex superscript
+
 @funindex \super
+@funindex super
 @funindex \sub
+@funindex sub
 
-Text may be printed as subscript or superscript. By default
-these are printed in a smaller size, but a normal size can be used as well:
+Text may be printed as subscript or superscript.  By default these are
+printed in a smaller size, but a normal size can be used as well:
 
 @lilypond[quote,verbatim]
 \markup {
@@ -532,11 +575,10 @@ these are printed in a smaller size, but a normal size can be used as well:
 
 @cindex font families
 
-The markup mode provides an easy way to select alternate
-font families.  The default serif font, of roman type, is
-automatically selected unless specified otherwise; on the
-last line of the following example, there is no difference
-between the first and the second word.
+The markup mode provides an easy way to select alternate font
+families.  The default serif font, of roman type, is automatically
+selected unless specified otherwise; on the last line of the following
+example, there is no difference between the first and the second word.
 
 @lilypond[quote,verbatim]
 \markup {
@@ -550,17 +592,16 @@ between the first and the second word.
 @end lilypond
 
 @noindent
-Some of these font families, used for specific items
-such as numbers or dynamics, do not provide all
-characters, as mentioned in @ref{New dynamic marks} and
-@ref{Manual repeat marks}.
+Some of these font families, used for specific items such as numbers
+or dynamics, do not provide all characters, as mentioned in @ref{New
+dynamic marks} and @ref{Manual repeat marks}.
 
 @c \concat is actually documented in Align (it is not
 @c a font-switching command). But we need it here. -vv
 
-When used inside a word, some font-switching or formatting
-commands may produce an unwanted blank space.  This can
-easily be solved by concatenating the text elements together:
+When used inside a word, some font-switching or formatting commands
+may produce an unwanted blank space.  This can easily be solved by
+concatenating the text elements together:
 
 @lilypond[quote,verbatim]
 \markup {
@@ -577,29 +618,38 @@ easily be solved by concatenating the text elements together:
 }
 @end lilypond
 
-An exhaustive list of font switching, and custom font usage
+An exhaustive list of font switching commands and custom font usage
 commands can be found in @ref{Font}.
 
 Defining custom font sets is also possible, as explained in
 @ref{Fonts}.
 
+@funindex \teeny
+@funindex teeny
+@funindex \tiny
+@funindex tiny
+@funindex \small
+@funindex small
+@funindex \normalsize
+@funindex normalsize
+@funindex \large
+@funindex large
+@funindex \huge
+@funindex huge
+@funindex \smaller
+@funindex smaller
+@funindex \larger
+@funindex larger
+
 
 @predefined
-@funindex \teeny
 @code{\teeny},
-@funindex \tiny
 @code{\tiny},
-@funindex \small
 @code{\small},
-@funindex \normalsize
 @code{\normalsize},
-@funindex \large
 @code{\large},
-@funindex \huge
 @code{\huge},
-@funindex \smaller
 @code{\smaller},
-@funindex \larger
 @code{\larger}.
 @endpredefined
 
@@ -626,24 +676,31 @@ Installed files:
 
 @cindex text, aligning
 @cindex aligning text
+@cindex aligning markup text
+@cindex aligning markups
+@cindex markups, aligning
+@cindex markup text, aligning
 
-This subsection discusses how to place text in markup mode.
-Markup objects can also be moved as a whole, using the syntax
-described in @rlearning{Moving objects}.
+This subsection discusses how to place text in markup mode.  Markup
+objects can also be moved as a whole, using the syntax described in
+@rlearning{Moving objects}.
 
 @c Padding commands should be mentioned on this page, but
 @c most of these require \box to be more clearly illustrated. -vv
 
 @cindex text, horizontal alignment
 @cindex horizontal text alignment
+
 @funindex \left-align
+@funindex left-align
 @funindex \center-align
+@funindex center-align
 @funindex \right-align
+@funindex right-align
 
-Markup objects may be aligned in different ways.  By default,
-a text indication is aligned on its left edge: in the following
-example, there is no difference
-between the first and the second markup.
+Markup objects may be aligned in different ways.  By default, a text
+indication is aligned on its left edge: in the following example,
+there is no difference between the first and the second markup.
 
 @lilypond[quote,verbatim,relative=2]
 d1-\markup { poco }
@@ -656,9 +713,9 @@ d-\markup { \right-align poco }
 @end lilypond
 
 @funindex \halign
+@funindex halign
 
-Horizontal alignment may be fine-tuned
-using a numeric value:
+Horizontal alignment may be fine-tuned using a numeric value:
 
 @lilypond[quote,verbatim,relative=2]
 a1-\markup { \halign #-1 poco }
@@ -671,24 +728,29 @@ a,-\markup { \halign #2 poco }
 @end lilypond
 
 @noindent
-Some objects may have alignment procedures of their own,
-and therefore are not affected by these commands.  It is
-possible to move such markup objects as a whole, as shown
-for instance in @ref{Text marks}.
+Some objects may have alignment procedures of their own, and therefore
+are not affected by these commands.  It is possible to move such
+markup objects as a whole, as shown for instance in @ref{Text marks}.
 
 @cindex text, vertical alignment
 @cindex vertical text alignment
+
 @funindex \raise
+@funindex raise
 @funindex \lower
+@funindex lower
+@funindex \null
+@funindex null
+
+@c QUERY Should the function of ``\null'' be clarified? rp
 
-Vertical alignment is a bit more complex.  As stated above,
-markup objects can be moved as a whole; however, it is also
-possible to move specific elements inside a markup block.
-In this case, the element to be moved needs to be preceded
-with an @emph{anchor point}, that can be another markup element
-or an invisible object.  The following example demonstrates these
-two possibilities; the last markup in this example has no anchor
-point, and therefore is not moved.
+Vertical alignment is a bit more complex.  As stated above, markup
+objects can be moved as a whole; however, it is also possible to move
+specific elements inside a markup block.  In this case, the element to
+be moved needs to be preceded with an @emph{anchor point}, that can be
+another markup element or an invisible object.  The following example
+demonstrates these two possibilities; the last markup in this example
+has no anchor point, and therefore is not moved.
 
 @lilypond[quote,verbatim,relative=1]
 d2^\markup {
@@ -708,13 +770,15 @@ a'4 a g2 a
 @end lilypond
 
 @funindex \general-align
+@funindex general-align
 @funindex \translate
+@funindex translate
 @funindex \translate-scaled
+@funindex translate-scaled
 
-Some commands can affect both the horizontal and vertical
-alignment of text objects in markup mode.  Any object
-affected by these commands must be preceded with an
-anchor point:
+Some commands can affect both the horizontal and vertical alignment of
+text objects in markup mode.  Any object affected by these commands
+must be preceded with an anchor point:
 
 @lilypond[quote,verbatim,relative=1]
 d2^\markup {
@@ -734,16 +798,21 @@ d,^\markup {
 a'4 a g2 a
 @end lilypond
 
-@funindex \column
-@funindex \center-column
-
 @cindex multi-line markup
+@cindex markup, multi-line
 @cindex multi-line text
+@cindex text, multi-line
+@cindex text in columns
 @cindex columns, text
 
-A markup object may include several lines of text.
-In the following example, each element or expression
-is placed on its own line, either left-aligned or centered:
+@funindex \column
+@funindex column
+@funindex \center-column
+@funindex center-column
+
+A markup object may include several lines of text.  In the following
+example, each element or expression is placed on its own line, either
+left-aligned or centered:
 
 @lilypond[quote,verbatim]
 \markup {
@@ -761,15 +830,17 @@ is placed on its own line, either left-aligned or centered:
 }
 @end lilypond
 
-@funindex \fill-line
-
 @cindex centering text on the page
+@cindex text, centering on the page
+@cindex markup, centering on the page
 
-Similarly, a list of elements or expressions may be
-spread to fill the entire horizontal line width (if there
-is only one element, it will be centered on the page).
-These expressions can, in turn, include multi-line text
-or any other markup expression:
+@funindex \fill-line
+@funindex fill-line
+
+Similarly, a list of elements or expressions may be spread to fill the
+entire horizontal line width (if there is only one element, it will be
+centered on the page).  These expressions can, in turn, include
+multi-line text or any other markup expression:
 
 @lilypond[quote,verbatim]
 \markup {
@@ -788,16 +859,21 @@ or any other markup expression:
 }
 @end lilypond
 
-@funindex \wordwrap
-@funindex \justify
-
 @cindex wordwrapped text
 @cindex justified text
+@cindex text, justified
+@cindex text, wordwrapped
+@cindex markup text, wordwrapped
+@cindex markup text, justified
+
+@funindex \wordwrap
+@funindex wordwrap
+@funindex \justify
+@funindex justify
 
-Long text indications can also be automatically wrapped
-accordingly to the given line width.  These will be
-either left-aligned or justified, as shown in
-the following example.
+Long text indications can also be automatically wrapped accordingly to
+the given line width.  These will be either left-aligned or justified,
+as shown in the following example.
 
 @lilypond[quote,verbatim]
 \markup {
@@ -825,8 +901,12 @@ the following example.
 }
 @end lilypond
 
-An exhaustive list of text alignment commands
-can be found in @ref{Align}.
+@cindex text alignment commands
+@cindex markup text alignment commands
+@cindex alignment, text, commands
+
+An exhaustive list of text alignment commands can be found in
+@ref{Align}.
 
 
 @seealso
@@ -851,21 +931,33 @@ Installed files:
 
 @cindex graphics, embedding
 @cindex drawing graphic objects
+@cindex graphic objects, drawing
+@cindex embedding graphic objects
+@cindex graphic objects, embedding
 
-Various graphic objects may be added to a score,
-using markup commands.
+Various graphic objects may be added to a score, using markup
+commands.
+
+@cindex decorating text
+@cindex framing text
+@cindex text, framing
+@cindex text, decorating
+@cindex markup text, decorating
+@cindex markup text, framing
 
 @funindex \box
+@funindex box
 @funindex \circle
+@funindex circle
 @funindex \rounded-box
+@funindex rounded-box
 @funindex \bracket
+@funindex bracket
 @funindex \hbracket
+@funindex hbracket
 
-@cindex decorating text
-@cindex framing text
-
-Some markup commands allow decoration of text elements
-with graphics, as demonstrated in the following example.
+Some markup commands allow decoration of text elements with graphics,
+as demonstrated in the following example.
 
 @lilypond[quote,verbatim]
 \markup \fill-line {
@@ -884,17 +976,22 @@ with graphics, as demonstrated in the following example.
 }
 @end lilypond
 
+@cindex padding around text
+@cindex text padding
+@cindex markup text padding
+
 @funindex \pad-markup
+@funindex pad-markup
 @funindex \pad-x
+@funindex pad-x
 @funindex \pad-to-box
+@funindex pad-to-box
 @funindex \pad-around
+@funindex pad-around
 
-@cindex padding around text
-@cindex text padding
-
-Some commands may require an increase in the padding around
-the text; this is achieved with some markup commands
-exhaustively described in @ref{Align}.
+Some commands may require an increase in the padding around the text;
+this is achieved with some markup commands exhaustively described in
+@ref{Align}.
 
 @lilypond[quote,verbatim]
 \markup \fill-line {
@@ -918,19 +1015,26 @@ Flute quartet keeps very uneven time."
 }
 @end lilypond
 
+@cindex graphic notation
+@cindex symbols, non-musical
+@cindex non-musical symbols
+@cindex notation, graphic
+
 @funindex \combine
+@funindex combine
 @funindex \draw-circle
+@funindex draw-circle
 @funindex \filled-box
+@funindex filled-box
 @funindex \triangle
+@funindex triangle
 @funindex \draw-line
+@funindex draw-line
 @funindex \arrow-head
+@funindex arrow-head
 
-@cindex graphic notation
-@cindex symbols, non-musical
-
-Other graphic elements or symbols may be printed
-without requiring any text.  As with any markup
-expression, such objects can be combined.
+Other graphic elements or symbols may be printed without requiring any
+text.  As with any markup expression, such objects can be combined.
 
 @lilypond[quote,verbatim]
 \markup {
@@ -948,21 +1052,21 @@ expression, such objects can be combined.
 }
 @end lilypond
 
-@funindex \epsfile
-@funindex \postscript
-
 @cindex embedded graphics
 @cindex images, embedding
 @cindex graphics, embedding
 @cindex postscript
 
-Advanced graphic features include the ability to
-include external image files converted to the
-Encapsulated PostScript format (@emph{eps}), or
-to directly embed graphics into the input file,
-using native PostScript code.  In such a case, it
-may be useful to explicitly specify the size of the
-drawing, as demonstrated below:
+@funindex \epsfile
+@funindex epsfile
+@funindex \postscript
+@funindex postscript
+
+Advanced graphic features include the ability to include external
+image files converted to the Encapsulated PostScript format
+(@emph{eps}), or to directly embed graphics into the input file, using
+native PostScript code.  In such a case, it may be useful to
+explicitely specify the size of the drawing, as demonstrated below:
 
 @lilypond[quote,verbatim,relative=1]
 c1^\markup {
@@ -984,8 +1088,8 @@ c1^\markup {
 c
 @end lilypond
 
-An exhaustive list of graphics-specific commands
-can be found in @ref{Graphic}.
+An exhaustive list of graphics-specific commands can be found in
+@ref{Graphic}.
 
 
 @seealso
@@ -1006,11 +1110,14 @@ Installed files:
 @node Music notation inside markup
 @unnumberedsubsubsec Music notation inside markup
 
-Various musical notation elements may be added
-to a score, inside a markup object.
+@cindex notation inside markup
+@cindex music inside markup
+@cindex markup, music notation inside
+
+Various musical notation elements may be added to a score, inside a
+markup object.
 
-Notes and accidentals can be entered using markup
-commands:
+Notes and accidentals can be entered using markup commands:
 
 @lilypond[quote,verbatim,relative=2]
 a2 a^\markup {
@@ -1051,10 +1158,10 @@ d-\markup {
 }
 @end lilypond
 
-More generally, any available musical symbol may be
-included separately in a markup object, as demonstrated
-below; an exhaustive list of these symbols and their
-names can be found in @ref{The Feta font}.
+More generally, any available musical symbol may be included
+separately in a markup object, as demonstrated below; an exhaustive
+list of these symbols and their names can be found in @ref{The Feta
+font}.
 
 @lilypond[quote,verbatim,relative=2]
 c2
@@ -1066,9 +1173,8 @@ c2^\markup { \musicglyph #"timesig.neomensural94" }
 @end lilypond
 
 @noindent
-Another way of printing non-text glyphs is described in
-@ref{Fonts explained}.  This is useful for printing braces of
-various sizes.
+Another way of printing non-text glyphs is described in @ref{Fonts
+explained}.  This is useful for printing braces of various sizes.
 
 The markup mode also supports diagrams for specific
 instruments:
@@ -1095,9 +1201,12 @@ c^\markup {
 @noindent
 Such diagrams are documented in @ref{Instrument Specific Markup}.
 
-A whole score can even be nested inside a markup object.
-In such a case, the nested @code{\score} block must
-contain a @code{\layout} block, as demonstrated here:
+@cindex score inside markup
+@cindex markup, score inside
+
+A whole score can even be nested inside a markup object.  In such a
+case, the nested @code{\score} block must contain a @code{\layout}
+block, as demonstrated here:
 
 @lilypond[quote,verbatim,relative=1]
 c4 d^\markup {
@@ -1110,8 +1219,8 @@ e f |
 c d e f
 @end lilypond
 
-An exhaustive list of music notation related commands can be
-found in @ref{Music}.
+An exhaustive list of music notation related commands can be found in
+@ref{Music}.
 
 
 @seealso
@@ -1134,9 +1243,21 @@ Installed files:
 @node Multi-page markup
 @unnumberedsubsubsec Multi-page markup
 
-Although standard markup objects are not breakable, a
-specific syntax makes it possible to enter lines of text that can
-spread over multiple pages:
+@cindex multi-page markup
+@cindex markup, multi-page
+@cindex markup text, multi-page
+@cindex text spread over multiple pages
+
+@funindex \markuplines
+@funindex markuplines
+@funindex \justified-lines
+@funindex justified-lines
+@funindex \wordwrap-lines
+@funindex wordwrap-lines
+
+Although standard markup objects are not breakable, a specific syntax
+makes it possible to enter lines of text that can spread over multiple
+pages:
 
 @lilypond[quote,verbatim]
 \markuplines {
@@ -1179,9 +1300,10 @@ Internals Reference: @rinternals{TextScript}.
 Installed files:
 @file{scm/@/define@/-markup@/-commands@/.scm}.
 
+@funindex \markuplines
+@funindex markuplines
 
 @predefined
-@funindex \markuplines
 @code{\markuplines}.
 @endpredefined
 
@@ -1189,8 +1311,8 @@ Installed files:
 @node Fonts
 @subsection Fonts
 
-This section presents the way fonts are handled,
-and how they may be changed in scores.
+This section presents the way fonts are handled, and how they may be
+changed in scores.
 
 @menu
 * Fonts explained::
@@ -1204,16 +1326,19 @@ and how they may be changed in scores.
 @cindex Pango
 @cindex fonts, explained
 @cindex braces, various sizes
+@cindex fonts, non-text in markup
+@cindex non-text fonts in markup
+
 @funindex font-interface
 
-Fonts are handled through several libraries.
-FontConfig is used to detect available fonts on the system;
-the selected fonts are rendered using Pango.
+Fonts are handled through several libraries.  FontConfig is used to
+detect available fonts on the system; the selected fonts are rendered
+using Pango.
 
-Music notation fonts can be described as a set of
-specific glyphs, ordered in several families.
-The following syntax allows various LilyPond @code{feta} non-text
-fonts to be used directly in markup mode:
+Music notation fonts can be described as a set of specific glyphs,
+ordered in several families.  The following syntax allows various
+LilyPond @code{feta} non-text fonts to be used directly in markup
+mode:
 
 @lilypond[quote,verbatim,relative=2]
 a1^\markup {
@@ -1231,29 +1356,27 @@ a1^\markup {
 @end lilypond
 
 @noindent
-However, all these glyphs except the braces of various sizes
-contained in @code{fetaBraces} are available using the
-simpler syntax described in @ref{Music notation inside markup}.
+However, all these glyphs except the braces of various sizes contained
+in @code{fetaBraces} are available using the simpler syntax described
+in @ref{Music notation inside markup}.
 
-When using the glyphs contained in @code{fetaBraces}, the size of
-the brace is specified by the numerical part of the glyph name, in
+When using the glyphs contained in @code{fetaBraces}, the size of the
+brace is specified by the numerical part of the glyph name, in
 arbitrary units.  Any integer from @code{0} to @code{575} inclusive
 may be specified, @code{0} giving the smallest brace.  The optimum
 value must be determined by trial and error.  These glyphs are all
 left braces; right braces may be obtained by rotation, see
 @ref{Rotating objects}.
 
-Three families of text fonts are made available: the
-@emph{roman} (serif) font, that defaults to New Century
-Schoolbook, the @emph{sans} font and the monospaced
-@emph{typewriter} font -- these last two families are
-determined by the Pango installation.
+Three families of text fonts are made available: the @emph{roman}
+(serif) font, that defaults to New Century Schoolbook, the @emph{sans}
+font and the monospaced @emph{typewriter} font -- these last two
+families are determined by the Pango installation.
 
-Each family may include different shapes and series.
-The following example demonstrates the ability to select
-alternate families, shapes, series and sizes.  The value
-supplied to @code{font-size} is the required change from the
-default size.
+Each family may include different shapes and series.  The following
+example demonstrates the ability to select alternate families, shapes,
+series and sizes.  The value supplied to @code{font-size} is the
+required change from the default size.
 
 @lilypond[quote,verbatim,relative=2]
 \override Score.RehearsalMark #'font-family = #'typewriter
@@ -1266,9 +1389,9 @@ c4^smaller
 @end lilypond
 
 @noindent
-A similar syntax may be used in markup mode, however in this case
-it is preferable to use the simpler syntax explained in
-@ref{Selecting font and font size}:
+A similar syntax may be used in markup mode; however in this case it
+is preferable to use the simpler syntax explained in @ref{Selecting
+font and font size}:
 
 @lilypond[quote,verbatim]
 \markup {
@@ -1292,10 +1415,9 @@ it is preferable to use the simpler syntax explained in
 }
 @end lilypond
 
-Although it is easy to switch between preconfigured fonts,
-it is also possible to use other fonts, as explained in the
-following sections: @ref{Single entry fonts} and
-@ref{Entire document fonts}.
+Although it is easy to switch between preconfigured fonts, it is also
+possible to use other fonts, as explained in the following sections:
+@ref{Single entry fonts} and @ref{Entire document fonts}.
 
 
 @seealso
@@ -1309,8 +1431,8 @@ Notation Reference:
 @node Single entry fonts
 @unnumberedsubsubsec Single entry fonts
 
-Any font that is installed on the operating system and recognized
-by FontConfig may be used in a score, using the following syntax:
+Any font that is installed on the operating system and recognized by
+FontConfig may be used in a score, using the following syntax:
 
 @lilypond[quote,verbatim,relative=2]
 \override Staff.TimeSignature #'font-name = #"Charter"
@@ -1323,10 +1445,15 @@ a1_\markup {
 }
 @end lilypond
 
+@cindex fonts, finding available
+@cindex finding available fonts
+@cindex listing available fonts
+@cindex available fonts, listing
+
 @funindex show-available-fonts
 
-The following command displays a list of all available fonts
-on the operating system:
+The following command displays a list of all available fonts on the
+operating system:
 
 @example
 lilypond -dshow-available-fonts x
@@ -1358,6 +1485,8 @@ specifying them, in that order, as shown in the example below.  For an
 explanation of fonts, see @ref{Fonts explained}.
 
 @cindex font families, setting
+@cindex fonts, changing for entire document
+
 @funindex make-pango-font-tree
 
 @lilypond[verbatim,quote]
index 27e221af8c7d61a3d937a7971941adec7fb2364c..edb76deb1a7ae729b2267cd4ee6a80998806e110 100644 (file)
@@ -121,7 +121,7 @@ struct Interval_t : public Drul_array<T>
 
   static bool left_less (Interval_t<T> const &a, Interval_t<T> const &b)
   {
-    return a[LEFT] < b[RIGHT];
+    return a[LEFT] < b[LEFT];
   }
 };
 
index 9ce9a9baa0a2f88f3ffbd0d84efa32cbbb9da1a4..aef54047684f0d82bed80f451cfa0134be182c6b 100644 (file)
@@ -69,14 +69,14 @@ LY_DEFINE (ly_context_pushpop_property, "ly:context-pushpop-property",
 }
 
 LY_DEFINE (ly_context_property, "ly:context-property",
-          2, 0, 0, (SCM c, SCM name),
-          "Return the value of @var{name} from context @var{c}.")
+          2, 0, 0, (SCM context, SCM sym),
+          "Return the value for property @var{sym} in @var{context}.")
 {
-  LY_ASSERT_SMOB (Context, c, 1);
-  LY_ASSERT_TYPE (ly_is_symbol, name, 2);
+  LY_ASSERT_SMOB (Context, context, 1);
+  LY_ASSERT_TYPE (ly_is_symbol, sym, 2);
 
-  Context *t = unsmob_context (c);
-  return t->internal_get_property (name);
+  Context *t = unsmob_context (context);
+  return t->internal_get_property (sym);
 }
 
 LY_DEFINE (ly_context_set_property_x, "ly:context-set-property!",
index 8b5766387e0de808afe9c81d567c5cd9dfc16844..0cf2299b2ec6c9e0579d99846060ad69c196587b 100644 (file)
@@ -140,9 +140,10 @@ LY_DEFINE (ly_warning, "ly:warning",
 
 LY_DEFINE (ly_dir_p, "ly:dir?",
           1, 0, 0, (SCM s),
-          "A type predicate.  The direction@tie{}@code{s} is @code{-1},"
-          " @code{0} or@tie{}@code{1}, where @code{-1} represents"
-          " left or down and @code{1} represents right or up.")
+          "Is @var{s} a direction?  Valid directions are @code{-1},"
+          " @code{0}, or@tie{}@code{1}, where @code{-1} represents"
+          " left or down, @code{1} represents right or up, and @code{0}"
+          " represents a neutral direction.")
 {
   if (scm_is_number (s))
     {
@@ -311,10 +312,10 @@ LY_DEFINE (ly_effective_prefix, "ly:effective-prefix",
 }
 
 LY_DEFINE (ly_chain_assoc_get, "ly:chain-assoc-get",
-          2, 1, 0, (SCM key, SCM achain, SCM dfault),
+          2, 1, 0, (SCM key, SCM achain, SCM val),
           "Return value for @var{key} from a list of alists @var{achain}."
-          "  If no entry is found, return @var{dfault} or @code{#f} if no"
-          " @var{dfault} is specified.")
+          "  If no entry is found, return @var{val} or @code{#f} if"
+          " @var{val} is not specified.")
 {
   if (scm_is_pair (achain))
     {
@@ -322,9 +323,9 @@ LY_DEFINE (ly_chain_assoc_get, "ly:chain-assoc-get",
       if (scm_is_pair (handle))
        return scm_cdr (handle);
       else
-       return ly_chain_assoc_get (key, scm_cdr (achain), dfault);
+       return ly_chain_assoc_get (key, scm_cdr (achain), val);
     }
-  return dfault == SCM_UNDEFINED ? SCM_BOOL_F : dfault;
+  return val == SCM_UNDEFINED ? SCM_BOOL_F : val;
 }
 
 
index 9c6f23889577afd696bb2656a3ec89b063fec81c..c53aa6304dc05237af0b7fca29af457444ec068f 100644 (file)
@@ -17,7 +17,8 @@
 
 LY_DEFINE (ly_grob_property_data, "ly:grob-property-data",
           2, 0, 0, (SCM grob, SCM sym),
-          "Retrieve @var{sym} for @var{grob} but don't process callbacks.")
+          "Return the value for property @var{sym} of @var{grob},"
+          " but do not process callbacks.")
 {
   Grob *sc = unsmob_grob (grob);
 
@@ -45,22 +46,21 @@ LY_DEFINE (ly_grob_set_property_x, "ly:grob-set-property!",
 }
 
 LY_DEFINE (ly_grob_property, "ly:grob-property",
-          2, 1, 0, (SCM grob, SCM sym, SCM deflt),
-          "Return the value of a value in grob@tie{}@var{g} of property"
-          " @var{sym}.  It returns @code{'()} (end-of-list) or"
-          " @var{deflt} (if specified) if @var{sym} is undefined"
-          " in@tie{}@var{g}.")
+          2, 1, 0, (SCM grob, SCM sym, SCM val),
+          "Return the value for property @var{sym} of @var{grob}."
+          "  If no value is found, return @var{val} or @code{'()}"
+          " if @var{val} is not specified.")
 {
   Grob *sc = unsmob_grob (grob);
-   
+
   LY_ASSERT_SMOB (Grob, grob, 1);
   LY_ASSERT_TYPE (ly_is_symbol, sym, 2);
-  if (deflt == SCM_UNDEFINED)
-    deflt = SCM_EOL;
+  if (val == SCM_UNDEFINED)
+    val = SCM_EOL;
 
   SCM retval = sc->internal_get_property (sym);
   if (retval == SCM_EOL)
-    retval = deflt;
+    retval = val;
   
   return retval;
 }
index cb6948e32c54c044609396936ad6242fe2b9463b..5660b688b81fe477be9a4a538a5d69f02f1f074d 100644 (file)
@@ -613,8 +613,8 @@ ADD_INTERFACE (Grob,
               " properties are variables that are specific to one grob."
               "  Typically, lists of other objects, or results from"
               " computations are stored in mutable properties.  In"
-              " particular, every call to @code{set-grob-property} (or its"
-              " C++ equivalent) sets a mutable property.\n"
+              " particular, every call to @code{ly:grob-set-property!}"
+              " (or its C++ equivalent) sets a mutable property.\n"
               "\n"
               "The properties @code{after-line-breaking} and"
               " @code{before-line-breaking} are dummies that are not"
index 797d22d0a58550a50c86b7274fcccc1914fe4a6a..88c7fe8a1ca9b5db3e90b2025bf89fcf99419319 100644 (file)
@@ -48,7 +48,7 @@ SCM ly_rational2scm (Rational);
 SCM ly_offset2scm (Offset);
 Offset ly_scm2offset (SCM);
 SCM ly_chain_assoc (SCM key, SCM achain);
-SCM ly_chain_assoc_get (SCM key, SCM achain, SCM dfault);
+SCM ly_chain_assoc_get (SCM key, SCM achain, SCM val);
 SCM ly_assoc_cdr (SCM key, SCM alist);
 SCM ly_assoc_get (SCM key, SCM alist, SCM def);
 Interval ly_scm2interval (SCM);
index 069aa07924ae769af3de55a49e584ee2e490a679..7e39582da64fbc8947ff3c4428f95ed8bc65db16 100644 (file)
@@ -50,7 +50,7 @@ public:
 DECLARE_UNSMOB(Prob,prob);
 
 SCM ly_prob_set_property_x (SCM system, SCM sym, SCM value);
-SCM ly_prob_property (SCM system, SCM sym, SCM dfault);
+SCM ly_prob_property (SCM prob, SCM sym, SCM val);
 
 SCM ly_prob_type_p (SCM obj, SCM sym);
   
index 26830b92c954062a029fc88892576c6e5e2031c0..38d922c6a51a1b5d1118d5a4834e542f039c9ca3 100644 (file)
@@ -67,6 +67,7 @@ public:
   Real height (Real airplane) const;
   Real max_height () const;
   void set_minimum_height (Real height);
+  void clear ();
   bool is_empty () const;
 };
 
index c379889adb859b067bf6445b36d22ae90756243b..4288af58848b5b4f848e9307749cf6aa762c6ced 100644 (file)
@@ -39,6 +39,7 @@ public:
 
   void set_distance (Real);
   void set_min_distance (Real);
+  void ensure_min_distance (Real);
   void set_inverse_stretch_strength (Real);
   void set_inverse_compress_strength (Real);
   void set_blocking_force (Real);
index c90acd5f17f68c968e204ae5e36876828f409f21..1bef06a8ed82a60615676d6dd82ac7457f16300c 100644 (file)
@@ -21,13 +21,14 @@ LY_DEFINE (ly_music_length, "ly:music-length",
   return sc->get_length ().smobbed_copy ();
 }
 
-LY_DEFINE (ly_music_property,
-          "ly:music-property", 2, 1, 0, (SCM mus, SCM sym, SCM dfault),
-          "Get the property @var{sym} of music expression @var{mus}."
-          "  If @var{sym} is undefined, return @code{'()}.")
+LY_DEFINE (ly_music_property, "ly:music-property",
+          2, 1, 0, (SCM mus, SCM sym, SCM val),
+          "Return the value for property @var{sym} of music expression"
+          " @var{mus}.  If no value is found, return @var{val} or"
+          " @code{'()} if @var{val} is not specified.")
 {
   LY_ASSERT_TYPE (unsmob_music, mus, 1);
-  return ly_prob_property (mus, sym, dfault);
+  return ly_prob_property (mus, sym, val);
 }
 
 LY_DEFINE (ly_music_set_property_x, "ly:music-set-property!",
@@ -57,7 +58,7 @@ LY_DEFINE (ly_make_music, "ly:make-music",
 
 LY_DEFINE (ly_music_p, "ly:music?",
           1, 0, 0, (SCM obj),
-          "Type predicate.")
+          "Is @var{obj} a Music object?")
 {
   return scm_from_bool (unsmob_music (obj));
 }
@@ -76,8 +77,7 @@ LY_DEFINE (ly_music_mutable_properties, "ly:music-mutable-properties",
 
 LY_DEFINE (ly_music_list_p, "ly:music-list?",
           1, 0, 0, (SCM lst),
-          "Type predicate: Return true if @var{lst} is a list"
-          " of music objects.")
+          "Is @var{lst} a list of music objects?")
 {
   if (scm_list_p (lst) == SCM_BOOL_T)
     while (scm_is_pair (lst))
index fd519d5d751fee66e7af54d84a8f14b989c40e04..3db1321f5e495b199915d39007a937638b71f76d 100644 (file)
@@ -601,8 +601,11 @@ Paper_book::pages ()
     }
   else if (scm_is_pair (scores_))
     {
-      SCM proc = paper_->c_variable ("page-breaking-wrapper");
-      pages_ = scm_apply_0 (proc, scm_list_1 (self_scm ()));
+      SCM page_breaking = paper_->c_variable ("page-breaking");
+      pages_ = scm_apply_0 (page_breaking, scm_list_1 (self_scm ()));
+      SCM post_process = paper_->c_variable ("page-post-process");
+      if (ly_is_procedure (post_process))
+       scm_apply_2 (post_process, paper_->self_scm (), pages_, SCM_EOL);
 
       /* set systems_ from the pages */
       if (systems_ == SCM_BOOL_F)
index 137cef0c5c2f22f6d0c22febf16324babaf34206..b0f74eac0effbc7b77146b61788b427507bd6461 100644 (file)
@@ -13,7 +13,7 @@
   
 LY_DEFINE (ly_paper_system_p, "ly:paper-system?",
          1, 0, 0, (SCM obj),
-         "Type predicate.")
+         "Is @var{obj} a Prob object of type @code{paper-system}?")
 {
   return ly_prob_type_p (obj, ly_symbol2scm ("paper-system"));
 }
index cc74f8ada128f525e6970b5d347fddaf709a7871..0f8c0f6baeb01ab2076a2bb4a721b4aa2cdb6975 100644 (file)
@@ -31,19 +31,21 @@ LY_DEFINE (ly_prob_property_p, "ly:prob-property?",
 }
 
 LY_DEFINE (ly_prob_property, "ly:prob-property",
-          2, 1, 0, (SCM obj, SCM sym, SCM dfault),
-          "Return the value for @var{sym}.")
+          2, 1, 0, (SCM prob, SCM sym, SCM val),
+          "Return the value for property @var{sym} of Prob object"
+          " @var{prob}.  If no value is found, return @var{val} or"
+          " @code{'()} if @var{val} is not specified.")
 {
-  LY_ASSERT_SMOB (Prob, obj, 1);
-  Prob *ps = unsmob_prob (obj);
+  LY_ASSERT_SMOB (Prob, prob, 1);
+  Prob *ps = unsmob_prob (prob);
   LY_ASSERT_TYPE (ly_is_symbol, sym, 2);
 
-  if (dfault == SCM_UNDEFINED)
-    dfault = SCM_EOL;
+  if (val == SCM_UNDEFINED)
+    val = SCM_EOL;
 
   SCM retval = ps->internal_get_property (sym);
   if (retval == SCM_EOL)
-    return dfault;
+    return val;
   else
     return retval;
 }
index dca049028860bd85bdca04903588d5cf91a505ee..bfa5d09934abed2ba5b1df685f6282909a2a99c3 100644 (file)
@@ -183,7 +183,8 @@ LY_DEFINE (ly_option_usage, "ly:option-usage", 0, 0, 0, (),
 
 LY_DEFINE (ly_add_option, "ly:add-option", 3, 0, 0,
           (SCM sym, SCM val, SCM description),
-          "Add a program option @var{sym} with default @var{val}.")
+          "Add a program option @var{sym}.  @var{val} is the default"
+          " value and @var{description} is a string description.")
 {
   if (!option_hash)
     option_hash = scm_permanent_object (scm_c_make_hash_table (11));
index 34bfd58f1bb6d06741b031a3d1cee0785d451e77..dc4c3f4f7fdffdcc28bcae04413b07e3f6b40b02 100644 (file)
@@ -84,8 +84,8 @@ evaluate_with_simple_closure (SCM delayed_argument,
 }
 
 LY_DEFINE (ly_simple_closure_p, "ly:simple-closure?",
-         1,0,0, (SCM clos),
-         "Type predicate.")
+         1, 0, 0, (SCM clos),
+         "Is @var{clos} a simple closure?")
 {
   return scm_from_bool (is_simple_closure (clos));
 }
index 1d38d9a70fda59eab91069b691339bd6a7d6b98d..bab2a05dcbd831b927ce25c76b725b806eec18e7 100644 (file)
@@ -216,7 +216,9 @@ Simple_spacer::compress_line ()
     {
       Spring sp = sorted_springs[i];
 
-      assert (sp.blocking_force () <= cur_force);
+      if (sp.blocking_force () > cur_force)
+       continue;
+
       if (isinf (sp.blocking_force ()))
        break;
 
@@ -234,7 +236,7 @@ Simple_spacer::compress_line ()
        }
       
       cur_len -= block_dist;
-      inv_hooke -= sp.inverse_compress_strength ();
+      inv_hooke -= compressed ? sp.inverse_compress_strength () : sp.inverse_stretch_strength ();
       cur_force = sp.blocking_force ();
     }
 
index a3047a98bbcefffe4c071df3fa49618ee9ddc453..e733cfd0802ffab5f5c71328b66d8d4ddd173965 100644 (file)
@@ -542,6 +542,12 @@ Skyline::is_empty () const
   return b.end_ == infinity_f && b.y_intercept_ == -infinity_f;
 }
 
+void
+Skyline::clear ()
+{
+  buildings_.clear ();
+  empty_skyline (&buildings_);
+}
 
 /****************************************************************/
 
index 67d41c9c39640e0add681aa50728ec5e5f240861..fd8e0147cbd5accf74879376ad00f344c46eae5e 100644 (file)
@@ -32,10 +32,16 @@ Spring::Spring (Real dist, Real min_dist)
 void
 Spring::update_blocking_force ()
 {
-  if (distance_ == min_distance_)
-    blocking_force_ = 0.0;
+  if (min_distance_ > distance_)
+    blocking_force_ = (min_distance_ - distance_) / inverse_stretch_strength_;
   else
     blocking_force_ = (min_distance_ - distance_) / inverse_compress_strength_;
+
+  if (isnan (blocking_force_) || blocking_force_ == infinity_f)
+    blocking_force_ = 0;
+
+  if (blocking_force_ >= 0)
+    inverse_compress_strength_ = 0;
 }
 
 /* scale a spring, but in a way that doesn't violate min_distance */
@@ -43,7 +49,7 @@ void
 Spring::operator*= (Real r)
 {
   distance_ = max (min_distance_, distance_ * r);
-  inverse_compress_strength_ = distance_ - min_distance_;
+  inverse_compress_strength_ = max (0.0, distance_ - min_distance_);
   inverse_stretch_strength_ *= 0.8;
 }
 
@@ -90,7 +96,6 @@ Spring::set_distance (Real d)
     programming_error ("insane spring distance requested, ignoring it");
   else
     {
-      min_distance_ = min (min_distance_, d);
       distance_ = d;
       update_blocking_force ();
     }
@@ -104,11 +109,16 @@ Spring::set_min_distance (Real d)
   else
     {
       min_distance_ = d;
-      distance_ = max (distance_, min_distance_);
       update_blocking_force ();
     }
 }
 
+void
+Spring::ensure_min_distance (Real d)
+{
+  set_min_distance (max (d, min_distance_));
+}
+
 void
 Spring::set_inverse_stretch_strength (Real f)
 {
@@ -147,8 +157,8 @@ Spring::set_blocking_force (Real f)
 void
 Spring::set_default_strength ()
 {
-  inverse_compress_strength_ = distance_ - min_distance_;
-  inverse_stretch_strength_ = distance_ - min_distance_;
+  inverse_compress_strength_ = (distance_ >= min_distance_) ? distance_ - min_distance_ : 0;
+  inverse_stretch_strength_ = distance_;
 }
 
 Real
@@ -163,5 +173,5 @@ Spring::length (Real f) const
       force = 0.0;
     }
 
-  return distance_ + force * inv_k;
+  return max (min_distance_, distance_ + force * inv_k);
 }
index a29430f15898a003428b01f5367005d5836343dc..8db53c4d3c5603f70e795e19ae42af1854e5a1da 100644 (file)
@@ -7,6 +7,8 @@
 #(define (make-dynamic-script str)
    (make-music 'AbsoluteDynamicEvent
               'text str))
+
+%% don't exceed ppppp or fffff; see midi.scm.
 ppppp = #(make-dynamic-script "ppppp")
 pppp = #(make-dynamic-script "pppp")
 ppp = #(make-dynamic-script "ppp")
@@ -20,6 +22,7 @@ mf = #(make-dynamic-script "mf")
 ff = #(make-dynamic-script "ff")
 fff = #(make-dynamic-script "fff")
 ffff = #(make-dynamic-script "ffff")
+fffff = #(make-dynamic-script "fffff")
 fp = #(make-dynamic-script "fp")
 sf = #(make-dynamic-script "sf")
 sfp = #(make-dynamic-script "sfp")
index ba7b18b218946e30284c14a30b8b91dd55f72ce7..55da3ff6f61ddd5575bd1639f9157b8811c098e8 100644 (file)
@@ -14,7 +14,7 @@
 \context {
   \type "Engraver_group"
   \name "FretBoards"
-
+  \description "A context for displaying fret diagrams."
 
   \consists "Fretboard_engraver"
   \consists "Rest_swallow_translator" 
@@ -375,6 +375,7 @@ printing of a single line of lyrics."
 \context {
   \type "Engraver_group"
   \name NoteNames
+  \description "A context for printing the names of notes."
   \consists "Axis_group_engraver"
 
   \override VerticalAxisGroup #'minimum-Y-extent = ##f
@@ -627,6 +628,7 @@ automatically when an output definition (a @code{\score} or
 \context {
   \type "Engraver_group"
   \name "FiguredBass"
+  \description "A context for printing a figured bass line."
 
   \consists "Figured_bass_engraver"
   \consists "Note_swallow_translator"
index 9d2725ede0d20f533f880105500cf9d86c6b942c..4bd187cbbe7cf6795d2882f5db6cafe0932dfd4e 100644 (file)
@@ -97,7 +97,6 @@
        (word-space . 0.6)))
 
     #(define page-breaking ly:optimal-breaking)
-    #(define page-breaking-wrapper page-breaking-wrapper)
     #(define page-post-process post-process-pages)
 
     #(define write-page-layout (ly:get-option 'dump-tweaks))
index f2555bb48132249db9f21b73362149beba2b87e7..d3f055f77f9bfa8c6fea9bb4699c9be8ab0b133f 100644 (file)
@@ -1,4 +1,4 @@
-# scm/Makefile
+# scm/GNUmakefile
 
 depth = ..
 
index c445997199b8f53e6ac968cdac97b0098a3e594c..54f5e96250ce90e376a9113856ac28f419e1a3b2 100644 (file)
@@ -1,7 +1,7 @@
 
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; autochange - fairly related to part combining.
+;; autochange.scm - fairly related to part combining.
 
 (define-public (make-autochange-music parser music)
   (define (generate-split-list change-moment event-list acc)
index e7392bb6837b8e5fe459d0001d3a29d2229299e3..3c210555ae102bc2f67621e87610d8fa27441818 100644 (file)
@@ -1,3 +1,5 @@
+;;;; coverage.scm
+
 (define-module (scm coverage))
 
 (use-modules (lily)
index 3b18e94df45aabcd5fdb6907e479287cd63fa9d8..fad961821e494181ea3a1b5cc7501a5039d3536d 100644 (file)
      ;; TODO FIXME
    
      (aDueText ,markup? "Text to print at a unisono passage.")
-     (alignBelowContext ,string? "Where to insert newly created context in
-vertical alignment.")
      (alignAboveContext ,string? "Where to insert newly created context in
 vertical alignment.")
      (alignBassFigureAccidentals ,boolean? "If true, then the accidentals
 are aligned in bass figure context.")
+     (alignBelowContext ,string? "Where to insert newly created context in
+vertical alignment.")
      (associatedVoice ,string? "Name of the @code{Voice} that has the
 melody for this @code{Lyrics} line.")
      (autoAccidentals ,list? "List of different ways to typeset an
@@ -90,11 +90,11 @@ printed. @code{(#t . #f)} does not make sense.
 arguments, @var{context}, @var{dir} [start/stop (-1 or 1)], and
 @var{test} [shortest note in the beam].  A non-@code{#f} return value
 starts or stops the auto beam.")
+     (autoBeaming ,boolean? "If set to true then beams are generated
+automatically.")
      (autoBeamSettings ,list? "Specifies when automatically generated
 beams should begin and end.  See @ruser{Setting automatic beam
 behavior} for more information.")
-     (autoBeaming ,boolean? "If set to true then beams are generated
-automatically.")
      (autoCautionaries ,list? "List similar to @code{autoAccidentals},
 but it controls cautionary accidentals rather than normal ones.  Both
 lists are tried, and the one giving the most accidentals wins.  In
@@ -120,15 +120,13 @@ format.")
      (bassStaffProperties ,list? "An alist of property settings to
 apply for the down staff of @code{PianoStaff}.  Used by
 @code{\\autochange}.")
-     (beatLength ,ly:moment? "The length of one beat in this time
-signature.")
      (beatGrouping ,list? "A list of beatgroups, e.g., in 5/8 time
 @code{'(2 3)}.")
+     (beatLength ,ly:moment? "The length of one beat in this time
+signature.")
 
 
      (chordChanges ,boolean? "Only show changes in chords scheme?")
-     (chordNameFunction ,procedure? "The function that converts lists
-of pitches to chord names.")
      (chordNameExceptions ,list? "An alist of chord exceptions.
 Contains @code{(@var{chord} . @var{markup})} entries.")
      (chordNameExceptionsFull ,list? "An alist of full chord
@@ -136,6 +134,8 @@ exceptions.  Contains @code{(@var{chord} . @var{markup})} entries.")
      (chordNameExceptionsPartial ,list? "An alist of partial chord
 exceptions.  Contains @code{(@var{chord} . (@var{prefix-markup}
 @var{suffix-markup}))} entries.")
+     (chordNameFunction ,procedure? "The function that converts lists
+of pitches to chord names.")
      (chordNameSeparator ,markup? "The markup object used to
 separate parts of a chord name.")
      (chordNoteNamer ,procedure? "A function that converts from a pitch
@@ -159,11 +159,11 @@ percent repeats.")
 the clef is changed.")
      (createSpacing ,boolean? "Create @code{StaffSpacing} objects?
 Should be set for staves.")
-     (crescendoText ,markup? "The text to print at start of non-hairpin
-crescendo, i.e., @samp{cresc.}.")
      (crescendoSpanner ,symbol? "The type of spanner to be used for
 crescendi.  Available values are @samp{hairpin} and @samp{text}.  If unset,
 a hairpin crescendo is used.")
+     (crescendoText ,markup? "The text to print at start of non-hairpin
+crescendo, i.e., @samp{cresc.}.")
      (currentBarNumber ,integer? "Contains the current barnumber.
 This property is incremented at every bar line.")
 
@@ -256,12 +256,12 @@ printed as numbers, but only as extender lines.")
 the default time signature.")
      (instrumentCueName ,markup? "The name to print if another
 instrument is to be taken.")
-     (instrumentName ,markup? "The name to print left of a staff.  The
-@code{instrument} property labels the staff in the first system, and
-the @code{instr} property labels following lines.")
      (instrumentEqualizer ,procedure? "A function taking a string
 (instrument name), and returning a @code{(@var{min} . @var{max})} pair
 of numbers for the loudness range of the instrument.")
+     (instrumentName ,markup? "The name to print left of a staff.  The
+@code{instrument} property labels the staff in the first system, and
+the @code{instr} property labels following lines.")
      ;; the definition is reversed wrt traditional transposition
      ;; otherwise \transpose { \transposition .. } won't work
      (instrumentTransposition ,ly:pitch? "Define the transposition of
@@ -309,11 +309,6 @@ manual beams are considered.  Possible values include
 @code{beamMelismaBusy}.")
      (metronomeMarkFormatter ,procedure? "How to produce a metronome
 markup.  Called with four arguments: text, duration, count and context.")
-     (midiInstrument ,string? "Name of the MIDI instrument to use.")
-     (midiMaximumVolume ,number? "Analogous to
-@code{midiMinimumVolume}.")
-     (midiMinimumVolume ,number? "Set the minimum loudness for MIDI.
-Ranges from 0 to@tie{}1.")
      (middleCClefPosition ,number? "The position of the middle C,
 as determined only by the clef.  This can be calculated by looking at
 @code{clefPosition} and @code{clefGlyph}.")
@@ -323,6 +318,11 @@ is used for ottava brackets.")
      (middleCPosition ,number? "The place of the middle C, measured in
 half staff-spaces.  Usually determined by looking at
 @code{middleCClefPosition} and @code{middleCOffset}.")
+     (midiInstrument ,string? "Name of the MIDI instrument to use.")
+     (midiMaximumVolume ,number? "Analogous to
+@code{midiMinimumVolume}.")
+     (midiMinimumVolume ,number? "Set the minimum loudness for MIDI.
+Ranges from 0 to@tie{}1.")
      (minimumFret ,number? "The tablature auto string-selecting
 mechanism selects the highest string with a fret at least
 @code{minimumFret}.")
@@ -443,12 +443,12 @@ the nesting of a start delimiters.")
      (tablatureFormat ,procedure? "A function formatting a tablature
 note head.  Called with three arguments: string number, context and event.
 It returns the text as a string.")
-     (tempoWholesPerMinute ,ly:moment? "The tempo in whole notes per
-minute.")
+     (tempoHideNote ,boolean? "Hide the note=count in tempo marks.")
+     (tempoText ,markup? "Text for tempo marks.")
      (tempoUnitCount ,number? "Count for specifying tempo.")
      (tempoUnitDuration ,ly:duration? "Unit for specifying tempo.")
-     (tempoText ,markup? "Text for tempo marks.")
-     (tempoHideNote ,boolean? "Hide the note=count in tempo marks.")
+     (tempoWholesPerMinute ,ly:moment? "The tempo in whole notes per
+minute.")
      (tieWaitForNote ,boolean? "If true, tied notes do not have to
 follow each other directly.  This can be used for writing out
 arpeggios.")
@@ -536,7 +536,9 @@ current breakable (clef, key signature, etc.) items.")
 non-breakable items (note heads, lyrics, etc.).")
 
 
-     (dynamicAbsoluteVolumeFunction ,procedure? "[DOCUMENT-ME]")
+     (dynamicAbsoluteVolumeFunction ,procedure? "A procedure that takes
+one argument, the text value of a dynamic event, and returns the absolute
+volume of that dynamic event.")
 
 
      (finalizations ,list? "A list of expressions to evaluate before
index f5d7b790de852048db22b202fefa30c7ff4e1560..b2edbe82501901113eb90fd2c70b43cf524da9f6 100644 (file)
@@ -1,4 +1,4 @@
-;;;; stream-event-classes.scm -- define the tree of stream-event classes.
+;;;; define-event-classes.scm -- define the tree of stream-event classes.
 ;;;;
 ;;;;  source file of the GNU LilyPond music typesetter
 ;;;;
index a2ee15276fce6a91866e6a3cc3a08c9b9cc730ba..0bed1adc6527ee0859ab3a4407695e5718849a69 100644 (file)
@@ -1,4 +1,4 @@
-;;;; interface-description.scm -- part of generated backend documentation
+;;;; define-grob-interfaces.scm -- part of generated backend documentation
 ;;;;
 ;;;;  source file of the GNU LilyPond music typesetter
 ;;;;
index 9e71d0fe4bd537e9cbdd20f5b9d41aae54361ddb..65fb09c4b4cf0722dac160814f9a121964825a08 100644 (file)
@@ -95,10 +95,10 @@ beamlet, as a proportion of the distance between two adjacent stems.")
      (before-line-breaking ,boolean? "Dummy property, used to trigger
 a callback function.")
      (between-cols ,pair? "Where to attach a loose column to.")
-     (bound-padding ,number? "The amount of padding to insert around
-spanner bounds.")
      (bound-details ,list? "An alist of properties for determining
 attachments of spanners to edges.")
+     (bound-padding ,number? "The amount of padding to insert around
+spanner bounds.")
      (bracket-flare ,number-pair? "A pair of numbers specifying how
 much edges of brackets should slant outward.  Value @code{0.0} means
 straight edges.")
@@ -114,15 +114,6 @@ center of the bar line.")
      (break-align-anchor-alignment ,number? "Read by
 @code{ly:break-aligned-interface::calc-extent-aligned-anchor} for
 aligning an anchor to a grob's extent.")
-     (break-align-symbol ,symbol? "This key is used for aligning and
-spacing breakable items.")
-     (break-align-symbols ,list? "A list of symbols that determine
-which break-aligned grobs to align this to.  If the grob selected by
-the first symbol in the list is invisible due to break-visibility, we
-will align to the next grob (and so on).  Choices are @code{left-edge},
-@code{ambitus}, @code{breathing-sign}, @code{clef}, @code{staff-bar},
-@code{key-cancellation}, @code{key-signature}, @code{time-signature},
-and @code{custos}.")
      (break-align-orders ,vector? "Defines the order in which
 prefatory matter (clefs, key signatures) appears.  The format is a
 vector of length@tie{}3, where each element is one order for
@@ -140,6 +131,15 @@ For example, clefs are put after key signatures by setting
                     clef
                     time-signature))
 @end example")
+     (break-align-symbol ,symbol? "This key is used for aligning and
+spacing breakable items.")
+     (break-align-symbols ,list? "A list of symbols that determine
+which break-aligned grobs to align this to.  If the grob selected by
+the first symbol in the list is invisible due to break-visibility, we
+will align to the next grob (and so on).  Choices are @code{left-edge},
+@code{ambitus}, @code{breathing-sign}, @code{clef}, @code{staff-bar},
+@code{key-cancellation}, @code{key-signature}, @code{time-signature},
+and @code{custos}.")
      (break-overshoot ,number-pair? "How much does a broken spanner
 stick out of its bounds?")
      (break-visibility ,vector? "A vector of 3@tie{}booleans,
@@ -223,10 +223,6 @@ the vertical edges: @code{(@var{left-height} . @var{right-height})}.")
 edges: @code{(@var{left-text} . @var{right-text})}.")
      (expand-limit ,integer? "Maximum number of measures expanded in
 church rests.")
-     (extra-X-extent ,number-pair? "A grob is enlarged in
-X@tie{}dimension by this much.")
-     (extra-Y-extent ,number-pair? "A grob is enlarged in
-Y@tie{}dimension by this much.")
      ;; remove me?
      (extra-dy ,number? "Slope glissandi this much extra.")
      (extra-offset ,number-pair? "A pair representing an offset.  This
@@ -244,6 +240,10 @@ problem, we pad each item by this amount (by adding the @q{car} on the
 left side of the item and adding the @q{cdr} on the right side of the
 item).  In order to make a grob take up no horizontal space at all,
 set this to @code{(+inf.0 . -inf.0)}.")
+     (extra-X-extent ,number-pair? "A grob is enlarged in
+X@tie{}dimension by this much.")
+     (extra-Y-extent ,number-pair? "A grob is enlarged in
+Y@tie{}dimension by this much.")
 
 
 ;;
@@ -386,6 +386,7 @@ read from the NonMusicalPaperColumn that begins the measure.")
      (glyph ,string? "A string determining what @q{style} of glyph is
 typeset.  Valid choices depend on the function that is reading this
 property.")
+     (glyph-name ,string? "The glyph name within the font.")
      (glyph-name-alist ,list? "An alist of key-string pairs.")
      (grow-direction ,ly:dir? "Crescendo or decrescendo?")
 
@@ -529,10 +530,6 @@ guitar notation.  The value of this setting is used by
 
 @code{merge-differently-headed} only applies to opposing stem
 directions (i.e., voice 1 &@tie{}2).")
-     (minimum-X-extent ,number-pair? "Minimum size of an object in
-X@tie{}dimension, measured in @code{staff-space} units.")
-     (minimum-Y-extent ,number-pair? "Minimum size of an object in
-Y@tie{}dimension, measured in @code{staff-space} units.")
      (minimum-distance ,ly:dimension? "Minimum distance between rest
 and notes or beam.")
      (minimum-length ,ly:dimension? "Try to make a spanner at least
@@ -544,6 +541,10 @@ noteheads.")
 as fraction of note head size.")
      (minimum-space ,ly:dimension? "Minimum distance that the victim
 should move (after padding).")
+     (minimum-X-extent ,number-pair? "Minimum size of an object in
+X@tie{}dimension, measured in @code{staff-space} units.")
+     (minimum-Y-extent ,number-pair? "Minimum size of an object in
+Y@tie{}dimension, measured in @code{staff-space} units.")
 
 
 ;;
@@ -656,11 +657,6 @@ value @code{-1} means left aligned, @code{0}@tie{}centered, and
 values may also be specified.")
      (self-alignment-Y ,number? "Like @code{self-alignment-X} but for
 the Y@tie{}axis.")
-     (toward-stem-shift ,number? "Amount by which scripts are shifted
-toward the stem if their direction coincides with the stem direction.
-@code{0.0} means keep the default position (centered on the note
-head), @code{1.0} means centered on the stem.  Interpolated values are
-possible.")
      (shorten-pair ,number-pair? "The lengths to shorten a
 text-spanner on both sides, for example a pedal bracket.  Positive
 values shorten the text-spanner, while negative values lengthen it.")
@@ -766,6 +762,11 @@ in the list causes the corresponding tie to be formatted
 automatically.")
      (to-barline ,boolean? "If true, the spanner will stop at the bar
 line just before it would otherwise stop.")
+     (toward-stem-shift ,number? "Amount by which scripts are shifted
+toward the stem if their direction coincides with the stem direction.
+@code{0.0} means keep the default position (centered on the note
+head), @code{1.0} means centered on the stem.  Interpolated values are
+possible.")
      (transparent ,boolean? "This makes the grob invisible.")
 
 
@@ -843,16 +844,9 @@ constructed from a whole number of squiggles.")
    `(
      ;;;;;;;;;;;;;;;;
      ;; grobs & grob arrays.  (alphabetical)
-     (X-common ,ly:grob? "Common reference point for axis group.")
-
-     (Y-common ,ly:grob? "See @code{X-common}.")
-
      (accidental-grob ,ly:grob? "The accidental for this note.")
      (accidental-grobs ,list? "An alist with @code{(@var{notename} .
 @var{groblist})} entries.")
-     (adjacent-pure-heights ,pair? "A pair of vectors.  Used by a
-@code{VerticalAxisGroup} to cache the @code{Y-extent}s of different column
-ranges.")
      (adjacent-hairpins ,ly:grob-array? "An array of directly neighboring
 hairpins.")
      (all-elements ,ly:grob-array? "An array of all grobs in this line.  Its
@@ -861,9 +855,6 @@ function is to protect objects from being garbage collected.")
      (axis-group-parent-X ,ly:grob? "Containing X@tie{}axis group.")
      (axis-group-parent-Y ,ly:grob? "Containing Y@tie{}axis group.")
 
-     (bar-extent ,number-pair? "The Y-extent of the actual bar line.
-This may differ from @code{Y-extent} because it does not include the dots in
-a repeat bar line.")
      (bars ,ly:grob-array? "An array of bar line pointers.")
      (beam ,ly:grob? "A pointer to the beam, if applicable.")
      (bounded-by-me ,ly:grob-array? "An array of spanners that have this
@@ -874,8 +865,6 @@ 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.")
-     (cross-staff ,boolean? "For a beam or a stem, this is true if we
-depend on inter-staff spacing.")
 
      (direction-source ,ly:grob? "In case @code{side-relative-direction} is
 set, which grob to get the direction from.")
@@ -888,15 +877,11 @@ the grob where this is set in.")
 in addition to notes and stems.")
 
      (figures ,ly:grob-array? "Figured bass objects for continuation line.")
-     (forced ,boolean? "Manually forced accidental.")
 
-     (glyph-name ,string? "The glyph name within the font.")
      (grace-spacing ,ly:grob? "A run of grace notes.")
 
      (heads ,ly:grob-array? "An array of note heads.")
 
-     (important-column-ranks ,vector? "A cache of columns that contain
-@code{items-worth-living} data.")
      (items-worth-living ,ly:grob-array? "An array of interesting items.  If
 empty in a particular staff, then that staff is erased.")
 
@@ -908,19 +893,17 @@ The closest @code{spacing-wishes} determine the actual distances between the
 columns.")
 
      (normal-stems ,ly:grob-array? "An array of visible stems.")
-     (note-columns ,pair? "A list of @code{NoteColumn} grobs.")
+     (note-columns ,ly:grob-array? "An array of @code{NoteColumn} grobs.")
      (note-head ,ly:grob? "A single note head.")
      (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.")
-     (pure-Y-common ,ly:grob? "A cache of the
-@code{common_refpoint_of_array} of the @code{elements} grob set.")
-     (pure-Y-offset-in-progress ,boolean? "A debugging aid for catching
-cyclic dependencies.")
      (pure-relevant-items ,ly:grob-array? "A subset of elements that are
 relevant for finding the @code{pure-Y-extent}.")
      (pure-relevant-spanners ,ly:grob-array? "A subset of elements that are
 relevant for finding the @code{pure-Y-extent}.")
+     (pure-Y-common ,ly:grob? "A cache of the
+@code{common_refpoint_of_array} of the @code{elements} grob set.")
 
      (rest ,ly:grob? "A pointer to a @code{Rest} object.")
      (rest-collision ,ly:grob? "A rest collision that a rest is in.")
@@ -946,24 +929,38 @@ objects.")
      (tremolo-flag ,ly:grob? "The tremolo object on a stem.")
      (tuplet-number ,ly:grob? "The number for a bracket.")
      (tuplets ,ly:grob-array? "An array of smaller tuplet brackets.")
+     (X-common ,ly:grob? "Common reference point for axis group.")
+     (Y-common ,ly:grob? "See @code{X-common}.")
 
      ;;;;;;;;;;;;;;;;
      ;; other
+     (adjacent-pure-heights ,pair? "A pair of vectors.  Used by a
+@code{VerticalAxisGroup} to cache the @code{Y-extent}s of different column
+ranges.")
+     
+     (bar-extent ,number-pair? "The Y-extent of the actual bar line.
+This may differ from @code{Y-extent} because it does not include the dots in
+a repeat bar line.")
      (begin-of-line-visible ,boolean? "Set to make @code{ChordName} or
 @code{FretBoard} be visible only at beginning of line or at
 chord changes.")
 
      (cause ,scheme? "Any kind of causation objects (i.e., music, or perhaps
 translator) that was the cause for this grob.")
+     (cross-staff ,boolean? "For a beam or a stem, this is true if we
+depend on inter-staff spacing.")
 
      (delta-position ,number? "The vertical position difference.")
 
      (font ,ly:font-metric? "A cached font metric object.")
+     (forced ,boolean? "Manually forced accidental.")
 
      (head-width ,ly:dimension? "The width of this ligature head.")
 
      (ideal-distances ,list? "@code{(@var{obj} . (@var{dist} .
 @var{strength}))} pairs.")
+     (important-column-ranks ,vector? "A cache of columns that contain
+@code{items-worth-living} data.")
      (interfaces ,list? "A list of symbols indicating the interfaces
 supported by this object.  It is initialized from the @code{meta} field.")
 
@@ -977,6 +974,8 @@ entries @code{name} and @code{interfaces}.")
      (positioning-done ,boolean? "Used to signal that a positioning element
 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.")
 
      (quant-score ,string? "The beam quanting score; stored for
 debugging.")
@@ -1024,8 +1023,8 @@ a head may be affected by the left and/or right neighbour head.
 @code{context-info} holds for each head such information about the left and
 right neighbour, encoded as a bit mask.")
 
-     (descendens ,boolean? "Is this neume of descendent type?")
      (deminutum ,boolean? "Is this neume deminished?")
+     (descendens ,boolean? "Is this neume of descendent type?")
 
      (flexa-height ,ly:dimension? "The height of a flexa shape in a ligature
 grob (in @code{staff-space} units).")
@@ -1036,7 +1035,8 @@ ligature grob in (in @code{staff-space} units).")
 
      (join-heads ,boolean? "Whether to join the note heads of an ambitus
 grob with a vertical line.")
-     (join-right-amount ,number? "DOCME")
+     (join-right-amount ,number? "A length used for calculating the
+Y-extent of mensural ligatures.")
 
      (linea ,boolean? "Attach vertical lines to this neume?")
 
index 30b1d8ae6d8702ad29c1bee766f28049261ce373..259a4be74f9acb65dcf27adece1126f422663c11 100644 (file)
@@ -13,8 +13,6 @@
 
 ;; TODO: junk the meta field in favor of something more compact?
 
-;;; todo:: reorder sensibly.
-
 (define-public all-grob-descriptions
   `(
     (Accidental
        (Y-extent . ,ly:accidental-interface::height)
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (meta . ((class . Item)
-                (interfaces . (side-position-interface
-                               script-interface
-                               accidental-interface
+                (interfaces . (accidental-interface
                                accidental-suggestion-interface
+                               font-interface
+                               script-interface
                                self-alignment-interface
-                               font-interface))))))
+                               side-position-interface))))))
 
     (Ambitus
      . (
        (X-extent . ,ly:axis-group-interface::width)
        (Y-extent . ,ly:axis-group-interface::height)
        (meta . ((class . Item)
-                (interfaces . (axis-group-interface
-                               break-aligned-interface
-                               ambitus-interface))))))
+                (interfaces . (ambitus-interface
+                               axis-group-interface
+                               break-aligned-interface))))))
 
     (AmbitusAccidental
      . (
        (X-offset . ,ly:side-position-interface::x-aligned-side)
        (Y-extent . ,ly:accidental-interface::height)
        (meta . ((class . Item)
-                (interfaces . (
-                               accidental-interface
+                (interfaces . (accidental-interface
                                break-aligned-interface
-                               side-position-interface
-                               font-interface))))))
+                               font-interface
+                               side-position-interface))))))
 
     (AmbitusLine
      . (
        (X-offset . ,ly:self-alignment-interface::centered-on-x-parent)
        (meta . ((class . Item)
                 (interfaces . (ambitus-interface
-                               staff-symbol-referencer-interface
-                               font-interface))))))
+                               font-interface
+                               staff-symbol-referencer-interface))))))
 
     (AmbitusNoteHead
      . (
        (stencil . ,ly:note-head::print)
        (Y-offset . ,ly:staff-symbol-referencer::callback)
        (meta . ((class . Item)
-                (interfaces . (font-interface
+                (interfaces . (ambitus-interface
+                               font-interface
+                               ledgered-interface
                                note-head-interface
-                               ambitus-interface
-                               staff-symbol-referencer-interface
                                rhythmic-head-interface
-                               ledgered-interface))))))
+                               staff-symbol-referencer-interface))))))
 
     (Arpeggio
      . (
        (Y-offset . ,ly:staff-symbol-referencer::callback)
        (meta . ((class . Item)
                 (interfaces . (arpeggio-interface
-                               staff-symbol-referencer-interface
+                               font-interface
                                side-position-interface
-                               font-interface))))))
+                               staff-symbol-referencer-interface))))))
 
     (BalloonTextItem
      . (
        (Y-offset . ,(grob::calc-property-by-copy 'Y-offset))
        (meta . ((class . Item)
                 (interfaces . (balloon-interface
-                               text-interface
-                               font-interface))))))
+                               font-interface
+                               text-interface))))))
 
     (BarLine
      . (
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (meta .
              ((class . Item)
-              (interfaces . (side-position-interface
-                             text-interface
-                             break-alignable-interface
+              (interfaces . (break-alignable-interface
+                             font-interface
                              self-alignment-interface
-                             font-interface))))))
+                             side-position-interface
+                             text-interface))))))
 
     (BassFigure
      . (
        (stencil . ,ly:text-interface::print)
        (meta . ((class . Item)
-                (interfaces . (text-interface
+                (interfaces . (bass-figure-interface
+                               font-interface
                                rhythmic-grob-interface
-                               bass-figure-interface
-                               font-interface))))))
+                               text-interface))))))
 
     (BassFigureAlignment
      . (
        (Y-extent . ,ly:axis-group-interface::height)
        (meta . ((class . Spanner)
                 (interfaces . (align-interface
-                               bass-figure-alignment-interface
-                               axis-group-interface))))))
+                               axis-group-interface
+                               bass-figure-alignment-interface))))))
 
     (BassFigureAlignmentPositioning
      . (
        (Y-extent . ,ly:axis-group-interface::height)
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (meta . ((class . Spanner)
-                (interfaces . (side-position-interface
-                               axis-group-interface))))))
+                (interfaces . (axis-group-interface
+                               side-position-interface))))))
 
     (BassFigureBracket
      . (
 
        (meta . ((class . Spanner)
                 (object-callbacks . ((normal-stems . ,ly:beam::calc-normal-stems)))
-                (interfaces . (staff-symbol-referencer-interface
-                               unbreakable-spanner-interface
-                               beam-interface
-                               font-interface))))))
+                (interfaces . (beam-interface
+                               font-interface
+                               staff-symbol-referencer-interface
+                               unbreakable-spanner-interface))))))
 
     (BendAfter
      . (
        (stencil . ,bend::print)
        (thickness . 2.0)
        (meta . ((class . Spanner)
-                (interfaces . (spanner-interface
-                               bend-after-interface))))))
+                (interfaces . (bend-after-interface
+                               spanner-interface))))))
 
     (BreakAlignGroup
      . (
        (break-visibility . ,ly:break-aligned-interface::calc-break-visibility)
        (X-extent . ,ly:axis-group-interface::width)
        (meta . ((class . Item)
-                (interfaces . (break-aligned-interface
-                               axis-group-interface))))))
+                (interfaces . (axis-group-interface
+                               break-aligned-interface))))))
 
     (BreakAlignment
      . (
        (stacking-dir . 1)
        (X-extent . ,ly:axis-group-interface::width)
        (meta . ((class . Item)
-                (interfaces . (break-alignment-interface
-                               axis-group-interface))))))
+                (interfaces . (axis-group-interface
+                               break-alignment-interface))))))
 
     (BreathingSign
      . (
        (meta . ((class . Item)
                 (interfaces . (break-aligned-interface
                                breathing-sign-interface
-                               text-interface
-                               font-interface))))))
+                               font-interface
+                               text-interface))))))
 
     (ChordName
      . (
        (stencil . ,ly:text-interface::print)
        (word-space . 0.0)
        (meta . ((class . Item)
-                (interfaces . (font-interface
+                (interfaces . (chord-name-interface
+                               font-interface
                                rhythmic-grob-interface
-                               text-interface
-                               chord-name-interface))))))
+                               text-interface))))))
 
     (Clef
      . (
        (stencil . ,ly:clef::print)
        (Y-offset . ,ly:staff-symbol-referencer::callback)
        (meta . ((class . Item)
-                (interfaces . (clef-interface
-                               staff-symbol-referencer-interface
+                (interfaces . (break-aligned-interface
+                               clef-interface
                                font-interface
-                               break-aligned-interface))))))
+                               staff-symbol-referencer-interface))))))
 
     (ClusterSpanner
      . (
      . (
        (Y-extent . ,ly:cluster-beacon::height)
        (meta . ((class . Item)
-                (interfaces . (rhythmic-grob-interface
-                               cluster-beacon-interface))))))
+                (interfaces . (cluster-beacon-interface
+                               rhythmic-grob-interface))))))
 
     (CombineTextScript
      . (
        (X-offset . ,ly:self-alignment-interface::x-aligned-on-self)
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (meta . ((class . Item)
-                (interfaces . (text-script-interface
-                               text-interface
+                (interfaces . (font-interface
                                side-position-interface
-                               font-interface))))))
+                               text-interface
+                               text-script-interface))))))
 
     (Custos
      . (
        (style . vaticana)
        (Y-offset . ,ly:staff-symbol-referencer::callback)
        (meta . ((class . Item)
-                (interfaces  . (custos-interface
-                                staff-symbol-referencer-interface
+                (interfaces  . (break-aligned-interface
+                                custos-interface
                                 font-interface
-                                break-aligned-interface))))))
+                                staff-symbol-referencer-interface))))))
 
     (DotColumn
      . (
        (positioning-done . ,ly:dot-column::calc-positioning-done)
        (X-extent . ,ly:axis-group-interface::width)
        (meta . ((class . Item)
-                (interfaces . (dot-column-interface
-                               axis-group-interface))))))
+                (interfaces . (axis-group-interface
+                               dot-column-interface))))))
 
     (Dots
      . (
        (staff-position . ,dots::calc-staff-position)
        (stencil . ,ly:dots::print)
        (meta . ((class . Item)
-                (interfaces . (font-interface
-                               staff-symbol-referencer-interface
-                               dots-interface))))))
+                (interfaces . (dots-interface
+                               font-interface
+                               staff-symbol-referencer-interface))))))
 
     (DoublePercentRepeat
      . (
        (thickness . 0.48)
        (width . 2.0)
        (meta . ((class . Item)
-                (interfaces . (font-interface
-                               break-aligned-interface
+                (interfaces . (break-aligned-interface
+                               font-interface
                                percent-repeat-interface
                                percent-repeat-item-interface))))))
 
                          (list ly:self-alignment-interface::x-aligned-on-self)))))
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (meta . ((class . Item)
-                (interfaces . (side-position-interface
-                               self-alignment-interface
-                               percent-repeat-item-interface
+                (interfaces . (font-interface
                                percent-repeat-interface
-                               font-interface
+                               percent-repeat-item-interface
+                               self-alignment-interface
+                               side-position-interface
                                text-interface))))))
 
     (DynamicLineSpanner
        (X-offset . ,ly:self-alignment-interface::x-aligned-on-self)
        (Y-offset . ,ly:self-alignment-interface::y-aligned-on-self)
        (meta . ((class . Item)
-                (interfaces . (font-interface
-                               text-interface
+                (interfaces . (dynamic-interface
+                               font-interface
+                               script-interface
                                self-alignment-interface
-                               dynamic-interface
-                               script-interface))))))
+                               text-interface))))))
 
     (DynamicTextSpanner
      . (
        (stencil . ,ly:line-spanner::print)
        (style . dashed-line)
        (meta . ((class . Spanner)
-                (interfaces . (font-interface
-                               text-interface
-                               line-spanner-interface
-                               line-interface
-                               dynamic-interface
+                (interfaces . (dynamic-interface
                                dynamic-text-spanner-interface
-                               spanner-interface))))))
+                               font-interface
+                               line-interface
+                               line-spanner-interface
+                               spanner-interface
+                               text-interface))))))
 
 
     (Fingering
        (meta . ((class . Item)
                 (interfaces . (finger-interface
                                font-interface
-                               text-script-interface
-                               text-interface
+                               self-alignment-interface
                                side-position-interface
-                               self-alignment-interface))))))
+                               text-interface
+                               text-script-interface))))))
 
     (FretBoard
      . (
        (fret-diagram-details . ((finger-code . below-string)))
        (stencil . ,fret-board::calc-stencil)
        (meta . ((class . Item)
-                (interfaces . (fret-diagram-interface
-                               rhythmic-grob-interface
-                                chord-name-interface
-                               font-interface))))))
+                (interfaces . (chord-name-interface
+                               font-interface
+                               fret-diagram-interface
+                               rhythmic-grob-interface))))))
 
 
     (Glissando
        (zigzag-width . 0.75)
        (meta . ((class . Spanner)
                 (interfaces . (line-interface
-                               unbreakable-spanner-interface
-                               line-spanner-interface))))))
+                               line-spanner-interface
+                               unbreakable-spanner-interface))))))
 
     (GraceSpacing
      . (
                        ,(ly:make-simple-closure
                          (list ly:self-alignment-interface::x-aligned-on-self)))))
        (meta . ((class . Item)
-                (interfaces . (self-alignment-interface
-                               grid-line-interface))))))
+                (interfaces . (grid-line-interface
+                               self-alignment-interface))))))
 
     (GridPoint
      . (
        (Y-extent . ,ly:hairpin::height)
        (Y-offset . ,ly:self-alignment-interface::y-aligned-on-self)
        (meta . ((class . Spanner)
-                (interfaces . (hairpin-interface
+                (interfaces . (dynamic-interface
+                               hairpin-interface
                                line-interface
                                self-alignment-interface
-                               dynamic-interface
                                spanner-interface))))))
 
     (HarmonicParenthesesItem
        (stencil . ,parentheses-item::print)
        (stencils . ,parentheses-item::calc-angled-bracket-stencils)
        (meta . ((class . Item)
-                (interfaces . (parentheses-interface font-interface))))))
+                (interfaces . (font-interface
+                               parentheses-interface))))))
 
     (HorizontalBracket
      . (
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (meta . ((class . Spanner)
                 (interfaces . (horizontal-bracket-interface
-                               side-position-interface
                                line-interface
+                               side-position-interface
                                spanner-interface))))))
 
 
        (stencil . ,ly:system-start-text::print)
        (X-offset . ,ly:side-position-interface::x-aligned-side)
        (meta . ((class . Spanner)
-                (interfaces . (system-start-text-interface
-                               side-position-interface
+                (interfaces . (font-interface
                                self-alignment-interface
-                               font-interface))))))
+                               side-position-interface
+                               system-start-text-interface))))))
 
     (InstrumentSwitch
      . (
        (X-offset . ,ly:self-alignment-interface::x-aligned-on-self)
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (meta . ((class . Item)
-                (interfaces . (side-position-interface
+                (interfaces . (font-interface
                                self-alignment-interface
-                               text-interface
-                               font-interface))))))
+                               side-position-interface
+                               text-interface))))))
 
 
     (KeyCancellation
        (stencil . ,ly:key-signature-interface::print)
        (Y-offset . ,ly:staff-symbol-referencer::callback)
        (meta . ((class . Item)
-                (interfaces . (key-cancellation-interface
-                               key-signature-interface
-                               staff-symbol-referencer-interface
+                (interfaces . (break-aligned-interface
                                font-interface
-                               break-aligned-interface))))))
+                               key-cancellation-interface
+                               key-signature-interface
+                               staff-symbol-referencer-interface))))))
 
     (KeySignature
      . (
        (stencil . ,ly:key-signature-interface::print)
        (Y-offset . ,ly:staff-symbol-referencer::callback)
        (meta . ((class . Item)
-                (interfaces . (key-signature-interface
-                               staff-symbol-referencer-interface
+                (interfaces . (break-aligned-interface
                                font-interface
-                               break-aligned-interface))))))
+                               key-signature-interface
+                               staff-symbol-referencer-interface))))))
 
 
    (LaissezVibrerTie
        (thickness . 0.8) ; line-thickness
        (Y-extent . (0 . 0))
        (meta . ((class . Spanner)
-                (interfaces . (lyric-interface
-                               lyric-extender-interface))))))
+                (interfaces . (lyric-extender-interface
+                               lyric-interface))))))
 
     (LyricHyphen
      . (
        (thickness . 1.3)
        (Y-extent . (0 . 0))
        (meta . ((class . Spanner)
-                (interfaces . (lyric-interface
-                               font-interface
+                (interfaces . (font-interface
                                lyric-hyphen-interface
+                               lyric-interface
                                spanner-interface))))))
 
     (LyricSpace
        (X-extent . #f)
        (Y-extent . #f)
        (meta . ((class . Spanner)
-                (interfaces . (spanner-interface
-                               lyric-hyphen-interface))))))
+                (interfaces . (lyric-hyphen-interface
+                               spanner-interface))))))
 
     (LyricText
      . (
        (word-space . 0.6)
        (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent)
        (meta . ((class . Item)
-                (interfaces . (rhythmic-grob-interface
+                (interfaces . (font-interface
                                lyric-syllable-interface
+                               rhythmic-grob-interface
                                self-alignment-interface
-                               text-interface
-                               font-interface))))))
+                               text-interface))))))
 
 
     (MeasureGrouping
        (thickness . 1)
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (meta . ((class . Spanner)
-                (interfaces . (side-position-interface
-                               measure-grouping-interface))))))
+                (interfaces . (measure-grouping-interface
+                               side-position-interface))))))
 
     (MelodyItem
      . (
        (stencil . ,ly:mensural-ligature::print)
        (thickness . 1.4)
        (meta . ((class . Spanner)
-                (interfaces . (mensural-ligature-interface
-                               font-interface))))))
+                (interfaces . (font-interface
+                               mensural-ligature-interface))))))
 
     (MetronomeMark
      . (
        (stencil . ,ly:text-interface::print)
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (meta . ((class . Item)
-                (interfaces . (text-interface
+                (interfaces . (font-interface
+                               metronome-mark-interface
                                side-position-interface
-                               font-interface
-                               metronome-mark-interface))))))
+                               text-interface))))))
 
     (MultiMeasureRest
      . (
        (thick-thickness . 6.6)
        (Y-offset . ,ly:staff-symbol-referencer::callback)
        (meta . ((class . Spanner)
-                (interfaces . (multi-measure-rest-interface
+                (interfaces . (font-interface
                                multi-measure-interface
+                               multi-measure-rest-interface
                                rest-interface
-                               font-interface
                                staff-symbol-referencer-interface))))))
 
     (MultiMeasureRestNumber
                          (list ly:self-alignment-interface::x-centered-on-y-parent)))))
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (meta . ((class . Spanner)
-                (interfaces . (side-position-interface
+                (interfaces . (font-interface
                                multi-measure-interface
                                self-alignment-interface
-                               font-interface
+                               side-position-interface
                                text-interface))))))
 
     (MultiMeasureRestText
                          (list ly:self-alignment-interface::x-aligned-on-self)))))
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (meta . ((class . Spanner)
-                (interfaces . (side-position-interface
+                (interfaces . (font-interface
                                multi-measure-interface
                                self-alignment-interface
-                               font-interface
+                               side-position-interface
                                text-interface))))))
 
 
 
        (X-extent . ,ly:axis-group-interface::width)
        (meta . ((class . Paper_column)
-                (interfaces . (paper-column-interface
-                               axis-group-interface
+                (interfaces . (axis-group-interface
+                               font-interface
+                               paper-column-interface
                                separation-item-interface
-                               spaceable-grob-interface
-                               font-interface))))))
+                               spaceable-grob-interface))))))
 
     (NoteCollision
      . (
        (X-extent . ,ly:axis-group-interface::width)
        (Y-extent . ,ly:axis-group-interface::height)
        (meta . ((class . Item)
-                (interfaces . (note-collision-interface
-                               axis-group-interface))))))
+                (interfaces . (axis-group-interface
+                               note-collision-interface))))))
 
     (NoteColumn
      . (
        (Y-extent . ,ly:axis-group-interface::height)
        (meta . ((class . Item)
                 (interfaces . (axis-group-interface
-                               separation-item-interface
-                               note-column-interface))))))
+                               note-column-interface
+                               separation-item-interface))))))
 
     (NoteHead
      . (
        (X-offset . ,ly:note-head::stem-x-shift)
        (Y-offset . ,ly:staff-symbol-referencer::callback)
        (meta . ((class . Item)
-                (interfaces . (rhythmic-grob-interface
-                               rhythmic-head-interface
-                               font-interface
-                               note-head-interface
-                               ledgered-interface
-                               staff-symbol-referencer-interface
+                (interfaces . (font-interface
                                gregorian-ligature-interface
+                               ledgered-interface
                                mensural-ligature-interface
+                               note-head-interface
+                               rhythmic-grob-interface
+                               rhythmic-head-interface
+                               staff-symbol-referencer-interface
                                vaticana-ligature-interface))))))
 
     (NoteName
      . (
        (stencil . ,ly:text-interface::print)
        (meta . ((class . Item)
-                (interfaces . (note-name-interface
-                               text-interface
-                               font-interface))))))
+                (interfaces . (font-interface
+                               note-name-interface
+                               text-interface))))))
 
     (NoteSpacing
      . (
        (space-to-barline . #t)
        (stem-spacing-correction . 0.5)
        (meta . ((class . Item)
-                (interfaces . (spacing-interface
-                               note-spacing-interface))))))
+                (interfaces . (note-spacing-interface
+                               spacing-interface))))))
 
 
     (OctavateEight
                          (list ly:self-alignment-interface::centered-on-x-parent)))))
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (meta . ((class . Item)
-                (interfaces . (text-interface
+                (interfaces . (font-interface
                                self-alignment-interface
                                side-position-interface
-                               font-interface))))))
+                               text-interface))))))
 
     (OttavaBracket
      . (
        (style . dashed-line)
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (meta . ((class . Spanner)
-                (interfaces . (ottava-bracket-interface
+                (interfaces . (font-interface
                                horizontal-bracket-interface
                                line-interface
+                               ottava-bracket-interface
                                side-position-interface
-                               font-interface
                                text-interface))))))
 
 
        ;; debugging
        ;;                       (font-size . -6) (font-name . "sans") (Y-extent . #f)
        (meta . ((class . Paper_column)
-                (interfaces . (paper-column-interface
+                (interfaces . (axis-group-interface
+                               font-interface
+                               paper-column-interface
                                separation-item-interface
-                               axis-group-interface
-                               spaceable-grob-interface
-                               font-interface))))))
+                               spaceable-grob-interface))))))
 
     (ParenthesesItem
      . (
        (stencil . ,parentheses-item::print)
        (stencils . ,parentheses-item::calc-parenthesis-stencils)
        (meta . ((class . Item)
-                (interfaces . (parentheses-interface font-interface))))))
+                (interfaces . (font-interface
+                               parentheses-interface))))))
 
     (PercentRepeat
      . (
        (stencil . ,ly:multi-measure-rest::percent)
        (thickness . 0.48)
        (meta . ((class . Spanner)
-                (interfaces . (multi-measure-rest-interface
-                               font-interface
+                (interfaces . (font-interface
+                               multi-measure-rest-interface
                                percent-repeat-interface))))))
 
     (PercentRepeatCounter
                          (list ly:self-alignment-interface::x-aligned-on-self)))))
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (meta . ((class . Spanner)
-                (interfaces . (side-position-interface
-                               self-alignment-interface
+                (interfaces . (font-interface
                                percent-repeat-interface
-                               font-interface
+                               self-alignment-interface
+                               side-position-interface
                                text-interface))))))
 
     (PhrasingSlur
        (thickness .  1.0)
        (meta . ((class . Spanner)
                 (interfaces . (line-interface
-                               piano-pedal-interface
-                               piano-pedal-bracket-interface))))))
+                               piano-pedal-bracket-interface
+                               piano-pedal-interface))))))
 
 
     (RehearsalMark
                          (list ly:self-alignment-interface::x-aligned-on-self)))))
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (meta . ((class . Item)
-                (interfaces . (text-interface
-                               side-position-interface
-                               break-alignable-interface
+                (interfaces . (break-alignable-interface
                                font-interface
                                mark-interface
-                               self-alignment-interface))))))
+                               self-alignment-interface
+                               side-position-interface
+                               text-interface))))))
 
     (RepeatSlash
      . (
        (stencil . ,ly:percent-repeat-item-interface::beat-slash)
        (thickness . 0.48)
        (meta . ((class . Item)
-                (interfaces . (rhythmic-grob-interface
-                               percent-repeat-interface
-                               percent-repeat-item-interface))))))
+                (interfaces . (percent-repeat-interface
+                               percent-repeat-item-interface
+                               rhythmic-grob-interface))))))
 
     (RepeatTie
      . (
        (Y-offset . ,ly:rest::y-offset-callback)
        (meta . ((class . Item)
                 (interfaces . (font-interface
-                               rhythmic-head-interface
+                               rest-interface
                                rhythmic-grob-interface
-                               staff-symbol-referencer-interface
-                               rest-interface))))))
+                               rhythmic-head-interface
+                               staff-symbol-referencer-interface))))))
 
     (RestCollision
      . (
        (X-offset . ,script-interface::calc-x-offset)
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (meta . ((class . Item)
-                (interfaces . (script-interface
-                               side-position-interface
-                               font-interface))))))
+                (interfaces . (font-interface
+                               script-interface
+                               side-position-interface))))))
 
     (ScriptColumn
      . (
        (stencil . ,ly:text-interface::print)
        (X-offset . ,ly:self-alignment-interface::x-aligned-on-self)
        (meta . ((class . Item)
-                (interfaces . (text-interface
-                               self-alignment-interface
+                (interfaces . (font-interface
                                piano-pedal-script-interface
-                               font-interface))))))
+                               self-alignment-interface
+                               text-interface))))))
 
     (SostenutoPedalLineSpanner
      . (
        (Y-extent . ,ly:axis-group-interface::height)
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (meta . ((class . Spanner)
-                (interfaces . (piano-pedal-interface
-                               axis-group-interface
+                (interfaces . (axis-group-interface
+                               piano-pedal-interface
                                side-position-interface))))))
 
     (SpacingSpanner
        (X-extent . ,ly:span-bar::width)
        (Y-extent . ,ly:axis-group-interface::height)
        (meta . ((class . Item)
-                (interfaces . (span-bar-interface
+                (interfaces . (bar-line-interface
                                font-interface
-                               bar-line-interface))))))
+                               span-bar-interface))))))
 
     (StaffSpacing
      . (
        (stencil . ,ly:text-interface::print)
        (X-offset . ,ly:side-position-interface::x-aligned-side)
        (meta . ((class . Item)
-                (interfaces . (side-position-interface
+                (interfaces . (font-interface
+                               side-position-interface
                                stanza-number-interface
-                               text-interface
-                               font-interface))))))
+                               text-interface))))))
 
     (Stem
      . (
        (Y-extent . ,ly:stem::height)
        (Y-offset . ,ly:staff-symbol-referencer::callback)
        (meta . ((class . Item)
-                (interfaces . (stem-interface
-                               font-interface))))))
+                (interfaces . (font-interface
+                               stem-interface))))))
 
     (StemTremolo
      . (
        (stencil . ,print-circled-text-callback)
        (text . ,string-number::calc-text)
        (meta . ((class . Item)
-                (interfaces . (string-number-interface
-                               font-interface
-                               text-script-interface
-                               text-interface
+                (interfaces . (font-interface
+                               self-alignment-interface
                                side-position-interface
-                               self-alignment-interface))))))
+                               string-number-interface
+                               text-interface
+                               text-script-interface))))))
 
     (StrokeFinger
      . (
        (stencil . ,ly:text-interface::print)
        (text . ,stroke-finger::calc-text)
        (meta . ((class . Item)
-                (interfaces . (stroke-finger-interface
-                               font-interface
-                               text-script-interface
-                               text-interface
+                (interfaces . (font-interface
+                               self-alignment-interface
                                side-position-interface
-                               self-alignment-interface))))))
+                               stroke-finger-interface
+                               text-interface
+                               text-script-interface))))))
 
     (SustainPedal
      . (
        (stencil . ,ly:sustain-pedal::print)
        (X-offset . ,ly:self-alignment-interface::x-aligned-on-self)
        (meta . ((class . Item)
-                (interfaces . (piano-pedal-interface
-                               text-interface
-                               self-alignment-interface
+                (interfaces . (font-interface
+                               piano-pedal-interface
                                piano-pedal-script-interface
-                               font-interface))))))
+                               self-alignment-interface
+                               text-interface))))))
 
     (SustainPedalLineSpanner
      . (
        (Y-extent . ,ly:axis-group-interface::height)
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (meta . ((class . Spanner)
-                (interfaces . (piano-pedal-interface
-                               axis-group-interface
+                (interfaces . (axis-group-interface
+                               piano-pedal-interface
                                side-position-interface))))))
 
     (System
        (X-extent . ,ly:axis-group-interface::width)
        (Y-extent . ,ly:axis-group-interface::height)
        (meta . ((class . System)
-                (interfaces . (system-interface
-                               axis-group-interface))))))
+                (interfaces . (axis-group-interface
+                               system-interface))))))
 
     (SystemStartBar
      . (
        (X-offset . ,ly:side-position-interface::x-aligned-side)
        (Y-extent . #f)
        (meta . ((class . Spanner)
-                (interfaces . (system-start-delimiter-interface
+                (interfaces . (font-interface
                                side-position-interface
-                               font-interface))))))
+                               system-start-delimiter-interface))))))
 
     (SystemStartBracket
      . (
        (X-offset . ,ly:self-alignment-interface::x-aligned-on-self)
        (Y-offset . ,ly:staff-symbol-referencer::callback)
        (meta . ((class . Item)
-                (interfaces  . (rhythmic-head-interface
-                                font-interface
-                                rhythmic-grob-interface
+                (interfaces  . (font-interface
                                 note-head-interface
+                                rhythmic-grob-interface
+                                rhythmic-head-interface
                                 staff-symbol-referencer-interface
                                 text-interface))))))
 
        (X-offset . ,ly:self-alignment-interface::x-aligned-on-self)
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (meta . ((class . Item)
-                (interfaces . (text-script-interface
-                               text-interface
+                (interfaces . (font-interface
                                instrument-specific-markup-interface
-                               side-position-interface
                                self-alignment-interface
-                               font-interface))))))
+                               side-position-interface
+                               text-interface
+                               text-script-interface))))))
 
     (TextSpanner
      . (
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
 
        (meta . ((class . Spanner)
-                (interfaces . (line-spanner-interface
+                (interfaces . (font-interface
                                line-interface
-                               side-position-interface
-                               font-interface))))))
+                               line-spanner-interface
+                               side-position-interface))))))
 
     (Tie
      . (
        (stencil . ,ly:time-signature::print)
        (style . C)
        (meta . ((class . Item)
-                (interfaces . (time-signature-interface
-                               break-aligned-interface
-                               font-interface))))))
+                (interfaces . (break-aligned-interface
+                               font-interface
+                               time-signature-interface))))))
 
     (TrillPitchAccidental
      . (
        (X-offset . ,ly:side-position-interface::x-aligned-side)
        (Y-extent . ,ly:accidental-interface::height)
        (meta . ((class . Item)
-                (interfaces . (trill-pitch-accidental-interface
-                               accidental-interface
+                (interfaces . (accidental-interface
+                               font-interface
                                side-position-interface
-                               font-interface))))))
+                               trill-pitch-accidental-interface))))))
 
     (TrillPitchGroup
      . (
        (stencils . ,parentheses-item::calc-parenthesis-stencils)
        (X-offset . ,ly:side-position-interface::x-aligned-side)
        (meta . ((class . Item)
-                (interfaces . (side-position-interface
-                               parentheses-interface
-                               note-head-interface
+                (interfaces . (axis-group-interface
                                font-interface
-                               axis-group-interface))))))
+                               note-head-interface
+                               parentheses-interface
+                               side-position-interface))))))
 
     (TrillPitchHead
      . (
        (stencil . ,ly:note-head::print)
        (Y-offset . ,ly:staff-symbol-referencer::callback)
        (meta . ((class . Item)
-                (interfaces . (rhythmic-head-interface
-                               font-interface
-                               pitched-trill-interface
+                (interfaces . (font-interface
                                ledgered-interface
+                               pitched-trill-interface
+                               rhythmic-head-interface
                                staff-symbol-referencer-interface))))))
 
     (TrillSpanner
        (style . trill)
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (meta . ((class . Spanner)
-                (interfaces . (line-spanner-interface
+                (interfaces . (font-interface
                                line-interface
-                               trill-spanner-interface
+                               line-spanner-interface
                                side-position-interface
-                               font-interface))))))
+                               trill-spanner-interface))))))
 
     (TupletBracket
      . (
        (stencil . ,ly:tuplet-number::print)
        (text . ,tuplet-number::calc-denominator-text)
        (meta . ((class . Spanner)
-                (interfaces . (text-interface tuplet-number-interface
-                               font-interface))))))
+                (interfaces . (font-interface
+                               text-interface
+                               tuplet-number-interface))))))
 
 
     (UnaCordaPedal
        (stencil . ,ly:text-interface::print)
        (X-offset . ,ly:self-alignment-interface::x-aligned-on-self)
        (meta . ((class . Item)
-                (interfaces . (text-interface
+                (interfaces . (font-interface
                                piano-pedal-script-interface
                                self-alignment-interface
-                               font-interface))))))
+                               text-interface))))))
 
     (UnaCordaPedalLineSpanner
      . (
        (Y-extent . ,ly:axis-group-interface::height)
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (meta . ((class . Spanner)
-                (interfaces . (piano-pedal-interface
-                               axis-group-interface
+                (interfaces . (axis-group-interface
+                               piano-pedal-interface
                                side-position-interface))))))
 
 
        (stencil . ,ly:vaticana-ligature::print)
        (thickness . 0.6)
        (meta . ((class . Spanner)
-                (interfaces . (vaticana-ligature-interface
-                               font-interface))))))
+                (interfaces . (font-interface
+                               vaticana-ligature-interface))))))
 
     (VerticalAlignment
      . (
        (X-extent . #f)
        (Y-extent . #f)
        (meta . ((class . Spanner)
-                (interfaces . (line-spanner-interface
-                               line-interface))))))
+                (interfaces . (line-interface
+                               line-spanner-interface))))))
 
     (VoltaBracket
      . (
        (thickness . 1.6)  ;;  line-thickness
        (word-space . 0.6)
        (meta . ((class . Spanner)
-                (interfaces . (volta-bracket-interface
+                (interfaces . (font-interface
                                horizontal-bracket-interface
                                line-interface
-                               text-interface
                                side-position-interface
-                               font-interface))))))
+                               text-interface
+                               volta-bracket-interface))))))
 
     (VoltaBracketSpanner
      . (
        (Y-extent . ,ly:axis-group-interface::height)
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (meta . ((class . Spanner)
-                (interfaces . (side-position-interface
-                               axis-group-interface))))))
+                (interfaces . (axis-group-interface
+                               side-position-interface))))))
 
 ))
 
index 9a3a4c10691cfb1bb14ac43910c2fdf562a42895..c0811990f72afd6496c99baa81797463228d4e55 100644 (file)
 ;;; post events
 ;;;
 
-(define post-event? (make-music-type-predicate
-                    'StringNumberEvent
-                    'ArticulationEvent
-                    'FingeringEvent
-                    'TextScriptEvent
-                    'MultiMeasureTextEvent
-                    'HyphenEvent
-                    'ExtenderEvent
-                    'BeamEvent
-                    'SlurEvent
-                    'TieEvent
-                    'CrescendoEvent
-                    'DecrescendoEvent
-                    'PhrasingSlurEvent
-                    'TremoloEvent
-                    'SustainEvent
-                    'SostenutoEvent
-                    'TextSpanEvent
-                    'HarmonicEvent
-                    'BeamForbidEvent
-                    'AbsoluteDynamicEvent
-                    'TupletSpanEvent
-                    'TrillSpanEvent
-                    'GlissandoEvent
-                    'ArpeggioEvent
-                    'NoteGroupingEvent
-                    'UnaCordaEvent))
+(define post-event?
+  (make-music-type-predicate
+    'AbsoluteDynamicEvent
+    'ArpeggioEvent
+    'ArticulationEvent
+    'BeamEvent
+    'BeamForbidEvent
+    'CrescendoEvent
+    'DecrescendoEvent
+    'ExtenderEvent
+    'FingeringEvent
+    'GlissandoEvent
+    'HarmonicEvent
+    'HyphenEvent
+    'MultiMeasureTextEvent
+    'NoteGroupingEvent
+    'PhrasingSlurEvent
+    'SlurEvent
+    'SostenutoEvent
+    'StringNumberEvent
+    'SustainEvent
+    'TextScriptEvent
+    'TextSpanEvent
+    'TieEvent
+    'TremoloEvent
+    'TrillSpanEvent
+    'TupletSpanEvent
+    'UnaCordaEvent))
 
 (define* (event-direction->lily-string event #:optional (required #t))
   (let ((direction (ly:music-property event 'direction)))
index b4ec5a33e9aa3fa83d397d7bdbd00f1a16071585..3d11e06c1c4be58851535218118043593abec0e3 100644 (file)
@@ -1,4 +1,4 @@
-;;;; music-property-description.scm -- part of generated backend documentation
+;;;; define-music-properties.scm -- part of generated backend documentation
 ;;;;
 ;;;;  source file of the GNU LilyPond music typesetter
 ;;;;
   (map
    (lambda (x) (apply music-property-description x))
    `(
-     (X-offset ,number?
-              "Offset of resulting grob; only used for balloon texts.")
-     (Y-offset ,number?
-              "Offset of resulting grob; only used for balloon texts.")
-
-     (alteration ,number? "Alteration for figured bass.")
      (absolute-octave ,integer?
                      "The absolute octave for a octave check note.")
-     (articulations ,ly:music-list?
-                   "Articulation events specifically for this note.")
+     (alteration ,number? "Alteration for figured bass.")
      (articulation-type ,string? "Key for script definitions alist.
 
 TODO: Consider making type into symbol.")
+     (articulations ,ly:music-list?
+                   "Articulation events specifically for this note.")
+     (associated-context ,string? "Name of the Voice context associated with
+this @code{\\lyricsto} section.")
      (augmented ,boolean? "This figure is for an augmented figured bass
 (with @code{+} sign).")
      (augmented-slash ,boolean? "This figure is for an augmented figured bass
 (back-slashed number).")
-     (associated-context ,string? "Name of the Voice context associated with
-this @code{\\newaddlyrics} section.")
 
      (bass ,boolean? "Set if this note is a bass note in a chord.")
      (bracket-start ,boolean? "Start a bracket here.
@@ -49,9 +44,6 @@ TODO: Use SpanEvents?")
 cautionary accidental.")
      (change-to-id ,string? "Name of the context to change to.")
      (change-to-type ,symbol? "Type of the context to change to.")
-     (class ,symbol? "The music class used for a music expression,
-or the event class used for a stream event.  The list of classes
-is found in @ref{Music classes}.")
      (compress-procedure ,procedure? "Compress this music expression.
 Arg@tie{}1: the music, arg@tie{}2: factor.")
      (context-id ,string? "Name of context.")
@@ -59,23 +51,23 @@ Arg@tie{}1: the music, arg@tie{}2: factor.")
      (create-new ,boolean? "Create a fresh context.")
 
      (delta-step ,number? "How much should a fall change pitch?")
+     (denominator ,integer? "Denominator in a time signature.")
      (descend-only ,boolean? "If set, this @code{\\context} only descends
 in the context tree.")
-     (denominator ,integer? "Denominator in a time signature.")
      (digit ,integer? "Digit for fingering.")
      (diminished ,boolean? "This bass figure should be slashed.")
      (direction ,ly:dir? "Print this up or down?")
      (drum-type ,symbol? "Which percussion instrument to play this note on.")
      (duration ,ly:duration? "Duration of this note or lyric.")
 
-     (error-found ,boolean?
-                 "If true, a parsing error was found in this expression.")
      (element ,ly:music? "The single child of a Music_wrapper music object,
 or the body of a repeat.")
      (elements ,ly:music-list? "A list of elements for sequential of
 simultaneous music, or the alternatives of repeated music.")
      (elements-callback ,procedure? "Return a list of children, for use by
 a sequential iterator.  Takes a single music parameter.")
+     (error-found ,boolean?
+                 "If true, a parsing error was found in this expression.")
 
      (figure ,integer? "A bass figure.")
      (force-accidental ,boolean? "If set, a cautionary accidental should
@@ -106,9 +98,9 @@ whether to allow, forbid or force a line break.")
      (no-continuation ,boolean? "If set, disallow continuation lines.")
      (numerator ,integer? "Numerator of a time signature.")
 
-     (once ,boolean? "Apply this operation only during one time step?")
      (octavation ,integer? "This pitch was octavated by how many octaves?
 For chord inversions, this is negative.")
+     (once ,boolean? "Apply this operation only during one time step?")
      (origin ,ly:input-location? "Where was this piece of music defined?")
 
      (page-break-permission ,symbol? "When the music is at top-level,
@@ -118,9 +110,9 @@ whether to allow, forbid or force a page break.")
 top-level, a page marker object is instanciated instead of a score.")
      (page-turn-permission ,symbol? "When the music is at top-level,
 whether to allow, forbid or force a page turn.")
+     (parenthesize ,boolean? "Enclose resulting objects in parentheses?")
      (part-combine-status ,symbol? "Change to what kind of state?
 Options are @code{solo1}, @code{solo2} and @code{unisono}.")
-     (parenthesize ,boolean? "Enclose resulting objects in parentheses?")
      (pitch ,ly:pitch? "The pitch of this note.")
      (pitch-alist ,list? "A list of pitches jointly forming the scale
 of a key signature.")
@@ -132,17 +124,17 @@ It must take a single argument, being the context.")
      (property-operations ,list? "Do these operations for instantiating
 the context.")
 
+     (quoted-context-id ,string? "The ID of the context to direct quotes to,
+e.g., @code{cue}.")
+     (quoted-context-type ,symbol? "The name of the context to
+direct quotes to, e.g., @code{Voice}.")
      (quoted-events ,vector? "A vector of with @code{moment} and
 @code{event-list} entries.")
      (quoted-music-name ,string? "The name of the voice to quote.")
-     (quoted-voice-direction ,ly:dir? "Should the quoted voice be up-stem
-or down-stem?")
-     (quoted-context-type ,symbol? "The name of the context to
-direct quotes to, e.g., @code{Voice}.")
-     (quoted-context-id ,string? "The ID of the context to direct quotes to,
-e.g., @code{cue}.")
      (quoted-transposition ,ly:pitch? "The pitch used for the quote,
 overriding @code{\\transposition}.")
+     (quoted-voice-direction ,ly:dir? "Should the quoted voice be up-stem
+or down-stem?")
 
      (repeat-count ,integer? "Do a @code{\\repeat} how often?")
 
@@ -161,21 +153,21 @@ a @code{StringNumberEvent}.")
      (tags ,list? "List of symbols that for denoting extra details, e.g.,
 @code{\\tag #'part @dots{}} could tag a piece of music as only being active
 in a part.")
+     (tempo-unit ,ly:duration? "The unit for the metronome count.")
+     (text ,markup? "Markup expression to be printed.")
      (text-type ,symbol?
                "Particular type of text script (e.g., finger, dynamic).")
-     (text ,markup? "Markup expression to be printed.")
-     (tempo-unit ,ly:duration? "The unit for the metronome count.")
      (to-relative-callback ,procedure? "How to transform a piece of music
 to relative pitches.")
      (tonic ,ly:pitch? "Base of the scale.")
      (tremolo-type ,integer? "Speed of tremolo, e.g., 16 for @code{c4:16}.")
      (trill-pitch ,ly:pitch? "Pitch of other note of the trill.")
+     (tweaks ,list? "An alist of properties to override in the backend
+for the grob made of this event.")
      (type ,symbol? "The type of this music object.
 Determines iteration in some cases.")
      (types ,list? "The types of this music object; determines by what
 engraver this music expression is processed.")
-     (tweaks ,list? "An alist of properties to override in the backend
-for the grob made of this event.")
 
      (untransposable ,boolean? "If set, this music is not transposed.")
 
@@ -186,4 +178,10 @@ music expression is to be discarded by the toplevel music handler.")
      (what ,symbol? "What to change for auto-change.
 
 FIXME: Naming.")
+
+     (X-offset ,number?
+              "Offset of resulting grob; only used for balloon texts.")
+
+     (Y-offset ,number?
+              "Offset of resulting grob; only used for balloon texts.")
     )))
index f54342781c664918a0fed287b90e043248d7be08..0dc1c66bcf58c7c82077e9c484fd2444e2fc9a64 100644 (file)
@@ -120,6 +120,13 @@ Syntax: @var{note}@code{\\breathe}")
        (types . (general-music event breathing-event))
        ))
 
+    (ClusterNoteEvent
+     . ((description . "A note that is part of a cluster.")
+       ;; not a note-event, to ensure that Note_heads_engraver doesn't eat it.
+       (types . (general-music cluster-note-event melodic-event
+                 rhythmic-event event))
+       ))
+
     (ContextChange
      . ((description . "Change staves in Piano staff.
 
@@ -128,13 +135,6 @@ Syntax: @code{\\change Staff = @var{new-id}}")
        (types . (general-music translator-change-instruction))
        ))
 
-    (ClusterNoteEvent
-     . ((description . "A note that is part of a cluster.")
-       ;; not a note-event, to ensure that Note_engraver doesn't eat it.
-       (types . (general-music cluster-note-event melodic-event
-                 rhythmic-event event))
-       ))
-
     (ContextSpeccedMusic
      . ((description . "Interpret the argument music within a
 specific context.")
@@ -166,11 +166,6 @@ An alternative syntax is @var{note}@code{\\decr} @dots{}
                  event))
        ))
 
-    (ExtenderEvent
-     . ((description . "Extend lyrics.")
-       (types . (general-music extender-event event))
-       ))
-
     (Event
      . ((description . "Atomic music event.")
        (types . (general-music event))
@@ -185,6 +180,11 @@ An alternative syntax is @var{note}@code{\\decr} @dots{}
        (types . (general-music event-chord simultaneous-music))
        ))
 
+    (ExtenderEvent
+     . ((description . "Extend lyrics.")
+       (types . (general-music extender-event event))
+       ))
+
     (FingeringEvent
      . ((description . "Specify what finger to use for this note.")
        (types . (general-music fingering-event event))
@@ -405,16 +405,16 @@ Syntax: @code{\\unset @var{context}.@var{prop}}")
        (types . (music-wrapper-music general-music relative-octave-music))
        ))
 
-    (RepeatTieEvent
-     . ((description . "Ties for starting a second volta bracket.")
-       (types . (general-music event repeat-tie-event))
-       ))
-
     (RepeatedMusic
      . ((description . "Repeat music in different ways.")
        (types . (general-music repeated-music))
        ))
 
+    (RepeatTieEvent
+     . ((description . "Ties for starting a second volta bracket.")
+       (types . (general-music event repeat-tie-event))
+       ))
+
     (RestEvent
      . ((description . "A Rest.
 
index c7477eae1a91575f2c541de5536b59880a139c5a..a4233e3f69cbe7e724543c4e8d7197976476277a 100644 (file)
@@ -1,4 +1,4 @@
-;;;; backend-documentation-lib.scm -- Functions for backend documentation
+;;;; document-backend.scm -- Functions for backend documentation
 ;;;;
 ;;;; source file of the GNU LilyPond music typesetter
 ;;;;
index 0a33c8a2f990cea7e8fdd83bf82d33d63d366bd7..53e5bad155f211bc6a2ab8868983dade7de55f27 100644 (file)
@@ -1,4 +1,4 @@
-;;;; document-markup.scm -- part of generated backend documentation
+;;;; document-music.scm -- part of generated backend documentation
 ;;;;
 ;;;;  source file of the GNU LilyPond music typesetter
 ;;;;
index ac33f4f09dd4c9c17671566b228dc6d64f6ced30..09c3f35d495ce595e70d2c1f46c47ad023f93aa6 100644 (file)
@@ -1,4 +1,4 @@
-;;;; generate-documentation.scm -- Generate documentation
+;;;; documentation-generate.scm -- Generate documentation
 ;;;;
 ;;;; source file of the GNU LilyPond music typesetter
 ;;;; 
index 7383f3181cbef2111efabe0e0bc39c168b964369..bd1d9bb1aa497d614470438a7dc7000722aa3034 100644 (file)
@@ -1,4 +1,4 @@
-;;;; framework-ps.scm --
+;;;; framework-eps.scm --
 ;;;;
 ;;;;  source file of the GNU LilyPond music typesetter
 ;;;;
index a552b5e7076bd0a7f4d49ce5ffeca48621bd8f1c..bcc58142e5c776e8bdb09b3c7fe7bffa16d22ee9 100644 (file)
@@ -1,4 +1,4 @@
-;; module for benchmarking.
+;;;; framework-null.scm -- module for benchmarking.
 
 (define-module (scm framework-null)
   #:export (output-framework)
index 5cb3a67490f43e9013375ea6964e34acf87f4ad0..7c7c7e1045a31a88d4e62da4edfdb7114b32e54b 100644 (file)
@@ -1,3 +1,4 @@
+;;;; framework-scm.scm
 
 (define-module (scm framework-scm)
   #:export (output-framework)
index 69b48db8a15788d651a0da6cdb05359be2c48734..ab612e59aa4e52c3c3d617f464e8bb183688dcbe 100644 (file)
@@ -1,3 +1,5 @@
+;;;; framework-socket.scm
+
 (define-module (scm framework-socket)
   #:export (output-framework)
   )
index 09dc09fd8e379407cf1087f214f59fe0e359cbee..e99387864dd8c3dd97783b01771f2a27db2807b2 100644 (file)
@@ -1,5 +1,5 @@
 ;;;;
-;;;; beam.scm -- Beam scheme stuff
+;;;; layout-beam.scm -- Beam scheme stuff
 ;;;;
 ;;;; source file of the GNU LilyPond music typesetter
 ;;;; 
index 8237106f063ff967f447d05ae27cde2dd41a307b..387a0383f07dccd2e079360ddcfe2404c8b6fb14 100644 (file)
@@ -1,4 +1,4 @@
-;;;; layout-page-tweaks.scm -- page breaking and page layout
+;;;; layout-page-dump.scm -- page breaking and page layout
 ;;;;
 ;;;;  source file of the GNU LilyPond music typesetter
 ;;;;
@@ -13,7 +13,7 @@
   #:use-module (scm layout-page-layout)
   #:use-module (lily)
   #:export (write-page-breaks
-           ;; utilisties for writing other page dump functions
+           ;; utilities for writing other page dump functions
            record-tweaks dump-all-tweaks))
 
 (define (record-tweaks what property-pairs tweaks)
index ffd6d632c4d2d8e4bdd4ba4536eb0652e6b9d6fd..d1c18ab57305419014decc701e3357f5d1ccf17f 100644 (file)
                  (cdr spacing)))))
       page)))
 
-(define (page-breaking-wrapper paper-book)
-  "Compute line and page breaks by calling the page-breaking paper variable,
-  then performs the post process function using the page-post-process paper
-  variable. Finally, return the pages."
-  (let* ((paper (ly:paper-book-paper paper-book))
-         (pages ((ly:output-def-lookup paper 'page-breaking) paper-book)))
-    ((ly:output-def-lookup paper 'page-post-process) paper pages)
-    pages))
-
 (define (post-process-pages layout pages)
   "If the write-page-layout paper variable is true, dumps page breaks
   and tweaks."
index e153c0cf79d2370d013d4c578983a2cfa6354e5a..b9e8f5d3157fbc0baf012075ddd75f5a369f781d 100644 (file)
@@ -1,4 +1,4 @@
-;;;; slur.scm -- Slur scheme stuff
+;;;; layout-slur.scm -- Slur scheme stuff
 ;;;;
 ;;;; source file of the GNU LilyPond music typesetter
 ;;;; 
index 9420744d64d34b68c0191911c8e8ea78e5d270d4..17063a9aef80eaccafd5cc31f49a083a6f534f28 100644 (file)
@@ -40,7 +40,7 @@ and scale down result to prevent jaggies in
 PNG images.")
     (backend ps
 "Select backend.  Possible values: 'eps, 'null,
-'ps, 'scm, 'svg.")
+'ps, 'scm, 'socket, 'svg.")
     (check-internal-types #f
 "Check every property assignment for types.")
     (clip-systems #f
index ee798233611a6a65361f1fae414962848a9f3cfa..8eefe63b714fd0cb3944a5dd38e5b083d500a38f 100644 (file)
@@ -1,4 +1,4 @@
-;;;; define-syntax.scm -- Defines functions for syntax expressions
+;;;; ly-syntax-constructors.scm -- Defines functions for syntax expressions
 ;;;;
 ;;;;  source file of the GNU LilyPond music typesetter
 ;;;; 
index 39bedc18047c8b6f1e37dfeb7460727217bd216f..9da1c30eda14a24963163f0bb24c694787ccc79a 100644 (file)
@@ -1,3 +1,5 @@
+;;;; memory-trace.scm
+
 (define-module (scm memory-trace))
 (use-modules (lily)
             (ice-9 format))
index b3de9fc405876ce6fe7212b2e3d158210cded146..fff8f1b83d2ec880dba7a496e5f51775fe9a7ca7 100644 (file)
@@ -1,4 +1,4 @@
-;;;; clef.scm -- Clef settings
+;;;; parser-clef.scm -- Clef settings
 ;;;;
 ;;;; source file of the GNU LilyPond music typesetter
 ;;;;
index cfbdcd7cffa6b023f0137c0a82bfe9672c297e12..178f94e4ef2f02f952270312ba6760d1513f727d 100644 (file)
@@ -1,4 +1,4 @@
-;;;; ly-from-scheme.scm -- parsing LilyPond music expressions from scheme
+;;;; parser-ly-from-scheme.scm -- parsing LilyPond music expressions from scheme
 ;;;;
 ;;;;  source file of the GNU LilyPond music typesetter
 ;;;; 
index 2453a14ed3af109357300009bbfda76a28494709..17bfc9abc459728e380b4e8cc09e8e93f8083cd8 100644 (file)
@@ -1,4 +1,4 @@
-;;; festival.scm --- Festival singing mode output
+;;; song-util.scm --- Festival singing mode output
 
 ;; Copyright (C) 2006, 2007 Brailcom, o.p.s.
 
index 8edacdf13c24d8b03d4888d5058ff0c9a3dfcc38..c5ecc89da623c3997866922ae7038e3c4a7bdf04 100644 (file)
@@ -1,4 +1,4 @@
-;;; festival.scm --- Festival singing mode output
+;;; song.scm --- Festival singing mode output
 
 ;; Copyright (C) 2006, 2007 Brailcom, o.p.s.