* Documentation/user/programming-interface.itely: major
new docs, some reorg, some info from Nicolas.
+ * Documentation/user/ various: small fixes.
+
2006-05-12 Mats Bengtsson <mabe@drongo.s3.kth.se>
* Documentation/user/programming-interface.itely (Markup
number itself is stored in the @code{currentBarNumber} property, which
is normally updated automatically for every measure.
+To manually set a bar number, use
+
+@example
+\set Score.currentBarNumber = #57
+@end example
+
Bar numbers can be typeset at regular intervals instead of at the
beginning of each line. This is illustrated in the following example,
whose source is available as
* Music layout::
* Multiple movements::
* MIDI output::
+* Displaying LilyPond notation::
@end menu
the list of MIDI instruments, the Grand Piano (@code{"acoustic grand"})
instrument is used.
+
+@c Yes, this is a cop-out; this info doesn't belong in the Scheme
+@c chapter, but I'm not certain where to stick it.
+@c I think I'll eventually split this chapter into a "paper/layout"
+@c chapter and a "misc issues" chapter. -gp
+@node Displaying LilyPond notation
+@section Displaying LilyPond notation
+
+@cindex @code{\displayLilyMusc}
+Displaying a music expression in LilyPond notation can be
+done using the music function @code{\displayLilyMusic}. For example,
+
+@example
+@{
+ \displayLilyMusic \transpose c a, @{ c e g a bes @}
+@}
+@end example
+
+will display
+
+@example
+@{ a, cis e fis g @}
+@end example
+
+By default, LilyPond will print these messages to the console along
+with all the other messages. To split up these messages and save
+the results of @code{\display@{STUFF@}}, redirect the output to
+a file.
+
+@example
+lilypond file.ly >display.txt
+@end example
+
+
+
@menu
+* Moving objects::
* Fixing overlapping notation::
* Common tweaks::
* Default files::
@end menu
-@node Fixing overlapping notation
-@section Fixing overlapping notation
+@node Moving objects
+@section Moving objects
This may come as a surprise, but LilyPond is not perfect. Some notation
elements can overlap. This is unfortunate, but (in most cases) is easily
This manual: @ref{The \override command}, @ref{Common tweaks}.
+@node Fixing overlapping notation
+@section Fixing overlapping notation
+
+In @ref{Moving objects}, we saw how to move a @code{TextScript}
+object. The same mechanism can be used to move other types of
+objects; simply replace @code{TextScript} with the name of
+another object.
+
+To find the object name, look at the ``@strong{see also}'' at
+bottom of the relevant documentation page. For example, at
+the bottom of @ref{Dynamics}, we see
+
+@quotation
+@seealso
+
+Program reference: @internalsref{DynamicText}, @internalsref{Hairpin}.
+Vertical positioning of these symbols is handled by
+@internalsref{DynamicLineSpanner}.
+@end quotation
+
+@noindent
+So to move dynamics around, we use
+
+@example
+\override DynamicLineSpanner #'padding = #2.0
+@end example
+
+We cannot list every object, but here is a list of the most
+common objects.
+
+@multitable @columnfractions .33 .66
+@headitem Object type @tab Object name
+@item Text @tab @code{TextScript}
+@item Dynamics @tab @code{DynamicLineSpanner}
+@item Ties @tab @code{Tie}
+@item Slurs @tab @code{Slur}
+@item Articulation @tab @code{Script}
+@item Fingering @tab @code{Fingering}
+@item Rehearsal marks @tab @code{RehearsalMark}
+@end multitable
+
+
@node Common tweaks
@section Common tweaks
@end lilypond
There are some problems with overlapping output; we'll fix those using
-the techniques in @ref{Fixing overlapping notation}. But let's also
+the techniques in @ref{Moving objects}. But let's also
do something about the @code{mpdolce} and @code{tempoMark}
definitions. They produce the output we desire, but we might want
to use them in another piece. We could simply copy-and-paste them