@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.
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
@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.
@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::
<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>)
<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)
<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)
@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.
rather than specific notation.
@menu
-* Input structure::
-* Titles and headers::
-* Working with input files::
-* Controlling output::
-* MIDI output::
+* Input structure::
+* Titles and headers::
+* Working with input files::
+* Controlling output::
+* MIDI output::
@end menu
these files end with @code{.ly}.
@menu
-* Structure of a score::
-* Multiple scores in a book::
-* File structure::
+* Structure of a score::
+* Multiple scores in a book::
+* File structure::
@end menu
some pieces include a lot more information.
@menu
-* Creating titles::
-* Custom titles::
-* Reference to page numbers::
-* Table of contents::
+* Creating titles::
+* Custom titles::
+* Reference to page numbers::
+* Table of contents::
@end menu
@section Working with input files
@menu
-* Including LilyPond files::
-* Different editions from one source::
-* Text encoding::
-* Displaying LilyPond notation::
+* Including LilyPond files::
+* Different editions from one source::
+* Text encoding::
+* Displaying LilyPond notation::
@end menu
structure while leaving the notation untouched.
@menu
-* Using variables::
-* Using tags::
+* Using variables::
+* Using tags::
@end menu
@node Using variables
@section Controlling output
@menu
-* Extracting fragments of music::
-* Skipping corrected music::
+* Extracting fragments of music::
+* Skipping corrected music::
@end menu
@node Extracting fragments of music
(or 14 if you do not use drums). Other staves will remain silent.
@menu
-* Creating MIDI files::
-* MIDI block::
-* What goes into the MIDI output?::
-* Repeats in MIDI::
-* Controlling MIDI dynamics::
+* Creating MIDI files::
+* MIDI block::
+* What goes into the MIDI output?::
+* Repeats in MIDI::
+* Controlling MIDI dynamics::
+* Percussion in MIDI::
@end menu
@node Creating MIDI files
@end ignore
+@node Percussion in MIDI
+@subsection Percussion in MIDI
+
+Percussion instruments are generally notated in a @code{DrumStaff}
+context and when notated in this way they are outputted correctly
+to MIDI channel@tie{}10, but some pitched percussion instruments,
+like the xylophone, marimba, vibraphone, timpani, etc., are
+treated like @qq{normal} instruments and music for these instruments
+should be entered in a normal @code{Staff} context, not a
+@code{DrumStaff} context, to obtain the correct MIDI output.
+
+Some non-pitched percussion sounds included in the general MIDI
+standard, like melodic tom, taiko drum, synth drum, etc., cannot
+be reached via MIDI channel@tie{}10, so the notation for such
+instruments should also be entered in a normal @code{Staff}
+context, using suitable normal pitches.
+
+Many percussion instruments are not included in the general MIDI
+standard, e.g. castanets. The easiest, although unsatisfactory,
+method of producing some MIDI output when writing for such
+instruments is to substitute the nearest sound from the standard
+set.
+
+@c TODO Expand with examples, and any other issues
+
+@knownissues
+
+Because the general MIDI standard does not contain rim shots, the
+sidestick is used for this purpose instead.
+
@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
@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:
@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
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
@end itemize
-The NR also contains appendices with useful reference charts.
+The Notation Reference also contains appendices with useful
+reference charts.
@itemize
@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.
@item
@rprogram{Install}:
-explains how to install LilyPond (including compilation if
-desired).
+explains how to install LilyPond, including compilation if
+desired.
@item
@rprogram{Setup}:
@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
(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
@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
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
-
@menu
* Chord name chart::
-* Common chord modifiers::
-* Predefined fretboard diagrams::
+* Common chord modifiers::
+* Predefined fretboard diagrams::
* MIDI instruments::
* List of colors::
* The Feta font::
* Note head styles::
* Text markup commands::
-* Text markup list commands::
+* Text markup list commands::
* List of articulations::
+* Percussion notes::
* All context properties::
* Layout properties::
* Identifiers::
Here is a chart showing all scripts available,
-@lilypondfile[ragged-right,quote]{script-chart.ly}
+@lilypondfile[quote]{script-chart.ly}
+@node Percussion notes
+@appendixsec Percussion notes
+
+@lilypondfile[quote]{percussion-chart.ly}
+
@node All context properties
@appendixsec All context properties
@section Percussion
@menu
-* Common notation for percussion::
+* Common notation for percussion::
@end menu
@node Common notation for percussion
also be used to show the rhythms of melodies.
@menu
-* References for percussion::
-* Basic percussion notation::
-* Percussion staves::
-* Ghost notes::
+* References for percussion::
+* Basic percussion notation::
+* Drum rolls::
+* Pitched percussion::
+* Percussion staves::
+* Custom percussion staves::
+* Ghost notes::
@end menu
@node References for percussion
@subsubsection References for percussion
-@c TODO Add refs
-TBC
+TODO add more.
+@itemize
+
+@item Some percussion may be notated on a rhythmic staff; this is
+discussed in @ref{Showing melody rhythms}, and
+@ref{Instantiating new staves}.
+
+@item MIDI output is discussed in a separate section; please see
+@ref{Percussion in MIDI}.
+
+@end itemize
@seealso
-Internals Reference: @rinternals{RhythmicStaff}.
+Notation Reference:
+@ref{Showing melody rhythms},
+@ref{Instantiating new staves}.
+@ref{Percussion in MIDI}.
+
+Snippets: @rlsr{Percussion}.
@node Basic percussion notation
@cindex percussion
@cindex drums
-
Percussion notes may be entered in @code{\drummode} mode, which is
-similar to the standard mode for entering notes. Each piece of
-percussion has a full name and an abbreviated name, and both can
-be used in input files. The simplest way to enter percussion notes
-is to use the @code{\drums} command, which creates the correct
-context and entry mode for percussion:
+similar to the standard mode for entering notes. The simplest way
+to enter percussion notes is to use the @code{\drums} command,
+which creates the correct context and entry mode for percussion:
-@lilypond[quote,ragged-right,verbatim]
+@lilypond[quote,verbatim]
\drums {
- hihat hh bassdrum bd
+ hihat4 hh bassdrum bd
}
@end lilypond
This is shorthand for:
-@lilypond[quote,ragged-right,verbatim]
+@lilypond[quote,verbatim]
\new DrumStaff {
\drummode {
- hihat hh bassdrum bd
+ hihat4 hh bassdrum bd
}
}
@end lilypond
-Note, that percussion clefs are added automatically in a
-@code{DrumStaff} context. But it is possible to use other clefs
-if you want.
-
-
-The complete list of drum names is in the init file
-@file{ly/@/drumpitch@/-init@/.ly}.
-
-Here is the list of abbreviations You can use in a drum Staff:
-
-@example
- bda acousticbassdrum
- bd bassdrum
- ssh hisidestick
- ss sidestick
- ssl losidestick
- sna acousticsnare
- sn snare
- hc handclap
- sne electricsnare
- tomfl lowfloortom
- hhc closedhihat
- hh hihat
- tomfh highfloortom
- hhp pedalhihat
- toml lowtom
- hho openhihat
- hhho halfopenhihat
- tomml lowmidtom
- tommh himidtom
- cymca crashcymbala
- cymc crashcymbal
- tomh hightom
- cymra ridecymbala
- cymr ridecymbal
- cymch chinesecymbal
- rb ridebell
- tamb tambourine
- cyms splashcymbal
- cb cowbell
- cymcb crashcymbalb
- vibs vibraslap
- cymrb ridecymbalb
- bohm mutehibongo
- boh hibongo
- boho openhibongo
- bolm mutelobongo
- bol lobongo
- bolo openlobongo
- cghm mutehiconga
- cglm muteloconga
- cgho openhiconga
- cgh hiconga
- cglo openloconga
- cgl loconga
- timh hitimbale
- timl lotimbale
- agh hiagogo
- agl loagogo
- cab cabasa
- mar maracas
- whs shortwhistle
- whl longwhistle
- guis shortguiro
- guil longguiro
- gui guiro
- cl claves
- wbh hiwoodblock
- wbl lowoodblock
- cuim mutecuica
- cuio opencuica
- trim mutetriangle
- tri triangle
- trio opentriangle
- tt tamtam
- ua oneup
- ub twoup
- uc threeup
- ud fourup
- ue fiveup
- da onedown
- db twodown
- dc threedown
- dd fourdown
- de fivedown
-@end example
-
-Note that the normal notation of pitches in a @code{DrumStaff}
-will cause an error message.
-
-
-
-Drum rolls are indicated with three slashes across the stem.
-For quarter notes or longer the three slashes are shown explicitly,
-eighth notes are shown with two slashes (the beam being the third),
-and drum rolls shorter than eighths have one stem slash to
+Each piece of percussion has a full name and an abbreviated name,
+and both can be used in input files. The full list of percussion
+note names may be found in @ref{Percussion notes}.
+
+Note that the normal notation of pitches (such as @code{cis4}) in
+a @code{DrumStaff} context will cause an error message.
+Percussion clefs are added automatically to a @code{DrumStaff}
+contex, but other clefs may also be used.
+
+There are a few issues concerning MIDI support for percussion
+instruments; for details please see @ref{Percussion in MIDI}.
+
+@seealso
+
+Notation Reference: @ref{Percussion in MIDI}, @ref{Percussion notes}.
+
+File: @file{ly/@/drumpitch@/-init@/.ly}
+
+Snippets: @rlsr{Percussion}.
+
+
+@node Drum rolls
+@subsubsection Drum rolls
+
+Drum rolls are indicated with three slashes across the stem. For
+quarter notes or longer the three slashes are shown explicitly,
+eighth notes are shown with two slashes (the beam being the
+third), and drum rolls shorter than eighths have one stem slash to
supplement the beams. This is achieved with the tremolo notation,
-@code{:32}, see @ref{Tremolo repeats}. Here's an example of
-some snare rolls:
+@code{:32}, as described in @ref{Tremolo repeats}. Here is an
+example of some snare rolls:
-@lilypond[quote,ragged-right,verbatim]
-\new DrumStaff
-\drummode {
+@lilypond[quote,verbatim]
+\drums {
\time 2/4
- sn16 sn8 sn16 sn8 sn8:32~ |
- sn8 sn8 sn4:32~ |
- sn4 sn8 sn16 sn16 |
- sn4 r4 |
+ sn16 sn8 sn16 sn8 sn8:32 ~
+ sn8 sn8 sn4:32 ~
+ sn4 sn8 sn16 sn16
+ sn4 r4
}
@end lilypond
after the note. The @code{staff-padding} property may be
overridden to achieve a pleasing baseline.
-@lilypond[quote,ragged-right,verbatim]
+@lilypond[quote,verbatim]
\drums {
- \repeat "unfold" 2 { sn16 ^"L" sn^"R" sn^"L" sn^"L" sn^"R" sn^"L" sn^"R" sn^"R" }
-
+ \repeat unfold 2 {
+ sn16 ^"L" sn^"R" sn^"L" sn^"L" sn^"R" sn^"L" sn^"R" sn^"R"
+ }
}
@end lilypond
+@seealso
+
+Snippets: @rlsr{Percussion}.
+
+
+@node Pitched percussion
+@subsubsection Pitched percussion
+
+Certain pitched percussion instruments (e.g. xylophone,
+vibraphone, and timpani) are written using with normal staffs.
+This is covered in other sections of the manual.
@seealso
-Internals Reference: @rinternals{note-event}.
+@c TODO: possibly link to an alternate section of NR 3.5, if
+@c "percussion in MIDI" gets a separate subsubsection for
+@c pitched percussion sounds. -gp
+Notation Reference: @ref{Percussion in MIDI}.
+
+Snippets: @rlsr{Percussion}.
+
@node Percussion staves
@subsubsection Percussion staves
+
@cindex percussion
@cindex drums
A percussion part for more than one instrument typically uses a
-multiline staff where each position in the staff refers to one piece
-of percussion.
-
-
-To typeset the music, the notes must be interpreted in a
-@rinternals{DrumStaff} and @rinternals{DrumVoice} contexts
+multiline staff where each position in the staff refers to one
+piece of percussion. To typeset the music, the notes must be
+interpreted in @code{DrumStaff} and @code{DrumVoice} context.
-@lilypond[quote,ragged-right,verbatim]
-up = \drummode { crashcymbal4 hihat8 halfopenhihat hh hh hh openhihat }
-down = \drummode { bassdrum4 snare8 bd r bd sn4 }
- \new DrumStaff <<
- \new DrumVoice { \voiceOne \up }
- \new DrumVoice { \voiceTwo \down }
- >>
+@lilypond[quote,verbatim]
+up = \drummode {
+ crashcymbal4 hihat8 halfopenhihat hh hh hh openhihat
+}
+down = \drummode {
+ bassdrum4 snare8 bd r bd sn4
+}
+\new DrumStaff <<
+ \new DrumVoice { \voiceOne \up }
+ \new DrumVoice { \voiceTwo \down }
+>>
@end lilypond
The above example shows verbose polyphonic notation. The short
polyphonic notation, described in @rlearning{I'm hearing Voices},
-can also be used if the @rinternals{DrumVoice}s are instantiated
-by hand first. For example,
+can also be used if the voices are instantiated by hand first.
+For example,
-@lilypond[quote,ragged-right,fragment,verbatim]
+@lilypond[quote,verbatim]
\new DrumStaff <<
- \new DrumVoice = "1" { s1 *2 }
- \new DrumVoice = "2" { s1 *2 }
+ \new DrumVoice = "1" { s1*2 }
+ \new DrumVoice = "2" { s1*2 }
\drummode {
bd4 sn4 bd4 sn4
- <<
- { \repeat unfold 16 hh16 }
- \\
- { bd4 sn4 bd4 sn4 }
- >>
+ << {
+ \repeat unfold 16 hh16
+ } \\ {
+ bd4 sn4 bd4 sn4
+ } >>
}
>>
@end lilypond
-
There are also other layout possibilities. To use these, set the
-property @code{drumStyleTable} in context @rinternals{DrumVoice}.
-The following variables have been predefined
+property @code{drumStyleTable} in context @code{DrumVoice}. The
+following variables have been predefined:
+@c FIXME: decide what to do about this table. (ie verbatim or not)
@table @code
+
@item drums-style
-This is the default. It typesets a typical drum kit on a five-line staff
+This is the default. It typesets a typical drum kit on a
+five-line staff:
@lilypond[quote,line-width=10.0\cm]
nam = \lyricmode {
}
@end lilypond
-The drum scheme supports six different toms. When there are fewer toms,
-simply select the toms that produce the desired result, i.e., to get toms
-on the three middle lines you use @code{tommh}, @code{tomml}, and
-@code{tomfh}.
+The drum scheme supports six different toms. When there are fewer
+toms, simply select the toms that produce the desired result. For
+example, to get toms on the three middle lines you use
+@code{tommh}, @code{tomml}, and @code{tomfh}.
@item timbales-style
-This typesets timbales on a two line staff
+This typesets timbales on a two line staff:
@lilypond[quote,ragged-right]
nam = \lyricmode { timh ssh timl ssl cb }
@end lilypond
@item congas-style
-This typesets congas on a two line staff
+This typesets congas on a two line staff:
@lilypond[quote,ragged-right]
nam = \lyricmode { cgh cgho cghm ssh cgl cglo cglm ssl }
@end lilypond
@item bongos-style
-This typesets bongos on a two line staff
+This typesets bongos on a two line staff:
@lilypond[quote,ragged-right]
nam = \lyricmode { boh boho bohm ssh bol bolo bolm ssl }
@end lilypond
@item percussion-style
-To typeset all kinds of simple percussion on one line staves.
+To typeset all kinds of simple percussion on one line staves:
@lilypond[quote,ragged-right]
nam = \lyricmode { tri trio trim gui guis guil cb cl tamb cab mar hc }
@end lilypond
@end table
-If you do not like any of the predefined lists you can define your own
-list at the top of your file
-@lilypond[quote,ragged-right,verbatim]
+@node Custom percussion staves
+@subsubsection Custom percussion staves
+
+If you do not like any of the predefined lists you can define your
+own list at the top of your file.
+
+@lilypond[quote,verbatim]
#(define mydrums '(
(bassdrum default #f -1)
(snare default #f 0)
@end lilypond
+@snippets
+
+FIXME: MOVE ALL THESE TO LSR! -gp
+
+Here are some examples:
+
+Two Woodblocks, entered with wbh (high woodblock) and wbl (low woodblock)
+
+@lilypond[quote,verbatim]
+#(define mydrums '(
+ (hiwoodblock default #t 3)
+ (lowoodblock default #t -2)))
+ %% These lines define the position of the woodblocks in the stave, if You like, You can change it
+ % or You can use special note heads for the woodblocks.
+ woodstaff = { \override Staff.StaffSymbol #'line-positions = #'(-2 3)
+% this defines a staff with only two lines. It also defines the positions of the two lines
+ \override Staff.BarLine #'bar-size = #3 }
+ %% this is neccessary. If not entered, the barline wuld be too short!
+
+ \new DrumStaff {
+ \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
+ %% with this You load Your new drum style table
+ \woodstaff
+ \drummode {
+ \time 2/4
+ wbl8 wbl16 wbl wbh 8 -> wbl |
+ wbl 8 wbl16 wbh ~ -> wbh wbl 16 r8 |
+ }
+}
+@end lilypond
+
+@seealso
+
+Note that in this special case the length of the barline must
+altered with @code{\override Staff.BarLine #'bar-size #number}.
+Otherwise it would be too short. And You have also to define the
+positions of the to stafflines. For more information about these
+delicate things have a look at @ref{Staff symbol}.
+
+
+A tambourine, entered with "tamb":
+
+@lilypond[quote,verbatim]
+ % tambourine-music is entered with "tamb"
+ tambustaff = { \override Staff.StaffSymbol #'line-positions = #'( 0 )
+ \override Staff.BarLine #'bar-size = #3
+ \set DrumStaff.instrumentName="Tambourine"}
+ \new DrumStaff {
+ \tambustaff
+% broken
+% \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
+ \drummode { \time 6/8
+ \repeat "unfold" 2 { tamb8. tamb16 tamb8 tamb tamb tamb | }
+ tamb4. tamb8 tamb tamb | tamb2.*5/6 \startTrillSpan s8 \stopTrillSpan |
+ %% the trick with the scaled duration and the shorter rest is neccessary for the correct ending of the trill-span!
+ }
+ }
+
+@end lilypond
+Music for Tam-Tam (entered with "tt"):
+
+@lilypond[quote,verbatim]
+ #(define mydrums '(
+ (tamtam default #t 0) ) )
+ tamtamstaff = { \override Staff.StaffSymbol #'line-positions = #'( 0 )
+ \override Staff.BarLine #'bar-size = #3
+ \set DrumStaff.instrumentName="Tamtam"}
+ \new DrumStaff {
+ \tamtamstaff
+ \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
+ \drummode { tt 1 \pp \laissezVibrer
+ }
+ }
+@end lilypond
+
+Two different bells, entered with "cb" (cowbell) and "rb" (ridebell)"
+
+@lilypond[quote,verbatim]
+%% bells are enterd with:
+% "cb" (cowbell) and "rb" (ridebell)"
+ #(define mydrums '(
+ (ridebell default #t 3 )
+ (cowbell default #t -2)))
+
+ bellstaff = { \override DrumStaff.StaffSymbol #'line-positions = #'(-2 3)
+ \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
+ \override Staff.BarLine #'bar-size = #3
+ \set DrumStaff.instrumentName="Different Bells"}
+
+ \new DrumStaff {
+ \bellstaff
+ \drummode {
+ \time 2/4
+ \repeat "unfold" 2 { rb 8 rb cb cb16 rb ~ -> | rb16 rb 8 rb 16 cb 8 cb | }
+ }
+}
+@end lilypond
+
+Here an short example by maestro Stravinsky (from "L'hostire du Soldat")
+
+@lilypond[quote,verbatim]
+ #(define mydrums '(
+ (bassdrum default #t 4 )
+ (snare default #t -4 )
+ (tambourine default #t 0) ) )
+
+ global = { \time 3/8 s 4. \time 2/4 s 2 *2 \time 3/8 s 4. \time 2/4 s 2 }
+
+drumsA = { \context DrumVoice << { \global }
+ {\drummode {
+ \autoBeamOff
+\stemDown sn 8 \stemUp tamb s8 |
+ sn4 \stemDown sn4 |
+\stemUp tamb 8 \stemDown sn8 \stemUp sn16 \stemDown sn \stemUp sn8 |
+\stemDown sn 8 \stemUp tamb s8 |
+\stemUp sn4 s8 \stemUp tamb |
+ } } >> }
+drumsB = { \drummode { s 4 bd 8 s 2*2 s 4 bd8 s 4 bd8 s 8 } }
+
+\layout {
+ indent = #40
+}
+
+ \score {
+ \new StaffGroup
+ <<
+ \new DrumStaff
+ { \set DrumStaff.instrumentName= \markup { \column { "Tambourine" "et" "caisse claire s. timbre" } }
+ \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums) \drumsA }
+ \new DrumStaff
+ { \set DrumStaff.instrumentName= "Grosse Caisse"
+ \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums) \drumsB }
+ >>
+
+ }
+@end lilypond
+
@seealso
-Init files: @file{ly/@/drumpitch@/-init@/.ly}.
+Snippets: @rlsr{Percussion}.
Internals Reference: @rinternals{DrumStaff}, @rinternals{DrumVoice}.
-@knownissues
-
-Because general MIDI does not contain rim shots, the sidestick is used
-for this purpose instead.
@c TODO: check name -gp
@subsubsection Ghost notes
Ghost notes for drums and percussion may be created using the
-@code{\parenthesize} command detailed in @ref{Parentheses}. However,
-the default @code{\drummode} does
-not include the @code{Parenthesis_engraver} plugin which allows
-this.
+@code{\parenthesize} command detailed in @ref{Parentheses}.
+However, the default @code{\drummode} does not include the
+@code{Parenthesis_engraver} plugin which allows this.
@lilypond[quote,ragged-right,verbatim,fragment]
\new DrumStaff \with {
<<
{
hh8[ hh] <hh sn> hh16
- < \parenthesize sn > hh < \parenthesize
- sn > hh8 <hh sn> hh
+ < \parenthesize sn > hh
+ < \parenthesize sn > hh8 <hh sn> hh
} \\ {
bd4 r4 bd8 bd r8 bd
}
Also note that you must add chords (@code{< >} brackets)
around each @code{\parenthesize} statement.
+@seealso
+
+Snippets: @rlsr{Percussion}.
<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
@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]
<<
>>
@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]
<<
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
Using a specific syntax, text blocks can be spread
over multiple pages, making possible to print
-text documents or books -- and therefore to
-use LilyPond as a word processor. This syntax is described in
+text documents or books (and therefore to
+use LilyPond as a word processor). This syntax is described in
@ref{Multi-page markup}.
@predefined
The markup syntax is similar to LilyPond's usual syntax: a
@code{\markup} expression is enclosed in curly braces @code{@{
-@dots{} @}}.
+@dots{} @}}. A single word is regarded as a minimal expression,
+and therefore does not need to be enclosed with braces.
Unlike simple @q{quoted text} indications, @code{\markup} blocks
may contain nested expressions or specific commands,
Such commands only affect the first following expression.
@lilypond[quote,verbatim,fragment,relative=1]
-e1-\markup "intenso"
+e1-\markup intenso
a2^\markup { poco \italic più forte }
c e1
d2_\markup { \italic "string. assai" }
@cindex printing special characters
@cindex quoted text in markup mode
-A @code{\markup} block may also contain quoted text, which
-can be useful to print special characters such as @code{\} and @code{#},
-or even double quotation marks -- these have to be preceded
-with backslashes:
+A @code{\markup} block may also contain quoted text strings.
+Such strings are treated as minimal text expressions, and
+therefore any markup command or special character (such as
+@code{\} and @code{#}) will be printed verbatim without affecting
+the formatting of the text. This syntax even allows to print
+double quotation marks, by preceding them with backslashes
@lilypond[quote,verbatim,fragment,relative=1]
-\clef bass
-a^\markup "##\ LEPORELLO \##"
-a_\markup "Bravi! \"Cosa rara\"!"
-r a8 d
-cis a r4 r2
+d1^"\italic markup..."
+d_\markup \italic "... prints \"italic\" letters!"
+d d
@end lilypond
The way markup expressions are defined affects
Markup objects may be aligned in different ways. By default,
a text indication is aligned on its left edge: in the following
-example, there's no difference
+example, there is no difference
between the first and the second markup.
@lilypond[quote,verbatim,fragment,relative=1]
a'4 a g2 a
@end lilypond
+@funindex \column
+@funindex \center-align
+
@cindex multi-line markup
@cindex multi-line text
@cindex columns, text
}
@end lilypond
+@funindex \fill-line
+
+@cindex centering text on the page
+
Similarly, a list of elements or expressions may be
-spread to fill the entire horizontal line width -- if there
-is only one element, it will be centered on the page.
+spread to fill the entire horizontal line width (if there
+is only one element, it will be centered on the page).
These expressions can, in turn, include multi-line text
or any other markup expression:
}
@end lilypond
+@funindex \wordwrap
+@funindex \justify
+
+@cindex wordwrapped text
+@cindex justified text
+
Long text indications can also be automatically wrapped
accordingly to the given line width. These will be
either left-aligned or justified, as shown in
@node Graphic notation inside markup
@subsubsection Graphic notation inside markup
-Graphics around text:
-\box
-\circle
+@cindex graphics, embedding
+@cindex drawing graphic objects
+
+Various graphic objects may be added to a score,
+using specific markup commands.
+
+@funindex \box
+@funindex \circle
+@funindex \rounded-box
+@funindex \bracket
+@funindex \hbracket
+
+@cindex decorating text
+@cindex framing text
+
+Some markup commands allow to decorate text elements
+with graphics, as demonstrated in the following example.
+
+@lilypond[quote,verbatim]
+\markup \fill-line {
+ \center-align {
+ \circle Jack
+ \box "in the box"
+ \null
+ \line {
+ Erik Satie
+ \hspace #3
+ \bracket "1866 - 1925"
+ }
+ \null
+ \rounded-box \bold Prelude
+ }
+}
+@end lilypond
+
+@funindex \pad-markup
+@funindex \pad-x
+@funindex \pad-to-box
+@funindex \pad-around
+
+@cindex padding around text
+@cindex text padding
+
+Some commands may require to increase the padding around
+the text: this is achieved with some specific commands
+exhaustively described in @ref{Align}.
-(TODO: document padding commands here)
+@lilypond[quote,verbatim]
+\markup \fill-line {
+ \center-align {
+ \box "Charles Ives (1874 - 1954)"
+ \null
+ \box \pad-markup #2 "THE UNANSWERED QUESTION"
+ \box \pad-x #8 "A Cosmic Landscape"
+ \null
+ }
+}
+\markup \column {
+ \line {
+ \hspace #10
+ \box \pad-to-box #'(-5 . 20) #'(0 . 5)
+ \bold "Largo to Presto"
+ }
+ \pad-around #3
+ "String quartet keeps very even time,
+Flute quartet keeps very uneven time."
+}
+@end lilypond
+
+@funindex \combine
+@funindex \draw-circle
+@funindex \filled-box
+@funindex \triangle
+@funindex \draw-line
+@funindex \arrow-head
+
+@cindex graphic notation
+@cindex symbols, non-musical
+
+Other graphic elements or symbols may be printed
+without requiring any text. As with any markup
+expression, such objects can be combined together:
-\bracket
-\hbracket
+@lilypond[quote,verbatim]
+\markup {
+ \combine
+ \draw-circle #4 #0.4 ##f
+ \filled-box #'(-4 . 4) #'(-0.5 . 0.5) #1
+ \hspace #5
-"Standalone" graphics:
+ \center-align {
+ \triangle ##t
+ \combine
+ \draw-line #'(0 . 4)
+ \arrow-head #Y #DOWN ##f
+ }
+}
+@end lilypond
-\arrow-head
-\draw-line
-\draw-circle
-\filled-box
-\triangle
-\strut
+@funindex \epsfile
+@funindex \postscript
-\with-color
+@cindex embedded graphics
+@cindex images, embedding
+@cindex graphics, embedding
+@cindex postscript
+Advanced graphic features include the ability to
+include external image files converted to the
+Encapsulated PostScript format (@emph{eps}), or
+to directly embed graphics into the input file,
+using native PostScript code.
-Advanced graphics:
-\stencil
+@lilypond[quote,verbatim,fragment,relative=1]
+c1^\markup {
+ \combine
+ \epsfile #X #10 #"./context-example.eps"
+ \postscript #"
+ -2 3 translate
+ 2.7 2 scale
+ newpath
+ 2 -1 moveto
+ 4 -2 4 1 1 arct
+ 4 2 3 3 1 arct
+ 0 4 0 3 1 arct
+ 0 0 1 -1 1 arct
+ closepath
+ stroke"
+ }
+c
+@end lilypond
-\postscript
-\epsfile
+An exhaustive list of graphics-specific commands
+can be found in @ref{Graphic}.
-\with-dimensions
+@c TODO: add @seealso (and link with NR Editorial)
@node Music notation inside markup
@subsubsection Music notation inside markup
PACKAGE_NAME=LilyPond
MAJOR_VERSION=2
MINOR_VERSION=11
-PATCH_LEVEL=55
+PATCH_LEVEL=56
MY_PATCH_LEVEL=
\include "predefined-guitar-fretboards.ly"
+\version "2.11.56"
+
mychords = \chordmode {c1 c:m c:aug c:dim c:7 c:maj7 c:m7 \break }
--- /dev/null
+\version "2.11.51"
+
+% yes, I know this is a mess. But I'm not going to fuss with
+% it one day before I leave. -gp
+
+% this chart is used in the manual too.
+
+\header {
+ texidoc ="@cindex Percussion notes
+
+This chart shows all percussion and drum notes."
+}
+
+myBreak = { \bar " " \break }
+
+\new Score \with {
+ \remove "Bar_number_engraver"
+} \new DrumStaff \with {
+ \remove "Time_signature_engraver"
+} \context DrumVoice {
+
+%% this stuff set up nice || bar lines to divide percussion notes
+%% into related fields, but it should be placed in the actual
+%% music, not as a separate voice. -gp
+%{
+barlines = {
+\repeat "unfold" 4 {s 1 \bar" " } s 1 \bar "||"
+\repeat "unfold" 2 { s 1 \bar" " s 1 \bar" " s 1 \bar "||" }
+\repeat "unfold" 4 {s 1 \bar" " } s 1 \bar "||"
+\repeat "unfold" 7 {s 1 \bar" " } s 1 \bar "||"
+s 1 \bar" " s 1 \bar "||"
+\repeat "unfold" 2 { \repeat "unfold" 5 {s 1 \bar" " } s 1 \bar "||" }
+\repeat "unfold" 2 { s 1 \bar" " s 1 \bar "||" }
+\repeat "unfold" 2 {s 1 \bar" " } s 1 \bar "||"
+\repeat "unfold" 4 {s 1 \bar" " } s 1 \bar "||"
+s 1 \bar" " s 1 \bar "||"
+\repeat "unfold" 3 {s 1 \bar" " } s 1 \bar "||"
+\repeat "unfold" 2 {s 1 \bar" " } s 1 \bar "||"
+\repeat "unfold" 3 {\repeat "unfold" 4 {s 1 \bar" " } s 1 \bar "||" }
+}
+%}
+
+\drummode {
+\textLengthOn
+\cadenzaOn
+bda1 ^"acousticbassdrum: bda" bd ^"bassdrum: bd" sn ^"snare: sn" sne ^"electricsnare: sne" sna ^"acousticsnare: sna" \myBreak
+tomfl ^"lowfloortom: tomfl" tomfh ^"highfloortom: tomfh" toml ^"lowtom: toml" tomh ^"hightom: tomh"
+tomml ^"lowmidtom: tomml" tommh ^"himidtom: tommh" \myBreak
+hhc ^"closedhihat: hhc" hh ^"hihat: hh" hhp ^"pedalhihat: hhp" hho ^"openhihat: hho" hhho ^"halfopenhihat: hhho" \myBreak
+cymca ^"crashcymbala: cymca" cymc ^"crashcymbal: cymc" cymra ^"ridecymbala: cymra" cymr ^"ridecymbal: cymr" \myBreak cymch ^"chinesecymbal: cymch" cyms ^"splashcymbal: cyms"
+cymcb ^"crashcymbalb: cymcb" cymrb ^"ridecymbalb: cymrb"
+rb ^"ridebell: rb" cb ^"cowbell: cb" \myBreak
+bohm ^"mutehibongo: bohm" boh ^"hibongo: boh" boho ^"openhibongo: boho" bolm ^"mutelobongo: bolm" bol ^"lobongo: bol" bolo ^"openlobongo: bolo"\myBreak
+cghm ^"mutehiconga: cghm" cglm ^"muteloconga: cglm" cgho ^"openhiconga: cgho" cgh ^"hiconga: cgh" cglo ^"openloconga: cglo" cgl ^"loconga: cgl" \myBreak
+timh ^"hitimbale: timh" timl ^"lotimbale: timl"
+agh ^"hiagogo: agh" agl ^"loagogo: agl" \myBreak
+ssh ^"hisidestick: ssh" ss ^"sidestick: ss" ssl ^"losidestick: ssl" \myBreak
+guis ^"shortguiro: guis" guil ^"longguiro: guil" gui ^"guiro: gui" cab ^"cabasa: cab" mar ^"maracas: mar" \myBreak
+whs ^"shortwhistle: whs" whl ^"longwhistle: whl" \myBreak
+hc ^"handclap: hc" tamb ^"tambourine: tamb" vibs ^"vibraslap: vibs" tt ^"tamtam: tt" \myBreak
+cl ^"claves: cl" wbh ^"hiwoodblock: wbh" wbl ^"lowoodblock: wbl" \myBreak
+cuim ^"mutecuica: cuim" cuio ^"opencuica: cuio"
+trim ^"mutetriangle: trim" tri ^"triangle: tri" trio ^"opentriangle: trio" \myBreak
+ua ^"oneup: ua" ub ^"twoup: ub" uc ^"threeup: uc" ud ^"fourup: ud" ue ^"fiveup: ue" \myBreak
+da ^"onedown: da" db ^"twodown: db" dc ^"threedown: dc" dd ^"fourdown: dd" de ^"fivedown: de" \myBreak
+}
+}
+
% add a chord shape
+\version "2.11.56"
\addChordShape #'bes #"x;1-1-(;3-2;3-3;3-4;1-1-);"
--- /dev/null
+\version "2.11.50"
+
+\header {
+ texidoc = "An empty barline does not confuse the spacing engine too much.
+The two scores should look approximately the same."
+}
+
+\layout {
+ \context {
+ \Score
+ \accepts "Top"
+ }
+
+ \context {
+ \name "Top"
+ \alias "Staff"
+ \type "Engraver_group"
+ \consists "Output_property_engraver"
+ \consists "Bar_engraver"
+ \consists "Skip_event_swallow_translator"
+ \consists "Axis_group_engraver"
+
+ \override VerticalAxisGroup #'Y-extent = ##f
+ \override VerticalAxisGroup #'minimum-Y-extent = ##f
+ \override BarLine #'transparent = ##t
+ }
+}
+
+\paper {
+ ragged-right = ##t
+}
+
+\score {
+ <<
+ \new Top { s1 }
+ \new Staff { c''2 c''4 c''4 }
+ >>
+}
+
+\score {
+ { c''2 c''4 c''4 }
+}
--- /dev/null
+\version "2.11.55"
+\header {
+
+ texidoc = "Symbols that need on-staffline info (like dots and ties)
+ continue to work in absence of a staff-symbol."
+
+}
+
+\new Staff \with {
+ \remove Staff_symbol_engraver
+}
+\relative c' {
+ \time 5/8
+ f4 ~ f4
+ f4 f4.
+}
#include "output-def.hh"
#include "pointer-group-interface.hh"
+static bool
+non_empty_barline (Grob *me)
+{
+ return Bar_line::has_interface (me) && !me->extent (me, X_AXIS).is_empty ();
+}
+
/*
TODO: detect hshifts due to collisions, and account for them in
spacing?
{
Grob *bar = Pointer_group_interface::find_grob (right_col,
ly_symbol2scm ("elements"),
- Bar_line::has_interface);
+ non_empty_barline);
if (bar)
{
%%%%
%%%% (c) 2008 Carl D. Sorensen <c_sorensen@byu.edu>
+\version "2.11.56"
+
%%%%% define storage structures
% base-chord-shapes is an alist of chord shapes
%%% Add basic chordshapes
+\version "2.11.56"
+
\addChordShape #'f #"1-1-(;3-3;3-4;2-2;1-1;1-1-);"
\addChordShape #'f:m #"1-1-(;3-3;3-4;1-1;1-1;1-1-);"
\addChordShape #'f:7 #"1-1-(;3-3;1-1;2-2;1-1;1-1-);"
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
#
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"
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"
"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 "
"* 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"
"\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"
"%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 ""
#, 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 ""
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
"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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
msgid "relocate using directory of lilypond program"
msgstr ""
-#: main.cc:203
+#: main.cc:226
#, c-format
msgid ""
"Copyright (c) %s by\n"
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 ""
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 ""
msgid "placing below"
msgstr ""
-#: note-collision.cc:463
+#: note-collision.cc:484
msgid "ignoring too many clashing note columns"
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 ""
msgid "Preprocessing graphical objects..."
msgstr ""
-#: parse-scm.cc:87
+#: parse-scm.cc:93
msgid "GUILE signaled an error for the expression beginning here"
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 ""
msgid "too many colliding rests"
msgstr ""
-#: rest.cc:132
+#: rest.cc:148
#, c-format
msgid "rest `%s' not found"
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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
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 ""
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"
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 ""
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 ""
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 ""
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 ""
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 ""
(self-alignment-X . ,CENTER)
(self-alignment-Y . ,CENTER)
(script-priority . 100)
+ (avoid-slur . outside)
(font-encoding . fetaNumber)
(font-size . -5) ; don't overlap when next to heads.
(meta . ((class . Item)
(corner-radius 1)
(font-size 0)
(box-padding 0.5))
- "@cindex enclosing text in a bow with rounded corners
+ "@cindex enclosing text in a box with rounded corners
@cindex drawing boxes with rounded corners around text
Draw a box with rounded corners around @var{arg}. Looks at @code{thickness},
@code{box-padding} and @code{font-size} properties to determine line
thickness and padding around the markup; the @code{corner-radius} property
-makes possible to define another shape for the corners (default is 1).
+makes it possible to define another shape for the corners (default is 1).
@lilypond[quote,verbatim,relative=2]
c4^\\markup {
@lilypond[verbatim,quote]
\\markup {
\\line {
- A simple line of text
+ one two three
}
}
@end lilypond"
@lilypond[verbatim,quote]
\\markup {
- \\bold {
- au
- \\concat {
- Mouv
- \\super
- t
- }
+ \\concat {
+ one
+ two
+ three
}
}
@end lilypond"
@lilypond[verbatim,quote]
\\markup {
- \\arrow-head #X #RIGHT ##f
+ one
\\vcenter
- Centered
- \\arrow-head #X #LEFT ##f
+ two
+ three
}
@end lilypond"
(let* ((mol (interpret-markup layout props arg)))
@lilypond[verbatim,quote]
\\markup {
\\column {
- ↓
+ one
\\hcenter
- centered
+ two
+ three
}
}
@end lilypond"
@lilypond[verbatim,quote]
\\markup {
\\column {
- ↓
+ one
\\right-align
- right-aligned
+ two
+ three
}
}
@end lilypond"
@lilypond[verbatim,quote]
\\markup {
\\column {
- ↓
+ one
\\left-align
- left-aligned
+ two
+ three
}
}
@end lilypond"
@lilypond[verbatim,quote]
\\markup {
\\column {
- ↓
+ one
\\general-align #X #LEFT
- \\line { X, Left }
- ↓
+ two
+ three
+ \\null
+ one
\\general-align #X #CENTER
- \\line { X, Center }
+ two
+ three
\\null
\\line {
- \\arrow-head #X #RIGHT ##f
- \\general-align #Y #DOWN
- \\line { Y, Down }
- \\arrow-head #X #LEFT ##f
+ one
+ \\general-align #Y #UP
+ two
+ three
}
+ \\null
\\line {
- \\arrow-head #X #RIGHT ##f
+ one
\\general-align #Y #3.2
- \\line {
- \\line { Y, Arbitrary alignment }
- }
- \\arrow-head #X #LEFT ##f
+ two
+ three
}
}
}
@lilypond[verbatim,quote]
\\markup {
\\column {
- ↓
+ one
\\halign #LEFT
- Left
- ↓
+ two
+ three
+ \\null
+ one
\\halign #CENTER
- Center
- ↓
+ two
+ three
+ \\null
+ one
\\halign #RIGHT
- Right
- ↓
- \\halign #1.2
- \\line {
- Arbitrary alignment
- }
+ two
+ three
+ \\null
+ one
+ \\halign #-5
+ two
+ three
}
}
@end lilypond"
@lilypond[verbatim,quote]
\\markup {
- default
- \\lower #3 {
- three spaces lower
- }
+ one
+ \\lower #3
+ two
+ three
}
@end lilypond"
(ly:stencil-translate-axis (interpret-markup layout props arg)