]> git.donarmstrong.com Git - lilypond.git/commitdiff
Merge branch 'release/2.11.56-1'
authorNeil Puttock <n.puttock@gmail.com>
Sun, 17 Aug 2008 17:36:32 +0000 (18:36 +0100)
committerNeil Puttock <n.puttock@gmail.com>
Sun, 17 Aug 2008 17:36:32 +0000 (18:36 +0100)
Documentation/es/user/chords.itely
Documentation/es/user/specialist.itely
Documentation/index.html.in
Documentation/user/changing-defaults.itely
Documentation/user/chords.itely
Documentation/user/introduction.itely
Documentation/user/rhythms.itely
Documentation/user/simultaneous.itely
input/manual/chords-headword.ly
make/lilypond-vars.make
po/lilypond.pot

index 4f7836ca0e89801fb7a8b846c4edda0b949220c9..5140c8c4f0ee29105fad2ca1d59b88a349ea551e 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: d1124e0293b22f1d8accf4d418015b754d581fcf
+    Translation of GIT committish: 3d99a5d10c306d8ad13e536bf886cf49da2c0d2c
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -482,11 +482,9 @@ través de las siguientes propiedades.
 
 El nombre de acorde se imprime normalmente como una letra para la
 fundamental con una alteración opcional.  La transformación de la nota
-en la letra se realiza por parte de esta funcióne la nota hThe
-transformation from pitch to letter is done by this function.  Los
-nombres de nota especiales (por ejemplo, la @q{H} alemana para un
-acorde de Si) se pueden producir almacenando una cunción nueva en esta
-propiedad.
+en la letra se realiza por parte de esta función.  Los nombres de nota
+especiales (por ejemplo, la @q{H} alemana para un acorde de Si) se
+pueden producir almacenando una cunción nueva en esta propiedad.
 
 @funindex majorSevenSymbol
 
index b5239967caf365e9f6aab2e575d17e3c57e9358f..948ca681a18e748500b4b4cdc19503e5b13fe6fe 100644 (file)
@@ -1,6 +1,6 @@
 @c -*- coding: utf-8; mode: texinfo; -*-
 @ignore
-    Translation of GIT committish: b9526773cf95ca29e3d3352c524718fc8e91c599
+    Translation of GIT committish: 3d99a5d10c306d8ad13e536bf886cf49da2c0d2c
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
@@ -11,8 +11,8 @@
 @node Specialist notation
 @chapter Specialist notation
 
-This chapter explains how to create musical notation for specific
-types of instrument or in specific styles.
+Este capítulo explica cómo crear notación musical para instrumentos de
+un tipo específico o dentro de estilos específicos.
 
 @menu
 * Vocal music::
index 05de5724b0a30cd39c311a3602615f00f8d4bd0c..3822b3a2bfa9721a2020e2658c3666fb304413b8 100644 (file)
          <ul>
            <li>
            <a class="title"
-href="user/lilypond-learning/index.html">Learning Manual (LM)</a>
+href="user/lilypond-learning/index.html">Learning Manual</a>
 (in <a class="title" href="user/lilypond-learning-big-page.html">one big page</a> ~ 1.5 MB,
 in <a class="title" href="user/lilypond-learning.pdf">PDF</a>)
              <br>(start here)
 
           <li><a class="title"
-href="user/music-glossary/index.html">Music Glossary (MG)</a>
+href="user/music-glossary/index.html">Music Glossary</a>
 (in <a class="title" href="user/music-glossary-big-page.html">one big page</a> ~ 500 kB,
 in <a class="title" href="user/music-glossary.pdf">PDF</a>)
 
@@ -80,14 +80,14 @@ in <a class="title" href="user/music-glossary.pdf">PDF</a>)
          <ul>
            <li>
 <a class="title" href="user/lilypond/index.html">Notation
-Reference (NR)</a>
+Reference</a>
 (in <a class="title" href="user/lilypond-big-page.html">one big page</a> ~ 4 MB,
 in <a class="title" href="user/lilypond.pdf">PDF</a>)
      <br>(writing music in LilyPond)
 
        <li>
  <a  class="title"
-href="user/lilypond-internals/index.html">Internals Reference (IR)</a>
+href="user/lilypond-internals/index.html">Internals Reference</a>
  (in <a class="title" href="user/lilypond-internals-big-page.html">one big page</a> ~ 1 MB)
      <br>(definitions for tweaking)
         
@@ -98,12 +98,12 @@ href="user/lilypond-internals/index.html">Internals Reference (IR)</a>
          <ul>
               <li>
            <a class="title"
-href="user/lilypond-program/index.html">Application Usage (AU)</a>
+href="user/lilypond-program/index.html">Application Usage</a>
 (in <a class="title" href="user/lilypond-program-big-page.html">one big page</a>,
 in <a class="title" href="user/lilypond-program.pdf">PDF</a>)
            <br>(how to install and run the program)
 
-<li><a class="title"href="../input/lsr/lilypond-snippets/index.html">Snippets List (SL)</a>
+<li><a class="title"href="../input/lsr/lilypond-snippets/index.html">Snippets List</a>
 (in <a class="title" href="../input/lsr/lilypond-snippets-big-page.html">one big page</a> ~ 2MB,
 in <a class="title" href="user/lilypond-snippets.pdf">PDF</a>)
      <br>(Short tricks, tips, and examples)
index 0ba8be5d8377497587899420e86b2a402b3c308d..a6a4087d975a20106ffadd037f2611c69e42678e 100644 (file)
@@ -26,14 +26,7 @@ particular effect.
 @cindex Internals Reference
 
 The controls available for tuning are described in a separate
-document, the
-@iftex
-Internals Reference manual.
-@end iftex
-@ifnottex
-@ref{Top,Internals Reference,,lilypond-internals}.
-@end ifnottex
-That manual
+document: @rinternalsnamed{Top,the Internals Reference}.  That manual
 lists all different variables, functions and options available in
 LilyPond.  It is written as a HTML document, which is available
 @c leave the @uref as one long line.
index 2b1d12c029d75cd9f6e448a88fa94b8da79f37d4..363b06198492f679b5dfe40b0e84c17299f25303 100644 (file)
@@ -65,10 +65,10 @@ transposed just like chords entered using simultaneous music.
 Chord mode and note mode can be mixed in sequential music:
 
 @lilypond[verbatim,quote,ragged-right,relative=1]
-<c e g>2 < g b d >
-\chordmode { c2 f}
-< c e g > < g' b d >
-\chordmode { f g}
+<c e g>2 <g b d>
+\chordmode { c2 f }
+<c e g>2 <g' b d>
+\chordmode { f2 g }
 @end lilypond
 
 
@@ -91,16 +91,16 @@ chord mode comes first, the note mode will create a new @code{Staff}
 context.
 
 @lilypond[verbatim,quote,ragged-right,relative=1]
-\chordmode { c2 f}
-< c e g > < g' b d >
+\chordmode { c2 f }
+<c e g>2 <g' b d>
 @end lilypond
 
 To avoid this behavior, explicitly create the @code{Staff} context:
 
 @lilypond[verbatim,quote,ragged-right,relative=1]
 \new Staff {
-  \chordmode { c2 f}
-  < c e g > < g' b d >
+  \chordmode { c2 f }
+  <c e g>2  <g' b d>
 }
 @end lilypond
 
@@ -250,9 +250,9 @@ larger value is interpreted as 13.
 @lilypond[quote,ragged-right,fragment,verbatim,relative=1]
 \chordmode {
   c1:2 c:3 c:4 c:5
-  c:6 c:7 c:8 c:9
-  c:10 c:11 c:12 c:13
-  c:14
+  c1:6 c:7 c:8 c:9
+  c1:10 c:11 c:12 c:13
+  c1:14
 }
 @end lilypond
 
@@ -292,7 +292,7 @@ Added steps can be as high as desired.
 
 Added chord steps can be altered by suffixing a @code{-} or @code{+}
 sign to the number.  To alter a step that is automatically included
-as part of the basic chode structure, add it as an altered step.
+as part of the basic chord structure, add it as an altered step.
 
 @lilypond[quote,verbatim,fragment,relative=1]
 \chordmode {
@@ -441,7 +441,7 @@ of the mode of entry, unless there are inversions or added bass notes:
 @funindex{\chords}
 
 @code{\chords @{ ... @}} is a shortcut notation for
-@code{\new ChordNames @{\chordmode @{ ... @}@}}.
+@code{\new ChordNames @{ \chordmode @{ ... @} @}}.
 
 @lilypond[verbatim,quote,ragged-right, relative=1]
 \chords {
@@ -484,6 +484,8 @@ Snippets:
 
 Internals Reference:
 @rinternals{ChordNames},
+@rinternals{ChordName},
+@rinternals{Chord_name_engraver},
 @rinternals{Volta_engraver},
 @rinternals{Bar_engraver}.
 
@@ -546,7 +548,7 @@ this property.
 @item majorSevenSymbol
 
 This property contains the markup object used to follow the output
-of @code{chordRootNamer} to dentify a major 7 chord. Predefined
+of @code{chordRootNamer} to identify a major 7 chord. Predefined
 options are @code{whiteTriangleMarkup} and
 @code{blackTriangleMarkup}.
 
@@ -575,16 +577,16 @@ for a separator.
 
 This property is a list of pairs.  The first item in each pair
 is a set of pitches used to identify the steps present in the chord.
-The second item is a markups that will follow the @code{chordRootNamer}
+The second item is a markup that will follow the @code{chordRootNamer}
 output to create the chord name.
 
 @funindex chordPrefixSpacer
 @item chordPrefixSpacer
 
 The @q{m} for minor chords is usually printed immediately to the
-right of the root of the chord.  By setting
-@code{chordPrefixSpacer}, you can fix a spacer between the root
-and @q{m}.  The spacer is not used when the root is altered.
+right of the root of the chord.  A spacer can be placed between
+the root and @q{m} by setting @code{chordPrefixSpacer}.
+The spacer is not used when the root is altered.
 
 @end table
 
@@ -650,8 +652,8 @@ inversions or bass notes.
 
 @lilypond[quote,ragged-right,verbatim]
 myChords = \relative c' {
-  \chordmode{ c1 c/g c/f }
-  <c e g> <g c e> <f c' e g>
+  \chordmode { c1 c/g c/f }
+  <c e g>1 <g c e> <f c' e g>
 }
 <<
   \new ChordNames { \myChords }
@@ -709,7 +711,7 @@ entry of bass figures, and there is a context named
 in @code{Staff} contexts.
 
 @code{\figures@{ ... @}} is a shortcut notation for
-@code{\new FiguredBass @{\figuremode @{ ... @}@}}.
+@code{\new FiguredBass @{ \figuremode @{ ... @} @}}.
 
 
 Although the support for figured bass may superficially resemble chord
@@ -717,10 +719,12 @@ support, it is much simpler.  @code{\figuremode} mode simply
 stores the figures and the @code{FiguredBass} context prints them
 as entered.  There is no conversion to pitches.
 
+@ignore
 Figures are created as markup texts.  Any of the standard markup
 properties can be used to modify the display of figures.  For
 example, the vertical spacing of the figures may be set with
 @code{baseline-skip}.
+@end ignore
 
 @seealso
 
@@ -758,7 +762,7 @@ Accidentals (including naturals) can be added to figures:
 }
 @end lilypond
 
-Augmented and diminished steps can be indicated.
+Augmented and diminished steps can be indicated:
 
 @lilypond[verbatim,quote,ragged-right,fragment]
 \figures {
@@ -767,12 +771,11 @@ Augmented and diminished steps can be indicated.
 @end lilypond
 
 A backward slash through a figure (typically used for raised
-sixth steps) can be created.
+sixth steps) can be created:
 
 @lilypond[verbatim,quote,ragged-right,fragment]
 \figures {
-  <6>
-  <6\\>
+  <6> <6\\>
 }
 @end lilypond
 
@@ -788,7 +791,7 @@ Any text markup can be inserted as a figure:
 
 @lilypond[verbatim,quote,ragged-right,fragment]
 \figures {
-  <  \markup{ \tiny \number 6 \super (1)} 5 >
+  <\markup { \tiny \number 6 \super (1) } 5>
 }
 @end lilypond
 
@@ -802,14 +805,14 @@ Continuation lines can be used to indicate repeated figures:
 <<
   {
     \clef bass
-    e d c b,
-    e d c b,
+    e4 d c b,
+    e4 d c b,
   }
   \figures {
     \bassFigureExtendersOn
-    <6 4> <6 3> <7 3> <7 3>
+    <6 4>4 <6 3> <7 3> <7 3>
     \bassFigureExtendersOff
-    <6 4> <6 3> <7 3> <7 3>
+    <6 4>4 <6 3> <7 3> <7 3>
   }
 >>
 @end lilypond
@@ -822,11 +825,11 @@ unless the continuation lines have been explicitly terminated.
 <<
   \figures {
     \bassFigureExtendersOn
-    <6 4> <6 4> <6\! 4\!> <6 4>
+    <6 4>4 <6 4> <6\! 4\!> <6 4>
   }
   {
     \clef bass
-    d d c c
+    d4 d c c
   }
 >>
 @end lilypond
@@ -880,7 +883,7 @@ Raised sixth step
 @tab
 End of continuation line
 @tab
-@lilypond[line-width=1.5\cm]
+@lilypond[line-width=4\cm]
 <<
   \figures {
     \bassFigureExtendersOn
@@ -985,7 +988,7 @@ figures is adjusted automatically.
 @end lilypond
 
 
-When added in a Staff context, figured bass can be displayed above
+When added in a @code{Staff} context, figured bass can be displayed above
 or below the staff.
 
 @lilypond[verbatim,ragged-right,fragment,quote]
@@ -1051,19 +1054,19 @@ the bass line.
 <<
   {
     \clef bass
-    \repeat unfold 4 {f16. g32} f8. es16 d8 es
+    \repeat unfold 4 { f16. g32 } f8. es16 d8 es
   }
   \figures {
     \bassFigureExtendersOn
     % The extenders are correct here, with the same rhythm as the bass
-    \repeat unfold 4 {<6 4->16. <6 4->32}
+    \repeat unfold 4 { <6 4->16. <6 4->32 }
     <5>8. r16 <6>8 <6\! 5->
   }
 >>
 <<
   {
     \clef bass
-    \repeat unfold 4 {f16. g32} f8. es16 d8 es
+    \repeat unfold 4 { f16. g32 } f8. es16 d8 es
   }
   \figures {
     \bassFigureExtendersOn
@@ -1079,10 +1082,10 @@ a different figure location can cause the figure positions to invert.
 
 @lilypond[verbatim,ragged-right,fragment,quote,relative=1]
 <<
- { fis g g, e' }
+ { fis4 g g, e' }
   \figures {
     \bassFigureExtendersOn
-    <6 5> <5\! 4> < 5 _!> <6>
+    <6 5>4 <5\! 4> < 5 _!> <6>
   }
 >>
 @end lilypond
@@ -1092,11 +1095,11 @@ begins the extender line and turn them off at the end of the extender line.
 
 @lilypond[verbatim,ragged-right,fragment,quote,relative=1]
 <<
- { fis g g, e' }
+ { fis4 g g, e' }
   \figures {
-    <6 5> <5 4>
+    <6 5>4 <5 4>
     \bassFigureExtendersOn
-    < 5 _!> <6>
+    < 5 _!>4 <6>
     \bassFigureExtendersOff
   }
 >>
index 1dbd05b929ecf512e7011a345f86a280b0698027..4f576c458f0fc2525c5c476f47a27dbdfec07b66 100644 (file)
@@ -791,25 +791,18 @@ This section explains the different portions of the documentation.
 @c leave these lines wrapping around.  It's some texinfo 4.12 thing. -gp
 @c This is actually a limitation of texi2html. -jm
 @menu
-* About the Learning Manual (LM)::  this manual introduces LilyPond, giving in-depth explanations of how to create notation.
-
-* About the Music Glossary (MG)::  this manual explains musical terms and gives translations of terms in other languages.
-
-* About the Notation Reference (NR)::  this manual is the main portion of the documentation.  It provides detailed information about creating notation.  This book assumes that the reader knows basic material covered in the LM and is familiar with the English musical terms presented in the MG.
-
-* About the Application Usage (AU)::  this discusses the actual programs and operating system-specific issues.
-
-* About the Snippet List (SL)::  this is a collection of short LilyPond examples.
-
-* About the Internals Reference (IR)::  this document gives reference information about LilyPond's internal structures, which is required for constructing tweaks.
-
+* About the Learning Manual::  this manual introduces LilyPond, giving in-depth explanations of how to create notation.
+* About the Music Glossary::  this manual explains musical terms and gives translations of terms in other languages.
+* About the Notation Reference::  this manual is the main portion of the documentation.  It provides detailed information about creating notation.  This book assumes that the reader knows basic material covered in the LM and is familiar with the English musical terms presented in the MG.
+* About the Application Usage::  this discusses the actual programs and operating system-specific issues.
+* About the Snippet List::  this is a collection of short LilyPond examples.
+* About the Internals Reference::  this document gives reference information about LilyPond's internal structures, which is required for constructing tweaks.
 * Other documentation::         there are a few other portions of the documentation, such as News items and the mailist archives.
-
 @end menu
 
 
-@node About the Learning Manual (LM)
-@unnumberedsubsec About the Learning Manual (LM)
+@node About the Learning Manual
+@unnumberedsubsec About the Learning Manual
 
 This book explains how to begin learning LilyPond, as well as
 explaining some key concepts in easy terms.  You should read these
@@ -847,7 +840,7 @@ undertaking large projects!
 
 @end itemize
 
-The LM also contains appendices which are not part of the
+The Learning Manual also contains appendices which are not part of the
 recommended linear reading.  They may be useful for later
 viewing:
 
@@ -867,8 +860,8 @@ all.
 @end itemize
 
 
-@node About the Music Glossary (MG)
-@unnumberedsubsec About the Music Glossary (MG)
+@node About the Music Glossary
+@unnumberedsubsec About the Music Glossary
 
 @cindex idiom
 @cindex jargon
@@ -883,12 +876,12 @@ terminology (especially if you are a non-native English speaker),
 it is highly advisable to consult the glossary.
 
 
-@node About the Notation Reference (NR)
-@unnumberedsubsec About the Notation Reference (NR)
+@node About the Notation Reference
+@unnumberedsubsec About the Notation Reference
 
 This book explains all the LilyPond commands which produce
 notation.  It assumes that readers are familiar with the concepts
-in the Learning manual.
+in the Learning Manual.
 
 @itemize
 
@@ -925,7 +918,8 @@ explains how to create music functions with scheme.
 
 @end itemize
 
-The NR also contains appendices with useful reference charts.
+The Notation Reference also contains appendices with useful
+reference charts.
 
 @itemize
 
@@ -954,8 +948,8 @@ a complete index.
 @end itemize
 
 
-@node About the Application Usage (AU)
-@unnumberedsubsec About the Application Usage (AU)
+@node About the Application Usage
+@unnumberedsubsec About the Application Usage
 
 This book explains how to execute the programs and how to integrate
 LilyPond notation with other programs.
@@ -964,8 +958,8 @@ LilyPond notation with other programs.
 
 @item
 @rprogram{Install}:
-explains how to install LilyPond (including compilation if
-desired).
+explains how to install LilyPondincluding compilation if
+desired.
 
 @item
 @rprogram{Setup}:
@@ -993,8 +987,8 @@ formats to the @code{.ly} format.
 @end itemize
 
 
-@node About the Snippet List (SL)
-@unnumberedsubsec About the Snippet List (SL)
+@node About the Snippet List
+@unnumberedsubsec About the Snippet List
 
 @cindex snippets
 @cindex LSR
@@ -1014,8 +1008,8 @@ The list of snippets for each subsection of the Notation Reference
 (NR) are also linked from the @strong{See also} portion.
 
 
-@node About the Internals Reference (IR)
-@unnumberedsubsec About the Internals Reference (IR)
+@node About the Internals Reference
+@unnumberedsubsec About the Internals Reference
 
 @rinternalsnamed{Top,Internals Reference}: this is a set
 of heavily cross linked HTML pages which document the nitty-gritty
@@ -1041,7 +1035,19 @@ very valuable.
 
 @itemize
 
-@item News: This is a summary of important changes
+@item
+@ifhtml
+@ifset bigpage
+@uref{../topdocs/NEWS.html,News}:
+@end ifset
+@ifclear bigpage
+@uref{../../topdocs/NEWS.html,News}:
+@end ifclear
+@end ifhtml
+@ifnothtml
+News:
+@end ifnothtml
+this is a summary of important changes
 and new features in LilyPond since the previous version.
 
 @item @uref{http://lists.gnu.org/archive/html/lilypond-user/, The
@@ -1060,20 +1066,19 @@ internals, the answer might be in these archives.
 music fragments embedded, the exact LilyPond input that was used
 to produce that image can be viewed by clicking the image.
 
-@item Init files: The location of the documentation files that are
+@item Init files: the location of the documentation files that are
 mentioned here can vary from system to system.  On occasion, this
-manual refers to initialization and example files.  Throughout
-this manual, we refer to input files relative to the top-directory
-of the source archive.  For example,
-@file{input/@/lsr/@/dirname/@/bla@/.ly} may refer to the file
-@file{lilypond@/2.x.y/@/input/@/lsr/@/dirname/@/bla@/.ly}.  On
-binary packages for the UNIX platform, the documentation and
-examples can typically be found somewhere below
+manual refers to initialization and example files.  Throughout this
+manual, we refer to input files relative to the top-directory of the
+source archive.  For example, @file{input/@/lsr/@/dirname/@/bla@/.ly}
+may refer to the file
+@file{lilypond@/2.x.y/@/input/@/lsr/@/dirname/@/bla@/.ly}.  On binary
+packages for the UNIX platform, the documentation and examples can
+typically be found somewhere below
 @file{/usr/@/share/@/doc/@/lilypond/}.  Initialization files, for
-example @file{scm/@/lily@/.scm}, or
-@file{ly/@/engraver@/-init@/.ly}, are usually found in the
-directory @file{/usr/@/share/@/lilypond/}.
+example @file{scm/@/lily@/.scm}, or @file{ly/@/engraver@/-init@/.ly},
+are usually found in the directory @file{/usr/@/share/@/lilypond/}.
+For more details, see @ref{Other sources of information}.
 
 @end itemize
 
-
index c92b4d54a041050c6fdb468af24f20f335526604..1b0d580bf5ef24b4d22bf6da5e3ac5ee63aa73a2 100644 (file)
@@ -799,15 +799,12 @@ setting, resulting bar-check warnings may not be displayed.
 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
 {positioning-multi--measure-rests.ly}
 
-@c TODO -- convert to snippet
+@c TODO -- convert to snippet -- submitted to Neil
 Markups attached to a multi-measure rest will be centered above or
 below it.  Long markups attached to multi-measure rests do not cause
 the measure to expand. To expand a multi-measure rest to fit the markup,
 use a spacer rest with an attached markup before the multi-measure rest:
 
-@c -- music is somewhat compressed vertically.  I thought it
-@c    was good because the emphasis is not on the content
-@c    of the markup, but on the place the markup was attached -cs
 @lilypond[quote,ragged-right,verbatim,fragment,relative=2]
 \compressFullBarRests
 \textLengthOn
@@ -1082,17 +1079,6 @@ Internal Reference:
 
 @cindex grace notes, in anacruses
 
-This command does not take into account grace notes at the start
-of the music.  If the pick-up starts with one or more grace
-notes, then the @code{\partial} should follow the grace note(s):
-
-@lilypond[verbatim,quote,ragged-right,relative,fragment]
-\grace f16
-\partial 4
-g4
-a2 g2
-@end lilypond
-
 The @code{\partial} command is intended to be used only at the
 beginning of a piece.  If you use it after the beginning, some
 odd warnings may occur.
@@ -1177,38 +1163,6 @@ to indicate where breaks can occur.
 Polymetric notation is supported, either explicitly or through
 clever use of markup features.
 
-@c Each of these examples uses \set or \override, and therefore
-@c by policy should be converted to a snippet.
-@c Do we want to have a section with a very brief (two-line 
-@c introduction, and have most of the content be in snippets?
-
-@strong{Alternating time signatures}
-
-Regularly alternating double time signatures are not supported
-explicitly, but they can be faked.  In the next example, the
-double time signature is created with markup text, while the
-real time signature is set in the usual way with @code{\time}.
-
-@lilypond[verbatim,ragged-right]
-% Create 9/8 split into 2/4 + 5/8
-tsMarkup = \markup {
-  \override #'(baseline-skip . 2) \number {
-    \column { "2" "4" }
-    \vcenter "+"
-    \bracket \column { "5" "8" }
-  }
-}
-
-{
-  \override Staff.TimeSignature #'stencil =
-    #ly:text-interface::print
-  \override Staff.TimeSignature #'text = #tsMarkup
-  \time 9/8
-  c'2 \bar ":" c'4 c'4.
-  c'2 \bar ":" c'4 c'4.
-}
-@end lilypond
-
 @strong{Staves with different time signatures, equal measure lengths}
 
 This notation can be created by setting a common time signature
@@ -1249,9 +1203,6 @@ staff, shown durations are multiplied by 3/5, as 3/5 * 10/8 = 3/4.
 >> }
 @end lilypond
 
-@c I guess this example doesn't use \set or \override, and so
-@c could stay in the manual.
-
 @strong{Staves with different time signatures, unequal bar lengths}
 
 Each staff can be given its own independent time signature by
@@ -1295,6 +1246,37 @@ moving the @code{Timing_translator} to the @code{Staff} context.
 >>
 @end lilypond
 
+@snippets
+
+@c TODO -- Convert to snippet. -- Sent to Neil 8/14/08
+
+@strong{Alternating time signatures}
+
+Regularly alternating double time signatures are not supported
+explicitly, but they can be faked.  In the next example, the
+double time signature is created with markup text, while the
+real time signature is set in the usual way with @code{\time}.
+
+@lilypond[verbatim,ragged-right]
+% Create 9/8 split into 2/4 + 5/8
+tsMarkup = \markup {
+  \override #'(baseline-skip . 2) \number {
+    \column { "2" "4" }
+    \vcenter "+"
+    \bracket \column { "5" "8" }
+  }
+}
+
+{
+  \override Staff.TimeSignature #'stencil =
+    #ly:text-interface::print
+  \override Staff.TimeSignature #'text = #tsMarkup
+  \time 9/8
+  c'2 \bar ":" c'4 c'4.
+  c'2 \bar ":" c'4 c'4.
+}
+@end lilypond
+
 
 @seealso
 
@@ -1350,13 +1332,6 @@ inserts ties.  One of its uses is to debug complex scores: if the
 measures are not entirely filled, then the ties show exactly how
 much each measure is off.
 
-To allow line breaking on the bar lines where the
-@code{Completion_heads_engraver} has inserted a split note, remove
-the @code{Forbid_line_break_engraver} too.
-
-TODO -- find example that shows the above paragraph.  I can't make
-the Forbid_line_break_engraver have any effect in my examples (cs).
-Does the Forbid_line_break_engraver still have the claimed effect?
 @seealso
 
 Music Glossary: @rglos{tie}
@@ -1391,16 +1366,116 @@ Sometimes you might want to show only the rhythm of a melody.  This
 can be done with the rhythmic staff.  All pitches of notes on such a
 staff are squashed, and the staff itself has a single line
 
-@c TODO Devise a more realistic example, perhaps with lyrics -td
 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
-\new RhythmicStaff {
-  \time 4/4
-  c4 e8 f g2 | r4 g r2 | g1 | r1 |
-}
+<<
+  \new RhythmicStaff {
+    \new Voice = "myRhythm" {
+      \time 4/4
+      c4 e8 f g2
+      r4 g g f
+      g1
+    }
+  }
+  \new Lyrics {
+    \lyricsto "myRhythm" {
+      This is my song
+      I like to sing
+    }
+  }
+>>
+@end lilypond
+
+Guitar chord charts often show the strumming rhythms.  This can
+be done with the @code{Pitch_squash_engraver} and
+@code{\improvisationOn}.
+
+@lilypond[quote,verbatim]
+<<
+  \new ChordNames {
+    \chordmode {
+      c1 f g c
+    }
+  }
+
+  \new Voice \with {
+    \consists Pitch_squash_engraver
+  } \relative c'' {
+    \improvisationOn
+    c4 c8 c c4 c8 c
+    f4 f8 f f4 f8 f
+    g4 g8 g g4 g8 g
+    c4 c8 c c4 c8 c
+  }
+>>
 @end lilypond
 
-TODO -- put example in with multiple lines as well (used for strumming
-rhythms in guitar)
+@predefined
+@code{\improvisationOn},
+@code{\improvisationOff}.
+
+@snippets
+@c TODO -- Convert to snippet;
+@c     tag for both Rhythms and Guitar? Move to @seealso?
+
+For guitar music, it is possible to show strum rhythms, along
+with melody notes, chord names, and fret diagrams.
+
+
+@lilypond[quote,verbatim]
+\include "predefined-guitar-fretboards.ly"
+<<
+  \new ChordNames {
+    \chordmode {
+      c1 f g c
+    }
+  }
+
+  \new FretBoards {
+    \chordmode {
+      c1 f g c
+    }
+  }
+
+  
+  \new Voice \with {
+    \consists Pitch_squash_engraver
+  } \relative c'' {
+    \improvisationOn
+    c4 c8 c c4 c8 c
+    f4 f8 f f4 f8 f
+    g4 g8 g g4 g8 g
+    c4 c8 c c4 c8 c
+  }
+
+
+  \new Voice = "melody" {
+    \relative c'' {
+      \improvisationOff
+      c2 e4 e4 
+      f2. r4
+      g2. a4
+      e4 c2.
+    }
+  }
+  \new Lyrics {
+    \lyricsto "melody" {
+      This is my song.
+      I like to sing.
+    }
+  }
+>>
+@end lilypond
+
+@seealso
+
+Snippets:
+@rlsr{Rhythms}.
+
+Internals Reference:
+@rinternals{RhythmicStaff},
+@rinternals{Pitch_squash_engraver}.
 
 @node Beams
 @subsection Beams
@@ -1446,6 +1521,9 @@ c4 c8 c8. c16 c8.
 c16 c8
 @end lilypond
 
+@predefined
+@code{\autoBeamOff},
+@code{\autoBeamOn}.
 
 @snippets
 
@@ -1527,7 +1605,12 @@ f8 f''8 f8 f''8
 
 @seealso
 
-Notation Reference: @ref{Manual beams}, @ref{Setting automatic beam behavior}.
+Notation Reference: 
+@ref{Manual beams}, 
+@ref{Setting automatic beam behavior}.
+
+Installed Files:
+@file{scm/auto-beam.scm}.
 
 Snippets:
 @rlsr{Rhythms}.
@@ -2383,18 +2466,21 @@ For common tweaks to the positioning of rehearsal marks, see
 
 @seealso
 
-Snippets:
-@rlsr{Rhythms}.
-
-This manual: @ref{The Feta font}, @ref{Formatting text}.
-
-Internals Reference: @rinternals{RehearsalMark}.
+This manual: 
+@ref{The Feta font}, 
+@ref{Formatting text}.
 
-Init files: @file{scm/@/translation@/-functions@/.scm} contains
+Installed Files: 
+@file{scm/@/translation@/-functions@/.scm} contains
 the definition of @code{format-mark-numbers} and
 @code{format-mark-letters}.  They can be used as inspiration for
 other formatting functions.
 
+Snippets:
+@rlsr{Rhythms}.
+
+Internals Reference: @rinternals{RehearsalMark}.
+
 Examples: @c @lsr{parts,rehearsal-mark-numbers.ly}
 
 @node Special rhythmic concerns
@@ -2416,42 +2502,35 @@ Examples: @c @lsr{parts,rehearsal-mark-numbers.ly}
 @cindex appoggiatura
 @cindex acciaccatura
 
-Grace notes are ornaments that are written out. They are made with
-the @code{\grace} command.  By prefixing this keyword to a music
-expression, a new one is formed, which will be printed in a
-smaller font and takes up no logical time in a measure.
+Grace notes are ornaments that are written out. Grace notes
+are printed in a smaller font and take up no logical time 
+in a measure.
 
 @lilypond[quote,ragged-right,relative=2,verbatim,fragment]
 c4 \grace c16 c4
-\grace { c16[ d16] } c2 c4
+\grace { c16[ d16] } c2
 @end lilypond
 
-Two special forms of the @code{\grace} command exist.
-An @emph{acciaccatura}, which should be played as very short,
-is denoted by a slurred small note with a slashed stem.  The
-@emph{appoggiatura}, a grace note that takes a fixed fraction of the
-main note, is denoted as a slurred note in small print without
-a slash.  They are entered with the commands @code{\acciaccatura}
-and @code{\appoggiatura}, as demonstrated in the following
-example:
+Lilypond also supports two special types of grace notes, the 
+@emph{acciaccatura}--an unmeasured grace note indicated by a slurred 
+small note with a slashed stem--and the @emph{appoggiatura}, which 
+takes a fixed fraction of the main note and appears in small print 
+without a slash. 
 
 @lilypond[quote,ragged-right,relative=2,verbatim,fragment]
-b4 \acciaccatura d8 c4
+\grace c8 b4 
+\acciaccatura d8 c4
 \appoggiatura e8 d4
 \acciaccatura { g16[ f] } e4
 @end lilypond
 
-@noindent
-@code{\acciaccatura} and @code{\appoggiatura} start a slur,
-@code{\grace} does not.
-
 The placement of grace notes is synchronized between different
 staves.  In the following example, there are two sixteenth grace
 notes for every eighth grace note
 
 @lilypond[quote,ragged-right,relative=2,verbatim,fragment]
-<< \new Staff { e4 \grace { c16[ d e f] } e4 }
-   \new Staff { c4 \grace { g8[ b] } c4 } >>
+<< \new Staff { e2 \grace { c16[ d e f] } e2 }
+   \new Staff { c2 \grace { g8[ b] } c2 } >>
 @end lilypond
 
 @funindex \afterGrace
@@ -2463,28 +2542,40 @@ command.  It takes two arguments: the main note, and the grace
 notes following the main note.
 
 @lilypond[quote,ragged-right,verbatim,relative=2,fragment]
-c1 \afterGrace d1 { c16[ d] } c4
+c1 \afterGrace d1 { c16[ d] } c1
 @end lilypond
 
-This will put the grace notes after a @q{space} lasting 3/4 of the
-length of the main note.  The fraction 3/4 can be changed by
-setting @code{afterGraceFraction}.  The following example will put
-the grace note at 7/8 of the main note.
+This will put the grace notes after a space lasting 3/4 of the
+length of the main note.  The default fraction 3/4 can be changed by
+setting @code{afterGraceFraction}.  The following example shows
+the results from setting the space at the default,  at 15/16, and 
+finally at 1/2 of the main note.
 
 @lilypond[quote,ragged-right,verbatim,relative=2,fragment]
-#(define afterGraceFraction (cons 15 16))
-c1 \afterGrace d1 { c16[ d] } c4
+<<
+  \new Staff {
+    c1 \afterGrace d1 { c16[ d] } c1
+  }
+  \new Staff {
+    #(define afterGraceFraction (cons 15 16))
+    c1 \afterGrace d1 { c16[ d] } c1
+  }
+  \new Staff {
+    #(define afterGraceFraction (cons 1 2))
+    c1 \afterGrace d1 { c16[ d] } c1
+  }
+>>
 @end lilypond
 
 The space between the main note and the grace note may also be
 specified using spacers. The following example places the grace
-note at 7/8 of the main note.
+note after a space lasting 7/8 of the main note.
 
 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
 \new Voice {
   << { d1^\trill_( }
      { s2 s4. \grace { c16[ d] } } >>
-  c4)
+  c1)
 }
 @end lilypond
 
@@ -2503,7 +2594,7 @@ direction is overriden and then reverted.
     f16->
     \stemNeutral
   }
-  g4
+  g4 e c2
 }
 @end lilypond
 
@@ -2513,8 +2604,8 @@ direction is overriden and then reverted.
 
 @snippets
 
-The slash through the stem in @emph{acciaccatura}s can be obtained in
-other situations:
+The slash through the stem found in @emph{acciaccatura}s can be applied 
+in other situations:
 
 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
 \relative c'' {
@@ -2534,10 +2625,9 @@ that stems do not always point up.
     #(add-grace-property 'Voice 'Stem 'direction ly:stem::calc-direction)
     #(remove-grace-property 'Voice 'Stem 'direction)
     \new Voice {
-       \acciaccatura {
-       f16
-       }
-     g4
+       \acciaccatura { f16 } g4 
+       \grace { d16[ e] } f4
+       \appoggiatura { a,32[ b c d] } e2
     }
   }
 }
@@ -2547,7 +2637,7 @@ Another option is to change the variables @code{startGraceMusic},
 @code{stopGraceMusic}, @code{startAcciaccaturaMusic},
 @code{stopAcciaccaturaMusic}, @code{startAppoggiaturaMusic},
 @code{stopAppoggiaturaMusic}.  The default values of these can be
-seen in the file @file{ly/@/grace@/-init@/.ly}.  By redefining
+seen in the file @code{ly/@/grace@/-init@/.ly}.  By redefining
 them other effects may be obtained.
 
 Grace notes may be forced to align with regular notes
@@ -2575,10 +2665,11 @@ in other staves:
 Music Glossary:
 @rglos{grace notes},
 @rglos{acciaccatura},
-@rglos{appoggiatura}
+@rglos{appoggiatura}.
 
-Snippets:
-@rlsr{Rhythms}.
+Installed Files: @file{ly/@/grace@/-init@/.ly}.
+
+Snippets: @rlsr{Rhythms}.
 
 Internals Reference: @rinternals{GraceMusic}.
 
@@ -2596,8 +2687,8 @@ synchronized.  Take care when you mix staves with grace notes and
 staves without, for example,
 
 @lilypond[quote,ragged-right,relative=2,verbatim,fragment]
-<< \new Staff { e4 \bar "|:" \grace c16 d4 }
-   \new Staff { c4 \bar "|:" d4 } >>
+<< \new Staff { e4 \bar "|:" \grace c16 d2. }
+   \new Staff { c4 \bar "|:" d2. } >>
 @end lilypond
 
 @noindent
@@ -2605,8 +2696,8 @@ This can be remedied by inserting grace skips of the corresponding
 durations in the other staves.  For the above example
 
 @lilypond[quote,ragged-right,relative=2,verbatim,fragment]
-<< \new Staff { e4 \bar "|:" \grace c16 d4 }
-   \new Staff { c4 \bar "|:" \grace s16 d4 } >>
+<< \new Staff { e4 \bar "|:" \grace c16 d2. }
+   \new Staff { c4 \bar "|:" \grace s16 d2. } >>
 @end lilypond
 
 Grace sections should only be used within sequential music
@@ -2628,20 +2719,19 @@ cadenza, otherwise they will start too soon or too late.
 A solution to this problem is to use the functions
 @code{mmrest-of-length} and @code{skip-of-length}.  These Scheme
 functions take a piece of music as argument, and generate a multi-measure
-rest or @code{\skip}, exactly as long as the piece.  The use of
-@code{mmrest-of-length} is demonstrated in the following example.
+rest or @code{\skip}, exactly as long as the piece.  
 
 @lilypond[verbatim,ragged-right,quote]
 cadenza = \relative c' {
-  c4 d8 << { e f g } \\ { d4. } >>
-  g4 f2 g4 g
+  c4 d8 e f g g4 
+  f2 g4 g
 }
 
 \new GrandStaff <<
-  \new Staff { \cadenza c'4 }
+  \new Staff { \cadenza c'1 }
   \new Staff {
     #(ly:export (mmrest-of-length cadenza))
-    c'4
+    c'1
   }
 >>
 @end lilypond
index 3a6c66fefcc167e9001b804b940b3ea213c63871..62618eb377efc8ef96a8b26837f95c2bce12da80 100644 (file)
@@ -52,6 +52,11 @@ articulations, just like simple notes:
 <c e g>2 <c f a>4-> <e g c>-.
 @end lilypond
 
+Relative mode can be used for pitches in chords; the preceding pitch
+into the same chord is still used as a reference for relative pitches,
+but when a chord is completed, the reference pitch for relative mode
+is the first note of this chord --not the last note of the chord.
+
 For more information about chords, see @ref{Chord notation}.
 
 @seealso
@@ -138,23 +143,63 @@ multiple staves.
 @node Single-staff polyphony
 @unnumberedsubsubsec Single-staff polyphony
 
-To typeset parallel pieces of music that have the same rhythm, they
-can be combined into a single @code{Voice} context, thus forming
-chords.  To achieve this, enclose them in a simultaneous music
-construction:
+@c Already reordered as Carl suggested --FV
+The basic structure of code needed to achieve multiple, independent
+voices in a single staff is illustrated in the following example:
 
-@lilypond[quote,relative=2,verbatim]
-\new Voice <<
-  { e4 f8 d e16 f g8 d4 }
-  { c4 d8 b c16 d e8 b4 }
+@lilypond[quote,relative=3,verbatim]
+\new Staff <<
+  \new Voice = "first"
+    { \voiceOne r8 r16 g e8. f16 g8[ c,] f e16 d }
+  \new Voice= "second"
+    { \voiceTwo d16 c d8~ d16 b c8~ c16 b c8~ c16 b8. }
 >>
 @end lilypond
 
-This method leads to strange beamings and warnings if the pieces of
-music do not have the same rhythm.  To typeset multiple, truly
-independent voices in a single staff, the @code{<<@{...@} \\
-@{...@}>>} construction is used, where the two (or more) voices are
-separated by double backslashes.
+Here, voices are instantiated explicitly and are given a name. The
+@code{\voiceOne} ... @code{\voiceFour} commands set up the voices so
+that first and third voices get stems up, second and fourth voices get
+stems down, third and fourth voice note heads are horizontally
+shifted, and rests in the respective voices move to avoid collisions.
+
+Using the @code{\oneVoice} command, we can make a voice to be into the
+same @code{Voice} context before and after a temporary polyphonic
+passage.  For example:
+
+@example
+<< @{ \voiceOne ... @} \new Voice @{ \voiceTwo ... @} >> \oneVoice
+@end example
+
+This construct keeps a voice alive throughout the polyphonic section.
+Using the name given when created, this allows lyrics to be assigned
+to one consistent voice.
+
+@lilypond[quote, verbatim, relative=2]
+<<
+  \new Voice = "melody" {
+    a4
+    <<
+      {
+        \voiceOne
+        g f
+      }
+      \new Voice {
+        \voiceTwo
+        e d
+      }
+    >>
+    \oneVoice
+    e
+  }
+  \new Lyrics \lyricsto "melody" {
+  This is my song.
+  }
+>>
+@end lilypond
+
+The @code{<<@{...@} \\ @{...@}>>} construction can be used as a
+simplified method, where the two (or more) voices are separated by
+double backslashes.  Our first example could be typeset as follows:
 
 @lilypond[quote,relative=3,verbatim]
 <<
@@ -164,11 +209,13 @@ separated by double backslashes.
 >>
 @end lilypond
 
-First and third voices get stems up, second and fourth voices get
-stems down, third and fourth voice note heads are horizontally shifted,
-and rests move to avoid collisions.  In the following example, the
-intermediate voice has stems up, therefore we enter it in the third
-place, so it becomes voice three which has the stems up as desired.
+This syntax is simpler and can be used where it does not care that
+temporary voices are created and then discarded.  These implicitly
+created voices are given the settings equivalent to the effect of the
+@code{\voiceOne} ... @code{\voiceFour} commands, in the order in which
+they appear in the code.  In the following example, the intermediate
+voice has stems up, therefore we enter it in the third place, so it
+becomes voice three which has the stems up as desired.
 
 @lilypond[quote,relative=3,verbatim]
 <<
@@ -183,20 +230,26 @@ place, so it becomes voice three which has the stems up as desired.
 Spacing rests are often used to avoid too many rests, as seen in the
 example above.
 
-Each music expression in the @code{<<@{...@} \\ @{...@}>>} construct
-is placed in a new voice, distinct from the voice for single-voice
-music; to temporarily add only one additional voice to an existing
-one, it is necessary to instantiate that voice explicitly.  For
-these purposes, the @code{\voiceOne} ... @code{\voiceFour}, and
-@code{\oneVoice} commands can be used:
+In all but simplest works it is advised to create explicit
+@code{Voice} contexts using the @code{\new} and @code{\context}
+commands as it is explained in @rlearning{Contexts and engravers} and
+@rlearning{Explicitly instantiating voices}.
 
-@example
-<< @{ \voiceOne ... @} \new Voice @{ \voiceTwo ... @} >> \oneVoice
-@end example
+In the special case that we want to typeset parallel pieces of music
+that have the same rhythm, we can combine them into a single
+@code{Voice} context, thus forming chords.  To achieve this, enclose
+them in a simple simultaneous music construction and make it to be an
+explicit voice:
 
-This is a better construct to keep the control of the voices, for
-example, to ease a consistent assign of lyrics to the proper voice
-context.
+@lilypond[quote,relative=2,verbatim]
+\new Voice <<
+  { e4 f8 d e16 f g8 d4 }
+  { c4 d8 b c16 d e8 b4 }
+>>
+@end lilypond
+
+This method leads to strange beamings and warnings if the pieces of
+music do not have the same rhythm.
 
 @predefined
 
index 149e5a76866a4088dd39f18273e8ee42adc54853..8f40a58f2bfbe7077381466a7dae2321a12a67a0 100644 (file)
@@ -43,7 +43,7 @@ c''2 f''4 d'' |  c''2  bes'4  a' | bes'2 a' | g'1 |
 
 Alto = { 
   \key f \major 
-  c'2 c'4 c' | d'4 c' c'2 | f'4. f'8 f'4 ges' | g'4 e' f'2 |
+  c'2 c'4 c' | d'4 c' c'2 | f'4. f'8 f'4 fis' | g'4 e' f'2 |
   f'2 f'4 f' |  f'2  g'4  f' | e'2 f' | e'1 | 
 }
 
index f655cf6177ee9a43833ca485fa87220de8cd4ffb..2736eb5069cb65c2441bd5775af114c162984d5c 100644 (file)
@@ -27,10 +27,9 @@ CONVERT_LY = $(script-dir)/convert-ly.py
 LILYPOND_BOOK = $(script-dir)/lilypond-book.py
 
 LILYPOND_BOOK_INCLUDES = -I $(src-dir)/ -I $(outdir) -I $(input-dir)   \
- -I $(input-dir)/regression/ -I $(input-dir)/manual/ -I                        \
- $(input-dir)/tutorial/ -I $(top-build-dir)/mf/$(outconfbase)/ -I      \
- $(top-build-dir)/mf/out/ -I $(input-dir)/lsr/ -I                      \
- $(top-src-dir)/input/manual 
+ -I $(input-dir)/lsr/ -I $(input-dir)/regression/ -I $(input-dir)/manual/ \
+ -I $(input-dir)/tutorial/ -I $(top-build-dir)/mf/$(outconfbase)/      \
+ -I $(top-build-dir)/mf/out/ -I $(top-src-dir)/input/manual
 
 ## override from cmd line to speed up. 
 ANTI_ALIAS_FACTOR=2
index 85b41ceb59e5c05f7d99bd37b9dac9b41ed25f1e..ee7942b1a534e9867ab370ad8b08f233934a59a7 100644 (file)
@@ -4,9 +4,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: lilypond 2.11.39\n"
+"Project-Id-Version: lilypond 2.11.56\n"
 "Report-Msgid-Bugs-To: http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs\n"
-"POT-Creation-Date: 2008-02-14 15:55+0100\n"
+"POT-Creation-Date: 2008-08-17 15:57+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -28,138 +28,144 @@ msgstr ""
 msgid "%s has been replaced by %s"
 msgstr ""
 
-#: convertrules.py:24 musicexp.py:16 convert-ly.py:47 lilypond-book.py:82
+#: convertrules.py:24 musicexp.py:16 convert-ly.py:48 lilypond-book.py:82
 #: warn.cc:48 input.cc:90
 #, c-format, python-format
 msgid "warning: %s"
 msgstr ""
 
-#: convertrules.py:33 convertrules.py:103
+#: convertrules.py:49 convertrules.py:99
 msgid "\\header { key = concat + with + operator }"
 msgstr ""
 
-#: convertrules.py:48
+#: convertrules.py:58
 #, python-format
 msgid "deprecated %s"
 msgstr ""
 
-#: convertrules.py:61
+#: convertrules.py:70
 msgid "deprecated \\textstyle, new \\key syntax"
 msgstr ""
 
-#: convertrules.py:80 convertrules.py:2124 convertrules.py:2337
-#: convertrules.py:2512 convertrules.py:2889
+#: convertrules.py:86 convertrules.py:1906 convertrules.py:2085
+#: convertrules.py:2237 convertrules.py:2567
 msgid "bump version for release"
 msgstr ""
 
-#: convertrules.py:99
+#: convertrules.py:103
 msgid "new \\header format"
 msgstr ""
 
-#: convertrules.py:133
+#: convertrules.py:132
 msgid "\\translator syntax"
 msgstr ""
 
-#: convertrules.py:211
+#: convertrules.py:184
 msgid "\\repeat NUM Music Alternative -> \\repeat FOLDSTR Music Alternative"
 msgstr ""
 
-#: convertrules.py:254 convertrules.py:828 convertrules.py:1584
-#: convertrules.py:2685
+#: convertrules.py:216 convertrules.py:699 convertrules.py:1383
+#: convertrules.py:2379
 #, python-format
 msgid "deprecate %s"
 msgstr ""
 
-#: convertrules.py:361
+#: convertrules.py:290
 #, python-format
 msgid "deprecate %s "
 msgstr ""
 
-#: convertrules.py:384
+#: convertrules.py:319
 msgid "new \\notenames format"
 msgstr ""
 
-#: convertrules.py:404
+#: convertrules.py:337
 msgid "new tremolo format"
 msgstr ""
 
-#: convertrules.py:417
+#: convertrules.py:342
 msgid "Staff_margin_engraver deprecated, use Instrument_name_engraver"
 msgstr ""
 
-#: convertrules.py:536
+#: convertrules.py:395
 msgid "change property definiton case (eg. onevoice -> oneVoice)"
 msgstr ""
 
-#: convertrules.py:544
+#: convertrules.py:457
 msgid "new \\textscript markup text"
 msgstr ""
 
-#: convertrules.py:638
+#: convertrules.py:530
 #, python-format
 msgid "identifier names: %s"
 msgstr ""
 
-#: convertrules.py:679
+#: convertrules.py:569
 msgid "point-and-click argument changed to procedure."
 msgstr ""
 
-#: convertrules.py:739
+#: convertrules.py:611
 msgid "semicolons removed"
 msgstr ""
 
 #. 40 ?
-#: convertrules.py:795
+#: convertrules.py:654
 #, python-format
 msgid "%s property names"
 msgstr ""
 
-#: convertrules.py:865
+#: convertrules.py:724
 msgid "automaticMelismata turned on by default"
 msgstr ""
 
-#: convertrules.py:1131 convertrules.py:1893 convertrules.py:2166
-#: convertrules.py:2472
+#: convertrules.py:963 convertrules.py:1682 convertrules.py:1943
+#: convertrules.py:2190
 #, python-format
 msgid "remove %s"
 msgstr ""
 
-#: convertrules.py:1164 convertrules.py:1173
+#: convertrules.py:1001 convertrules.py:1005
 msgid "cluster syntax"
 msgstr ""
 
-#: convertrules.py:1182
+#: convertrules.py:1014
 msgid "new Pedal style syntax"
 msgstr ""
 
-#: convertrules.py:1451
+#: convertrules.py:1273
 msgid ""
 "New relative mode,\n"
 "Postfix articulations, new text markup syntax, new chord syntax."
 msgstr ""
 
-#: convertrules.py:1475
+#: convertrules.py:1286
 msgid "Remove - before articulation"
 msgstr ""
 
-#: convertrules.py:1515
+#: convertrules.py:1324
 #, python-format
 msgid "%s misspelling"
 msgstr ""
 
-#: convertrules.py:1521
-msgid "attempting automatic \\figures conversion.  Check results!"
+#: convertrules.py:1346
+msgid "Swap < > and << >>"
 msgstr ""
 
-#: convertrules.py:1550
-msgid "Swap < > and << >>"
+#: convertrules.py:1349
+msgid "attempting automatic \\figures conversion.  Check results!"
 msgstr ""
 
-#: convertrules.py:1576
+#: convertrules.py:1400
 msgid "Use Scheme code to construct arbitrary note events."
 msgstr ""
 
-#: convertrules.py:1609
+#: convertrules.py:1407
+msgid ""
+"use symbolic constants for alterations,\n"
+"remove \\outputproperty, move ly:verbose into ly:get-option"
+msgstr ""
+
+#: convertrules.py:1432
 #, python-format
 msgid ""
 "\\outputproperty found,\n"
@@ -171,7 +177,7 @@ msgid ""
 "as a substitution text."
 msgstr ""
 
-#: convertrules.py:1623
+#: convertrules.py:1446
 msgid ""
 "The alteration field of Scheme pitches was multiplied by 2\n"
 "to support quarter tone accidentals.  You must update the following "
@@ -181,75 +187,69 @@ msgid ""
 "* keySignature settings made with \\property\n"
 msgstr ""
 
-#: convertrules.py:1633
-msgid ""
-"use symbolic constants for alterations,\n"
-"remove \\outputproperty, move ly:verbose into ly:get-option"
-msgstr ""
-
-#: convertrules.py:1692
+#: convertrules.py:1493
 msgid "removal of automaticMelismata; use melismaBusyProperties instead."
 msgstr ""
 
-#: convertrules.py:1807
+#: convertrules.py:1600
 msgid "\\partcombine syntax change to \\newpartcombine"
 msgstr ""
 
-#: convertrules.py:1824
+#: convertrules.py:1628
+msgid ""
+"Drum notation changes, Removing \\chordmodifiers, \\notenames.\n"
+"Harmonic notes. Thread context removed. Lyrics context removed."
+msgstr ""
+
+#: convertrules.py:1632
 msgid "Drums found. Enclose drum notes in \\drummode"
 msgstr ""
 
-#: convertrules.py:1835 convertrules.py:1842 convertrules.py:1853
+#: convertrules.py:1643 convertrules.py:1650 convertrules.py:1661
 #, python-format
 msgid ""
 "\n"
 "%s found. Check file manually!\n"
 msgstr ""
 
-#: convertrules.py:1835
+#: convertrules.py:1643
 msgid "Drum notation"
 msgstr ""
 
-#: convertrules.py:1863
-msgid ""
-"Drum notation changes, Removing \\chordmodifiers, \\notenames.\n"
-"Harmonic notes. Thread context removed. Lyrics context removed."
-msgstr ""
-
-#: convertrules.py:1924
+#: convertrules.py:1702
 msgid "new syntax for property settings:"
 msgstr ""
 
-#: convertrules.py:1957
+#: convertrules.py:1728
 msgid "Property setting syntax in \\translator{ }"
 msgstr ""
 
-#: convertrules.py:1978
-#, python-format
-msgid "use %s"
+#: convertrules.py:1767
+msgid "Scheme grob function renaming"
 msgstr ""
 
-#: convertrules.py:1995
-msgid "Scheme grob function renaming"
+#: convertrules.py:1780
+#, python-format
+msgid "use %s"
 msgstr ""
 
-#: convertrules.py:2008
+#: convertrules.py:1797
 msgid "More Scheme function renaming"
 msgstr ""
 
-#: convertrules.py:2140
+#: convertrules.py:1925
 msgid ""
 "Page layout has been changed, using paper size and margins.\n"
 "textheight is no longer used.\n"
 msgstr ""
 
-#: convertrules.py:2259
+#: convertrules.py:2011
 msgid ""
 "\\foo -> \\foomode (for chords, notes, etc.)\n"
 "fold \\new FooContext \\foomode into \\foo."
 msgstr ""
 
-#: convertrules.py:2285
+#: convertrules.py:2049
 msgid ""
 "staff size should be changed at top-level\n"
 "with\n"
@@ -258,79 +258,79 @@ msgid ""
 "\n"
 msgstr ""
 
-#: convertrules.py:2320
+#: convertrules.py:2069
 msgid "regularize other identifiers"
 msgstr ""
 
-#: convertrules.py:2411
+#: convertrules.py:2137
+msgid "\\encoding: smart recode latin1..utf-8. Remove ly:point-and-click"
+msgstr ""
+
+#: convertrules.py:2150
 msgid "LilyPond source must be UTF-8"
 msgstr ""
 
-#: convertrules.py:2414
+#: convertrules.py:2153
 msgid "Try the texstrings backend"
 msgstr ""
 
-#: convertrules.py:2417
+#: convertrules.py:2156
 #, python-format
 msgid "Do something like: %s"
 msgstr ""
 
-#: convertrules.py:2420
+#: convertrules.py:2159
 msgid "Or save as UTF-8 in your editor"
 msgstr ""
 
-#: convertrules.py:2452
-msgid "\\encoding: smart recode latin1..utf-8. Remove ly:point-and-click"
+#: convertrules.py:2213
+msgid "warn about auto beam settings"
 msgstr ""
 
-#: convertrules.py:2485
+#: convertrules.py:2218
 msgid "auto beam settings"
 msgstr ""
 
-#: convertrules.py:2487
+#: convertrules.py:2220
 msgid ""
 "\n"
 "Auto beam settings must now specify each interesting moment in a measure\n"
 "explicitely; 1/4 is no longer multiplied to cover moments 1/2 and 3/4 too.\n"
 msgstr ""
 
-#: convertrules.py:2498
-msgid "warn about auto beam settings"
-msgstr ""
-
-#: convertrules.py:2624
+#: convertrules.py:2334
 msgid "verticalAlignmentChildCallback has been deprecated"
 msgstr ""
 
-#: convertrules.py:2652
+#: convertrules.py:2338
 msgid "Remove callbacks property, deprecate XY-extent-callback."
 msgstr ""
 
-#: convertrules.py:2663
+#: convertrules.py:2359
 msgid "Use grob closures iso. XY-offset-callbacks."
 msgstr ""
 
-#: convertrules.py:2770
+#: convertrules.py:2421
 msgid "foobar -> foo-bar for \\paper, \\layout"
 msgstr ""
 
-#: convertrules.py:2877
+#: convertrules.py:2531
 msgid "deprecate \\tempo in \\midi"
 msgstr ""
 
-#: convertrules.py:2912
+#: convertrules.py:2578
 msgid "deprecate cautionary-style. Use AccidentalCautionary properties"
 msgstr ""
 
-#: convertrules.py:2941
+#: convertrules.py:2591
 msgid "Rename accidental glyphs, use glyph-name-alist."
 msgstr ""
 
-#: convertrules.py:2973
+#: convertrules.py:2646
 msgid "edge-text settings for TextSpanner."
 msgstr ""
 
-#: convertrules.py:2974
+#: convertrules.py:2647
 #, python-format
 msgid ""
 "Use\n"
@@ -338,82 +338,111 @@ msgid ""
 "%s"
 msgstr ""
 
-#: convertrules.py:3020
+#: convertrules.py:2686
+msgid "Use #'style not #'dash-fraction to select solid/dashed lines."
+msgstr ""
+
+#: convertrules.py:2692
 msgid "all settings related to dashed lines.\n"
 msgstr ""
 
-#: convertrules.py:3021
+#: convertrules.py:2693
 msgid "Use \\override ... #'style = #'line for solid lines and\n"
 msgstr ""
 
-#: convertrules.py:3022
+#: convertrules.py:2694
 msgid "\t\\override ... #'style = #'dashed-line for dashed lines."
 msgstr ""
 
-#: convertrules.py:3027
-msgid "Use #'style not #'dash-fraction to select solid/dashed lines."
+#: convertrules.py:2730
+msgid ""
+"metronomeMarkFormatter uses text markup as second argument,\n"
+"fret diagram properties moved to fret-diagram-details."
+msgstr ""
+
+#: convertrules.py:2735
+msgid "metronomeMarkFormatter got an additional text argument.\n"
+msgstr ""
+
+#: convertrules.py:2736
+#, python-format
+msgid ""
+"The function assigned to Score.metronomeMarkFunction now uses the signature\n"
+"%s"
+msgstr ""
+
+#: convertrules.py:2799
+msgid "\\put-adjacent argument order.\n"
+msgstr ""
+
+#: convertrules.py:2800
+msgid "Axis and direction now come before markups:\n"
+msgstr ""
+
+#: convertrules.py:2801
+msgid "\\put-adjacent axis dir markup markup."
 msgstr ""
 
-#: fontextract.py:26
+#: fontextract.py:25
 #, python-format
 msgid "Scanning %s"
 msgstr ""
 
-#: fontextract.py:71
+#: fontextract.py:70
 #, python-format
 msgid "Extracted %s"
 msgstr ""
 
-#: fontextract.py:86
+#: fontextract.py:85
 #, python-format
 msgid "Writing fonts to %s"
 msgstr ""
 
-#: lilylib.py:102 lilylib.py:153
+#: lilylib.py:101 lilylib.py:152
 #, python-format
 msgid "Invoking `%s'"
 msgstr ""
 
-#: lilylib.py:104 lilylib.py:155
+#: lilylib.py:103 lilylib.py:154
 #, python-format
 msgid "Running %s..."
 msgstr ""
 
-#: lilylib.py:220
+#: lilylib.py:219
 #, python-format
 msgid "Usage: %s"
 msgstr ""
 
-#: musicexp.py:577
+#: musicexp.py:585
 #, python-format
 msgid "unable to set the music %(music)s for the repeat %(repeat)s"
 msgstr ""
 
-#: musicexp.py:586
+#: musicexp.py:594
 msgid "encountered repeat without body"
 msgstr ""
 
-#: musicxml.py:13 convert-ly.py:50 lilypond-book.py:85 warn.cc:54 input.cc:96
+#: musicxml.py:13 convert-ly.py:51 lilypond-book.py:85 warn.cc:54 input.cc:96
 #: input.cc:104
 #, c-format, python-format
 msgid "error: %s"
 msgstr ""
 
-#: musicxml.py:272
+#: musicxml.py:298
 msgid "requested time signature, but time sig is unknown"
 msgstr ""
 
-#: musicxml.py:338
+#: musicxml.py:354
 #, python-format
 msgid "Encountered note at %s with %s duration (no <type> element):"
 msgstr ""
 
-#: musicxml.py:372
+#: musicxml.py:388
 #, python-format
-msgid "Unable to find find instrument for ID=%s\n"
+msgid "Unable to find instrument for ID=%s\n"
 msgstr ""
 
-#: abc2ly.py:1342 convert-ly.py:71 lilypond-book.py:109 midi2ly.py:849
+#: abc2ly.py:1342 convert-ly.py:72 lilypond-book.py:109 midi2ly.py:846
 #, python-format
 msgid "%s [OPTION]... FILE"
 msgstr ""
@@ -422,127 +451,129 @@ msgstr ""
 #, python-format
 msgid ""
 "abc2ly converts ABC music files (see\n"
-"%s) to LilyPond input."
+"%s) to LilyPond input.\n"
 msgstr ""
 
-#: abc2ly.py:1350 convert-ly.py:78 etf2ly.py:1190 lilypond-book.py:175
-#: midi2ly.py:885 musicxml2ly.py:1824 main.cc:161
+#: abc2ly.py:1351 convert-ly.py:79 etf2ly.py:1190 lilypond-book.py:195
+#: midi2ly.py:882 musicxml2ly.py:2170 main.cc:161
 msgid "show version number and exit"
 msgstr ""
 
-#: abc2ly.py:1354 convert-ly.py:82 etf2ly.py:1186 lilypond-book.py:125
-#: midi2ly.py:864 musicxml2ly.py:1808 main.cc:150
+#: abc2ly.py:1355 convert-ly.py:83 etf2ly.py:1186 lilypond-book.py:126
+#: midi2ly.py:861 musicxml2ly.py:2152 main.cc:150
 msgid "show this help and exit"
 msgstr ""
 
-#: abc2ly.py:1356 etf2ly.py:1191 midi2ly.py:868
+#: abc2ly.py:1357 etf2ly.py:1191 midi2ly.py:865
 msgid "write output to FILE"
 msgstr ""
 
-#: abc2ly.py:1358
-msgid "be strict about succes"
+#: abc2ly.py:1359
+msgid "be strict about success"
 msgstr ""
 
-#: abc2ly.py:1360
+#: abc2ly.py:1361
 msgid "preserve ABC's notion of beams"
 msgstr ""
 
-#: abc2ly.py:1361 convert-ly.py:111 etf2ly.py:1198 lilypond-book.py:180
-#: midi2ly.py:897 musicxml2ly.py:1872
-msgid "Bugs"
-msgstr ""
-
-#: abc2ly.py:1362 convert-ly.py:112 etf2ly.py:1199 lilypond-book.py:181
-#: midi2ly.py:898 musicxml2ly.py:1873
+#: abc2ly.py:1363 convert-ly.py:120 etf2ly.py:1199 lilypond-book.py:202
+#: midi2ly.py:894 musicxml2ly.py:2225
 msgid "Report bugs via"
 msgstr ""
 
-#: convert-ly.py:32
+#: convert-ly.py:31
 msgid ""
 "Update LilyPond input to newer version.  By default, update from the\n"
 "version taken from the \\version command, to the current LilyPond version."
 msgstr ""
 
-#: convert-ly.py:34 lilypond-book.py:59
+#: convert-ly.py:33 lilypond-book.py:59
 msgid "Examples:"
 msgstr ""
 
-#: convert-ly.py:66 etf2ly.py:1174 lilypond-book.py:105 midi2ly.py:79
+#: convert-ly.py:67 etf2ly.py:1173 lilypond-book.py:105 midi2ly.py:77
 msgid "Distributed under terms of the GNU General Public License."
 msgstr ""
 
-#: convert-ly.py:67 etf2ly.py:1175 lilypond-book.py:106 midi2ly.py:80
+#: convert-ly.py:68 etf2ly.py:1174 lilypond-book.py:106 midi2ly.py:78
 msgid "It comes with NO WARRANTY."
 msgstr ""
 
-#: convert-ly.py:86 convert-ly.py:106
+#: convert-ly.py:87 convert-ly.py:114
 msgid "VERSION"
 msgstr ""
 
-#: convert-ly.py:88
+#: convert-ly.py:89
 msgid "start from VERSION [default: \\version found in file]"
 msgstr ""
 
-#: convert-ly.py:91
+#: convert-ly.py:92
 msgid "edit in place"
 msgstr ""
 
-#: convert-ly.py:94
+#: convert-ly.py:96
 msgid "do not add \\version command if missing"
 msgstr ""
 
-#: convert-ly.py:100
-msgid "show rules [default: --from=0, --to=@TOPLEVEL_VERSION@]"
+#: convert-ly.py:102
+#, python-format
+msgid "force updating \\version number to %s"
 msgstr ""
 
-#: convert-ly.py:105
-msgid "convert to VERSION [default: @TOPLEVEL_VERSION@]"
+#: convert-ly.py:108
+#, python-format
+msgid "show rules [default: -f 0, -t %s]"
 msgstr ""
 
-#: convert-ly.py:153
+#: convert-ly.py:113
+#, python-format
+msgid "convert to VERSION [default: %s]"
+msgstr ""
+
+#: convert-ly.py:160
 msgid "Applying conversion: "
 msgstr ""
 
-#: convert-ly.py:166
+#: convert-ly.py:173
 msgid "Error while converting"
 msgstr ""
 
-#: convert-ly.py:168
+#: convert-ly.py:175
 msgid "Stopping at last succesful rule"
 msgstr ""
 
-#: convert-ly.py:190
+#: convert-ly.py:196
 #, python-format
 msgid "Processing `%s'... "
 msgstr ""
 
-#: convert-ly.py:277 relocate.cc:362 source-file.cc:54
+#: convert-ly.py:286 relocate.cc:362 source-file.cc:59
 #, c-format, python-format
 msgid "cannot open file: `%s'"
 msgstr ""
 
-#: convert-ly.py:284
+#: convert-ly.py:293
 #, python-format
 msgid "cannot determine version for `%s'.  Skipping"
 msgstr ""
 
-#: etf2ly.py:1180
+#: etf2ly.py:1179
 #, python-format
 msgid "%s [OPTION]... ETF-FILE"
 msgstr ""
 
-#: etf2ly.py:1181
+#: etf2ly.py:1180
 msgid ""
 "Enigma Transport Format is a format used by Coda Music Technology's\n"
 "Finale product.  etf2ly converts a subset of ETF to a ready-to-use LilyPond "
-"file."
+"file.\n"
 msgstr ""
 
-#: etf2ly.py:1192 midi2ly.py:869 musicxml2ly.py:1866 main.cc:154 main.cc:159
+#: etf2ly.py:1192 midi2ly.py:866 musicxml2ly.py:2218 main.cc:154 main.cc:159
 msgid "FILE"
 msgstr ""
 
-#: etf2ly.py:1194 lilypond-book.py:178 midi2ly.py:886 main.cc:163
+#: etf2ly.py:1194 lilypond-book.py:198 midi2ly.py:883 main.cc:163
 msgid "show warranty and copyright"
 msgstr ""
 
@@ -570,7 +601,7 @@ msgid "FILTER"
 msgstr ""
 
 #: lilypond-book.py:116
-msgid "pipe snippets through FILTER [convert-ly -n -]"
+msgid "pipe snippets through FILTER [default: `convert-ly -n -']"
 msgstr ""
 
 #: lilypond-book.py:120
@@ -578,380 +609,422 @@ msgid ""
 "use output format FORMAT (texi [default], texi-html, latex, html, docbook)"
 msgstr ""
 
-#: lilypond-book.py:127
+#: lilypond-book.py:121
+msgid "FORMAT"
+msgstr ""
+
+#: lilypond-book.py:128
 msgid "add DIR to include path"
 msgstr ""
 
-#: lilypond-book.py:128 lilypond-book.py:135 lilypond-book.py:147 main.cc:153
+#: lilypond-book.py:129 lilypond-book.py:136 lilypond-book.py:154
+#: lilypond-book.py:160 lilypond-book.py:166 lilypond-book.py:172 main.cc:153
 msgid "DIR"
 msgstr ""
 
-#: lilypond-book.py:133
+#: lilypond-book.py:134
 msgid "format Texinfo output so that Info will look for images of music in DIR"
 msgstr ""
 
-#: lilypond-book.py:140
-msgid "PAD"
+#: lilypond-book.py:141
+msgid "run executable PROG instead of latex"
 msgstr ""
 
 #: lilypond-book.py:142
+msgid "PROG"
+msgstr ""
+
+#: lilypond-book.py:147
+msgid "PAD"
+msgstr ""
+
+#: lilypond-book.py:149
 msgid ""
 "pad left side of music to align music inspite of uneven bar numbers (in mm)"
 msgstr ""
 
-#: lilypond-book.py:146
+#: lilypond-book.py:153
 msgid "write output to DIR"
 msgstr ""
 
-#: lilypond-book.py:151
+#: lilypond-book.py:159
+msgid "do not fail if no lilypond output is found"
+msgstr ""
+
+#: lilypond-book.py:165
+msgid "do not fail if no PNG images are found for EPS files"
+msgstr ""
+
+#: lilypond-book.py:171
+msgid "write lily-XXX files to DIR, link into --output dir"
+msgstr ""
+
+#: lilypond-book.py:176
 msgid "COMMAND"
 msgstr ""
 
-#: lilypond-book.py:152
+#: lilypond-book.py:177
 msgid "process ly_files using COMMAND FILE..."
 msgstr ""
 
-#: lilypond-book.py:159
+#: lilypond-book.py:184
 msgid "create PDF files for use with PDFTeX"
 msgstr ""
 
-#: lilypond-book.py:163
-msgid ""
-"extract all PostScript fonts into INPUT.psfonts for LaTeX\n"
-"must use this with dvips -h INPUT.psfonts"
-msgstr ""
-
-#: lilypond-book.py:167 midi2ly.py:879 musicxml2ly.py:1829 main.cc:162
+#: lilypond-book.py:187 midi2ly.py:876 musicxml2ly.py:2175 main.cc:162
 msgid "be verbose"
 msgstr ""
 
-#: lilypond-book.py:788
+#: lilypond-book.py:825
 #, python-format
 msgid "file not found: %s"
 msgstr ""
 
-#: lilypond-book.py:1022
+#: lilypond-book.py:1087
 #, python-format
 msgid "deprecated ly-option used: %s=%s"
 msgstr ""
 
-#: lilypond-book.py:1025
+#: lilypond-book.py:1089
 #, python-format
 msgid "compatibility mode translation: %s=%s"
 msgstr ""
 
-#: lilypond-book.py:1029
+#: lilypond-book.py:1092
 #, python-format
 msgid "deprecated ly-option used: %s"
 msgstr ""
 
-#: lilypond-book.py:1032
+#: lilypond-book.py:1094
 #, python-format
 msgid "compatibility mode translation: %s"
 msgstr ""
 
-#: lilypond-book.py:1051
+#: lilypond-book.py:1112
 #, python-format
 msgid "ignoring unknown ly option: %s"
 msgstr ""
 
-#: lilypond-book.py:1422
+#: lilypond-book.py:1538
 #, python-format
 msgid "Opening filter `%s'"
 msgstr ""
 
-#: lilypond-book.py:1439
+#: lilypond-book.py:1555
 #, python-format
 msgid "`%s' failed (%d)"
 msgstr ""
 
-#: lilypond-book.py:1440
+#: lilypond-book.py:1556
 msgid "The error log is as follows:"
 msgstr ""
 
-#: lilypond-book.py:1512
+#: lilypond-book.py:1618
 msgid "cannot find \\begin{document} in LaTeX document"
 msgstr ""
 
-#: lilypond-book.py:1623
+#: lilypond-book.py:1718
 msgid "Writing snippets..."
 msgstr ""
 
-#: lilypond-book.py:1628
+#: lilypond-book.py:1724
 msgid "Processing..."
 msgstr ""
 
-#: lilypond-book.py:1632
+#: lilypond-book.py:1730
 msgid "All snippets are up to date..."
 msgstr ""
 
-#: lilypond-book.py:1642
+#: lilypond-book.py:1764
 #, python-format
 msgid "cannot determine format for: %s"
 msgstr ""
 
-#: lilypond-book.py:1653
+#: lilypond-book.py:1775
 #, python-format
 msgid "%s is up to date."
 msgstr ""
 
-#: lilypond-book.py:1659
+#: lilypond-book.py:1789
 #, python-format
 msgid "Writing `%s'..."
 msgstr ""
 
-#: lilypond-book.py:1714
+#: lilypond-book.py:1847
 msgid "Output would overwrite input file; use --output."
 msgstr ""
 
-#: lilypond-book.py:1718
+#: lilypond-book.py:1851
 #, python-format
 msgid "Reading %s..."
 msgstr ""
 
-#: lilypond-book.py:1737
+#: lilypond-book.py:1870
 msgid "Dissecting..."
 msgstr ""
 
-#: lilypond-book.py:1753
+#: lilypond-book.py:1886
 #, python-format
 msgid "Compiling %s..."
 msgstr ""
 
-#: lilypond-book.py:1762
+#: lilypond-book.py:1895
 #, python-format
 msgid "Processing include: %s"
 msgstr ""
 
-#: lilypond-book.py:1776
+#: lilypond-book.py:1907
 #, python-format
 msgid "Removing `%s'"
 msgstr ""
 
-#: lilypond-book.py:1809
-msgid "option --psfonts not used"
-msgstr ""
-
-#: lilypond-book.py:1810
-msgid "processing with dvips will have no fonts"
-msgstr ""
-
-#: lilypond-book.py:1813
-msgid "DVIPS usage:"
-msgstr ""
-
-#: lilypond-book.py:1869
-#, python-format
-msgid "Writing fonts to %s..."
-msgstr ""
-
-#: midi2ly.py:87 lily-library.scm:615 lily-library.scm:624
+#: midi2ly.py:85 lily-library.scm:620 lily-library.scm:629
 msgid "warning: "
 msgstr ""
 
-#: midi2ly.py:90 midi2ly.py:911
+#: midi2ly.py:88 midi2ly.py:907
 msgid "error: "
 msgstr ""
 
-#: midi2ly.py:91
+#: midi2ly.py:89
 msgid "Exiting... "
 msgstr ""
 
-#: midi2ly.py:837
+#: midi2ly.py:834
 #, python-format
 msgid "%s output to `%s'..."
 msgstr ""
 
-#: midi2ly.py:850 musicxml2ly.py:1803
+#: midi2ly.py:847
 #, python-format
-msgid "Convert %s to LilyPond input."
+msgid "Convert %s to LilyPond input.\n"
 msgstr ""
 
-#: midi2ly.py:855
+#: midi2ly.py:852
 msgid "print absolute pitches"
 msgstr ""
 
-#: midi2ly.py:857 midi2ly.py:872
+#: midi2ly.py:854 midi2ly.py:869
 msgid "DUR"
 msgstr ""
 
-#: midi2ly.py:858
+#: midi2ly.py:855
 msgid "quantise note durations on DUR"
 msgstr ""
 
-#: midi2ly.py:861
+#: midi2ly.py:858
 msgid "print explicit durations"
 msgstr ""
 
-#: midi2ly.py:865
+#: midi2ly.py:862
 msgid "set key: ALT=+sharps|-flats; MINOR=1"
 msgstr ""
 
-#: midi2ly.py:866
+#: midi2ly.py:863
 msgid "ALT[:MINOR]"
 msgstr ""
 
-#: midi2ly.py:871
+#: midi2ly.py:868
 msgid "quantise note starts on DUR"
 msgstr ""
 
-#: midi2ly.py:874
+#: midi2ly.py:871
 msgid "DUR*NUM/DEN"
 msgstr ""
 
-#: midi2ly.py:877
+#: midi2ly.py:874
 msgid "allow tuplet durations DUR*NUM/DEN"
 msgstr ""
 
-#: midi2ly.py:889
+#: midi2ly.py:886
 msgid "treat every text as a lyric"
 msgstr ""
 
-#: midi2ly.py:892
+#: midi2ly.py:889
 msgid "Examples"
 msgstr ""
 
-#: midi2ly.py:912
+#: midi2ly.py:908
 msgid "no files specified on command line."
 msgstr ""
 
-#: musicxml2ly.py:193 musicxml2ly.py:195
+#: musicxml2ly.py:213
+msgid ""
+"Encountered file created by Dolet 3.4 for Sibelius, containing wrong beaming "
+"information. All beaming information in the MusicXML file will be ignored"
+msgstr ""
+
+#: musicxml2ly.py:229 musicxml2ly.py:231
 #, python-format
 msgid "Unprocessed PartGroupInfo %s encountered"
 msgstr ""
 
-#: musicxml2ly.py:426
+#: musicxml2ly.py:471
 #, python-format
 msgid ""
 "Encountered rational duration with denominator %s, unable to convert to "
 "lilypond duration"
 msgstr ""
 
-#: musicxml2ly.py:609
+#: musicxml2ly.py:654
 #, python-format
 msgid "unknown mode %s, expecting 'major' or 'minor'"
 msgstr ""
 
-#: musicxml2ly.py:647
+#: musicxml2ly.py:692
 #, python-format
 msgid "Encountered unprocessed marker %s\n"
 msgstr ""
 
-#: musicxml2ly.py:741
+#: musicxml2ly.py:786
 #, python-format
 msgid "unknown span event %s"
 msgstr ""
 
-#: musicxml2ly.py:751
+#: musicxml2ly.py:796
 #, python-format
 msgid "unknown span type %s for %s"
 msgstr ""
 
-#: musicxml2ly.py:1259
+#: musicxml2ly.py:1207
+msgid "Unknown metronome mark, ignoring"
+msgstr ""
+
+#. TODO: Implement the other (more complex) way for tempo marks!
+#: musicxml2ly.py:1212
+msgid ""
+"Metronome marks with complex relations (<metronome-note> in MusicXML) are "
+"not yet implemented."
+msgstr ""
+
+#: musicxml2ly.py:1368
+#, python-format
+msgid "Unable to convert chord type %s to lilypond."
+msgstr ""
+
+#: musicxml2ly.py:1514
 #, python-format
 msgid "drum %s type unknown, please add to instrument_drumtype_dict"
 msgstr ""
 
-#: musicxml2ly.py:1263
+#: musicxml2ly.py:1518
 msgid "cannot find suitable event"
 msgstr ""
 
-#: musicxml2ly.py:1346
+#: musicxml2ly.py:1608
 #, python-format
 msgid "Negative skip %s"
 msgstr ""
 
-#: musicxml2ly.py:1480
+#: musicxml2ly.py:1760
 #, python-format
 msgid "Negative skip found: from %s to %s, difference is %s"
 msgstr ""
 
-#: musicxml2ly.py:1505
+#: musicxml2ly.py:1787
 #, python-format
 msgid "unexpected %s; expected %s or %s or %s"
 msgstr ""
 
-#: musicxml2ly.py:1583
+#: musicxml2ly.py:1897
 msgid "cannot have two simultaneous slurs"
 msgstr ""
 
-#: musicxml2ly.py:1711
+#: musicxml2ly.py:2035
 #, python-format
 msgid "cannot simultaneously have more than one mode: %s"
 msgstr ""
 
-#: musicxml2ly.py:1791
+#: musicxml2ly.py:2133
 msgid "Converting to LilyPond expressions..."
 msgstr ""
 
-#: musicxml2ly.py:1802
-msgid "musicxml2ly [options] FILE.xml"
+#: musicxml2ly.py:2144
+msgid "musicxml2ly [OPTION]... FILE.xml"
 msgstr ""
 
-#: musicxml2ly.py:1812
-#, python-format
+#: musicxml2ly.py:2146
 msgid ""
-"This program is free software.  It is covered by the GNU General Public\n"
-"License and you are welcome to change it and/or distribute copies of it\n"
-"under certain conditions.  Invoke as `%s --warranty' for more\n"
-"information."
+"Convert MusicXML from FILE.xml to LilyPond input.\n"
+"If the given filename is -, musicxml2ly reads from the command line.\n"
 msgstr ""
 
-#: musicxml2ly.py:1835
+#: musicxml2ly.py:2156
+msgid ""
+"Copyright (c) 2005--2008 by\n"
+"    Han-Wen Nienhuys <hanwen@xs4all.nl>,\n"
+"    Jan Nieuwenhuizen <janneke@gnu.org> and\n"
+"    Reinhold Kainhofer <reinhold@kainhofer.com>\n"
+msgstr ""
+
+#: musicxml2ly.py:2181
 msgid "use lxml.etree; uses less memory and cpu time"
 msgstr ""
 
-#: musicxml2ly.py:1841
+#: musicxml2ly.py:2187
 msgid "input file is a zip-compressed MusicXML file"
 msgstr ""
 
-#: musicxml2ly.py:1847
+#: musicxml2ly.py:2193
 msgid "convert pitches in relative mode (default)"
 msgstr ""
 
-#: musicxml2ly.py:1852
+#: musicxml2ly.py:2198
 msgid "convert pitches in absolute mode"
 msgstr ""
 
-#: musicxml2ly.py:1855
+#: musicxml2ly.py:2201
 msgid "LANG"
 msgstr ""
 
-#: musicxml2ly.py:1857
+#: musicxml2ly.py:2203
 msgid ""
 "use a different language file 'LANG.ly' and corresponding pitch names, e.g. "
 "'deutsch' for deutsch.ly"
 msgstr ""
 
-#: musicxml2ly.py:1863
+#: musicxml2ly.py:2209
 msgid "do not convert directions (^, _ or -) for articulations, dynamics, etc."
 msgstr ""
 
-#: musicxml2ly.py:1871
-msgid "set output filename to FILE"
+#: musicxml2ly.py:2215
+msgid ""
+"do not convert beaming information, use lilypond's automatic beaming instead"
 msgstr ""
 
-#: musicxml2ly.py:1929
+#: musicxml2ly.py:2223
+msgid "set output filename to FILE, stdout if -"
+msgstr ""
+
+#: musicxml2ly.py:2305
 #, python-format
 msgid "unknown part in part-list: %s"
 msgstr ""
 
-#: musicxml2ly.py:1985
+#: musicxml2ly.py:2367
+msgid "Input is compressed, extracting raw MusicXML data from stdin"
+msgstr ""
+
+#: musicxml2ly.py:2370
 #, python-format
 msgid "Input file %s is compressed, extracting raw MusicXML data"
 msgstr ""
 
-#: musicxml2ly.py:2011
+#: musicxml2ly.py:2400
+msgid "Reading MusicXML from Standard input ..."
+msgstr ""
+
+#: musicxml2ly.py:2402
 #, python-format
 msgid "Reading MusicXML from %s ..."
 msgstr ""
 
-#: musicxml2ly.py:2039 musicxml2ly.py:2053
+#: musicxml2ly.py:2435
 #, python-format
 msgid "Output to `%s'"
 msgstr ""
 
-#: musicxml2ly.py:2096
+#: musicxml2ly.py:2497
 #, python-format
 msgid "Unable to find input file %s"
 msgstr ""
@@ -985,17 +1058,17 @@ msgstr ""
 msgid "continuing, cross fingers"
 msgstr ""
 
-#: accidental-engraver.cc:250
+#: accidental-engraver.cc:249
 #, c-format
 msgid "accidental typesetting list must begin with context-name: %s"
 msgstr ""
 
-#: accidental-engraver.cc:277
+#: accidental-engraver.cc:276
 #, c-format
 msgid "ignoring unknown accidental rule: %s"
 msgstr ""
 
-#: accidental-engraver.cc:293
+#: accidental-engraver.cc:292
 #, c-format
 msgid "pair or context-name expected for accidental rule, found %s"
 msgstr ""
@@ -1009,7 +1082,7 @@ msgstr ""
 msgid "natural alteration glyph not found"
 msgstr ""
 
-#: align-interface.cc:325
+#: align-interface.cc:305
 msgid "tried to get a translation for something that is no child of mine"
 msgstr ""
 
@@ -1039,7 +1112,7 @@ msgstr ""
 msgid "removing this vertical group"
 msgstr ""
 
-#: axis-group-interface.cc:524
+#: axis-group-interface.cc:532
 msgid "an outside-staff object should have a direction, defaulting to up"
 msgstr ""
 
@@ -1076,7 +1149,7 @@ msgstr ""
 msgid "removing beam with no stems"
 msgstr ""
 
-#: beam.cc:1069
+#: beam.cc:1078
 msgid "no viable initial configuration found: may not find good beam slope"
 msgstr ""
 
@@ -1143,7 +1216,7 @@ msgid "Coherent_ligature_engraver: setting `spacing-increment=0.01': ptr=%ul"
 msgstr ""
 
 #. if we get to here, just put everything on one line
-#: constrained-breaking.cc:167 constrained-breaking.cc:184
+#: constrained-breaking.cc:176 constrained-breaking.cc:193
 msgid "cannot find line breaking that satisfies constraints"
 msgstr ""
 
@@ -1152,26 +1225,26 @@ msgstr ""
 msgid "program has no such type: `%s'"
 msgstr ""
 
-#: context-property.cc:30
+#: context-property.cc:32
 msgid "need symbol arguments for \\override and \\revert"
 msgstr ""
 
-#: context.cc:144
+#: context.cc:139
 #, c-format
 msgid "cannot find or create new `%s'"
 msgstr ""
 
-#: context.cc:206
+#: context.cc:197
 #, c-format
 msgid "cannot find or create `%s' called `%s'"
 msgstr ""
 
-#: context.cc:268
+#: context.cc:259
 #, c-format
 msgid "Invalid CreateContext event: Cannot create %s context"
 msgstr ""
 
-#: context.cc:380
+#: context.cc:390
 #, c-format
 msgid "cannot find or create: `%s'"
 msgstr ""
@@ -1195,23 +1268,23 @@ msgstr ""
 msgid "dot `%s' not found"
 msgstr ""
 
-#: dynamic-engraver.cc:192
+#: dynamic-engraver.cc:186
 msgid "cannot find start of (de)crescendo"
 msgstr ""
 
-#: dynamic-engraver.cc:201
+#: dynamic-engraver.cc:195
 msgid "already have a decrescendo"
 msgstr ""
 
-#: dynamic-engraver.cc:203
+#: dynamic-engraver.cc:197
 msgid "already have a crescendo"
 msgstr ""
 
-#: dynamic-engraver.cc:206
+#: dynamic-engraver.cc:200
 msgid "cresc starts here"
 msgstr ""
 
-#: dynamic-engraver.cc:335
+#: dynamic-engraver.cc:328
 msgid "unterminated (de)crescendo"
 msgstr ""
 
@@ -1238,15 +1311,15 @@ msgstr ""
 msgid "adding font directory: %s"
 msgstr ""
 
-#: general-scheme.cc:201
+#: general-scheme.cc:202
 msgid "infinity or NaN encountered while converting Real number"
 msgstr ""
 
-#: general-scheme.cc:202
+#: general-scheme.cc:203
 msgid "setting to zero"
 msgstr ""
 
-#: general-scheme.cc:421 output-ps.scm:61
+#: general-scheme.cc:422 output-ps.scm:61
 msgid "Found infinity or nan in output. Substituting 0.0"
 msgstr ""
 
@@ -1278,12 +1351,12 @@ msgid "implied \\%s added"
 msgstr ""
 
 #. ligature may not start with 2nd head of pes or flexa
-#: gregorian-ligature-engraver.cc:212
+#: gregorian-ligature-engraver.cc:213
 msgid "cannot apply `\\~' on first head of ligature"
 msgstr ""
 
 #. (pitch == prev_pitch)
-#: gregorian-ligature-engraver.cc:224
+#: gregorian-ligature-engraver.cc:225
 msgid "cannot apply `\\~' on heads with identical pitch"
 msgstr ""
 
@@ -1311,15 +1384,15 @@ msgstr ""
 msgid "Infinity or NaN encountered"
 msgstr ""
 
-#: hairpin.cc:187
+#: hairpin.cc:186
 msgid "decrescendo too small"
 msgstr ""
 
-#: horizontal-bracket-engraver.cc:59
+#: horizontal-bracket-engraver.cc:68
 msgid "do not have that many brackets"
 msgstr ""
 
-#: horizontal-bracket-engraver.cc:68
+#: horizontal-bracket-engraver.cc:77
 msgid "conflicting note group events"
 msgstr ""
 
@@ -1331,17 +1404,17 @@ msgstr ""
 msgid "unterminated hyphen; removing"
 msgstr ""
 
-#: includable-lexer.cc:53 lily-guile.cc:76 lily-parser-scheme.cc:117
+#: includable-lexer.cc:53 lily-guile.cc:76 lily-parser-scheme.cc:110
 #, c-format
 msgid "cannot find file: `%s'"
 msgstr ""
 
-#: includable-lexer.cc:55 lily-parser-scheme.cc:108
+#: includable-lexer.cc:55 lily-parser-scheme.cc:101
 #, c-format
 msgid "(search path: `%s')"
 msgstr ""
 
-#: input.cc:112 source-file.cc:168 source-file.cc:183
+#: input.cc:112 source-file.cc:173 source-file.cc:188
 msgid "position unknown"
 msgstr ""
 
@@ -1387,20 +1460,20 @@ msgstr ""
 msgid "(load path: `%s')"
 msgstr ""
 
-#: lily-guile.cc:438
+#: lily-guile.cc:428
 #, c-format
 msgid "cannot find property type-check for `%s' (%s)."
 msgstr ""
 
-#: lily-guile.cc:441
+#: lily-guile.cc:431
 msgid "perhaps a typing error?"
 msgstr ""
 
-#: lily-guile.cc:448
+#: lily-guile.cc:438
 msgid "doing assignment anyway"
 msgstr ""
 
-#: lily-guile.cc:460
+#: lily-guile.cc:450
 #, c-format
 msgid "type check for `%s' failed; value `%s' must be of type `%s'"
 msgstr ""
@@ -1424,17 +1497,17 @@ msgstr ""
 msgid "deprecated function called: %s"
 msgstr ""
 
-#: lily-parser-scheme.cc:89
+#: lily-parser-scheme.cc:83
 #, c-format
 msgid "Changing working directory to: `%s'"
 msgstr ""
 
-#: lily-parser-scheme.cc:107
+#: lily-parser-scheme.cc:100
 #, c-format
 msgid "cannot find init file: `%s'"
 msgstr ""
 
-#: lily-parser-scheme.cc:126
+#: lily-parser-scheme.cc:119
 #, c-format
 msgid "Processing `%s'"
 msgstr ""
@@ -1447,12 +1520,12 @@ msgstr ""
 msgid "braces do not match"
 msgstr ""
 
-#: lyric-combine-music-iterator.cc:327
+#: lyric-combine-music-iterator.cc:329
 #, c-format
 msgid "cannot find Voice `%s'"
 msgstr ""
 
-#: lyric-engraver.cc:158
+#: lyric-engraver.cc:162
 msgid "Lyric syllable does not have note. Use \\lyricsto or associatedVoice."
 msgstr ""
 
@@ -1566,7 +1639,7 @@ msgstr ""
 msgid "relocate using directory of lilypond program"
 msgstr ""
 
-#: main.cc:203
+#: main.cc:226
 #, c-format
 msgid ""
 "Copyright (c) %s by\n"
@@ -1574,82 +1647,82 @@ msgid ""
 msgstr ""
 
 #. No version number or newline here.  It confuses help2man.
-#: main.cc:230
+#: main.cc:254
 #, c-format
 msgid "Usage: %s [OPTION]... FILE..."
 msgstr ""
 
-#: main.cc:232
+#: main.cc:256
 #, c-format
 msgid "Typeset music and/or produce MIDI from FILE."
 msgstr ""
 
-#: main.cc:234
+#: main.cc:258
 #, c-format
 msgid "LilyPond produces beautiful music notation."
 msgstr ""
 
-#: main.cc:236
+#: main.cc:260
 #, c-format
 msgid "For more information, see %s"
 msgstr ""
 
-#: main.cc:238
+#: main.cc:262
 #, c-format
 msgid "Options:"
 msgstr ""
 
-#: main.cc:242
+#: main.cc:266
 #, c-format
 msgid "Report bugs via %s"
 msgstr ""
 
-#: main.cc:288
+#: main.cc:312
 #, c-format
 msgid "expected %d arguments with jail, found: %u"
 msgstr ""
 
-#: main.cc:302
+#: main.cc:326
 #, c-format
 msgid "no such user: %s"
 msgstr ""
 
-#: main.cc:304
+#: main.cc:328
 #, c-format
 msgid "cannot get user id from user name: %s: %s"
 msgstr ""
 
-#: main.cc:319
+#: main.cc:343
 #, c-format
 msgid "no such group: %s"
 msgstr ""
 
-#: main.cc:321
+#: main.cc:345
 #, c-format
 msgid "cannot get group id from group name: %s: %s"
 msgstr ""
 
-#: main.cc:329
+#: main.cc:353
 #, c-format
 msgid "cannot chroot to: %s: %s"
 msgstr ""
 
-#: main.cc:336
+#: main.cc:360
 #, c-format
 msgid "cannot change group id to: %d: %s"
 msgstr ""
 
-#: main.cc:342
+#: main.cc:366
 #, c-format
 msgid "cannot change user id to: %d: %s"
 msgstr ""
 
-#: main.cc:348
+#: main.cc:372
 #, c-format
 msgid "cannot change working directory to: %s: %s"
 msgstr ""
 
-#: main.cc:594
+#: main.cc:619
 #, c-format
 msgid "exception caught: %s"
 msgstr ""
@@ -1746,6 +1819,13 @@ msgstr ""
 msgid "transposition by %s makes alteration larger than double"
 msgstr ""
 
+#: new-dynamic-engraver.cc:128
+#, c-format
+msgid ""
+"unknown crescendo style: %s\n"
+"defaulting to hairpin."
+msgstr ""
+
 #: new-fingering-engraver.cc:96
 msgid "cannot add text scripts to individual note heads"
 msgstr ""
@@ -1758,7 +1838,7 @@ msgstr ""
 msgid "placing below"
 msgstr ""
 
-#: note-collision.cc:463
+#: note-collision.cc:484
 msgid "ignoring too many clashing note columns"
 msgstr ""
 
@@ -1815,21 +1895,21 @@ msgstr ""
 msgid "Finding the ideal number of pages..."
 msgstr ""
 
-#: optimal-page-breaking.cc:71
+#: optimal-page-breaking.cc:76
 msgid "Fitting music on 1 page..."
 msgstr ""
 
-#: optimal-page-breaking.cc:73
+#: optimal-page-breaking.cc:78
 #, c-format
 msgid "Fitting music on %d pages..."
 msgstr ""
 
-#: optimal-page-breaking.cc:75
+#: optimal-page-breaking.cc:80
 #, c-format
 msgid "Fitting music on %d or %d pages..."
 msgstr ""
 
-#: optimal-page-breaking.cc:152 page-turn-page-breaking.cc:226
+#: optimal-page-breaking.cc:157 page-turn-page-breaking.cc:226
 #: paper-score.cc:146
 msgid "Drawing systems..."
 msgstr ""
@@ -1915,7 +1995,7 @@ msgstr ""
 msgid "Preprocessing graphical objects..."
 msgstr ""
 
-#: parse-scm.cc:87
+#: parse-scm.cc:93
 msgid "GUILE signaled an error for the expression beginning here"
 msgstr ""
 
@@ -1944,18 +2024,18 @@ msgstr ""
 msgid "unterminated phrasing slur"
 msgstr ""
 
-#: piano-pedal-engraver.cc:286
+#: piano-pedal-engraver.cc:287
 #, c-format
 msgid "expect 3 strings for piano pedals, found: %ld"
 msgstr ""
 
-#: piano-pedal-engraver.cc:301 piano-pedal-engraver.cc:312
+#: piano-pedal-engraver.cc:302 piano-pedal-engraver.cc:313
 #: piano-pedal-performer.cc:93
 #, c-format
 msgid "cannot find start of piano pedal: `%s'"
 msgstr ""
 
-#: piano-pedal-engraver.cc:347
+#: piano-pedal-engraver.cc:348
 #, c-format
 msgid "cannot find start of piano pedal bracket: `%s'"
 msgstr ""
@@ -2048,7 +2128,7 @@ msgstr ""
 msgid "too many colliding rests"
 msgstr ""
 
-#: rest.cc:132
+#: rest.cc:148
 #, c-format
 msgid "rest `%s' not found"
 msgstr ""
@@ -2105,12 +2185,12 @@ msgstr ""
 msgid "cannot end slur"
 msgstr ""
 
-#: slur.cc:353
+#: slur.cc:357
 #, c-format
 msgid "Ignoring grob for slur: %s. avoid-slur not set?"
 msgstr ""
 
-#: source-file.cc:74
+#: source-file.cc:79
 #, c-format
 msgid "expected to read %d characters, got %d"
 msgstr ""
@@ -2152,25 +2232,25 @@ msgstr ""
 msgid "flag stroke `%s' not found"
 msgstr ""
 
-#: system.cc:179
+#: system.cc:178
 #, c-format
 msgid "Element count %d."
 msgstr ""
 
-#: system.cc:271
+#: system.cc:270
 #, c-format
 msgid "Grob count %d"
 msgstr ""
 
-#: text-spanner-engraver.cc:60
+#: text-spanner-engraver.cc:62
 msgid "cannot find start of text spanner"
 msgstr ""
 
-#: text-spanner-engraver.cc:72
+#: text-spanner-engraver.cc:75
 msgid "already have a text spanner"
 msgstr ""
 
-#: text-spanner-engraver.cc:118
+#: text-spanner-engraver.cc:121
 msgid "unterminated text spanner"
 msgstr ""
 
@@ -2220,11 +2300,11 @@ msgstr ""
 msgid "Previous %s event here"
 msgstr ""
 
-#: trill-spanner-engraver.cc:84
+#: trill-spanner-engraver.cc:85
 msgid "cannot find start of trill spanner"
 msgstr ""
 
-#: trill-spanner-engraver.cc:96
+#: trill-spanner-engraver.cc:98
 msgid "already have a trill spanner"
 msgstr ""
 
@@ -2273,40 +2353,40 @@ msgstr ""
 msgid "giving up"
 msgstr ""
 
-#: parser.yy:728
+#: parser.yy:729
 msgid "\\paper cannot be used in \\score, use \\layout instead"
 msgstr ""
 
-#: parser.yy:752
+#: parser.yy:753
 msgid "need \\paper for paper block"
 msgstr ""
 
-#: parser.yy:1211
+#: parser.yy:1224
 msgid "Grob name should be alphanumeric"
 msgstr ""
 
-#: parser.yy:1509
+#: parser.yy:1522
 msgid "second argument must be pitch list"
 msgstr ""
 
-#: parser.yy:1536 parser.yy:1541 parser.yy:2006
+#: parser.yy:1549 parser.yy:1554 parser.yy:2026
 msgid "have to be in Lyric mode for lyrics"
 msgstr ""
 
-#: parser.yy:1638
+#: parser.yy:1651
 msgid "expecting string as script definition"
 msgstr ""
 
-#: parser.yy:1793 parser.yy:1843
+#: parser.yy:1806 parser.yy:1856
 #, c-format
 msgid "not a duration: %d"
 msgstr ""
 
-#: parser.yy:1960
+#: parser.yy:1980
 msgid "have to be in Note mode for notes"
 msgstr ""
 
-#: parser.yy:2021
+#: parser.yy:2041
 msgid "have to be in Chord mode for chords"
 msgstr ""
 
@@ -2357,35 +2437,35 @@ msgstr ""
 msgid "Brace found at end of lyric.  Did you forget a space?"
 msgstr ""
 
-#: lexer.ll:582
+#: lexer.ll:584
 msgid "Brace found at end of markup.  Did you forget a space?"
 msgstr ""
 
-#: lexer.ll:686
+#: lexer.ll:688
 #, c-format
 msgid "invalid character: `%c'"
 msgstr ""
 
-#: lexer.ll:801 lexer.ll:802
+#: lexer.ll:803 lexer.ll:804
 #, c-format
 msgid "unknown escaped string: `\\%s'"
 msgstr ""
 
-#: lexer.ll:907 lexer.ll:908
+#: lexer.ll:910 lexer.ll:911
 #, c-format
 msgid "file too old: %s (oldest supported: %s)"
 msgstr ""
 
-#: lexer.ll:908 lexer.ll:909
+#: lexer.ll:911 lexer.ll:912
 msgid "consider updating the input with the convert-ly script"
 msgstr ""
 
-#: lexer.ll:914 lexer.ll:915
+#: lexer.ll:917 lexer.ll:918
 #, c-format
 msgid "program too old: %s (file requires: %s)"
 msgstr ""
 
-#: backend-library.scm:19 lily.scm:767 ps-to-png.scm:58
+#: backend-library.scm:19 lily.scm:776 ps-to-png.scm:58
 #, scheme-format
 msgid "Invoking `~a'..."
 msgstr ""
@@ -2395,17 +2475,19 @@ msgstr ""
 msgid "`~a' failed (~a)"
 msgstr ""
 
-#: backend-library.scm:117 framework-tex.scm:344 framework-tex.scm:369
+#: backend-library.scm:116 framework-tex.scm:344 framework-tex.scm:369
 #, scheme-format
 msgid "Converting to `~a'..."
 msgstr ""
 
-#: backend-library.scm:130
+#. Do not try to guess the name of the png file,
+#. GS produces PNG files like BASE-page%d.png.
+#: backend-library.scm:128
 #, scheme-format
 msgid "Converting to ~a..."
 msgstr ""
 
-#: backend-library.scm:168
+#: backend-library.scm:166
 #, scheme-format
 msgid "Writing header field `~a' to `~a'..."
 msgstr ""
@@ -2427,11 +2509,16 @@ msgstr ""
 msgid "translator listens to nonexisting event class ~A"
 msgstr ""
 
-#: define-markup-commands.scm:296
+#: define-markup-commands.scm:608
 msgid "no systems found in \\score markup, does it have a \\layout block?"
 msgstr ""
 
-#: define-markup-commands.scm:1310
+#: define-markup-commands.scm:2386
+#, scheme-format
+msgid "Cannot find glyph ~a"
+msgstr ""
+
+#: define-markup-commands.scm:2697
 #, scheme-format
 msgid "not a valid duration string: ~a"
 msgstr ""
@@ -2455,32 +2542,32 @@ msgstr ""
 msgid "See music-types.scm for supported repeats"
 msgstr ""
 
-#: document-backend.scm:91
+#: document-backend.scm:99
 #, scheme-format
 msgid "pair expected in doc ~s"
 msgstr ""
 
-#: document-backend.scm:135
+#: document-backend.scm:154
 #, scheme-format
 msgid "cannot find interface for property: ~S"
 msgstr ""
 
-#: document-backend.scm:145
+#: document-backend.scm:164
 #, scheme-format
 msgid "unknown Grob interface: ~S"
 msgstr ""
 
-#: documentation-lib.scm:45
+#: documentation-lib.scm:48
 #, scheme-format
 msgid "Processing ~S..."
 msgstr ""
 
-#: documentation-lib.scm:154
+#: documentation-lib.scm:164
 #, scheme-format
 msgid "Writing ~S..."
 msgstr ""
 
-#: documentation-lib.scm:176
+#: documentation-lib.scm:186
 #, scheme-format
 msgid "cannot find description for property ~S (~S)"
 msgstr ""
@@ -2510,17 +2597,17 @@ msgstr ""
 msgid "do not know how to embed font ~s ~s ~s"
 msgstr ""
 
-#: framework-ps.scm:750
+#: framework-ps.scm:753
 #, scheme-format
 msgid "cannot convert <stdout> to ~S"
 msgstr ""
 
-#: framework-ps.scm:769 framework-ps.scm:772
+#: framework-ps.scm:772 framework-ps.scm:775
 #, scheme-format
 msgid "cannot generate ~S using the postscript back-end"
 msgstr ""
 
-#: framework-ps.scm:779
+#: framework-ps.scm:782
 msgid ""
 "\n"
 "The PostScript backend does not support the system-by-system \n"
@@ -2551,7 +2638,7 @@ msgstr ""
 msgid "Error in beam quanting.  Expected (~S,~S) found ~S."
 msgstr ""
 
-#: layout-beam.scm:46
+#: layout-beam.scm:43
 #, scheme-format
 msgid "Error in beam quanting.  Expected ~S 0, found ~S."
 msgstr ""
@@ -2564,48 +2651,48 @@ msgstr ""
 msgid "Calculating page breaks..."
 msgstr ""
 
-#: lily-library.scm:583
+#: lily-library.scm:588
 #, scheme-format
 msgid "unknown unit: ~S"
 msgstr ""
 
-#: lily-library.scm:617
+#: lily-library.scm:622
 #, scheme-format
 msgid "no \\version statement found, please add~afor future compatibility"
 msgstr ""
 
-#: lily-library.scm:625
+#: lily-library.scm:630
 msgid "old relative compatibility not used"
 msgstr ""
 
-#: lily.scm:177
+#: lily.scm:178
 #, scheme-format
 msgid "cannot find: ~A"
 msgstr ""
 
-#: lily.scm:242
+#: lily.scm:243
 #, scheme-format
 msgid "wrong type for argument ~a.  Expecting ~a, found ~s"
 msgstr ""
 
-#: lily.scm:634
+#: lily.scm:640
 #, scheme-format
 msgid "job ~a terminated with signal: ~a"
 msgstr ""
 
-#: lily.scm:637
+#: lily.scm:643
 #, scheme-format
 msgid ""
 "logfile ~a (exit ~a):\n"
 "~a"
 msgstr ""
 
-#: lily.scm:664 lily.scm:757
+#: lily.scm:668 lily.scm:766
 #, scheme-format
 msgid "failed files: ~S"
 msgstr ""
 
-#: lily.scm:747
+#: lily.scm:756
 #, scheme-format
 msgid "Redirecting output to ~a..."
 msgstr ""
@@ -2614,21 +2701,26 @@ msgstr ""
 msgid "Music head function must return Music object"
 msgstr ""
 
-#: ly-syntax-constructors.scm:139
+#: ly-syntax-constructors.scm:150
 #, scheme-format
 msgid "Invalid property operation ~a"
 msgstr ""
 
-#: markup.scm:124
+#: markup.scm:204
 #, scheme-format
 msgid "Wrong number of arguments.  Expect: ~A, found ~A: ~S"
 msgstr ""
 
-#: markup.scm:130
+#: markup.scm:210
 #, scheme-format
 msgid "Invalid argument in position ~A.  Expect: ~A, found: ~S."
 msgstr ""
 
+#: markup.scm:274
+#, scheme-format
+msgid "Not a markup command: ~A"
+msgstr ""
+
 #: music-functions.scm:228
 msgid "More alternatives than repeats.  Junking excess alternatives"
 msgstr ""
@@ -2643,23 +2735,23 @@ msgstr ""
 msgid "expecting 2 elements for chord tremolo, found ~a"
 msgstr ""
 
-#: music-functions.scm:564
+#: music-functions.scm:575
 #, scheme-format
 msgid "music expected: ~S"
 msgstr ""
 
 #. FIXME: uncomprehensable message
-#: music-functions.scm:614
+#: music-functions.scm:625
 #, scheme-format
 msgid "Bar check failed.  Expect to be at ~a, instead at ~a"
 msgstr ""
 
-#: music-functions.scm:764
+#: music-functions.scm:793
 #, scheme-format
 msgid "cannot find quoted music: `~S'"
 msgstr ""
 
-#: music-functions.scm:961
+#: music-functions.scm:990
 #, scheme-format
 msgid "unknown accidental style: ~S"
 msgstr ""
@@ -2683,23 +2775,23 @@ msgstr ""
 msgid "cannot find ~a in ~a"
 msgstr ""
 
-#: paper.scm:85
+#: paper.scm:86
 msgid "set-global-staff-size: not in toplevel scope"
 msgstr ""
 
-#: paper.scm:133
+#: paper.scm:226
 #, scheme-format
 msgid "This is not a \\layout {} object, ~S"
 msgstr ""
 
-#: paper.scm:145
+#: paper.scm:238
 #, scheme-format
 msgid "Unknown papersize: ~a"
 msgstr ""
 
 #. TODO: should raise (generic) exception with throw, and catch
 #. that in parse-scm.cc
-#: paper.scm:160
+#: paper.scm:253
 msgid "Must use #(set-paper-size .. ) within \\paper { ... }"
 msgstr ""