]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/notation/input.itely
Run grand-replace (issue 3765)
[lilypond.git] / Documentation / notation / input.itely
index 238f90d450647d1743127c4e18190819e053755d..82496b1d2a34b7afb2d9b2ae6974da0158582a45 100644 (file)
@@ -51,7 +51,7 @@ delimited by curly brackets:
 
 @example
 \score @{
-...
+  @dots{}
 @}
 @end example
 
@@ -98,7 +98,7 @@ are music expressions:
 
 Comments are one exception to this general rule.  (For others see
 @ref{File structure}.)  Both single-line comments and comments
-delimited by @code{%@{ .. %@}} may be placed anywhere within an
+delimited by @code{%@{ @dots{} %@}} may be placed anywhere within an
 input file.  They may be placed inside or outside a @code{\score}
 block, and inside or outside the single music expression within a
 @code{\score} block.
@@ -133,7 +133,7 @@ movements.  Each movement is entered with a @code{\score} block,
 
 @example
 \score @{
-  @var{..music..}
+  @var{@dots{}music@dots{}}
 @}
 @end example
 
@@ -141,7 +141,7 @@ and texts are entered with a @code{\markup} block,
 
 @example
 \markup @{
-  @var{..text..}
+  @var{@dots{}text@dots{}}
 @}
 @end example
 
@@ -152,13 +152,13 @@ will normally be typeset in the form of a single output file.
 
 @example
 \score @{
-  @var{..}
+  @var{@dots{}}
 @}
 \markup @{
-  @var{..}
+  @var{@dots{}}
 @}
 \score @{
-  @var{..}
+  @var{@dots{}}
 @}
 @end example
 
@@ -182,10 +182,10 @@ the top of the file is inserted.
   \header @{ piece = "Romanze" @}
 @}
 \markup @{
-   ..text of second verse..
+   @dots{}text of second verse@dots{}
 @}
 \markup @{
-   ..text of third verse..
+   @dots{}text of third verse@dots{}
 @}
 \score @{
   @dots{}
@@ -243,15 +243,15 @@ name which may clash, so
 @example
 \book @{
   \score @{ @dots{} @}
-  \layout @{ @dots{} @}
+  \paper @{ @dots{} @}
 @}
 \book @{
   \score @{ @dots{} @}
-  \layout @{ @dots{} @}
+  \paper @{ @dots{} @}
 @}
 \book @{
   \score @{ @dots{} @}
-  \layout @{ @dots{} @}
+  \paper @{ @dots{} @}
 @}
 @end example
 
@@ -288,17 +288,17 @@ and @file{eightminiatures-Nocturne.pdf} by adding a
 \book @{
   \bookOutputSuffix "Romanze"
   \score @{ @dots{} @}
-  \layout @{ @dots{} @}
+  \paper @{ @dots{} @}
 @}
 \book @{
   \bookOutputSuffix "Menuetto"
   \score @{ @dots{} @}
-  \layout @{ @dots{} @}
+  \paper @{ @dots{} @}
 @}
 \book @{
   \bookOutputSuffix "Nocturne"
   \score @{ @dots{} @}
-  \layout @{ @dots{} @}
+  \paper @{ @dots{} @}
 @}
 @end example
 
@@ -309,17 +309,17 @@ by using @code{\bookOutputName} declarations
 \book @{
   \bookOutputName "Romanze"
   \score @{ @dots{} @}
-  \layout @{ @dots{} @}
+  \paper @{ @dots{} @}
 @}
 \book @{
   \bookOutputName "Menuetto"
   \score @{ @dots{} @}
-  \layout @{ @dots{} @}
+  \paper @{ @dots{} @}
 @}
 \book @{
   \bookOutputName "Nocturne"
   \score @{ @dots{} @}
-  \layout @{ @dots{} @}
+  \paper @{ @dots{} @}
 @}
 @end example
 
@@ -357,7 +357,7 @@ book-wide settings.  If more than one such definition of the same type
 is entered at the top level the definitions are combined, but in
 conflicting situations the later definitions take precedence.  For
 details of how this affects the @code{\layout} block see
-@ref{The \layout block}.
+@ref{The layout block,,The @code{@bs{}layout} block}.
 
 @item
 A direct scheme expression, such as
@@ -481,7 +481,7 @@ be entered:
 A single-line comment, introduced by a leading @code{%} sign.
 
 @item
-A multi-line comment delimited by @code{%@{ .. %@}}.
+A multi-line comment delimited by @code{%@{ @dots{} %@}}.
 
 @end itemize
 
@@ -515,7 +515,7 @@ Learning Manual:
 
 Notation Reference:
 @ref{Titles explained},
-@ref{The \layout block}.
+@ref{The layout block,,The @code{@bs{}layout} block}.
 
 
 @node Titles and headers
@@ -548,17 +548,17 @@ some pieces include a lot more information.
 
 Each @code{\book} block in a single input file produces a separate
 output file, see @ref{File structure}.  Within each output file
-two types of titling areas are provided: @emph{Bookpart Titles} at
-the beginning of each bookpart and @emph{Score Titles} at the
-beginning of each score.
+three types of titling areas are provided: @emph{Book Titles} at the
+beginning of each book, @emph{Bookpart Titles} at the beginning of
+each bookpart and @emph{Score Titles} at the beginning of each score.
 
 Values of titling fields such as @code{title} and @code{composer}
 are set in @code{\header} blocks.  (For the syntax of @code{\header}
 blocks and a complete list of the fields available by default see
-@ref{Default layout of bookpart and score titles}).  Both Bookpart
-Titles and Score Titles can contain the same fields, although by
-default the fields in Score Titles are limited to @code{piece} and
-@code{opus}.
+@ref{Default layout of bookpart and score titles}).  Book Titles,
+Bookpart Titles and Score Titles can all contain the same fields,
+although by default the fields in Score Titles are limited to
+@code{piece} and @code{opus}.
 
 @code{\header} blocks may be placed in four different places to form
 a descending hierarchy of @code{\header} blocks:
@@ -589,7 +589,15 @@ by a value set lower in the hierarchy, so:
 @itemize
 
 @item
- A Bookpart Title is derived from fields set at the top of the input
+A Book Title is derived from fields set at the top of the input file,
+modified by fields set in the @code{\book} block.  The resulting
+fields are used to print the Book Title for that book, providing that
+there is other material which generates a page at the start of the
+book, before the first bookpart.  A single @code{\pageBreak} will
+suffice.
+
+@item
+A Bookpart Title is derived from fields set at the top of the input
 file, modified by fields set in the @code{\book} block, and further
 modified by fields set in the @code{\bookpart} block.  The resulting
 values are used to print the Bookpart Title for that bookpart.
@@ -717,7 +725,7 @@ Notation Reference:
 
 This example demonstrates all @code{\header} variables:
 
-@lilypond[papersize=a7,quote,verbatim,noragged-right]
+@lilypond[papersize=a6landscape,quote,verbatim,noragged-right]
 \book {
   \header {
       % The following fields are centered
@@ -791,12 +799,17 @@ To change the default layout see @ref{Custom layout for titles}.
 
 @cindex breakbefore
 
+If a @code{\book} block starts immediately with a @code{\bookpart}
+block, no Book Title will be printed, as there is no page on which
+to print it.  If a Book Title is required, begin the @code{\book}
+block with some markup material or a @code{\pageBreak} command.
+
 Use the @code{breakbefore} variable inside a @code{\header} block
-that is itself in a @code{\score} block, to make the top-level
+that is itself in a @code{\score} block, to make the higher-level
 @code{\header} block titles appear on the first page on their own, with
 the music (defined in the @code{\score} block) starting on the next.
 
-@lilypond[papersize=a8landscape,verbatim,noragged-right]
+@lilypond[papersize=c7landscape,verbatim,noragged-right]
 \book {
   \header {
     title = "This is my Title"
@@ -862,16 +875,6 @@ the @code{copyright} text if there is only a single page.
 
 @end itemize
 
-@lilypond[papersize=a8landscape]
-\book {
-  \score {
-    \relative c' {
-      c4 d e f
-    }
-  }
-}
-@end lilypond
-
 The default tagline can be changed by adding a @code{tagline} in the
 top-level @code{\header} block.
 
@@ -915,7 +918,7 @@ footer and title text within the @code{\header} block.
   { s1 }
   \header {
     piece = \markup { \fontsize #4 \bold "PRAELUDIUM I" }
-    subtitle = \markup { \italic "(Excerpt)" }
+    opus = \markup { \italic "BWV 846" }
   }
 }
 @end lilypond
@@ -952,7 +955,7 @@ The default settings for @code{scoreTitleMarkup} as defined in
 
 @example
 scoreTitleMarkup = \markup @{ \column @{
-  \on-the-fly #print-all-headers @{ \bookTitleMarkup \hspace #1 @}
+  \on-the-fly \print-all-headers @{ \bookTitleMarkup \hspace #1 @}
   \fill-line @{
     \fromproperty #'header:piece
     \fromproperty #'header:opus
@@ -1111,9 +1114,9 @@ markup conditionally to header and footer text defined within the
 
 @example
 @code{variable} = @code{\markup} @{
-  ...
-  @code{\on-the-fly}  #@var{procedure}  @var{markup}
-  ...
+  @dots{}
+  @code{\on-the-fly}  \@var{procedure}  @var{markup}
+  @dots{}
 @}
 @end example
 
@@ -1160,7 +1163,7 @@ same layout by defining it as @code{\oddFooterMarkup}:
     evenHeaderMarkup = \markup \null
     oddFooterMarkup = \markup {
       \fill-line {
-        \on-the-fly #print-page-number-check-first
+        \on-the-fly \print-page-number-check-first
         \fromproperty #'page:page-number-string
       }
     }
@@ -1176,9 +1179,9 @@ Several @code{\on-the-fly} conditions can be combined with an
 @q{and} operation, for example,
 
 @example
-  @code{\on-the-fly #first-page}
-  @code{\on-the-fly #last-page}
-  @code{@{ \markup ... \fromproperty #'header: ... @}}
+  @code{\on-the-fly \first-page}
+  @code{\on-the-fly \last-page}
+  @code{@{ \markup @dots{} \fromproperty #'header: @dots{} @}}
 @end example
 
 determines if the output is a single page.
@@ -1320,6 +1323,22 @@ by the event corresponding to @var{music} with the syntax:
 }
 @end lilypond
 
+Marking a @emph{whole} chord with an event-based footnote is not
+possible: a chord, even one containing just a single note, does
+not produce an actual event of its own.  However, individual
+notes @emph{inside} of the chord can be marked:
+
+@lilypond[quote,verbatim,papersize=a8landscape]
+\book {
+  \header { tagline = ##f }
+  \relative c'' {
+    \footnote #'(2 . 3) "Does not work" <a-3>2
+    <\footnote #'(-2 . -3) "Does work" a-3>4
+    <a-3 \footnote #'(3 . 1/2) "Also works" c-5>4
+  }
+}
+@end lilypond
+
 If the footnote is to be attached to a post-event or articulation
 the @code{\footnote} command @emph{must} be preceded by a direction
 indicator, @code{-, _, ^}, and followed by the post-event or
@@ -1383,12 +1402,17 @@ will be attached to all grobs of that type at the current time step:
 }
 @end lilypond
 
-A chord constituent can be given an individual footnote.  A
-@code{NoteHead} is the (only) grob directly caused from a chord
-constituent, so an Event-based footnote command should be used to
-add a footnote to a @code{NoteHead} within a chord.  All other
-grobs within a chord are indirectly caused and should be footnoted
-with a Time-based footnote command, prefixed with @code{\single}:
+A note inside of a chord can be given an individual (event-based)
+footnote.  A @samp{NoteHead} is the only grob directly caused
+from a chord note, so an event-based footnote command is
+@emph{only} suitable for adding a footnote to the @samp{NoteHead}
+within a chord.  All other chord note grobs are indirectly caused.
+The @code{\footnote} command itself offers no syntax for
+specifying @emph{both} a particular grob type @emph{as well as} a
+particular event to attach to.  However, one can use a time-based
+@code{\footnote} command for specifying the grob type, and then
+prefix this command with @code{\single} in order to have it
+applied to just the following event:
 
 @lilypond[quote,verbatim,papersize=a8landscape]
 \book {
@@ -1436,7 +1460,7 @@ context.
     \footnote #'(-0.5 . 1) "Bar line" Staff.BarLine
     q q
     \footnote #'(0.5 . -1) "Key change" Staff.KeySignature
-    \key c\minor
+    \key c \minor
     q
   }
 }
@@ -1485,7 +1509,7 @@ created in different ways.
 The syntax of a footnote in stand-alone text with automatic marks is
 
 @example
-\markup @{ ... \auto-footnote @var{text} @var{footnote} ... @}
+\markup @{ @dots{} \auto-footnote @var{text} @var{footnote} @dots{} @}
 @end example
 
 The elements are:
@@ -1524,7 +1548,7 @@ For example:
 The syntax of a footnote in stand-alone text with custom marks is
 
 @example
-\markup @{ ... \footnote @var{mark} @var{footnote} ... @}
+\markup @{ @dots{} \footnote @var{mark} @var{footnote} @dots{} @}
 @end example
 
 The elements are:
@@ -1851,7 +1875,7 @@ subdirectory called @file{parts} within the current directory, use
 @example
 \include "parts/VI.ly"
 \include "parts/VII.ly"
-... etc
+@dots{} etc
 @end example
 
 Files which are to be included can also contain @code{\include}
@@ -1885,7 +1909,7 @@ libA/
   libA.ly
   A1.ly
   A2.ly
-  ...
+  @dots{}
 @end example
 
 @noindent
@@ -1895,7 +1919,7 @@ then the entry file, @code{libA.ly}, will contain
 #(ly:set-option 'relative-includes #t)
 \include "A1.ly"
 \include "A2.ly"
-...
+@dots{}
 % return to default setting
 #(ly:set-option 'relative-includes #f)
 @end example
@@ -1925,7 +1949,7 @@ and in main.ly write
 @example
 \include "VI.ly"
 \include "VII.ly"
-... etc
+@dots{} etc
 @end example
 
 Files which are to be included in many scores may be placed in
@@ -2064,13 +2088,16 @@ to tagged music is as follows:
 @headitem Filter
   @tab Result
 @item
-Tagged music preceded by @code{\keepWithTag #'@var{name}}
-  @tab Untagged music and music tagged with @var{name} is included;
-       music tagged with any other tag name is excluded.
+Tagged music preceded by @code{\keepWithTag #'@var{name}} or
+       @code{\keepWithTag #'(@var{name1} @var{name2}@dots{})}
+@tab Untagged music and music tagged with any of the given tag
+     names is included; 
+     music tagged with any other tag name is excluded.
 @item
-Tagged music preceded by @code{\removeWithTag #'@var{name}}
-@tab Untagged music and music tagged with any tag name other than
-     @var{name} is included; music tagged with @var{name} is
+Tagged music preceded by @code{\removeWithTag #'@var{name}} or
+       @code{\removeWithTag #'(@var{name1} @var{name2}@dots{})}
+@tab Untagged music and music not tagged with any of the given tag names
+     is included; music tagged with any of the given tag names is
      excluded.
 @item
 Tagged music not preceded by either @code{\keepWithTag} or
@@ -2141,12 +2168,13 @@ c1-\tag #'warn ^"Watch!"
 @end example
 
 Multiple tags may be placed on expressions with multiple
-@code{\tag} entries:
+@code{\tag} entries, or by combining multiple tags into one symbol
+list:
 
 @lilypond[quote,verbatim]
 music = \relative c'' {
   \tag #'a \tag #'both { a4 a a a }
-  \tag #'b \tag #'both { b4 b b b }
+  \tag #'(b both) { b4 b b b }
 }
 <<
 \keepWithTag #'a \music
@@ -2156,19 +2184,23 @@ music = \relative c'' {
 @end lilypond
 
 Multiple @code{\removeWithTag} filters may be applied to a single
-music expression to remove several differently named tagged sections:
+music expression to remove several differently named tagged
+sections.  Alternatively, you can use a single
+@code{\removeWithTag} with a list of tags.
 
 @lilypond[verbatim,quote]
 music = \relative c'' {
-\tag #'A { a4 a a a }
-\tag #'B { b4 b b b }
-\tag #'C { c4 c c c }
-\tag #'D { d4 d d d }
+  \tag #'A { a4 a a a }
+  \tag #'B { b4 b b b }
+  \tag #'C { c4 c c c }
+  \tag #'D { d4 d d d }
 }
-{
-\removeWithTag #'B
-\removeWithTag #'C
-\music
+\new Voice {
+  \removeWithTag #'B
+  \removeWithTag #'C
+  \music
+  \removeWithTag #'(B C)
+  \music
 }
 @end lilypond
 
@@ -2176,6 +2208,9 @@ Two or more @code{\keepWithTag} filters applied to a single music
 expression will cause @emph{all} tagged sections to be removed, as
 the first filter will remove all tagged sections except the one
 named, and the second filter will remove even that tagged section.
+Usually you would rather want to use a single @code{\keepWithTag}
+command with a list of multiple tags: this will only remove tagged
+sections not given in @emph{any} of the tags.
 
 Sometimes you want to splice some music at a particular place in an
 existing music expression.  You can use @code{\pushToTag} and
@@ -2210,16 +2245,14 @@ Notation Reference:
 @ref{Automatic part combining},
 @ref{Including LilyPond files}.
 
-@ignore
-@c This warning is more general than this placement implies.
-@c Rests are not merged whether or not they come from tagged sections.
-@c Should be deleted?  -td
-
 @knownissues
-Multiple rests are not merged if you create a score with more
-than one tagged section at the same place.
-
-@end ignore
+Calling @code{\relative} on a music expression obtained by filtering
+music through @code{\keepWithTag} or @code{\removeWithTag} might cause
+the octave relations to change, as only the pitches actually
+remaining in the filtered expression will be considered.  Applying
+@code{\relative} first, before @code{\keepWithTag} or
+@code{\removeWithTag}, avoids this danger as @code{\relative} then
+acts on all the pitches as-input.
 
 
 @node Using global settings
@@ -2372,7 +2405,7 @@ lyrics and as stand-alone text below the score:
   }
   \addlyrics { O \markup { \concat { Ph \char ##x0153 be! } } }
 }
-\markup { "Copyright 2008--2012" \char ##x00A9 }
+\markup { "Copyright 2008--2014" \char ##x00A9 }
 @end lilypond
 
 @cindex copyright sign
@@ -2497,10 +2530,10 @@ are adding notes) is interesting to view and correct.  To speed up
 this correction process, it is possible to skip typesetting of all but
 the last few measures.  This is achieved by putting
 
-@verbatim
+@example
 showLastLength = R1*5
-\score { ... }
-@end verbatim
+\score @{ @dots{} @}
+@end example
 
 @noindent
 in your source file.  This will render only the last 5 measures
@@ -2558,11 +2591,11 @@ Here are a few sample bars of music set in Gonville:
 
 @c NOTE: these images are a bit big, but that's important
 @c       for the font comparison.  -gp
-@sourceimage{Gonville_after,,,}
+@sourceimage{Gonville_after,15cm,,}
 
 Here are a few sample bars of music set in LilyPond's Feta font:
 
-@sourceimage{Gonville_before,,,}
+@sourceimage{Gonville_before,15cm,,}
 
 @subsubheading Installation Instructions for MacOS
 
@@ -2613,7 +2646,6 @@ score contains more than 15 staves, MIDI channels will be reused.
 @menu
 * Creating MIDI files::
 * MIDI Instruments::
-* MIDI block::
 * What goes into the MIDI output?::
 * Repeats in MIDI::
 * Controlling MIDI dynamics::
@@ -2624,64 +2656,78 @@ score contains more than 15 staves, MIDI channels will be reused.
 @node Creating MIDI files
 @subsection Creating MIDI files
 
-To create a MIDI output file from a LilyPond input file, add a
-@code{\midi} block to a score, for example,
+@cindex MIDI block
+To create a MIDI output file from a LilyPond file, insert a @code{\midi}
+block inside a @code{\score} block;
 
 @example
 \score @{
-  @var{...music...}
+  @var{@dots{}music@dots{}}
+  \layout @{ @}
   \midi @{ @}
 @}
 @end example
 
-If there is a @code{\midi} block in a @code{\score} with no
-@code{\layout} block, only MIDI output will be produced.  When
-notation is needed too, a @code{\layout} block must also be
-present.
+If there is @emph{only} a @code{\midi} block in a @code{\score} (i.e.
+without any @code{\layout} block), then @emph{only} MIDI output will be
+produced.  No musical notation will be typeset.
 
 @example
 \score @{
-  @var{...music...}
+  @var{@dots{}music@dots{}}
   \midi @{ @}
-  \layout @{ @}
 @}
 @end example
 
-Pitches, rhythms, ties, dynamics, and tempo changes are interpreted
-and translated correctly to the MIDI output.  Dynamic marks,
-crescendi and decrescendi translate into MIDI volume levels.
-Dynamic marks translate to a fixed fraction of the available MIDI
-volume range.  Crescendi and decrescendi make the volume vary
-linearly between their two extremes.  The effect of dynamic markings
-on the MIDI output can be removed completely, see @ref{MIDI block}.
-
-The initial tempo and later tempo changes can be specified
-with the @code{\tempo} command within the music notation.  These
-are reflected in tempo changes in the MIDI output.  This command
-will normally result in the metronome mark being printed, but this
-can be suppressed, see @ref{Metronome marks}.  An alternative way
-of specifying the initial or overall MIDI tempo is described below,
-see @ref{MIDI block}.
-
-Due to some limitations on Windows, the default extension for
-MIDI files on Windows is @code{.mid}.  Other operating systems still
-use the extension @code{.midi}.  If a different extension is preferred,
-insert the following line at the top-level of the input file,
-before the start of any @code{\book}, @code{\bookpart} or @code{\score} blocks:
+Dynamics, pitches, rhythms, tempo changes and ties are all interpreted
+and translated correctly.  Dynamic @q{marks} translate into volume
+levels with a @q{fixed fraction} of the available MIDI volume range;
+crescendi and decrescendi make the volume vary linearly between their
+two extremes.
+
+All @code{\tempo} indications, including all subsequent tempo changes,
+specified within the music notation will be reflected in the MIDI
+output.
+
+Usually it is enough to leave the @code{\midi} block empty, but it
+can contain context rearrangements, new context definitions or code
+to set the values of properties.  Here the tempo is set to 72
+quarter-note beats per minute, but @emph{only} for the MIDI's
+audio playback.
 
 @example
-#(ly:set-option 'midi-extension "midi")
+\score @{
+  @var{@dots{}music@dots{}}
+  \midi @{
+    \tempo 4 = 72
+  @}
+@}
 @end example
 
-The line above will set the default extension for MIDI files to
-@code{.midi}.
+Note that @code{\tempo} is actually a command for setting properties
+during the interpretation of the music and in the context of output definitions, like a @code{\midi} block, is reinterpreted as if it
+were a context modification.
 
-Alternatively, this option can also be supplied on the command line:
+@cindex MIDI context definitions
+
+Context definitions follow the same syntax as those in a @code{\layout}
+block;
 
 @example
-lilypond … -dmidi-extension=midi lilyFile.ly
+\score @{
+  @var{@dots{}music@dots{}}
+  \midi @{
+    \context @{
+      \Voice
+      \remove "Dynamic_performer"
+    @}
+  @}
+@}
 @end example
 
+removes the effect of dynamics from the MIDI output.  Translation
+modules for sound are called @q{performers}.
+
 
 @snippets
 
@@ -2690,34 +2736,36 @@ lilypond … -dmidi-extension=midi lilyFile.ly
 
 @knownissues
 
-@c In 2.11 the following no longer seems to be a problem -td
-@ignore
-Unterminated (de)crescendos will not render properly in the midi file,
-resulting in silent passages of music.  The workaround is to explicitly
-terminate the (de)crescendo.  For example,
+Some operating systems require a @emph{specific} file extension for
+MIDI files.  If a different extension is preferred insert the following
+line at the top-level of the input file, before the start of any
+@code{\book}, @code{\bookpart} or @code{\score} blocks;
 
 @example
-@{ a4\< b c d\f @}
+#(ly:set-option 'midi-extension "mid")
 @end example
 
-@noindent
-will not work properly but
+This will set the default extension for MIDI files to @code{.mid}.
+
+Alternatively, an option can be supplied on the command line:
 
 @example
-@{ a4\< b c d\!\f @}
+lilypond -dmidi-extension=mid MyFile.ly
 @end example
 
-@noindent
-will.
-@end ignore
-
 Changes in the MIDI volume take place only on starting a note, so
-crescendi and decrescendi cannot affect the volume of a
-single note.
+crescendi and decrescendi cannot affect the volume of a single note.
+
+Some MIDI players may not always correctly handle tempo changes in the
+midi output.
+
+@seealso
+Installed Files:
+@file{../ly/performer-init.ly}.
+
+Learning Manual:
+@rlearning{Other sources of information}.
 
-Not all midi players correctly handle tempo changes in the midi
-output.  Players that are known to work include MS Windows Media
-Player and @uref{http://@/timidity@/.sourceforge@/.net/,timidity}.
 
 @node MIDI Instruments
 @subsection MIDI Instruments
@@ -2733,13 +2781,13 @@ The name should be chosen from the list in @ref{MIDI instruments}.
 @example
 \new Staff @{
   \set Staff.midiInstrument = #"glockenspiel"
-  @var{...notes...}
+  @var{@dots{}notes@dots{}}
 @}
 @end example
 
 @example
 \new Staff \with @{midiInstrument = #"cello"@} @{
-  @var{...notes...}
+  @var{@dots{}notes@dots{}}
 @}
 @end example
 
@@ -2747,63 +2795,6 @@ If the selected instrument does not exactly match an instrument from
 the list of MIDI instruments, the Grand Piano (@code{"acoustic grand"})
 instrument is used.
 
-@node MIDI block
-@subsection MIDI block
-@cindex MIDI block
-
-A @code{\midi} block must appear within a score block if MIDI output
-is required.  It is analogous to the layout block, but somewhat
-simpler.  Often, the @code{\midi} block is left empty, but it
-can contain context rearrangements, new context definitions or code
-to set the values of properties.  For example, the following will
-set the initial tempo exported to a MIDI file without causing a tempo
-indication to be printed:
-
-@example
-\score @{
-  @var{...music...}
-  \midi @{
-    \tempo 4 = 72
-  @}
-@}
-@end example
-
-In this example the tempo is set to 72 quarter note
-beats per minute.  @code{\tempo} is actually a music command for
-setting properties during the interpretation of music: in the
-context of output definitions like a @code{\midi} block, as a matter of
-courtesy those are reinterpreted as if they were context modifications.
-
-@cindex MIDI context definitions
-
-Context definitions follow precisely the same syntax as those
-within a @code{\layout} block.  Translation modules for sound are
-called performers.  The contexts for MIDI output are defined in
-@file{../ly/performer-init.ly},
-see @rlearning{Other sources of information}.
-For example, to remove the effect of dynamics
-from the MIDI output, insert the following lines in the
-@code{\midi@{ @}} block.
-
-@example
-\midi @{
-  ...
-  \context @{
-    \Voice
-    \remove "Dynamic_performer"
-  @}
-@}
-@end example
-
-MIDI output is created only when a @code{\midi} block is included
-within a score block defined with a @code{\score} command.
-
-@example
-\score @{
-  @{ @dots{}notes@dots{} @}
-  \midi @{ @}
-@}
-@end example
 
 @node What goes into the MIDI output?
 @subsection What goes into the MIDI output?
@@ -2851,15 +2842,17 @@ player that supports pitch bend.)
 @item Crescendi, decrescendi over multiple notes
 @item Tempo changes entered with a tempo marking
 @item Lyrics
+@item Simple articulations: staccato, staccatissimo, accent, marcato, portato
+@item @ref{Breath marks}
 @end itemize
 
-Using @ref{The Articulate script}, a number of items are added to the
-above list:
+There is a script that adds the following items; see
+@ref{The Articulate script}:
 
 @itemize
-@item Articulations (slurs, staccato, etc)
-@item Trills, turns
-@item Rallentando and accelerando
+@item Slurs and phrasing slurs
+@item Ornaments (mordents, trills, turns, etc.)
+@item Rallentando, accelerando, ritard, and a tempo
 @end itemize
 
 
@@ -2869,17 +2862,18 @@ above list:
 @c TODO index as above
 
 The following items of notation have no effect on the MIDI output,
-unless you use @ref{The Articulate script}:
+even if you use @ref{The Articulate script}:
 
 @itemize
 @item Rhythms entered as annotations, e.g. swing
 @item Tempo changes entered as annotations with no tempo marking
-@item Staccato and other articulations and ornamentations
-@item Slurs and Phrasing slurs
+@item Fermatas
+@item Other articulations
 @item Crescendi, decrescendi over a single note
 @item Tremolos entered with @q{@code{:}[@var{number}]}
 @item Figured bass
 @item Microtonal chords
+@item Glissandi, falls and doits
 @end itemize
 
 
@@ -2918,12 +2912,12 @@ and percent repeats).  For example,
 
 @example
 \score @{
-  @var{..music..}
-  \layout @{ .. @}
+  @var{@dots{}music@dots{}}
+  \layout @{ @dots{} @}
 @}
 \score @{
-  \unfoldRepeats @var{..music..}
-  \midi @{ .. @}
+  \unfoldRepeats @var{@dots{}music@dots{}}
+  \midi @{ @dots{} @}
 @}
 @end example
 
@@ -2997,11 +2991,10 @@ The final example in this section shows how this might be done.
 
 The minimum and maximum overall volume of MIDI dynamic markings is
 controlled by setting the properties @code{midiMinimumVolume} and
-@code{midiMaximumVolume} at the @code{Score} level.  These
-properties have an effect only on dynamic marks, so if they
-are to apply from the start of the score a dynamic mark must be
-placed there.  The fraction corresponding to each dynamic mark is
-modified with this formula
+@code{midiMaximumVolume} at the @code{Score} level.  These properties
+have an effect only at the start of a voice and on dynamic marks.  The
+fraction corresponding to each dynamic mark is modified with this
+formula
 
 @example
 midiMinimumVolume + (midiMaximumVolume - midiMinimumVolume) * fraction
@@ -3055,9 +3048,7 @@ equalizer, which can enhance the quality of the MIDI output
 remarkably.
 
 In this example the volume of the clarinet is reduced relative
-to the volume of the flute.  There must be a dynamic
-mark on the first note of each instrument for this to work
-correctly.
+to the volume of the flute.
 
 @lilypond[verbatim,quote]
 \score {
@@ -3242,7 +3233,7 @@ and in the @code{\score} section do
 
 @example
 \unfoldRepeats \articulate <<
-       all the rest of the score...
+       all the rest of the score@dots{}
 >>
 @end example
 
@@ -3296,7 +3287,7 @@ will display
 
 By default, LilyPond will print these messages to the console
 along with all the other LilyPond compilation messages.  To split
-up these messages and save the results of @code{\display@{STUFF@}},
+up these messages and save the results of @code{\displayLilyMusic},
 redirect the output to a file.
 
 @example
@@ -3354,7 +3345,7 @@ The syntax is a tab-delimited line, with two fixed fields on each
 line followed by optional parameters.
 
 @example
-@var{time}  @var{type}  @var{...params...}
+@var{time}  @var{type}  @var{@dots{}params@dots{}}
 @end example
 
 This information can easily be read into other programs such as