\new Staff { r16 c'16 ~ 8 ~ 4 ~ 2 | }
@end lilypond
+@item
+@code{\displayLilyMusic} and its underlying Scheme functions no
+longer omit redundant note durations. This makes it easier to
+reliably recognize and format standalone durations in expressions
+like
+@example
+@{ c4 d4 8 @}
+@end example
+
@item
Beaming exceptions can now be constructed using the
@code{\beamExceptions} scheme function. One can now write
padding: 0;
border: 1px solid green;
/* Experimental rounded corners */
- -moz-border-radius: 10px;
- -webkit-border-radius: 10px;
+ border-radius: 10px;
margin: 1em;
}
padding: 0;
border: 1px solid green;
/* Experimental rounded corners */
- -moz-border-radius: 10px;
- -webkit-border-radius: 10px;
+ border-radius: 10px;
margin: 0.5em 0.5em 2em 3em;
}
}
.column-left-top h3,
-.column-left-bottom h3 {
+.column-left-bottom h3,
+.column-center-middle-color2 h3 {
background: #adce82 url(../pictures/color2-bg.png) repeat-x top left;
}
.column-right-top h3,
-.column-right-bottom h3 {
+.column-right-bottom h3,
+.column-center-middle-color3 h3 {
background: #bdd088 url(../pictures/color3-bg.png) repeat-x top left;
}
font-size: 100%;
line-height: 1;
padding: 0;
- -moz-border-radius-bottomleft: 7px;
- -moz-border-radius-bottomright: 7px;
- -webkit-border-bottom-left-radius: 7px;
- -webkit-border-bottom-right-radius: 7px;
border-bottom-left-radius: 7px;
border-bottom-right-radius: 7px;
margin: 0;
}
#tocframe > ul:first-child > li:first-child a {
- -moz-border-radius-bottomleft: 7px;
- -webkit-border-bottom-left-radius: 7px;
border-bottom-left-radius: 7px;
}
}
#tocframe > ul:first-child > li:last-child {
- -moz-border-radius-bottomright: 7px;
- -webkit-border-bottom-right-radius: 7px;
border-bottom-right-radius: 7px;
}
padding: 0.1em 0.1em 0.1em 0.6em;
border: 0;
margin: 0;
- -moz-border-radius: 7px;
- -webkit-border-radius: 7px;
border-radius: 7px;
}
}
#tocframe .toc .toc li:first-child a {
- -moz-border-radius-topleft: 7px;
- -moz-border-radius-bottomleft: 7px;
- -webkit-border-top-left-radius: 7px;
- -webkit-border-bottom-left-radius: 7px;
border-top-left-radius: 7px;
border-bottom-left-radius: 7px;
border-left: 1px solid rgba(85, 130, 70, 0.25);
}
#tocframe .toc .toc li:last-child a {
- -moz-border-radius-topright: 7px;
- -moz-border-radius-bottomright: 7px;
- -webkit-border-top-right-radius: 7px;
- -webkit-border-bottom-right-radius: 7px;
border-top-right-radius: 7px;
border-bottom-right-radius: 7px;
}
.news-item .subsubheading {
text-align: left;
- padding: 0 0 0 0.5em;
- border-bottom: 1px solid #5b7f64;
+ padding: 0.5em 0.5em 0 0.5em;
+ border-top: 1px solid #5b7f64;
margin: 0;
overflow: hidden;
}
position: absolute;
top: 16em;
right: 0;
- width: 12em;
- text-align: center;
- border-left: 1px solid #5b7f64;
}
div#wildCardBox {
position: absolute;
- top: 0.0em;
+ top: 0;
right: 0;
- width: 12em;
- text-align: center;
- border-left: 1px solid #5b7f64;
}
-#latestVersion .subheading {
- background: #5b7f64;
- color: #fff;
+div#latestVersion,
+div#wildCardBox {
+ width: 12em;
text-align: center;
- padding: 0 0.5em;
- margin: 0;
+ border-left: 1px solid #5b7f64;
+ border-top-left-radius: 5px;
}
+#latestVersion .subheading,
#wildCardBox .subheading {
background: #5b7f64;
color: #fff;
text-align: center;
padding: 0 0.5em;
margin: 0;
+ border-top-left-radius: 5px;
+ border-top-right-radius: 5px;
}
/* this might not work in certain browsers */
}
#latestVersion .subsubheading {
- padding: 0.08em 0.25em;
+ padding: 0.25em 0.25em 0;
border-bottom: 1px solid #5b7f64;
margin: 0;
}
table {
text-align: left;
padding: 0 0 0 0.5em;
- border-left: 3px solid green;
+ border-left: 3px solid #5b7f64;
margin: 1em 0 0 1em;
}
}
/* Columns */
+
+/* color1 */
.column-center-top {
float: left;
width: 99.5%;
margin: 1em auto;
}
-/* color1 */
-.column-center-top h3 {
- background: #9ccc7c;
- background: linear-gradient(to top,
- rgb(140, 210, 118),
- rgb(212, 242, 201));
+.column-center-middle-color2,
+.column-center-middle-color3 {
+ clear: both;
+ width: 99.5%;
text-align: left;
- border-bottom: 1px solid #9ccc7c;
+ margin: 1em auto;
}
.column-left-top {
margin: 1em 0;
}
-.column-left-top,
-.column-left-bottom {
- border: 1px solid #adce82;
-}
-
-/* color2 */
-.column-left-top h3,
-.column-left-bottom h3 {
- background: #adce82;
- background: linear-gradient(to top,
- rgb(173, 206, 130),
- rgb(221, 243, 204));
- border-bottom: 1px solid #adce82;
-}
-
.column-right-top {
float: right;
width: 49%;
margin: 1em 0;
}
-.column-right-top,
-.column-right-bottom {
- border: 1px solid #bdd088;
+/* color2 */
+.column-left-top,
+.column-left-bottom,
+.column-center-middle-color2 {
+ border: 1px solid #adce82;
}
/* color3 */
-.column-right-top h3,
-.column-right-bottom h3 {
- background: #bdd088;
- background: linear-gradient(to top,
- rgb(189, 208, 136),
- rgb(231, 243, 207));
- border-bottom: 1px solid #bdd088;
+.column-right-top,
+.column-right-bottom,
+.column-center-middle-color3 {
+ border: 1px solid #bdd088;
}
+/* color4 */
.column-center-bottom {
clear: both;
width: 99.5%;
margin: 1em auto 0;
}
+.column-center-top,
+.column-center-middle-color2,
+.column-center-middle-color3,
+.column-center-bottom,
+.column-left-top,
+.column-left-bottom,
+.column-right-top,
+.column-right-bottom {
+ background: #f5fffa;
+ border-radius: 5px;
+}
+
+/* color1 */
+.column-center-top h3 {
+ background: #9ccc7c;
+ background: linear-gradient(to top,
+ rgb(140, 210, 118),
+ rgb(212, 242, 201));
+ text-align: left;
+ border-bottom: 1px solid #9ccc7c;
+}
+
+/* color2 */
+.column-left-top h3,
+.column-left-bottom h3,
+.column-center-middle-color2 h3 {
+ background: #adce82;
+ background: linear-gradient(to top,
+ rgb(173, 206, 130),
+ rgb(221, 243, 204));
+ border-bottom: 1px solid #adce82;
+}
+
+/* color3 */
+.column-right-top h3,
+.column-right-bottom h3,
+.column-center-middle-color3 h3 {
+ background: #bdd088;
+ background: linear-gradient(to top,
+ rgb(189, 208, 136),
+ rgb(231, 243, 207));
+ border-bottom: 1px solid #bdd088;
+}
+
/* color4 */
.column-center-bottom h3 {
background: #ccd38f;
border-bottom: 1px solid #ccd38f;
}
-.column-center-top,
-.column-center-bottom,
-.column-left-top,
-.column-left-bottom,
-.column-right-top,
-.column-right-bottom {
- background: #f5fffa;
-}
-
.column-center-top h3,
+.column-center-middle-color2 h3,
+.column-center-middle-color3 h3,
.column-center-bottom h3,
.column-left-top h3,
.column-left-bottom h3,
.column-right-top h3,
.column-right-bottom h3 {
text-align: left;
- padding: 0 0.5em;
+ padding: 3px 0.5em 0;
margin: 0;
+ border-top-left-radius: 5px;
+ border-top-right-radius: 5px;
}
.column-center-top h4,
+.column-center-middle-color2 h4,
+.column-center-middle-color3 h4,
.column-center-bottom h4,
.column-left-top h4,
.column-left-bottom h4,
}
.column-center-top ul,
+.column-center-middle-color2 ul,
+.column-center-middle-color3 ul,
.column-center-bottom ul,
.column-left-top ul,
.column-left-bottom ul,
}
.column-center-top li,
+.column-center-middle-color2 li,
+.column-center-middle-color3 li,
.column-center-bottom li,
.column-left-top li,
.column-left-bottom li,
}
.column-center-top p,
+.column-center-middle-color2 p,
+.column-center-middle-color3 p,
.column-center-bottom p,
.column-left-top p,
.column-left-bottom p,
.column-center-top img.float-left,
.column-center-top img.float-right,
+.column-center-middle-color2 img.float-left,
+.column-center-middle-color2 img.float-right,
+.column-center-middle-color3 img.float-left,
+.column-center-middle-color3 img.float-right,
.column-center-bottom img.float-left,
.column-center-bottom img.float-right,
.column-left-top img.float-left,
margin: 0.5em;
}
-/* Centered divs by color */
-div.color1,
-div.color2,
-div.color3,
-div.color4 {
- clear: both;
- width: 99.5%;
- background: #f5fffa;
- margin: 1em auto;
-}
-
-div.color1 h3,
-div.color2 h3,
-div.color3 h3,
-div.color4 h3 {
- padding: 0 0.5em;
- margin: 0;
-}
-
-div.color1 {
- border: 1px solid #9ccc7c;
- margin: 1em auto;
-}
-
-div.color1 h3 {
- background: #9ccc7c;
- border-bottom: 1px solid #9ccc7c;
-}
-
-div.color2 {
- border: 1px solid #adce82;
-}
-
-div.color2 h3 {
- background: #adce82;
- border-bottom: 1px solid #adce82;
-}
-
-div.color3 {
- border: 1px solid #bdd088;
-}
-
-div.color3 h3 {
- background: #bdd088;
- border-bottom: 1px solid #bdd088;
-}
-
-div.color4 {
- border: 1px solid #ccd38f;
-}
-
-div.color4 h3 {
- background: #ccd38f;
- border-bottom: 1px solid #ccd38f;
-}
-
.keep-bullets ul {
list-style-type: disc;
padding: 0;
overflow: auto;
}
-.warning {
+.warning,
+.contactBox {
background: #eef;
text-align: left;
- padding: 0;
- border: 1px solid green;
- /* Experimental rounded corners */
- -moz-border-radius: 10px;
- -webkit-border-radius: 10px;
- border-radius: 10px;
margin: 1em;
-}
-
-.warning p {
- padding: 0.5em;
- margin: 0;
+ padding: 0;
+ border: 1px solid rgb(160, 160, 175);
+ border-radius: 5px;
}
.contactBox {
float: left;
- background: #eef;
- text-align: left;
- border: 1px solid green;
- padding: 0;
- margin: 1em;
}
+.warning p,
.contactBox p {
padding: 0.5em;
margin: 0;
}
-
.hide {
position: relative;
text-indent: -999em;
(ly:make-pitch 0 1 0)) ;; set the pitch to d'.
\displayLilyMusic \someNote
===>
-d'
+d'4
@end example
will display
@example
-@{ a,4 cis e fis g @}
+@{ a,4 cis4 e4 fis4 g4 @}
@end example
By default, LilyPond will print these messages to the console
be printed, connecting the invisible grace note with the following
note.
-The use of grace notes within voice contexts confuses the way the voice
-is typeset. This can be overcome by inserting a rest or note between the
-voice command and the grace note.
-
-@lilypond[quote,verbatim]
-accMusic = {
- \acciaccatura { f8 } e8 r8 \acciaccatura { f8 } e8 r4
-}
-
-\new Staff {
- <<
- \new Voice {
- \relative c'' {
- r8 r8 \voiceOne \accMusic \oneVoice r8 |
- r8 \voiceOne r8 \accMusic \oneVoice r8 |
- }
- }
- \new Voice {
- \relative c' {
- s8 s8 \voiceTwo \accMusic \oneVoice s8 |
- s8 \voiceTwo r8 \accMusic \oneVoice s8 |
- }
- }
- >>
-}
-@end lilypond
-
Grace sections should only be used within sequential music expressions.
Nesting or juxtaposing grace sections is not supported, and might
produce crashes or other errors.
@divEnd
-@divClass{column-center-bottom}
+@divClass{column-center-middle-color2}
@subheading Our Ideas List
Below is a list of projects that were suggested for the GSoC 2012
A full list of all the current open issues can be found
@uref{http://code.google.com/p/lilypond/issues/list, here}.
+@divEnd
+
+@divClass{column-center-middle-color3}
@subheading Grace notes
Fix problems with synchronization of grace notes. Grace notes can
@strong{Recommended:} familiarity with LilyPond internals
@strong{Mentor(s):} Mike Solomon, Carl Sorensen
+@divEnd
+
+@divClass{column-center-middle-color3}
@subheading MusicXML
Improving MusicXML import and export functions:
Familiarity with other scorewriters (for cross-testing) would also help.
+@divEnd
+@divClass{column-center-middle-color3}
@subheading Improve slurs and ties
The default curves of slurs and ties are often unsatisfactory. Ties
@strong{Recommended knowledge:} LilyPond knowledge, aesthetic sense
@strong{Mentor(s):} Mike Solomon
+@divEnd
+
+@divClass{column-center-middle-color3}
@subheading Adding variants of font glyphs
@divClass{keep-bullets}
@strong{Recommended knowledge:} basic LilyPond knowledge
@strong{Mentor(s):} Werner Lemberg
+@divEnd
+
+@divClass{column-center-middle-color3}
@subheading Improve default beam positioning
For regular, cross-staff, broken and kneed beams. Beaming should depend
@strong{Recommended knowledge:} aesthetic sense
@strong{Mentor(s):} Mike Solomon, Carl Sorensen
+@divEnd
+
+@divClass{column-center-middle-color3}
@subheading Help improve compilation behavior
Automatic code analysis tools, like valgrind memory leak detection or
@divEnd
-@divClass{column-center-bottom}
+@divClass{column-center-middle-color2}
@subheading Software License
@divEnd
-@divClass{color1}
+@divClass{column-center-bottom}
@subheading Sponsors
@sourceimage{VTlogo_ITF,,,}
@sourceimage{lao_banner_06_on_white_demo,,,}
+@divEnd
+
+@divClass{column-center-bottom}
@subheading Legalese
@divClass{legal}
LilyPond is a powerful and flexible tool for engraving tasks of
all kinds. Please browse our gallery of examples and be inspired!
+@divEnd
-@newsItem
-@subsubheading Classical Music
+@divClass{column-center-middle-color2}
+@subheading Classical Music
This organ work by J.S. Bach is a fairly typical engraving project
in LilyPond.
@exampleImage{bach-bwv610}
-@newsEnd
+@divEnd
-@newsItem
-@subsubheading Complex Notation
+@divClass{column-center-middle-color2}
+@subheading Complex Notation
This example from @emph{Goyescas} by Enrique Granados shows some
of the more advanced features of typesetting, including kneed
beams, cross-staff stems, and voice-follow lines.
@exampleImage{granados}
-@newsEnd
+@divEnd
-@newsItem
-@subsubheading Early Music
+@divClass{column-center-middle-color2}
+@subheading Early Music
LilyPond also supports various types of ancient notation, such
as this passage of Gregorian chant.
@exampleImage{ancient-headword}
-@newsEnd
+@divEnd
-@newsItem
-@subsubheading Modern Music
+@divClass{column-center-middle-color2}
+@subheading Modern Music
Contemporary composers find LilyPond well-suited to displaying
unusual notation. Here is an excerpt from Trevor Bača's
@emph{Čáry}, for unaccompanied bass flute.
@exampleImage{cary}
-@newsEnd
+@divEnd
-@newsItem
-@subsubheading Efficient, flexible creation of performance materials
+@divClass{column-center-middle-color2}
+@subheading Efficient, flexible creation of performance materials
Various performance materials can be created from the same source
code. This is an excerpt of @uref{http://nicolas.sceaux.free.fr/,
@exampleImage{sesto-violin}
-@newsEnd
+@divEnd
-@newsItem
-@subsubheading Tablature
+@divClass{column-center-middle-color2}
+@subheading Tablature
LilyPond supports tablature notation, which can be customized to
suit any instrument that reads from tablature. The tablature
staff.
@exampleImage{tab-example}
-@newsEnd
+@divEnd
-@newsItem
-@subsubheading Schenker Graphs
+@divClass{column-center-middle-color2}
+@subheading Schenker Graphs
Standard output can be modified heavily. Here is an impressive
Schenkerian analysis, created by Kris Schaffer, for an article
The colors have been added for better visibility.
@exampleImage{bach-schenker}
-@newsEnd
+@divEnd
-@newsItem
-@subsubheading Customized Output
+@divClass{column-center-middle-color2}
+@subheading Customized Output
A short excerpt from Stockhausen's Klavierstück II to demonstrate
Lilypond's ability to provide customised output.
@exampleImage{Stockhausen_Klavierstueck2}
-@newsEnd
+@divEnd
-@newsItem
-@subsubheading Vocal Music
+@divClass{column-center-middle-color2}
+@subheading Vocal Music
LilyPond is excellent for vocal music of all kinds, from sacred
hymns to opera. Here is a medieval motet with slightly unusual
and the ligature braces above certain groups of notes.
@exampleImage{aucun-snippet}
-@newsEnd
+@divEnd
-@newsItem
-@subsubheading Educational Applications
+@divClass{column-center-middle-color2}
+@subheading Educational Applications
LilyPond is perfectly suited for educational purposes as well.
Here is an example of a simple counterpoint exercise.
@exampleImage{theory}
-@newsEnd
+@divEnd
-@newsItem
-@subsubheading Popular Music
+@divClass{column-center-middle-color2}
+@subheading Popular Music
It is simple to create pop lead sheets with melody, lyrics,
chord names, and fretboards. In this example you see some of the
to suit nearly any situation.
@exampleImage{chart}
-@newsEnd
+@divEnd
-@newsItem
-@subsubheading Large Projects
+@divClass{column-center-middle-color2}
+@subheading Large Projects
LilyPond is excellent for large projects like operas or works for
full symphony orchestra, as well. In addition, the text-based
contributed by Hu Haipeng, a blind composer.
@exampleImage{orchestra}
-@newsEnd
-
@divEnd
@divClass{column-center-bottom}
@c @divClass{column-left-top}
-@divClass{color2}
+@divClass{column-center-middle-color2}
@divClass{keep-bullets}
@subheading What are the benefits to users?
@c @divClass{column-right-top}
-@divClass{color3}
+@divClass{column-center-middle-color3}
@divClass{keep-bullets}
@subheading Why do LilyPond developers @qq{give away} their work for free?
@c TRANSLATORS, so far it's mostly from
@c http://lilypond.org/web/switch/howto
+@divClass{column-center-top}
@subheading @qq{Compiling} Music
@imageClickable{nereid-shot-small,png, (click to enlarge), nereid-shot,png, right}
actually provide a GUI which allows direct manipulation of a
graphical score. For more information, see @ref{Easier editing}.
-
+@divEnd
@divClass{column-center-bottom}
@subheading Where now?
If you are not already familiar with Emacs then you may probably prefer
to use a different editor for writing LilyPond input files.
-More information on setting up Vim can be found in
+More information on setting up Emacs can be found in
@rprogram{Text editor support}.
@subsubheading Vim
approach to the computational aesthetics of classical engraving is
explained in our @ref{Background}.
+@divEnd
+
+@divClass{column-center-bottom}
@subheading Legalese
@divClass{legal}
@c used for news about the upcoming release; see CG 10.2
@newsItem
-@subsubheading LilyPond 2.19.15 released @emph{September 28, 2014}
+@subsubheading LilyPond 2.19.16 released @emph{February 28, 2015}
-We are happy to announce the release of LilyPond 2.19.15. This
-release includes a number of enhancements, and contains some work
-in progress. You will have access to the very latest features, but
+At long last, we are very happy to announce the release of LilyPond
+2.19.16. This release includes a number of enhancements, and contains some
+work in progress. You will have access to the very latest features, but
some may be incomplete, and you may encounter bugs and crashes. If you
require a stable version of Lilypond, we recommend using the 2.18
version.
+We would like to acknowledge and thank Masamichi Hosoda for making this
+release possible with his work on updating GUB, the build tool.
+
@newsEnd
@newsItem
* don't duplicate entries from news-front.itexi
@end ignore
+@newsItem
+@subsubheading LilyPond 2.19.15 released @emph{September 28, 2014}
+
+We are happy to announce the release of LilyPond 2.19.15. This
+release includes a number of enhancements, and contains some work
+in progress. You will have access to the very latest features, but
+some may be incomplete, and you may encounter bugs and crashes. If you
+require a stable version of Lilypond, we recommend using the 2.18
+version.
+
+@newsEnd
+
@newsItem
@subsubheading LilyPond 2.19.14 released @emph{September 14, 2014}
PACKAGE_NAME=LilyPond
MAJOR_VERSION=2
MINOR_VERSION=19
-PATCH_LEVEL=16
+PATCH_LEVEL=17
MY_PATCH_LEVEL=
VERSION_STABLE=2.18.2
-VERSION_DEVEL=2.19.15
+VERSION_DEVEL=2.19.16
}
%% Sequential music
-\test ##[ { { a b } { c d } } #] % SequentialMusic
-\test ##[ << { a b } { c d } >> #] % SimultaneousMusic
-\test ##[ << { a b } \\ { c d } >> #] % VoiceSeparator
+\test ##[ { { a4 b4 } { c4 d4 } } #] % SequentialMusic
+\test ##[ << { a4 b4 } { c4 d4 } >> #] % SimultaneousMusic
+\test ##[ << { a4 b4 } \\ { c4 d4 } >> #] % VoiceSeparator
%% Chords and Notes
-\test ##[ { ceses ces c cis cisis } #] % NoteEvent
-\test ##[ { deses des d dis disis } #]
-\test ##[ { eeses ees e eis eisis } #]
-\test ##[ { feses fes f fis fisis } #]
-\test ##[ { geses ges g gis gisis } #]
-\test ##[ { aeses aes a ais aisis } #]
-\test ##[ { beses bes b bis bisis } #]
-\test ##[ { c,, d' } #]
-\test ##[ { c' d'=' } #]
-\test ##[ { c! c? } #]
+\test ##[ { ceses4 ces4 c4 cis4 cisis4 } #] % NoteEvent
+\test ##[ { deses4 des4 d4 dis4 disis4 } #]
+\test ##[ { eeses4 ees4 e4 eis4 eisis4 } #]
+\test ##[ { feses4 fes4 f4 fis4 fisis4 } #]
+\test ##[ { geses4 ges4 g4 gis4 gisis4 } #]
+\test ##[ { aeses4 aes4 a4 ais4 aisis4 } #]
+\test ##[ { beses4 bes4 b4 bis4 bisis4 } #]
+\test ##[ { c,,4 d'4 } #]
+\test ##[ { c'4 d'='4 } #]
+\test ##[ { c!4 c?4 } #]
\test ##[ r1.*4/3 #] % RestEvent
\test ##[ c1\rest #] % RestEvent
-\test ##[ s2..*3/4 #] % SkipEvent
+\test ##[ s2..*3/4 #] % SkipEvent
\test ##[ R1.*2/3 #] % MultiMeasureRestMusicGroup, MultiMeasureRestEvent
\test ##[ \skip 2.*3/4 #] % SkipMusic
\test ##[ < c\1 e\3 >4.*3/4-. #] % EventChord, NoteEvent, StringNumberEvent, ArticulationEvent
\test ##[ { < c e g c' >4 q8-. } #] % RepeatedChord
%% tags
-\test ##[ { \tag #'foo { c4 d } } #]
-\test ##[ c-\tag #'foo -\tag #'baz -^-. #]
+\test ##[ { \tag #'foo { c4 d4 } } #]
+\test ##[ c4-\tag #'foo -\tag #'baz -^-. #]
%% Graces
\test ##[ { \grace c8 d2 } #] % GraceMusic
\test ##[ { \appoggiatura c8 d2 } #]
\test ##[ { \acciaccatura c8 d2 } #]
-\test ##[ { c1 \afterGrace { b,16 c } d2 } #]
+\test ##[ { c1 \afterGrace { b,16 c16 } d2 } #]
%% Clusters
-\test ##[ { \makeClusters { c4 g } } #] % ClusterNoteEvent
+\test ##[ { \makeClusters { c4 g4 } } #] % ClusterNoteEvent
%% Figured bass
-\test ##[ \figures { < 6 > } #] % BassFigureEvent
-\test ##[ \figuremode { < 1-- 3- > < 2+ 4++ > < _! 7! > } #]
-\test ##[ \figuremode { < [6 > < 5] > } #]
+\test ##[ \figures { < 6 >4 } #] % BassFigureEvent
+\test ##[ \figuremode { < 1-- 3- >4 < 2+ 4++ >4 < _! 7! >4 } #]
+\test ##[ \figuremode { < [6 >4 < 5] >4 } #]
%% Lyrics
\test ##[ \lyrics { a b } #]
\test ##[ \lyricmode { a __ b } #] % ExtenderEvent
\test ##[ \lyricmode { "a " } #] % LyricEvent
\test ##[ \lyricsto "foo" { bla bla } #] % LyricCombineMusic
-\test ##[ { { c d }
+\test ##[ { { c4 d4 }
\addlyrics { bla bla } } #]
%% Drums
-\test ##[ \drums { hihat } #]
+\test ##[ \drums { hihat4 } #]
\test ##[ \drummode { hihat4.*3/4 } #]
%% Expressive marks
\test ##[ c4 ~ #] % TieEvent
-\test ##[ c\noBeam #] % BeamForbidEvent
-\test ##[ c\1 #] % StringNumberEvent
-\test ##[ { c:8 c:1 } #] % TremoloEvent
-\test ##[ { c-^ c^^ c_^ } #] % ArticulationEvent
-\test ##[ { c-+ c^+ c_+ } #]
-\test ##[ { c-- c^- c_- } #]
-\test ##[ { c-! c^! c_! } #]
-\test ##[ { c-> c^> c_> } #]
-\test ##[ { c-. c^. c_. } #]
-\test ##[ { c-_ c^_ c__ } #]
-\test ##[ { c\trill c^\trill c_\trill } #]
-\test ##[ { c-1 c^2 c_3 } #] % FingerEvent
-\test ##[ { c-"foo" c^"foo" c_"foo" } #] % TextScriptEvent
-\test ##[ { R1*4-"foo" R^"foo" R_"foo" } #] % MultiMeasureTextEvent
-\test ##[ { < c\harmonic >4 < c e\harmonic > } #] % HarmonicEvent
-\test ##[ { c\glissando c^\glissando c_\glissando } #] % GlissandoEvent
-\test ##[ { c\arpeggio c^\arpeggio c_\arpeggio } #] % ArpeggioEvent
-\test ##[ { c\p c^\ff c_\sfz } #] % AbsoluteDynamicEvent
-\test ##[ { c[ c] c^[ c^] c_[ c_] } #] % BeamEvent
-\test ##[ { c( c) c^( c^) c_( c_) } #] % SlurEvent
-\test ##[ { c\< c\! c^\< c^\! c_\< c_\! } #] % CrescendoEvent
-\test ##[ { c\> c\! c^\> c^\! c_\> c_\! } #] % DecrescendoEvent
-\test ##[ { c\episemInitium c\episemFinis } #] % EpisemaEvent
-\test ##[ { c\( c\) c^\( c^\) c_\( c_\) } #] % PhrasingSlurEvent
-\test ##[ { c\sustainOn c\sustainOff } #] % SustainEvent
-\test ##[ { c\sostenutoOn c\sostenutoOff } #] % SostenutoEvent
+\test ##[ c4\noBeam #] % BeamForbidEvent
+\test ##[ c4\1 #] % StringNumberEvent
+\test ##[ { c4:8 c4:1 } #] % TremoloEvent
+\test ##[ { c4-^ c4^^ c4_^ } #] % ArticulationEvent
+\test ##[ { c4-+ c4^+ c4_+ } #]
+\test ##[ { c4-- c4^- c4_- } #]
+\test ##[ { c4-! c4^! c4_! } #]
+\test ##[ { c4-> c4^> c4_> } #]
+\test ##[ { c4-. c4^. c4_. } #]
+\test ##[ { c4-_ c4^_ c4__ } #]
+\test ##[ { c4\trill c4^\trill c4_\trill } #]
+\test ##[ { c4-1 c4^2 c4_3 } #] % FingerEvent
+\test ##[ { c4-"foo" c4^"foo" c4_"foo" } #] % TextScriptEvent
+\test ##[ { R1*4-"foo" R1*4^"foo" R1*4_"foo" } #] % MultiMeasureTextEvent
+\test ##[ { < c\harmonic >4 < c e\harmonic >4 } #] % HarmonicEvent
+\test ##[ { c4\glissando c4^\glissando c4_\glissando } #] % GlissandoEvent
+\test ##[ { c4\arpeggio c4^\arpeggio c4_\arpeggio } #] % ArpeggioEvent
+\test ##[ { c4\p c4^\ff c4_\sfz } #] % AbsoluteDynamicEvent
+\test ##[ { c4[ c4] c4^[ c4^] c4_[ c4_] } #] % BeamEvent
+\test ##[ { c4( c4) c4^( c4^) c4_( c4_) } #] % SlurEvent
+\test ##[ { c4\< c4\! c4^\< c4^\! c4_\< c4_\! } #] % CrescendoEvent
+\test ##[ { c4\> c4\! c4^\> c4^\! c4_\> c4_\! } #] % DecrescendoEvent
+\test ##[ { c4\episemInitium c4\episemFinis } #] % EpisemaEvent
+\test ##[ { c4\( c4\) c4^\( c4^\) c4_\( c4_\) } #] % PhrasingSlurEvent
+\test ##[ { c4\sustainOn c4\sustainOff } #] % SustainEvent
+\test ##[ { c4\sostenutoOn c4\sostenutoOff } #] % SostenutoEvent
\test ##[ \melisma #]
\test ##[ \melismaEnd #]
-\test ##[ { c\startTextSpan c\stopTextSpan } #] % TextSpanEvent
-\test ##[ { c\startTrillSpan c\stopTrillSpan } #] % TrillSpanEvent
-\test ##[ { c \startStaff c \stopStaff } #] % StaffSpanEvent
-\test ##[ { c\startGroup c\stopGroup c^\startGroup c^\stopGroup c_\startGroup c_\stopGroup } #] % NoteGroupingEvent
-\test ##[ { c\unaCorda c\treCorde } #] % UnaCordaEvent
+\test ##[ { c4\startTextSpan c4\stopTextSpan } #] % TextSpanEvent
+\test ##[ { c4\startTrillSpan c4\stopTrillSpan } #] % TrillSpanEvent
+\test ##[ { c4 \startStaff c4 \stopStaff } #] % StaffSpanEvent
+\test ##[ { c4\startGroup c4\stopGroup c4^\startGroup c4^\stopGroup c4_\startGroup c4_\stopGroup } #] % NoteGroupingEvent
+\test ##[ { c4\unaCorda c4\treCorde } #] % UnaCordaEvent
\test ##[ \breathe #]
-\test ##[ { c \[ c \] } #] % LigatureEvent
+\test ##[ { c4 \[ c4 \] } #] % LigatureEvent
\test ##[ \~ #] % PesOrFlexaEvent
-\test ##[ c\bendAfter #3 #] % BendAfterEvent
-\test ##[ c\rightHandFinger #1 #] % StrokeFingerEvent
+\test ##[ c4\bendAfter #3 #] % BendAfterEvent
+\test ##[ c4\rightHandFinger #1 #] % StrokeFingerEvent
\test ##[ \break #]
\test ##[ \noBreak #]
\test ##[ \bar "|." #]
%% staff switches
-\test ##[ \autochange { c d } #] % AutoChangeMusic
-\test ##[ { \change Staff = "up" { c d } } #] % ContextChange
+\test ##[ \autochange { c4 d4 } #] % AutoChangeMusic
+\test ##[ { \change Staff = "up" { c4 d4 } } #] % ContextChange
%% Tuplets
-\test ##[ \tuplet 3/2 { c8 d e } #] % TimeScaledMusic
-\test ##[ \tuplet 6/4 { c16 d e f g a } #]
-\test ##[ \tuplet 3/2 { c4 d e \tuplet 5/2 { f4 e d2 d4 } c4 } #]
-\test ##[ \tuplet 3/2 2 { c4 d e \tuplet 5/2 2 { f4 e d2 d4 } c4 } #]
+\test ##[ \tuplet 3/2 { c8 d8 e8 } #] % TimeScaledMusic
+\test ##[ \tuplet 6/4 { c16 d16 e16 f16 g16 a16 } #]
+\test ##[ \tuplet 3/2 { c4 d4 e4 \tuplet 5/2 { f4 e4 d2 d4 } c4 } #]
+\test ##[ \tuplet 3/2 2 { c4 d4 e4 \tuplet 5/2 2 { f4 e4 d2 d4 } c4 } #]
%% pure rhythm
\test ##[ { 4 4 8 \tuplet 3/2 { 8[ 16] } 16 } #]
%% \relative and \tranpose
-\test #"NOT A BUG" ##[ \relative c' { c b } #] % RelativeOctaveMusic
-\test #"NOT A BUG" ##[ \transpose c d { c d } #] % TransposedMusic
+\test #"NOT A BUG" ##[ \relative c' { c4 b4 } #] % RelativeOctaveMusic
+\test #"NOT A BUG" ##[ \transpose c d { c4 d4 } #] % TransposedMusic
%% Repeats
-\test ##[ \repeat volta 2 { c d } #] % VoltaRepeatedMusic
-\test ##[ \repeat unfold 2 { c d } #] % UnfoldedRepeatedMusic
-\test ##[ \repeat percent 2 { c d } #] % PercentRepeatedMusic
-\test ##[ \repeat tremolo 4 { c16 d } #] % TremoloRepeatedMusic
-\test ##[ \repeat tremolo 7 { c''32 b' } #]
-\test ##[ \repeat tremolo 15 { c''16 b' } #]
-\test ##[ \repeat volta 2 { c4 d } \alternative { { c d } { e f } } #] %
+\test ##[ \repeat volta 2 { c4 d4 } #] % VoltaRepeatedMusic
+\test ##[ \repeat unfold 2 { c4 d4 } #] % UnfoldedRepeatedMusic
+\test ##[ \repeat percent 2 { c4 d4 } #] % PercentRepeatedMusic
+\test ##[ \repeat tremolo 4 { c16 d16 } #] % TremoloRepeatedMusic
+\test ##[ \repeat tremolo 7 { c''32 b'32 } #]
+\test ##[ \repeat tremolo 15 { c''16 b'16 } #]
+\test ##[ \repeat volta 2 { c4 d4 } \alternative { { c4 d4 } { e4 f4 } } #] %
%% Context creation
-\test ##[ \new Staff { c d } #] % ContextSpeccedMusic
-\test ##[ \new Staff = "up" { c d } #] % ContextSpeccedMusic
-\test ##[ \context Staff { c d } #]
-\test ##[ \context Staff = "up" { c d } #]
+\test ##[ \new Staff { c4 d4 } #] % ContextSpeccedMusic
+\test ##[ \new Staff = "up" { c4 d4 } #] % ContextSpeccedMusic
+\test ##[ \context Staff { c4 d4 } #]
+\test ##[ \context Staff = "up" { c4 d4 } #]
\test ##[
\new Staff \with {
\consists "Timing_engraver"
\remove "Clef_engraver"
-} { c d } #]
+} { c4 d4 } #]
%% Context properties
\test ##[ \once \set Score . skipBars = ##t #] % PropertySet
\test ##[ \set autoBeaming = ##f #]
\test ##[ \partial 4*2/3 #]
%% \partcombine
-\test ##[ \partcombine { c e }
-{ d f } #] % PartCombineMusic UnrelativableMusic
+\test ##[ \partcombine { c4 e4 }
+{ d4 f4 } #] % PartCombineMusic UnrelativableMusic
%% Cue notes
-\test ##[ \cueDuring #"foo" #1 { c d } #]
-\test ##[ \quoteDuring #"foo" { c d } #]
+\test ##[ \cueDuring #"foo" #1 { c4 d4 } #]
+\test ##[ \quoteDuring #"foo" { c4 d4 } #]
%% \ottava
\test ##[ \ottava #1 #] % OttavaMusic
%% \tweak
-\test ##[ < \tweak duration-log #2 c > #]
-\test ##[ < c \tweak transparent ##t e > #]
-\test ##[ < \tweak color #'(1.0 0.0 0.0) \tweak duration-log #2 c > #]
-\test ##[ c-\tweak font-size #3 -> #]
-\test ##[ < \tweak Accidental.color #'(1.0 0.0 0.0) cis eis g > #]
+\test ##[ < \tweak duration-log #2 c >4 #]
+\test ##[ < c \tweak transparent ##t e >4 #]
+\test ##[ < \tweak color #'(1.0 0.0 0.0) \tweak duration-log #2 c >4 #]
+\test ##[ c4-\tweak font-size #3 -> #]
+\test ##[ < \tweak Accidental.color #'(1.0 0.0 0.0) cis eis g >4 #]
%% end test.
--- /dev/null
+\version "2.19.16"
+
+\header {
+ texidoc = "The property @code{minimum-length-after-break} can be
+used to stretch broken spanners starting after a line break. The
+following example shows usage for a variety of spanners.
+"
+}
+
+\layout {
+ ragged-right = ##t
+}
+
+{
+ \once \override Tie.minimum-length-after-break = 20
+ a1~
+ \break
+ a1
+
+ \once \override Slur.minimum-length-after-break = 20
+ a1(
+ \break
+ d'1)
+
+ \once \override TextSpanner.springs-and-rods = #ly:spanner::set-spacing-rods
+ \once \override TextSpanner.minimum-length-after-break = 20
+ a1\startTextSpan
+ \break
+ a1\stopTextSpan
+
+ \once \override Hairpin.after-line-breaking = ##t
+ \once \override Hairpin.to-barline = ##f
+ \once \override Hairpin.minimum-length-after-break = 20
+ a1\<
+ \break
+ a1\!
+
+ \once \override Glissando.springs-and-rods = #ly:spanner::set-spacing-rods
+ \once \override Glissando.breakable = ##t
+ \once \override Glissando.after-line-breaking = ##t
+ \once \override Glissando.minimum-length-after-break = 20
+ a1\glissando
+ \break
+ d'1
+}
--- /dev/null
+\version "2.19.16"
+
+\header {
+ texidoc = "The following shows the interaction between the
+properties @code{minimum-length} and
+@code{minimum-length-after-break}. When @code{minimum-length}
+is used alone, both segments of the tie are affected. The
+properties @code{minimum-length-after-break} only affects
+the sibling starting a line. Both properties may be used
+together to create independent changes of both siblings. This
+example shows that both properties have an identical effect on
+the sibling after the break.
+"
+}
+
+\layout {
+ ragged-right = ##t
+}
+
+music = {
+ <gis' cis'' dis'' gis''>1~
+ \break
+ q1
+}
+
+{
+ % default
+ \music
+
+ \once \override Tie.minimum-length = 11
+ \music
+
+ \once \override Tie.minimum-length-after-break = 11
+ \music
+
+ \once \override Tie.minimum-length = 8
+ \once \override Tie.minimum-length-after-break = 11
+ \music
+}
+\version "2.19.16"
+
\header {
texidoc = "The numbered time signature style prints a fraction."
}
+\version "2.19.16"
+
\header {
texidoc = "The single-digit time signature style prints the numerator only."
}
{
public:
static const char type_p_name_[];
- SCM mark_smob ();
int print_smob (SCM, scm_print_state *);
SCM get_signature () { return scm1 (); }
SCM get_function () { return scm2 (); }
SCM_UNPACK (arg2),
SCM_UNPACK (arg3));
}
- static SCM mark_smob (SCM s)
+ SCM mark_smob ()
{
scm_gc_mark (scm3 ());
scm_gc_mark (scm2 ());
}
SCM unprotected_smobify_self ()
{
- self_scm_ = Smob_base<Super>::register_ptr (static_cast<Super *> (this));
- return self_scm_;
+ SCM s = Smob_base<Super>::register_ptr (static_cast<Super *> (this));
+ self_scm_ = s;
+ return s;
}
void protect ()
{
protect_smob (self_scm_, &protection_cons_);
}
+ void smobify_self () {
+ protect_smob (unprotected_smobify_self (), &protection_cons_);
+ }
SCM unprotect ()
{
- unprotect_smob (self_scm_, &protection_cons_);
- return self_scm_;
- }
- void smobify_self () {
- self_scm_ = unprotected_smobify_self ();
- protect ();
+ SCM s = self_scm_;
+ unprotect_smob (s, &protection_cons_);
+ return s;
}
SCM self_scm () const { return self_scm_; }
};
SCM
Smob_base<Super>::mark_trampoline (SCM arg)
{
- return (Super::unsmob (arg))->mark_smob ();
+ Super *ptr = Super::unsmob (arg);
+ if (ptr)
+ return ptr->mark_smob ();
+ return SCM_UNDEFINED;
}
template <class Super>
int
Smob_base<Super>::print_trampoline (SCM arg, SCM port, scm_print_state *p)
{
- return (Super::unsmob (arg))->print_smob (port, p);
+ Super *ptr = Super::unsmob (arg);
+ if (ptr)
+ return ptr->print_smob (port, p);
+ return 0;
}
template <class Super>
{
Super *p = Super::unchecked_unsmob (obj);
scm_gc_unregister_collectable_memory (p, sizeof (*p), smob_name_.c_str ());
+ SCM_SET_SMOB_DATA (obj, static_cast<Super *> (0));
return p;
}
*/
#include "item.hh"
+#include "paper-column.hh"
LY_DEFINE (ly_item_p, "ly:item?",
1, 0, 0, (SCM g),
Item *me = Item::unsmob (it);
return scm_from_int (me->break_status_dir ());
}
+
+LY_DEFINE (ly_item_get_column, "ly:item-get-column",
+ 1, 0, 0, (SCM it),
+ "Return the @code{PaperColumn} or @code{NonMusicalPaperColumn}"
+ " associated with this @code{Item}.")
+{
+ LY_ASSERT_SMOB (Item, it, 1);
+ Item *me = Item::unsmob (it);
+
+ if (Paper_column *col = me->get_column ())
+ return col->self_scm ();
+
+ return SCM_EOL;
+}
/* Non-zero means success. */
return 1;
}
-
-SCM
-Music_function::mark_smob ()
-{
- ASSERT_LIVE_IS_ALLOWED (self_scm ());
- return Smob2<Music_function>::mark_smob ();
-}
actual_style = "";
}
- if ((style == "classical") && (durlog != 2))
+ if (((style == "classical") || (style == "z")) && (durlog != 2))
{
/*
- classical style: revert back to default style for any rest other
- than quarter rest
+ these styles differ from the default in quarter rests only
*/
actual_style = "";
}
{
Grob *me = Grob::unsmob (smob);
SCM num_length = me->get_property ("minimum-length");
- if (scm_is_number (num_length))
+ SCM broken_length = me->get_property ("minimum-length-after-break");
+ if (scm_is_number (num_length)
+ || scm_is_number (broken_length))
{
- Rod r;
Spanner *sp = dynamic_cast<Spanner *> (me);
System *root = get_root_system (me);
Drul_array<Item *> bounds (sp->get_bound (LEFT),
r.item_drul_[LEFT] = cols.back ()->find_prebroken_piece (RIGHT);
r.item_drul_[RIGHT] = sp->get_bound (RIGHT);
+ if (scm_is_number (broken_length))
+ /*
+ r.distance_ may have been modified by add_to_cols ()
+ above. For treatment of minimum-distance-after-break
+ consistent with minimum-distance (which will use the
+ changed value), we cannot directly reset r.distance_ to
+ broken_length.
+ */
+ r.distance_ += robust_scm2double (broken_length, 0) -
+ robust_scm2double (num_length, 0);
r.add_to_cols ();
}
+ Rod r;
+ /*
+ As r is a fresh rod, we can set distance_ with no complication.
+ */
r.distance_ = robust_scm2double (num_length, 0);
r.item_drul_[LEFT] = sp->get_bound (LEFT);
r.item_drul_[RIGHT] = sp->get_bound (RIGHT);
/* properties */
"normalized-endpoints "
"minimum-length "
+ "minimum-length-after-break "
"spanner-broken "
"spanner-id "
"to-barline "
%}
-\version "2.19.15" % necessary for upgrading to future LilyPond versions.
+\version "2.19.16" % necessary for upgrading to future LilyPond versions.
\header{
title = "A scale in LilyPond"
%}
-\version "2.19.15" % necessary for upgrading to future LilyPond versions.
+\version "2.19.16" % necessary for upgrading to future LilyPond versions.
\header{
title = "A scale in LilyPond"
\Score
keyAlterationOrder =
#`(
- (6 . ,FLAT) (2 . ,FLAT) (5 . ,FLAT ) (1 . ,FLAT)
- (4 . ,FLAT) (0 . ,FLAT) (3 . ,FLAT)
- (6 . ,SEMI-FLAT) (2 . ,SEMI-FLAT) (5 . ,SEMI-FLAT ) (1 . ,SEMI-FLAT)
- (4 . ,SEMI-FLAT) (0 . ,SEMI-FLAT) (3 . ,SEMI-FLAT)
- (3 . ,SHARP) (0 . ,SHARP) (4 . ,SHARP) (1 . ,SHARP)
- (5 . ,SHARP) (2 . ,SHARP) (6 . ,SHARP)
- (3 . ,SEMI-SHARP) (0 . ,SEMI-SHARP) (4 . ,SEMI-SHARP) (1 . ,SEMI-SHARP)
- (5 . ,SEMI-SHARP) (2 . ,SEMI-SHARP) (6 . ,SEMI-SHARP)
- (6 . ,DOUBLE-FLAT) (2 . ,DOUBLE-FLAT) (5 . ,DOUBLE-FLAT ) (1 . ,DOUBLE-FLAT)
- (4 . ,DOUBLE-FLAT) (0 . ,DOUBLE-FLAT) (3 . ,DOUBLE-FLAT)
- (3 . ,DOUBLE-SHARP) (0 . ,DOUBLE-SHARP) (4 . ,DOUBLE-SHARP) (1 . ,DOUBLE-SHARP)
- (5 . ,DOUBLE-SHARP) (2 . ,DOUBLE-SHARP) (6 . ,DOUBLE-SHARP)
- )
+ (6 . ,FLAT) (2 . ,FLAT) (5 . ,FLAT ) (1 . ,FLAT)
+ (4 . ,FLAT) (0 . ,FLAT) (3 . ,FLAT)
+ (6 . ,SEMI-FLAT) (2 . ,SEMI-FLAT) (5 . ,SEMI-FLAT ) (1 . ,SEMI-FLAT)
+ (4 . ,SEMI-FLAT) (0 . ,SEMI-FLAT) (3 . ,SEMI-FLAT)
+ (3 . ,SHARP) (0 . ,SHARP) (4 . ,SHARP) (1 . ,SHARP)
+ (5 . ,SHARP) (2 . ,SHARP) (6 . ,SHARP)
+ (3 . ,SEMI-SHARP) (0 . ,SEMI-SHARP) (4 . ,SEMI-SHARP) (1 . ,SEMI-SHARP)
+ (5 . ,SEMI-SHARP) (2 . ,SEMI-SHARP) (6 . ,SEMI-SHARP)
+ (6 . ,DOUBLE-FLAT) (2 . ,DOUBLE-FLAT) (5 . ,DOUBLE-FLAT ) (1 . ,DOUBLE-FLAT)
+ (4 . ,DOUBLE-FLAT) (0 . ,DOUBLE-FLAT) (3 . ,DOUBLE-FLAT)
+ (3 . ,DOUBLE-SHARP) (0 . ,DOUBLE-SHARP) (4 . ,DOUBLE-SHARP) (1 . ,DOUBLE-SHARP)
+ (5 . ,DOUBLE-SHARP) (2 . ,DOUBLE-SHARP) (6 . ,DOUBLE-SHARP)
+ )
}
}
%%%USAGE
% In the \score section do:
% \articulate <<
-% all the rest of the score
+% all the rest of the score
% >>
% or use the lilywrap script.
%
% -- accent needs better control of dynamics.
% -- Articulations: mezzo-staccato, portato.
% -- Handling of generic ornaments (in lily, `\stopped'; in
-% most early music: ornament this note (trill, turn
-% or mordent as the player wishes))
+% most early music: ornament this note (trill, turn
+% or mordent as the player wishes))
% * Automatic gruppetto at end of trill; better handling of
% initial/final grace notes on trill
% * Automatic ornaments.
#t)
(begin
(if (any (lambda (z) (eq? 'NoteEvent (ly:music-property z 'name)))
- (ly:music-property lastev 'elements))
- (ly:warning (_ "stealing the entirety of a note's time")))
+ (ly:music-property lastev 'elements))
+ (ly:warning (_ "stealing the entirety of a note's time")))
(set! (ly:music-property lastev 'elements) '())
(set! ac:eventsBackward (cdr ac:eventsBackward))
(ac:stealTimeBackward (- tosteal levlen))))))))
% Raise note one step in the current diatonic scale.
#(define (ac:up note)
(let* ((pitch (ly:music-property note 'pitch))
- (notename (ly:pitch-notename pitch))
- (new-notename (if (eq? notename 6) 0 (+ 1 notename)))
- (alterations (ly:music-property ac:current-key 'pitch-alist))
- (new-alteration (cdr (assq new-notename alterations)))
- (new-octave (if (eq? new-notename 0) (+ 1 (ly:pitch-octave pitch))
- (ly:pitch-octave pitch)))
+ (notename (ly:pitch-notename pitch))
+ (new-notename (if (eq? notename 6) 0 (+ 1 notename)))
+ (alterations (ly:music-property ac:current-key 'pitch-alist))
+ (new-alteration (cdr (assq new-notename alterations)))
+ (new-octave (if (eq? new-notename 0) (+ 1 (ly:pitch-octave pitch))
+ (ly:pitch-octave pitch)))
)
(set! (ly:music-property note 'pitch)(ly:make-pitch new-octave new-notename new-alteration))))
% Lower note one step in the current diatonic scale.
#(define (ac:down note)
(begin (let* ((pitch (ly:music-property note 'pitch))
- (notename (ly:pitch-notename pitch))
- (new-notename (if (eq? notename 0) 6 (- notename 1)))
- (alterations (ly:music-property ac:current-key 'pitch-alist))
- (new-alteration (cdr (assq new-notename alterations)))
- (new-octave (if (eq? new-notename 6) (- (ly:pitch-octave pitch) 1)
- (ly:pitch-octave pitch)))
+ (notename (ly:pitch-notename pitch))
+ (new-notename (if (eq? notename 0) 6 (- notename 1)))
+ (alterations (ly:music-property ac:current-key 'pitch-alist))
+ (new-alteration (cdr (assq new-notename alterations)))
+ (new-octave (if (eq? new-notename 6) (- (ly:pitch-octave pitch) 1)
+ (ly:pitch-octave pitch)))
)
(set! (ly:music-property note 'pitch)(ly:make-pitch new-octave new-notename new-alteration))))
)
% Used in afterGrace to mark all notes as tenuto, so they're not shortened
#(define (ac:add-articulation type music)
(music-map (lambda (m)
- (if (eq? 'EventChord (ly:music-property m 'name))
- (set! (ly:music-property m 'elements)
- (append (ly:music-property m 'elements)
- (list (make-music 'ArticulationEvent 'articulation-type type)))))
- m)
+ (if (eq? 'EventChord (ly:music-property m 'name))
+ (set! (ly:music-property m 'elements)
+ (append (ly:music-property m 'elements)
+ (list (make-music 'ArticulationEvent 'articulation-type type)))))
+ m)
music))
% Convert a long note to an equivalent set of short notes, tied together.
#(define (ac:to128_disabled music)
(if (or (eq? 'SkipEvent (ly:music-property music 'name))
- (eq? 'NoteEvent (ly:music-property music 'name)))
+ (eq? 'NoteEvent (ly:music-property music 'name)))
(let* ((dur (ly:music-property music 'duration))
- (log2 (ly:duration-log dur))
- (shiftcount (- 6 log2))
- (lastm (ly:music-deep-copy (shift-duration-log music shiftcount 0))))
+ (log2 (ly:duration-log dur))
+ (shiftcount (- 6 log2))
+ (lastm (ly:music-deep-copy (shift-duration-log music shiftcount 0))))
(set! (ly:music-property music 'elements)
(cons (make-music 'TieEvent) (ly:music-property music 'elements)))
(make-sequential-music (list
- (make-repeat "unfold" (1- (expt 2 shiftcount))
- (make-sequential-music (list music)) '())
- lastm)))
+ (make-repeat "unfold" (1- (expt 2 shiftcount))
+ (make-sequential-music (list music)) '())
+ lastm)))
music))
% If the music has a precomputed twiddletime (e.g., from \afterGrace) use that.
#(define (ac:twiddletime music)
(let* ((tr (filter (lambda (x)
- (and (eq? 'ArticulationEvent (ly:music-property x 'name))
- (string= "trill" (ly:music-property x 'articulation-type))))
- (ly:music-property music 'elements)))
- (pre-t (if (pair? tr) (ly:music-property (car tr) 'twiddle)
- '()))
- (hemisemimom (ly:make-moment 1/64))
- (t (ac:targetTwiddleTime)))
+ (and (eq? 'ArticulationEvent (ly:music-property x 'name))
+ (string= "trill" (ly:music-property x 'articulation-type))))
+ (ly:music-property music 'elements)))
+ (pre-t (if (pair? tr) (ly:music-property (car tr) 'twiddle)
+ '()))
+ (hemisemimom (ly:make-moment 1/64))
+ (t (ac:targetTwiddleTime)))
(if (ly:moment? pre-t)
pre-t
hemisemimom)))
" Replace music with time-compressed repeats of the music,
maybe accelerating if the length is longer than a crotchet "
(let* ((hemisemidur (ly:make-duration 5 0 1/1))
- (orig-len (ly:music-length music))
- (t (ac:twiddletime music))
- (uppernote '())
- (note_moment (ly:moment-mul t (ly:make-moment 1/2)))
- (c1 (ly:moment-div orig-len t))
- (c2 (inexact->exact
- (round (/ (ly:moment-main-numerator c1)
- (* 2 (ly:moment-main-denominator c1))))))
- (count (if (< c2 2) 2 c2)))
+ (orig-len (ly:music-length music))
+ (t (ac:twiddletime music))
+ (uppernote '())
+ (note_moment (ly:moment-mul t (ly:make-moment 1/2)))
+ (c1 (ly:moment-div orig-len t))
+ (c2 (inexact->exact
+ (round (/ (ly:moment-main-numerator c1)
+ (* 2 (ly:moment-main-denominator c1))))))
+ (count (if (< c2 2) 2 c2)))
(set! (ly:music-property music 'elements)
(filter (lambda (y) (eq? 'NoteEvent (ly:music-property y 'name)))
(ly:music-property uppernote 'elements)))
(let* ((trillMusicElements
- (let loop ((so_far (list uppernote music))
- (c count))
- (if (> c 1)
- (loop (append (list (ly:music-deep-copy uppernote) (ly:music-deep-copy music)) so_far) (1- c))
- so_far)))
- (trillMusic (make-sequential-music trillMusicElements))
- (newlen (ly:music-length trillMusic))
- (factor (ly:moment-div orig-len newlen)))
+ (let loop ((so_far (list uppernote music))
+ (c count))
+ (if (> c 1)
+ (loop (append (list (ly:music-deep-copy uppernote) (ly:music-deep-copy music)) so_far) (1- c))
+ so_far)))
+ (trillMusic (make-sequential-music trillMusicElements))
+ (newlen (ly:music-length trillMusic))
+ (factor (ly:moment-div orig-len newlen)))
(ly:music-compress trillMusic factor)
; accelerating the music seems to put lily into an infinite loop in
; its layout and midi engines.
; (let* ((realfactor (exp (* (/ 1.0 count) (log 0.75))))
-; (factor (ly:make-moment (inexact->exact (round (* 1024 realfactor)))
-; 1024)))
+; (factor (ly:make-moment (inexact->exact (round (* 1024 realfactor)))
+; 1024)))
; (ac:accel trillMusic factor))
)))
#(define (ac:tempoChange tempo)
(make-sequential-music
(list (make-music 'TempoChangeEvent
- 'metronome-count
- tempo
- 'tempo-unit
- (ly:make-duration 0 0 1/1))
+ 'metronome-count
+ tempo
+ 'tempo-unit
+ (ly:make-duration 0 0 1/1))
(context-spec-music
(make-property-set 'tempoWholesPerMinute tempo) 'Score))))
((UnfoldedRepeatedMusic)
(let
((body (ly:music-property m 'element))
- (altl (ly:music-property m 'elements))
- (rc (ly:music-property m 'repeat-count)))
+ (altl (ly:music-property m 'elements))
+ (rc (ly:music-property m 'repeat-count)))
(if (null? altl)
- (make-sequential-music
- (list-tabulate rc (lambda (i) (ly:music-deep-copy body))))
- (let ((ealtl (if (> (length altl) rc) (take altl rc) altl)))
- (make-sequential-music
- (apply append!
- (append!
- (list-tabulate
- (- rc (length ealtl))
- (lambda (i) (list (ly:music-deep-copy body) (ly:music-deep-copy (car ealtl)))))
- (map (lambda (alt) (list (ly:music-deep-copy body) alt)) ealtl))))))))
+ (make-sequential-music
+ (list-tabulate rc (lambda (i) (ly:music-deep-copy body))))
+ (let ((ealtl (if (> (length altl) rc) (take altl rc) altl)))
+ (make-sequential-music
+ (apply append!
+ (append!
+ (list-tabulate
+ (- rc (length ealtl))
+ (lambda (i) (list (ly:music-deep-copy body) (ly:music-deep-copy (car ealtl)))))
+ (map (lambda (alt) (list (ly:music-deep-copy body) alt)) ealtl))))))))
((EventChord)
(let-values
(((trem evl)
- (partition (lambda (v) (eq? (ly:music-property v 'name) 'TremoloEvent))
- (ly:music-property m 'elements))))
+ (partition (lambda (v) (eq? (ly:music-property v 'name) 'TremoloEvent))
+ (ly:music-property m 'elements))))
(if (null? trem)
- m
- (let*
- ((tremtype (ly:music-property (car trem) 'tremolo-type))
- (tremtype-log (1- (integer-length tremtype)))
- (durev (find (lambda (v) (not (null? (ly:music-property v 'duration)))) evl))
- (totaldur (if durev (ly:music-property durev 'duration) (ly:make-duration tremtype-log 0 1)))
- (tgt-nrep (/ (duration-visual-length totaldur) (duration-log-factor tremtype-log)))
- (eff-nrep (max (truncate tgt-nrep) 1))
- (tremdur (ly:make-duration tremtype-log 0
- (* (/ tgt-nrep eff-nrep) (ly:duration-scale totaldur)))))
- (or (and (= eff-nrep tgt-nrep) (= (ash 1 tremtype-log) tremtype))
- (ly:warning (_ "non-integer tremolo ~a:~a")
- (duration->lily-string (duration-visual totaldur) #:force-duration #t #:time-scale 1)
- tremtype))
- (for-each
- (lambda (v)
- (or (null? (ly:music-property v 'duration))
- (set! (ly:music-property v 'duration) tremdur)))
- evl)
- (set! (ly:music-property m 'elements) evl)
- (make-sequential-music
- (list-tabulate eff-nrep (lambda (i) (ly:music-deep-copy m))))))))
+ m
+ (let*
+ ((tremtype (ly:music-property (car trem) 'tremolo-type))
+ (tremtype-log (1- (integer-length tremtype)))
+ (durev (find (lambda (v) (not (null? (ly:music-property v 'duration)))) evl))
+ (totaldur (if durev (ly:music-property durev 'duration) (ly:make-duration tremtype-log 0 1)))
+ (tgt-nrep (/ (duration-visual-length totaldur) (duration-log-factor tremtype-log)))
+ (eff-nrep (max (truncate tgt-nrep) 1))
+ (tremdur (ly:make-duration tremtype-log 0
+ (* (/ tgt-nrep eff-nrep) (ly:duration-scale totaldur)))))
+ (or (and (= eff-nrep tgt-nrep) (= (ash 1 tremtype-log) tremtype))
+ (ly:warning (_ "non-integer tremolo ~a:~a")
+ (duration->lily-string (duration-visual totaldur) #:force-duration #t #:time-scale 1)
+ tremtype))
+ (for-each
+ (lambda (v)
+ (or (null? (ly:music-property v 'duration))
+ (set! (ly:music-property v 'duration) tremdur)))
+ evl)
+ (set! (ly:music-property m 'elements) evl)
+ (make-sequential-music
+ (list-tabulate eff-nrep (lambda (i) (ly:music-deep-copy m))))))))
((MultiMeasureRestMusic)
(make-sequential-music
(list
- (make-music 'BarCheck)
- (make-music 'SkipMusic 'duration (ly:music-property m 'duration))
- (make-music 'BarCheck))))
+ (make-music 'BarCheck)
+ (make-music 'SkipMusic 'duration (ly:music-property m 'duration))
+ (make-music 'BarCheck))))
(else
m)))
(unfold-repeats music)))
% trills, turns, ornaments etc. are also treated as Articulations.
% Split into two functions:
% ac:getactions traverses the elements in the EventChord
-% and calculates the parameters.
+% and calculates the parameters.
% ac:articulate-chord applies the actions to each NoteEvent in
-% the EventChord.
+% the EventChord.
#(define (ac:getactions music)
(let loop ((factor ac:normalFactor)
- (newelements '())
- (es (ly:music-property music 'elements))
- (actions '()))
+ (newelements '())
+ (es (ly:music-property music 'elements))
+ (actions '()))
(if (null? es)
(begin
(set! (ly:music-property music 'elements) (reverse newelements))
(if
(not (any (lambda (m) (music-is-of-type? m 'rhythmic-event))
- newelements))
+ newelements))
actions
(append
(let ((st ac:stealForward))
- (if (= st 0)
- '()
- (begin
- (set! ac:stealForward 0)
- (list 'steal st))))
+ (if (= st 0)
+ '()
+ (begin
+ (set! ac:stealForward 0)
+ (list 'steal st))))
actions
(cond
- (ac:inTrill '(trill))
- ((and (eq? factor ac:normalFactor) (or ac:inSlur ac:inPhrasingSlur))
- (list 'articulation '(1 . 1)))
- (else (list 'articulation factor))))))
+ (ac:inTrill '(trill))
+ ((and (eq? factor ac:normalFactor) (or ac:inSlur ac:inPhrasingSlur))
+ (list 'articulation '(1 . 1)))
+ (else (list 'articulation factor))))))
; else part
(let ((e (car es))
- (tail (cdr es)))
+ (tail (cdr es)))
(case (ly:music-property e 'name)
((BeamEvent) ; throw away beam events, or they'll be duplicated by turn or trill
((ArticulationEvent)
(let ((articname (ly:music-property e 'articulation-type)))
- ; TODO: add more here
- (cond
- ((string= articname "staccato")
- (loop ac:staccatoFactor newelements tail actions))
- ((string= articname "staccatissimo")
- (loop ac:staccatissimoFactor newelements tail actions))
- ((string= articname "tenuto")
- (loop ac:tenutoFactor newelements tail actions))
- ((string= articname "mordent")
- (loop (cons 1 1) newelements tail (cons 'mordent actions)))
- ((string= articname "prall")
- (loop (cons 1 1) newelements tail (cons 'prall actions)))
- ((string= articname "trill")
- (loop (cons 1 1) newelements tail (cons 'trill actions)))
- ((string= articname "turn")
- (loop (cons 1 1) newelements tail (cons 'turn actions)))
- (else (loop factor (cons e newelements) tail actions)))))
+ ; TODO: add more here
+ (cond
+ ((string= articname "staccato")
+ (loop ac:staccatoFactor newelements tail actions))
+ ((string= articname "staccatissimo")
+ (loop ac:staccatissimoFactor newelements tail actions))
+ ((string= articname "tenuto")
+ (loop ac:tenutoFactor newelements tail actions))
+ ((string= articname "mordent")
+ (loop (cons 1 1) newelements tail (cons 'mordent actions)))
+ ((string= articname "prall")
+ (loop (cons 1 1) newelements tail (cons 'prall actions)))
+ ((string= articname "trill")
+ (loop (cons 1 1) newelements tail (cons 'trill actions)))
+ ((string= articname "turn")
+ (loop (cons 1 1) newelements tail (cons 'turn actions)))
+ (else (loop factor (cons e newelements) tail actions)))))
((TextScriptEvent)
(let ((t (ly:music-property e 'text)))
- (if (not (string? t))
- (loop factor (cons e newelements) tail actions)
- (begin
- (cond
- ((or
- (string= t "rall")
- (string= t "Rall")
- (string= t "rit.")
- (string= t "rall."))
- (loop factor (cons e newelements) tail (cons 'rall actions)))
- ((or
- (string= t "accelerando")
- (string= t "accel")
- (string= t "accel."))
- (loop factor (cons e newelements) tail (cons 'accel actions)))
- ((or
- (string= t "poco accel."))
- (loop factor (cons e newelements) tail (cons 'pocoAccel actions)))
- ((or
- (string= t "poco rall.")
- (string= t "poco rit."))
- (loop factor (cons e newelements) tail (cons 'pocoRall actions)))
- ((or (string= t "a tempo")
- (string= t "tempo I"))
- (loop factor (cons e newelements) tail (cons 'aTempo actions)))
- (else (loop factor (cons e newelements) tail actions)))))))
+ (if (not (string? t))
+ (loop factor (cons e newelements) tail actions)
+ (begin
+ (cond
+ ((or
+ (string= t "rall")
+ (string= t "Rall")
+ (string= t "rit.")
+ (string= t "rall."))
+ (loop factor (cons e newelements) tail (cons 'rall actions)))
+ ((or
+ (string= t "accelerando")
+ (string= t "accel")
+ (string= t "accel."))
+ (loop factor (cons e newelements) tail (cons 'accel actions)))
+ ((or
+ (string= t "poco accel."))
+ (loop factor (cons e newelements) tail (cons 'pocoAccel actions)))
+ ((or
+ (string= t "poco rall.")
+ (string= t "poco rit."))
+ (loop factor (cons e newelements) tail (cons 'pocoRall actions)))
+ ((or (string= t "a tempo")
+ (string= t "tempo I"))
+ (loop factor (cons e newelements) tail (cons 'aTempo actions)))
+ (else (loop factor (cons e newelements) tail actions)))))))
((SlurEvent)
(let ((direction (ly:music-property e 'span-direction)))
- (set! ac:inSlur (eq? direction -1))
- (loop factor newelements tail actions)))
+ (set! ac:inSlur (eq? direction -1))
+ (loop factor newelements tail actions)))
((TrillSpanEvent)
(let ((direction (ly:music-property e 'span-direction)))
- (set! ac:inTrill (eq? direction -1))
- (if ac:inTrill
- (loop factor newelements tail (cons 'trill actions))
- (loop factor (cons e newelements) tail actions))))
+ (set! ac:inTrill (eq? direction -1))
+ (if ac:inTrill
+ (loop factor newelements tail (cons 'trill actions))
+ (loop factor (cons e newelements) tail actions))))
((PhrasingSlurEvent)
(let ((direction (ly:music-property e 'span-direction)))
- (set! ac:inPhrasingSlur (eq? direction -1))
- (loop factor newelements tail actions)))
+ (set! ac:inPhrasingSlur (eq? direction -1))
+ (loop factor newelements tail actions)))
(else (loop factor (cons e newelements) tail actions)))))))
(ac:logEventsBackward
(let loop ((actions (ac:getactions music)))
(if (null? actions)
- (if (ly:moment<? (ly:make-moment 1/4) (ly:music-length music))
- (ac:to128 music)
- music)
+ (if (ly:moment<? (ly:make-moment 1/4) (ly:music-length music))
+ (ac:to128 music)
+ music)
(case (car actions)
((articulation)
- (map
- (lambda (x) (ac:articulate-one-note x (cadr actions)))
- (ly:music-property music 'elements))
- (let*
- ((num (caadr actions))
- (denom (cdadr actions))
- (mult (ly:duration-factor ac:currentDuration))
- (newnum (* (- denom num) (car mult)))
- (newdenom (* (cdr mult) denom))
- (len (ly:duration-log ac:currentDuration))
- (dots (ly:duration-dot-count ac:currentDuration)))
-
- (if (not (eq? num denom))
- (make-sequential-music
- (list (ac:to128 music)
- (make-music 'EventChord 'elements
- (list
- (make-music 'RestEvent 'duration (ly:make-duration len dots newnum newdenom))))))
- music)))
+ (map
+ (lambda (x) (ac:articulate-one-note x (cadr actions)))
+ (ly:music-property music 'elements))
+ (let*
+ ((num (caadr actions))
+ (denom (cdadr actions))
+ (mult (ly:duration-factor ac:currentDuration))
+ (newnum (* (- denom num) (car mult)))
+ (newdenom (* (cdr mult) denom))
+ (len (ly:duration-log ac:currentDuration))
+ (dots (ly:duration-dot-count ac:currentDuration)))
+
+ (if (not (eq? num denom))
+ (make-sequential-music
+ (list (ac:to128 music)
+ (make-music 'EventChord 'elements
+ (list
+ (make-music 'RestEvent 'duration (ly:make-duration len dots newnum newdenom))))))
+ music)))
((accel)
- (set! ac:lastTempo ac:currentTempo)
- (set! ac:currentTempo (ly:moment-div ac:currentTempo ac:rallFactor))
- (let ((pset (ac:tempoChange ac:currentTempo)))
- (if (null? (cdr actions))
- (make-sequential-music (list pset music))
- (make-sequential-music
- (list pset (loop (cdr actions)))))))
+ (set! ac:lastTempo ac:currentTempo)
+ (set! ac:currentTempo (ly:moment-div ac:currentTempo ac:rallFactor))
+ (let ((pset (ac:tempoChange ac:currentTempo)))
+ (if (null? (cdr actions))
+ (make-sequential-music (list pset music))
+ (make-sequential-music
+ (list pset (loop (cdr actions)))))))
((pocoAccel)
- (set! ac:lastTempo ac:currentTempo)
- (set! ac:currentTempo (ly:moment-div ac:currentTempo ac:pocoRallFactor))
- (let ((pset (ac:tempoChange ac:currentTempo)))
- (if (null? (cdr actions))
- (make-sequential-music (list pset music))
- (make-sequential-music
- (list pset (loop (cdr actions)))))))
+ (set! ac:lastTempo ac:currentTempo)
+ (set! ac:currentTempo (ly:moment-div ac:currentTempo ac:pocoRallFactor))
+ (let ((pset (ac:tempoChange ac:currentTempo)))
+ (if (null? (cdr actions))
+ (make-sequential-music (list pset music))
+ (make-sequential-music
+ (list pset (loop (cdr actions)))))))
((rall)
- (set! ac:lastTempo ac:currentTempo)
- (set! ac:currentTempo (ly:moment-mul ac:currentTempo ac:rallFactor))
- (let ((pset (ac:tempoChange ac:currentTempo)))
- (if (null? (cdr actions))
- (make-sequential-music (list pset music))
- (make-sequential-music
- (list pset (loop (cdr actions)))))))
+ (set! ac:lastTempo ac:currentTempo)
+ (set! ac:currentTempo (ly:moment-mul ac:currentTempo ac:rallFactor))
+ (let ((pset (ac:tempoChange ac:currentTempo)))
+ (if (null? (cdr actions))
+ (make-sequential-music (list pset music))
+ (make-sequential-music
+ (list pset (loop (cdr actions)))))))
((pocoRall)
- (set! ac:lastTempo ac:currentTempo)
- (set! ac:currentTempo (ly:moment-mul ac:currentTempo ac:pocoRallFactor))
- (let ((pset (ac:tempoChange ac:currentTempo)))
- (if (null? (cdr actions))
- (make-sequential-music (list pset music))
- (make-sequential-music
- (list pset (loop (cdr actions)))))))
+ (set! ac:lastTempo ac:currentTempo)
+ (set! ac:currentTempo (ly:moment-mul ac:currentTempo ac:pocoRallFactor))
+ (let ((pset (ac:tempoChange ac:currentTempo)))
+ (if (null? (cdr actions))
+ (make-sequential-music (list pset music))
+ (make-sequential-music
+ (list pset (loop (cdr actions)))))))
((aTempo)
- (set! ac:currentTempo ac:lastTempo)
+ (set! ac:currentTempo ac:lastTempo)
- (let ((pset (ac:tempoChange ac:currentTempo)))
- (if (null? (cdr actions))
- (make-sequential-music (list pset music))
- (make-sequential-music
- (list pset (loop (cdr actions)))))))
+ (let ((pset (ac:tempoChange ac:currentTempo)))
+ (if (null? (cdr actions))
+ (make-sequential-music (list pset music))
+ (make-sequential-music
+ (list pset (loop (cdr actions)))))))
((trill)
- (ac:trill music))
+ (ac:trill music))
((prall)
- ; A pralltriller symbol can either mean an inverted mordent
- ; or a half-shake -- a short, two twiddle trill.
- ; We implement as a half-shake.
- (let*
- ((origlength (ly:music-length music))
- (gracedur (ly:make-duration 5 0 1/1))
- (gracenote (ac:note-copy music))
- (abovenote (ac:note-copy music))
- (abovenoteTwo (ac:note-copy music))
- (mainnote (ly:music-deep-copy music)))
-
- (map (lambda (y) (ac:setduration y gracedur))
- (ly:music-property gracenote 'elements))
- (map (lambda (y) (ac:setduration y gracedur))
- (ly:music-property abovenote 'elements))
- (map (lambda (y) (ac:setduration y gracedur))
- (ly:music-property abovenoteTwo 'elements))
- (map (lambda (y) (ac:up y))
- (filter
- (lambda (z) (eq? 'NoteEvent (ly:music-property z 'name)))
- (ly:music-property abovenote 'elements)))
- (map (lambda (y) (ac:up y))
- (filter
- (lambda (z) (eq? 'NoteEvent (ly:music-property z 'name)))
- (ly:music-property abovenoteTwo 'elements)))
- (let* ((prallMusic (make-sequential-music
+ ; A pralltriller symbol can either mean an inverted mordent
+ ; or a half-shake -- a short, two twiddle trill.
+ ; We implement as a half-shake.
+ (let*
+ ((origlength (ly:music-length music))
+ (gracedur (ly:make-duration 5 0 1/1))
+ (gracenote (ac:note-copy music))
+ (abovenote (ac:note-copy music))
+ (abovenoteTwo (ac:note-copy music))
+ (mainnote (ly:music-deep-copy music)))
+
+ (map (lambda (y) (ac:setduration y gracedur))
+ (ly:music-property gracenote 'elements))
+ (map (lambda (y) (ac:setduration y gracedur))
+ (ly:music-property abovenote 'elements))
+ (map (lambda (y) (ac:setduration y gracedur))
+ (ly:music-property abovenoteTwo 'elements))
+ (map (lambda (y) (ac:up y))
+ (filter
+ (lambda (z) (eq? 'NoteEvent (ly:music-property z 'name)))
+ (ly:music-property abovenote 'elements)))
+ (map (lambda (y) (ac:up y))
+ (filter
+ (lambda (z) (eq? 'NoteEvent (ly:music-property z 'name)))
+ (ly:music-property abovenoteTwo 'elements)))
+ (let* ((prallMusic (make-sequential-music
(list abovenote gracenote abovenoteTwo mainnote)))
(newlen (ly:music-length prallMusic))
(factor (ly:moment-div origlength newlen)))
- (ly:music-compress prallMusic factor))))
+ (ly:music-compress prallMusic factor))))
((mordent)
- (let*
- ((origlength (ly:music-length music))
- (gracedur (ly:make-duration 5 0 1/1))
- (gracenote (ac:note-copy music))
- (belownote (ac:note-copy music)))
- (map (lambda (y) (ac:setduration y gracedur))
- (ly:music-property gracenote 'elements))
- (map (lambda (y) (ac:setduration y gracedur))
+ (let*
+ ((origlength (ly:music-length music))
+ (gracedur (ly:make-duration 5 0 1/1))
+ (gracenote (ac:note-copy music))
+ (belownote (ac:note-copy music)))
+ (map (lambda (y) (ac:setduration y gracedur))
+ (ly:music-property gracenote 'elements))
+ (map (lambda (y) (ac:setduration y gracedur))
(ly:music-property belownote 'elements))
- (map (lambda (y) (ac:down y))
- (filter
- (lambda (z) (eq? 'NoteEvent (ly:music-property z 'name)))
- (ly:music-property belownote 'elements)))
- (display belownote)
+ (map (lambda (y) (ac:down y))
+ (filter
+ (lambda (z) (eq? 'NoteEvent (ly:music-property z 'name)))
+ (ly:music-property belownote 'elements)))
+ (display belownote)
- (let* ((mordentMusic (make-sequential-music (list gracenote belownote music)))
- (newlen (ly:music-length mordentMusic))
- (factor (ly:moment-div origlength newlen)))
- (ly:music-compress mordentMusic factor))))
+ (let* ((mordentMusic (make-sequential-music (list gracenote belownote music)))
+ (newlen (ly:music-length mordentMusic))
+ (factor (ly:moment-div origlength newlen)))
+ (ly:music-compress mordentMusic factor))))
((turn)
- (let*
- ((dur (ly:music-property
- (car (ly:music-property music 'elements)) 'duration))
- (factor (ly:duration-factor dur))
- (newdur (ly:make-duration (+ (ly:duration-log dur) 2)
- (ly:duration-dot-count dur) (car factor)(cdr factor))))
- (begin
- (map (lambda (y) (ac:setduration y newdur))
- (ly:music-property music 'elements))
- (let* ((above (ly:music-deep-copy music))
- (below (ly:music-deep-copy music))
- (newmusic (make-sequential-music (list above music below music))))
- (begin
- (map (lambda (y) (ac:down y))
- (filter
- (lambda (z) (eq? 'NoteEvent (ly:music-property z 'name)))
- (ly:music-property below 'elements)))
- (map (lambda (y) (ac:up y))
- (filter
- (lambda (z) (eq? 'NoteEvent (ly:music-property z 'name)))
- (ly:music-property above 'elements)))
- newmusic)))))
+ (let*
+ ((dur (ly:music-property
+ (car (ly:music-property music 'elements)) 'duration))
+ (factor (ly:duration-factor dur))
+ (newdur (ly:make-duration (+ (ly:duration-log dur) 2)
+ (ly:duration-dot-count dur) (car factor)(cdr factor))))
+ (begin
+ (map (lambda (y) (ac:setduration y newdur))
+ (ly:music-property music 'elements))
+ (let* ((above (ly:music-deep-copy music))
+ (below (ly:music-deep-copy music))
+ (newmusic (make-sequential-music (list above music below music))))
+ (begin
+ (map (lambda (y) (ac:down y))
+ (filter
+ (lambda (z) (eq? 'NoteEvent (ly:music-property z 'name)))
+ (ly:music-property below 'elements)))
+ (map (lambda (y) (ac:up y))
+ (filter
+ (lambda (z) (eq? 'NoteEvent (ly:music-property z 'name)))
+ (ly:music-property above 'elements)))
+ newmusic)))))
((steal)
- (let
- ((totallen (ly:moment-main (ly:music-length music)))
- (steallen (cadr actions)))
- (if (>= steallen totallen)
- (begin
- (if (any (lambda (z) (eq? 'NoteEvent (ly:music-property z 'name)))
- (ly:music-property music 'elements))
- (ly:warning (_ "stealing the entirety of a note's time")))
- (set! ac:stealForward (- steallen totallen))
- (make-sequential-music '()))
- (begin
- (ly:music-compress music (ly:make-moment (/ (- totallen steallen) totallen)))
- (loop (cddr actions))))))
+ (let
+ ((totallen (ly:moment-main (ly:music-length music)))
+ (steallen (cadr actions)))
+ (if (>= steallen totallen)
+ (begin
+ (if (any (lambda (z) (eq? 'NoteEvent (ly:music-property z 'name)))
+ (ly:music-property music 'elements))
+ (ly:warning (_ "stealing the entirety of a note's time")))
+ (set! ac:stealForward (- steallen totallen))
+ (make-sequential-music '()))
+ (begin
+ (ly:music-compress music (ly:make-moment (/ (- totallen steallen) totallen)))
+ (loop (cddr actions))))))
)))))
((eq? 'GraceMusic (ly:music-property music 'name))
(let
((first-ev
(call-with-current-continuation
- (lambda (yield-fev)
- (music-map
- (lambda (m)
- (if (eq? 'EventChord (ly:music-property m 'name))
- (yield-fev m)
- m))
- music)
- #f))))
+ (lambda (yield-fev)
+ (music-map
+ (lambda (m)
+ (if (eq? 'EventChord (ly:music-property m 'name))
+ (yield-fev m)
+ m))
+ music)
+ #f))))
(if first-ev
(let ((fev-pos (find-tail (lambda (m) (eq? m first-ev)) ac:eventsBackward)))
(if fev-pos
- (set! ac:eventsBackward (cdr fev-pos))
- (ly:warning (_ "articulation of grace notes has gone awry"))))))
+ (set! ac:eventsBackward (cdr fev-pos))
+ (ly:warning (_ "articulation of grace notes has gone awry"))))))
(let*
((gmus (ly:music-compress (ly:music-property music 'element)
- (ly:make-moment ac:defaultGraceFactor)))
+ (ly:make-moment ac:defaultGraceFactor)))
(glen (ly:moment-main (ly:music-length gmus))))
(ac:stealTimeBackward (* glen ac:defaultGraceBackwardness))
(set! ac:stealForward (+ ac:stealForward (* glen (- 1 ac:defaultGraceBackwardness))))
((memq (ly:music-property music 'name) '(BarCheck SkipMusic))
(let ((totallen (ly:moment-main (ly:music-length music)))
- (steallen ac:stealForward))
+ (steallen ac:stealForward))
(cond
((= steallen 0)
(ac:logEventsBackward music))
((< steallen totallen)
(set! ac:stealForward 0)
(ac:logEventsBackward
- (ly:music-compress music (ly:make-moment (/ (- totallen steallen) totallen)))))
+ (ly:music-compress music (ly:make-moment (/ (- totallen steallen) totallen)))))
(else
(set! ac:stealForward (- steallen totallen))
(make-sequential-music '())))))
% At last ... here's the music function that applies all the above to a
% score.
articulate = #(define-music-function (parser location music)
- (ly:music?)
- "Adjust times of note to add tenuto, staccato and
+ (ly:music?)
+ "Adjust times of note to add tenuto, staccato and
normal articulations.
- "
- (dynamic-wind
- (lambda ()
- (set! ac:stealForward 0)
- (set! ac:eventsBackward '()))
- (lambda ()
- (music-map
- ac:articulate-chord
- (ac:unfoldMusic (event-chord-wrap! music parser))))
- (lambda ()
- (or (= ac:stealForward 0)
- (begin
- (ly:warning (_ "articulation failed to steal ~a note at end of music") ac:stealForward)
- (set! ac:stealForward 0)))
- (set! ac:eventsBackward '()))))
+ "
+ (dynamic-wind
+ (lambda ()
+ (set! ac:stealForward 0)
+ (set! ac:eventsBackward '()))
+ (lambda ()
+ (music-map
+ ac:articulate-chord
+ (ac:unfoldMusic (event-chord-wrap! music parser))))
+ (lambda ()
+ (or (= ac:stealForward 0)
+ (begin
+ (ly:warning (_ "articulation failed to steal ~a note at end of music") ac:stealForward)
+ (set! ac:stealForward 0)))
+ (set! ac:eventsBackward '()))))
% Override \afterGrace to be in terms of audio, not spacing.
(factor (ly:moment-div new-main-length main-length))
)
(map (lambda (y) (set! (ly:music-property y 'twiddle) gracelen))
- (filter (lambda (z)
- (and
- (eq? 'ArticulationEvent (ly:music-property z 'name))
- (string= "trill" (ly:music-property z 'articulation-type))))
- (ly:music-property main 'elements)))
+ (filter (lambda (z)
+ (and
+ (eq? 'ArticulationEvent (ly:music-property z 'name))
+ (string= "trill" (ly:music-property z 'articulation-type))))
+ (ly:music-property main 'elements)))
(ac:add-articulation "tenuto" grace)
(make-sequential-music (list (ly:music-compress main factor) (ly:music-compress grace grace-factor)))))
(set! grace (event-chord-wrap! grace parser))
(set! main (event-chord-wrap! main parser))
(let* ((maindur (ly:music-length main))
- (grace-orig-len (ly:music-length grace))
- (main-orig-len (ly:music-length main))
- (numerator (ly:moment-main-numerator maindur))
- (factor (if (eq? (remainder numerator 3) 0)
- (ly:make-moment 1/3) (ly:make-moment 1/2))))
+ (grace-orig-len (ly:music-length grace))
+ (main-orig-len (ly:music-length main))
+ (numerator (ly:moment-main-numerator maindur))
+ (factor (if (eq? (remainder numerator 3) 0)
+ (ly:make-moment 1/3) (ly:make-moment 1/2))))
(ly:music-compress grace
(ly:moment-mul factor (ly:moment-div main-orig-len grace-orig-len)))
(ly:music-compress main (ly:moment-sub (ly:make-moment 1/1) factor))
%% 2206 : delta from the symbol font.
% #(ly:wide-char->utf-8 #x2206)
-
+
%% up pointing triangle
% #(ly:wide-char->utf-8 #x25B3)
-}
+}
blackTriangleMarkup = \markup {
\triangle ##t
(_i "Include the string and fingering information in a chord repetition.
This function is deprecated; try using @code{\\tabChordRepeats} instead.")
(ly:parser-define! parser '$chord-repeat-events
- '(string-number-event fingering-event)))
+ '(string-number-event fingering-event)))
(de . fivedown)
)
-midiDrumPitches = #`(
- (acousticbassdrum . ,(ly:make-pitch -3 6 NATURAL))
- (bassdrum . ,(ly:make-pitch -2 0 NATURAL))
- (hisidestick . ,(ly:make-pitch -3 6 DOUBLE-SHARP))
- (sidestick . ,(ly:make-pitch -2 0 SHARP))
- (losidestick . ,(ly:make-pitch -2 1 FLAT))
- (acousticsnare . ,(ly:make-pitch -2 1 NATURAL))
- (snare . ,(ly:make-pitch -2 2 DOUBLE-FLAT))
- (handclap . ,(ly:make-pitch -2 1 SHARP))
- (electricsnare . ,(ly:make-pitch -2 2 NATURAL))
- (lowfloortom . ,(ly:make-pitch -2 3 NATURAL))
- (closedhihat . ,(ly:make-pitch -2 3 SHARP))
- (hihat . ,(ly:make-pitch -2 4 FLAT))
- (highfloortom . ,(ly:make-pitch -2 4 NATURAL))
- (pedalhihat . ,(ly:make-pitch -2 4 SHARP))
- (lowtom . ,(ly:make-pitch -2 5 NATURAL))
- (openhihat . ,(ly:make-pitch -2 5 SHARP))
- (halfopenhihat . ,(ly:make-pitch -2 5 SHARP))
- (lowmidtom . ,(ly:make-pitch -2 6 NATURAL))
- (himidtom . ,(ly:make-pitch -1 0 NATURAL))
- (crashcymbala . ,(ly:make-pitch -1 0 SHARP))
- (crashcymbal . ,(ly:make-pitch -1 1 FLAT))
- (hightom . ,(ly:make-pitch -1 1 NATURAL))
- (ridecymbala . ,(ly:make-pitch -1 1 SHARP))
- (ridecymbal . ,(ly:make-pitch -1 2 FLAT))
- (chinesecymbal . ,(ly:make-pitch -1 2 NATURAL))
- (ridebell . ,(ly:make-pitch -1 3 NATURAL))
- (tambourine . ,(ly:make-pitch -1 3 SHARP))
- (splashcymbal . ,(ly:make-pitch -1 4 NATURAL))
- (cowbell . ,(ly:make-pitch -1 4 SHARP))
- (crashcymbalb . ,(ly:make-pitch -1 5 NATURAL))
- (vibraslap . ,(ly:make-pitch -1 5 SHARP))
- (ridecymbalb . ,(ly:make-pitch -1 6 NATURAL))
- (mutehibongo . ,(ly:make-pitch -1 6 SHARP))
- (hibongo . ,(ly:make-pitch 0 0 NATURAL))
- (openhibongo . ,(ly:make-pitch 0 1 DOUBLE-FLAT))
- (mutelobongo . ,(ly:make-pitch -1 6 DOUBLE-SHARP))
- (lobongo . ,(ly:make-pitch 0 0 SHARP))
- (openlobongo . ,(ly:make-pitch 0 1 FLAT))
- (mutehiconga . ,(ly:make-pitch 0 1 NATURAL))
- (muteloconga . ,(ly:make-pitch 0 2 DOUBLE-FLAT))
- (openhiconga . ,(ly:make-pitch 0 1 SHARP))
- (hiconga . ,(ly:make-pitch 0 2 FLAT))
- (openloconga . ,(ly:make-pitch 0 1 DOUBLE-SHARP))
- (loconga . ,(ly:make-pitch 0 2 NATURAL))
- (hitimbale . ,(ly:make-pitch 0 3 NATURAL))
- (lotimbale . ,(ly:make-pitch 0 3 SHARP))
- (hiagogo . ,(ly:make-pitch 0 4 NATURAL))
- (loagogo . ,(ly:make-pitch 0 4 SHARP))
- (cabasa . ,(ly:make-pitch 0 5 NATURAL))
- (maracas . ,(ly:make-pitch 0 5 SHARP))
- (shortwhistle . ,(ly:make-pitch 0 6 NATURAL))
- (longwhistle . ,(ly:make-pitch 1 0 NATURAL))
- (shortguiro . ,(ly:make-pitch 1 0 SHARP))
- (longguiro . ,(ly:make-pitch 1 1 NATURAL))
- (guiro . ,(ly:make-pitch 1 0 DOUBLE-SHARP))
- (claves . ,(ly:make-pitch 1 1 SHARP))
- (hiwoodblock . ,(ly:make-pitch 1 2 NATURAL))
- (lowoodblock . ,(ly:make-pitch 1 3 NATURAL))
- (mutecuica . ,(ly:make-pitch 1 3 SHARP))
- (opencuica . ,(ly:make-pitch 1 4 NATURAL))
- (mutetriangle . ,(ly:make-pitch 1 4 SHARP))
- (triangle . ,(ly:make-pitch 1 4 DOUBLE-SHARP))
- (opentriangle . ,(ly:make-pitch 1 5 NATURAL))
-
- ;; "transposing" pitches:
- (oneup . ,(ly:make-pitch 0 1 NATURAL))
- (twoup . ,(ly:make-pitch 0 2 NATURAL))
- (threeup . ,(ly:make-pitch 0 3 NATURAL))
- (fourup . ,(ly:make-pitch 0 4 NATURAL))
- (fiveup . ,(ly:make-pitch 0 5 NATURAL))
- (onedown . ,(ly:make-pitch -1 6 NATURAL))
- (twodown . ,(ly:make-pitch -1 5 NATURAL))
- (threedown . ,(ly:make-pitch -1 4 NATURAL))
- (fourdown . ,(ly:make-pitch -1 3 NATURAL))
- (fivedown . ,(ly:make-pitch -1 2 NATURAL))
-)
+midiDrumPitches =
+#`((acousticbassdrum . ,(ly:make-pitch -3 6 NATURAL))
+ (bassdrum . ,(ly:make-pitch -2 0 NATURAL))
+ (hisidestick . ,(ly:make-pitch -3 6 DOUBLE-SHARP))
+ (sidestick . ,(ly:make-pitch -2 0 SHARP))
+ (losidestick . ,(ly:make-pitch -2 1 FLAT))
+ (acousticsnare . ,(ly:make-pitch -2 1 NATURAL))
+ (snare . ,(ly:make-pitch -2 2 DOUBLE-FLAT))
+ (handclap . ,(ly:make-pitch -2 1 SHARP))
+ (electricsnare . ,(ly:make-pitch -2 2 NATURAL))
+ (lowfloortom . ,(ly:make-pitch -2 3 NATURAL))
+ (closedhihat . ,(ly:make-pitch -2 3 SHARP))
+ (hihat . ,(ly:make-pitch -2 4 FLAT))
+ (highfloortom . ,(ly:make-pitch -2 4 NATURAL))
+ (pedalhihat . ,(ly:make-pitch -2 4 SHARP))
+ (lowtom . ,(ly:make-pitch -2 5 NATURAL))
+ (openhihat . ,(ly:make-pitch -2 5 SHARP))
+ (halfopenhihat . ,(ly:make-pitch -2 5 SHARP))
+ (lowmidtom . ,(ly:make-pitch -2 6 NATURAL))
+ (himidtom . ,(ly:make-pitch -1 0 NATURAL))
+ (crashcymbala . ,(ly:make-pitch -1 0 SHARP))
+ (crashcymbal . ,(ly:make-pitch -1 1 FLAT))
+ (hightom . ,(ly:make-pitch -1 1 NATURAL))
+ (ridecymbala . ,(ly:make-pitch -1 1 SHARP))
+ (ridecymbal . ,(ly:make-pitch -1 2 FLAT))
+ (chinesecymbal . ,(ly:make-pitch -1 2 NATURAL))
+ (ridebell . ,(ly:make-pitch -1 3 NATURAL))
+ (tambourine . ,(ly:make-pitch -1 3 SHARP))
+ (splashcymbal . ,(ly:make-pitch -1 4 NATURAL))
+ (cowbell . ,(ly:make-pitch -1 4 SHARP))
+ (crashcymbalb . ,(ly:make-pitch -1 5 NATURAL))
+ (vibraslap . ,(ly:make-pitch -1 5 SHARP))
+ (ridecymbalb . ,(ly:make-pitch -1 6 NATURAL))
+ (mutehibongo . ,(ly:make-pitch -1 6 SHARP))
+ (hibongo . ,(ly:make-pitch 0 0 NATURAL))
+ (openhibongo . ,(ly:make-pitch 0 1 DOUBLE-FLAT))
+ (mutelobongo . ,(ly:make-pitch -1 6 DOUBLE-SHARP))
+ (lobongo . ,(ly:make-pitch 0 0 SHARP))
+ (openlobongo . ,(ly:make-pitch 0 1 FLAT))
+ (mutehiconga . ,(ly:make-pitch 0 1 NATURAL))
+ (muteloconga . ,(ly:make-pitch 0 2 DOUBLE-FLAT))
+ (openhiconga . ,(ly:make-pitch 0 1 SHARP))
+ (hiconga . ,(ly:make-pitch 0 2 FLAT))
+ (openloconga . ,(ly:make-pitch 0 1 DOUBLE-SHARP))
+ (loconga . ,(ly:make-pitch 0 2 NATURAL))
+ (hitimbale . ,(ly:make-pitch 0 3 NATURAL))
+ (lotimbale . ,(ly:make-pitch 0 3 SHARP))
+ (hiagogo . ,(ly:make-pitch 0 4 NATURAL))
+ (loagogo . ,(ly:make-pitch 0 4 SHARP))
+ (cabasa . ,(ly:make-pitch 0 5 NATURAL))
+ (maracas . ,(ly:make-pitch 0 5 SHARP))
+ (shortwhistle . ,(ly:make-pitch 0 6 NATURAL))
+ (longwhistle . ,(ly:make-pitch 1 0 NATURAL))
+ (shortguiro . ,(ly:make-pitch 1 0 SHARP))
+ (longguiro . ,(ly:make-pitch 1 1 NATURAL))
+ (guiro . ,(ly:make-pitch 1 0 DOUBLE-SHARP))
+ (claves . ,(ly:make-pitch 1 1 SHARP))
+ (hiwoodblock . ,(ly:make-pitch 1 2 NATURAL))
+ (lowoodblock . ,(ly:make-pitch 1 3 NATURAL))
+ (mutecuica . ,(ly:make-pitch 1 3 SHARP))
+ (opencuica . ,(ly:make-pitch 1 4 NATURAL))
+ (mutetriangle . ,(ly:make-pitch 1 4 SHARP))
+ (triangle . ,(ly:make-pitch 1 4 DOUBLE-SHARP))
+ (opentriangle . ,(ly:make-pitch 1 5 NATURAL))
+
+ ;; "transposing" pitches:
+ (oneup . ,(ly:make-pitch 0 1 NATURAL))
+ (twoup . ,(ly:make-pitch 0 2 NATURAL))
+ (threeup . ,(ly:make-pitch 0 3 NATURAL))
+ (fourup . ,(ly:make-pitch 0 4 NATURAL))
+ (fiveup . ,(ly:make-pitch 0 5 NATURAL))
+ (onedown . ,(ly:make-pitch -1 6 NATURAL))
+ (twodown . ,(ly:make-pitch -1 5 NATURAL))
+ (threedown . ,(ly:make-pitch -1 4 NATURAL))
+ (fourdown . ,(ly:make-pitch -1 3 NATURAL))
+ (fivedown . ,(ly:make-pitch -1 2 NATURAL))
+ )
#(for-each
(lambda (k-v)
(module-define! (current-module)
- (car k-v)
- (alist->hash-table (cdr k-v)))
+ (car k-v)
+ (alist->hash-table (cdr k-v)))
)
'((drums-style .
(
(handclap () #f 0)
))
))
-
-
sp = #(make-dynamic-script "sp")
spp = #(make-dynamic-script "spp")
rfz = #(make-dynamic-script "rfz")
-
\consists "Dot_column_engraver"
\consists "Staff_collecting_engraver"
- %% perhaps move to Voice context?
+ %% perhaps move to Voice context?
\consists "Ottava_spanner_engraver"
\consists "Clef_engraver"
\consists "Key_engraver"
shortInstrumentName = #'()
\defaultchild "Voice"
- \accepts "Voice"
\accepts "CueVoice"
\accepts "NullVoice"
+ \accepts "Voice"
\description "Handles clefs, bar lines, keys, accidentals. It can contain
@code{Voice} contexts."
vocalName = #'()
shortVocalName = #'()
- \accepts "Staff"
+ \accepts "ChoirStaff"
+ \accepts "ChordNames"
\accepts "DrumStaff"
- \accepts "RhythmicStaff"
+ \accepts "FiguredBass"
\accepts "GrandStaff"
- \accepts "PianoStaff"
\accepts "Lyrics"
- \accepts "ChordNames"
- \accepts "FiguredBass"
- \accepts "ChoirStaff"
+ \accepts "PianoStaff"
+ \accepts "RhythmicStaff"
+ \accepts "Staff"
\accepts "StaffGroup"
\defaultchild "Staff"
\description "Identical to @code{StaffGroup} except that the
createSpacing = ##t
squashedPosition = #0
- \name RhythmicStaff
+ \name "RhythmicStaff"
\alias "Staff"
\override VoltaBracket.staff-padding = #3
instrumentName = #'()
shortInstrumentName = #'()
- \accepts "Voice"
\accepts "CueVoice"
+ \accepts "NullVoice"
+ \accepts "Voice"
\defaultchild "Voice"
\description "A context like @code{Staff} but for printing rhythms.
\context{
\Voice
- \name CueVoice
- \alias Voice
+ \name "CueVoice"
+ \alias "Voice"
fontSize = #-4
\override Stem.length-fraction = #(magstep -4)
\override Beam.length-fraction = #(magstep -4)
\context {
\Voice
- \name DrumVoice
- \alias Voice
+ \name "DrumVoice"
+ \alias "Voice"
\description "A voice on a percussion staff."
\remove "Arpeggio_engraver"
\context{
\type "Engraver_group"
- \name GrandStaff
+ \name "GrandStaff"
localAlterations = #'()
\description "A group of staves, with a brace on the left
\consists "Instrument_name_engraver"
\consists "Span_bar_engraver"
-% The default for DynamicText.extra-spacing-width causes dynamics to
-% be placed across span bars, so switch it off:
+ %% The default for DynamicText.extra-spacing-width causes dynamics to
+ %% be placed across span bars, so switch it off:
\override DynamicText.extra-spacing-width = ##f
\consists "Span_bar_stub_engraver"
\consists "Span_arpeggio_engraver"
shortInstrumentName = #'()
\defaultchild "Staff"
- \accepts "Staff"
- \accepts "RhythmicStaff"
+ \accepts "ChordNames"
\accepts "DrumStaff"
- \accepts "TabStaff"
- \accepts "Lyrics"
- \accepts "FiguredBass"
\accepts "Dynamics"
- \accepts "ChordNames"
+ \accepts "FiguredBass"
+ \accepts "Lyrics"
+ \accepts "RhythmicStaff"
+ \accepts "Staff"
+ \accepts "TabStaff"
}
\context{
\consists "Instrument_name_engraver"
\consists "Span_bar_engraver"
-% The default for DynamicText.extra-spacing-width causes dynamics to
-% be placed across span bars, so switch it off:
+ %% The default for DynamicText.extra-spacing-width causes dynamics to
+ %% be placed across span bars, so switch it off:
\override DynamicText.extra-spacing-width = ##f
\consists "Span_bar_stub_engraver"
\consists "Span_arpeggio_engraver"
\consists "System_start_delimiter_engraver"
\defaultchild "Staff"
- \accepts "Staff"
- \accepts "RhythmicStaff"
+ \accepts "ChoirStaff"
+ \accepts "ChordNames"
\accepts "DrumStaff"
+ \accepts "FiguredBass"
+ \accepts "FretBoards"
\accepts "GrandStaff"
- \accepts "PianoStaff"
- \accepts "TabStaff"
\accepts "Lyrics"
- \accepts "ChordNames"
- \accepts "FiguredBass"
- \accepts "ChoirStaff"
+ \accepts "PianoStaff"
+ \accepts "RhythmicStaff"
+ \accepts "Staff"
\accepts "StaffGroup"
+ \accepts "TabStaff"
\description "Groups staves while adding a bracket on the left
side, grouping the staves together. The bar lines of the contained
\context {
\type "Engraver_group"
- \name Dynamics
- \alias Voice
+ \name "Dynamics"
+ \alias "Voice"
\consists "Output_property_engraver"
\consists "Bar_engraver"
\consists "Piano_pedal_engraver"
(stretchability . 1))
\override VerticalAxisGroup.nonstaff-nonstaff-spacing =
#'((basic-distance . 0)
- (minimum-distance . 2.8)
- (padding . 0.2)
- (stretchability . 0))
+ (minimum-distance . 2.8)
+ (padding . 0.2)
+ (stretchability . 0))
\override VerticalAxisGroup.nonstaff-unrelatedstaff-spacing.padding = #1.5
\override InstrumentName.self-alignment-Y = ##f
\context {
\type "Engraver_group"
- \name NoteNames
+ \name "NoteNames"
\description "A context for printing the names of notes."
\consists "Axis_group_engraver"
\context {
\type "Engraver_group"
- \name ChordNames
+ \name "ChordNames"
\description "Typesets chord names."
\consists "Output_property_engraver"
\consists "Separating_line_group_engraver"
\consists "Chord_name_engraver"
\consists "Axis_group_engraver"
-% \consists "Note_spacing_engraver"
+ %\consists "Note_spacing_engraver"
\override VerticalAxisGroup.remove-first = ##t
\override VerticalAxisGroup.remove-empty = ##t
%% Timing variables in layout definitions before any
%% Timing_translator has been run.
- % timing translator must come BEFORE bar number engraver
+ %% timing translator must come BEFORE bar number engraver
\consists "Timing_translator"
\consists "Default_bar_line_engraver"
\consists "Output_property_engraver"
\defaultchild "Staff"
+ \accepts "ChoirStaff"
+ \accepts "ChordNames"
+ \accepts "Devnull"
+ \accepts "DrumStaff"
+ \accepts "FiguredBass"
\accepts "FretBoards"
- \accepts "Staff"
- \accepts "RhythmicStaff"
- \accepts "TabStaff"
- \accepts "VaticanaStaff"
+ \accepts "GrandStaff"
\accepts "GregorianTranscriptionStaff"
- \accepts "MensuralStaff"
- \accepts "PetrucciStaff"
- \accepts "StaffGroup"
- \accepts "DrumStaff"
\accepts "KievanStaff"
\accepts "Lyrics"
- \accepts "ChordNames"
- \accepts "GrandStaff"
- \accepts "ChoirStaff"
- \accepts "PianoStaff"
- \accepts "Devnull"
- \accepts "NullVoice"
+ \accepts "MensuralStaff"
\accepts "NoteNames"
- \accepts "FiguredBass"
+ \accepts "NullVoice"
+ \accepts "PetrucciStaff"
+ \accepts "PianoStaff"
+ \accepts "RhythmicStaff"
+ \accepts "Staff"
+ \accepts "StaffGroup"
+ \accepts "TabStaff"
+ \accepts "VaticanaStaff"
noteToFretFunction = #determine-frets
predefinedDiagramTable = ##f
repeatCountVisibility = #all-repeat-counts-visible
-%% Other Timing variables are derived and set by the Timing_translator
-%% at initialization time by calling the functions in
-%% scm/time-signature-settings.scm
+ %% Other Timing variables are derived and set by the Timing_translator
+ %% at initialization time by calling the functions in
+ %% scm/time-signature-settings.scm
timeSignatureSettings = #default-time-signature-settings
timeSignatureFraction = 4/4
pedalUnaCordaStrings = #'("una corda" "" "tre corde")
pedalUnaCordaStyle = #'text
-%% These are in ordinary italic font, including the *,
-%% but they are unlikely to be used,
-%% as the default pedal-style for SostenutoPedal is 'mixed':
-%% i.e. Sost. Ped_____________________
+ %% These are in ordinary italic font, including the *,
+ %% but they are unlikely to be used,
+ %% as the default pedal-style for SostenutoPedal is 'mixed':
+ %% i.e. Sost. Ped_____________________
pedalSostenutoStrings = #'("Sost. Ped." "*Sost. Ped." "*")
pedalSostenutoStyle = #'mixed
barCheckSynchronize = ##f
-%% chord names:
+ %% chord names:
chordNameFunction = #ignatzek-chord-names
minorChordModifier = #(make-simple-markup "m")
additionalPitchPrefix = #"" % was "add"
(assign clefPosition 2)
(assign middleCPosition 6)
(assign middleCClefPosition 6))
-%% tablature:
+ %% tablature:
stringOneTopmost = ##t
highStringOne = ##t
-%% One may change the string tunings as follows :
-%% The length of the list must be equal to the number of strings
+ %% One may change the string tunings as follows :
+ %% The length of the list must be equal to the number of strings
stringTunings = #guitar-tuning
tablatureFormat = #fret-number-tablature-format
tabStaffLineLayoutFunction = #tablature-position-on-lines
;; need this, as stanza numbers are items, and appear only once.
stanza-number-interface
)
- % \quoteDuring is supposed to quote everything, cueDuring only the essentials
+ %% \quoteDuring is supposed to quote everything, cueDuring only the essentials
quotedEventTypes = #'(StreamEvent)
quotedCueEventTypes = #'(
note-event
\name "Devnull"
\type "Engraver_group"
-%% don't want to route anything out of here:
+ %% don't want to route anything out of here:
\alias "Staff"
\alias "Voice"
\description "Silently discards all musical information given to this
\alias "Staff"
\alias "Voice"
- % provide non-printing NoteHeads with proper extents for lyric alignment
+ %% provide non-printing NoteHeads with proper extents for lyric alignment
\consists "Note_heads_engraver"
\omit NoteHead
\override NoteHead.X-extent = #(lambda (g)
(ly:stencil-extent (ly:note-head::print g) X))
- % generate no accidentals
+ %% generate no accidentals
nullAccidentals = ##t
%% keep noteheads inside the staff
\consists "Pitch_squash_engraver"
squashedPosition = 0
- % the engravers that control the 'busy' flags for note-onsets and melismata
+ %% the engravers that control the 'busy' flags for note-onsets and melismata
\consists "Grob_pq_engraver"
\consists "Tie_engraver"
\omit Tie
%% the direction for glissando lines will be automatically corrected
\override Glissando.extra-dy = #glissando::calc-tab-extra-dy
\override Glissando.bound-details.right = #`((attach-dir . ,LEFT)
- (padding . 0.3))
+ (padding . 0.3))
\override Glissando.bound-details.left = #`((attach-dir . ,RIGHT)
- (padding . 0.3))
+ (padding . 0.3))
%% dead notes
\override TabNoteHead.glyph-name = #tab-note-head::calc-glyph-name
\override TabNoteHead.stencil = #tab-note-head::whiteout-if-style-set
%% There are no beams in Gregorian Chant notation.
autoBeaming = ##f
-
}
\context {
\override NoteHead.style = #'petrucci
\override Rest.style = #'mensural
- % Thickens and shortens stems.
+ %% Thickens and shortens stems.
\override Stem.thickness = #1.7
\override Stem.length = #5
}
\context {
- \Voice
- \name "KievanVoice"
- \alias "Voice"
- \description "Same as @code{Voice} context, except that it is
+ \Voice
+ \name "KievanVoice"
+ \alias "Voice"
+ \description "Same as @code{Voice} context, except that it is
accommodated for typesetting a piece in Kievan style."
\remove "Ligature_bracket_engraver"
\consists "Kievan_ligature_engraver"
- %% Set glyph styles.
- \override NoteHead.style = #'kievan
- \override Stem.X-offset = #stem::kievan-offset-callback
- \override Stem.stencil = ##f
- \override Flag.stencil = ##f
- \override Rest.style = #'mensural
- \override Accidental.glyph-name-alist = #alteration-kievan-glyph-name-alist
- \override Dots.style = #'kievan
- \override Slur.stencil = ##f
- \override Stem.length = #0.0
- \override Beam.positions = #beam::get-kievan-positions
- \override Beam.quantized-positions = #beam::get-kievan-quantized-positions
- \override NoteHead.duration-log = #note-head::calc-kievan-duration-log
-
- %% There are beams in Kievan notation, but they are invoked manually
- autoBeaming = ##f
+ %% Set glyph styles.
+ \override NoteHead.style = #'kievan
+ \override Stem.X-offset = #stem::kievan-offset-callback
+ \override Stem.stencil = ##f
+ \override Flag.stencil = ##f
+ \override Rest.style = #'mensural
+ \override Accidental.glyph-name-alist = #alteration-kievan-glyph-name-alist
+ \override Dots.style = #'kievan
+ \override Slur.stencil = ##f
+ \override Stem.length = #0.0
+ \override Beam.positions = #beam::get-kievan-positions
+ \override Beam.quantized-positions = #beam::get-kievan-quantized-positions
+ \override NoteHead.duration-log = #note-head::calc-kievan-duration-log
+
+ %% There are beams in Kievan notation, but they are invoked manually
+ autoBeaming = ##f
}
\context {
- \Staff
- \name "KievanStaff"
- \alias "Staff"
- \denies "Voice"
- \defaultchild "KievanVoice"
- \accepts "KievanVoice"
- \description "Same as @code{Staff} context, except that it is
+ \Staff
+ \name "KievanStaff"
+ \alias "Staff"
+ \denies "Voice"
+ \defaultchild "KievanVoice"
+ \accepts "KievanVoice"
+ \description "Same as @code{Staff} context, except that it is
accommodated for typesetting a piece in Kievan style."
- \remove "Time_signature_engraver"
-
- %% Choose Kievan tsefaut clef
- clefGlyph = #"clefs.kievan.do"
- middleCClefPosition = #0
- middleCPosition = #0
- clefPosition = #0
- clefTransposition = #0
-
- %% Accidentals are valid only once (if the following note is different)
- extraNatural = ##f
- autoAccidentals = #`(Staff ,(make-accidental-rule 'same-octave 0)
- ,neo-modern-accidental-rule)
- autoCautionaries = #'()
- printKeyCancellation = ##f
+ \remove "Time_signature_engraver"
+
+ %% Choose Kievan tsefaut clef
+ clefGlyph = #"clefs.kievan.do"
+ middleCClefPosition = #0
+ middleCPosition = #0
+ clefPosition = #0
+ clefTransposition = #0
+
+ %% Accidentals are valid only once (if the following note is different)
+ extraNatural = ##f
+ autoAccidentals = #`(Staff ,(make-accidental-rule 'same-octave 0)
+ ,neo-modern-accidental-rule)
+ autoCautionaries = #'()
+ printKeyCancellation = ##f
}
\Voice
\consists #(make-engraver
(listeners
- (tempo-change-event . format-tempo)
- (rest-event . format-rest)
- (note-event . format-note)
- (articulation-event . format-articulation)
- (text-script-event . format-text)
- (slur-event . format-slur)
- (breathing-event . format-breathe)
- (dynamic-event . format-dynamic)
- (crescendo-event . format-cresc)
- (decrescendo-event . format-decresc)
- (text-span-event . format-textspan)
- (glissando-event . format-glissando)
- (tie-event . format-tie)))
+ (tempo-change-event . format-tempo)
+ (rest-event . format-rest)
+ (note-event . format-note)
+ (articulation-event . format-articulation)
+ (text-script-event . format-text)
+ (slur-event . format-slur)
+ (breathing-event . format-breathe)
+ (dynamic-event . format-dynamic)
+ (crescendo-event . format-cresc)
+ (decrescendo-event . format-decresc)
+ (text-span-event . format-textspan)
+ (glissando-event . format-glissando)
+ (tie-event . format-tie)))
}
}
#(define (grob-name g)
(let* ((meta (ly:grob-property g 'meta))
- (name-pair (assq 'name meta)))
+ (name-pair (assq 'name meta)))
(if (pair? name-pair)
(cdr name-pair)
#f)))
#(define (grob-event-node grob label cluster)
(let ((node-id (add-node graph label cluster))
- (prev (assv grob last-grob-action)))
+ (prev (assv grob last-grob-action)))
(if (pair? prev)
(add-edge graph (cdr prev) node-id))
(set! last-grob-action (assv-set! last-grob-action grob node-id))))
#(define (grob-mod grob file line func prop val)
(let* ((val-str (truncate-value val))
- (label (format #f "~a\\n~a:~a\\n~a <- ~a" (grob-name grob) file line prop val-str)))
+ (label (format #f "~a\\n~a:~a\\n~a <- ~a" (grob-name grob) file line prop val-str)))
(if (relevant? grob file line prop)
(grob-event-node grob label file))))
#(define (grob-cache grob prop callback value)
(let* ((val-str (truncate-value value))
- (label (format #f "caching ~a.~a\\n~a -> ~a" (grob-name grob) prop callback value)))
+ (label (format #f "caching ~a.~a\\n~a -> ~a" (grob-name grob) prop callback value)))
(if (relevant? grob #f #f prop)
(grob-event-node grob label #f))))
%
% Declare memorable shortcuts for special unicode characters
% that are used in chant notation.
-%
+%
% unicode 0132 (latin capital ligature IJ)
IJ = \lyricmode { IJ }
(let ((found? #f))
(map-some-music
(lambda (m)
- (if found? m
- (and (music-is-of-type? m 'lyric-event)
- (begin
- (set! (ly:music-property m 'text)
- (string-append prefix (ly:music-property m 'text)))
- (set! found? #t)
- m))))
+ (if found? m
+ (and (music-is-of-type? m 'lyric-event)
+ (begin
+ (set! (ly:music-property m 'text)
+ (string-append prefix (ly:music-property m 'text)))
+ (set! found? #t)
+ m))))
music)))
% Add unicode 2123 (versicle) as prefix to lyrics.
#(define (make-ligature music)
(make-music 'SequentialMusic
- 'elements (append
- (cons
- (make-music 'EventChord
- 'elements (list
- (make-span-event 'LigatureEvent START)))
- (ly:music-property music 'elements))
- (list
- (make-music 'EventChord
- 'elements (list
- (make-span-event 'LigatureEvent STOP)))))))
+ 'elements (append
+ (cons
+ (make-music 'EventChord
+ 'elements (list
+ (make-span-event 'LigatureEvent START)))
+ (ly:music-property music 'elements))
+ (list
+ (make-music 'EventChord
+ 'elements (list
+ (make-span-event 'LigatureEvent STOP)))))))
ligature = #(define-music-function
- (location music) (ly:music?)
- (make-ligature music))
+ (location music) (ly:music?)
+ (make-ligature music))
%#(define (make-script x)
% (make-music 'ArticulationEvent
% 'articulation-type x))
-%
+%
%#(define (add-script m x)
% (if
% (equal? (ly:music-property m 'name) 'EventChord)
% `(define-music-function (location music) (ly:music?)
% (make-music 'SequentialMusic
% 'elements (list 'LigatureStartEvent
-% (ly:music-deep-copy ,start)
+% (ly:music-deep-copy ,start)
% music
% (ly:music-deep-copy ,stop)
-% 'LigatureStopEvent))))
+% 'LigatureStopEvent))))
%climacus = #(def-climacus-function startSequentialMusic stopSequentialMusic)
%
line-thickness = #(/ (ly:output-def-lookup $defaultpaper 'staff-space) 7.0)
\context {
- \VaticanaStaff
- \override StaffSymbol.color = #red
- \override LedgerLineSpanner.color = #red
+ \VaticanaStaff
+ \override StaffSymbol.color = #red
+ \override LedgerLineSpanner.color = #red
}
\context {
- \Score
- \remove "Bar_number_engraver"
-
- %%%
- %%% FIXME: Musicologically seen, timing should be set to #f.
- %%% Unfortunately, setting it to #f will result in no
- %%% line-breakable items being created, such that the whole
- %%% music will end up in a single line. Therefore, we
- %%% currently set it to #t, until the ligature code is fixed
- %%% to automatically insert breakable items.
- %%%
- timing = ##t
-
- %%%
- %%% FIXME: Setting barAlways to #t would fix the above
- %%% "timing = ##t" problem, but, surprisingly, it increases
- %%% the space between ligatures. Hence, we set it to #f.
- %%%
- barAlways = ##f
-
- \override SpacingSpanner.packed-spacing = ##t
-
- %%%
- %%% TODO: Play around with the following SpacingSpanner
- %%% settings to yield better spacing between ligatures.
- %%%
- %%% FIXME: setting #'spacing-increment to a small value
- %%% causes tons of "programming error: adding reverse spring,
- %%% setting to unit" messages.
- %%%
- %\override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/4)
- %\override SpacingSpanner.shortest-duration-space = #0
- %\override SpacingSpanner.average-spacing-wishes = ##f
- %\override SpacingSpanner.spacing-increment = #0.0
- %\override SpacingSpanner.uniform-stretching = ##t
+ \Score
+ \remove "Bar_number_engraver"
+
+ %%%
+ %%% FIXME: Musicologically seen, timing should be set to #f.
+ %%% Unfortunately, setting it to #f will result in no
+ %%% line-breakable items being created, such that the whole
+ %%% music will end up in a single line. Therefore, we
+ %%% currently set it to #t, until the ligature code is fixed
+ %%% to automatically insert breakable items.
+ %%%
+ timing = ##t
+
+ %%%
+ %%% FIXME: Setting barAlways to #t would fix the above
+ %%% "timing = ##t" problem, but, surprisingly, it increases
+ %%% the space between ligatures. Hence, we set it to #f.
+ %%%
+ barAlways = ##f
+
+ \override SpacingSpanner.packed-spacing = ##t
+
+ %%%
+ %%% TODO: Play around with the following SpacingSpanner
+ %%% settings to yield better spacing between ligatures.
+ %%%
+ %%% FIXME: setting #'spacing-increment to a small value
+ %%% causes tons of "programming error: adding reverse spring,
+ %%% setting to unit" messages.
+ %%%
+ %\override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/4)
+ %\override SpacingSpanner.shortest-duration-space = #0
+ %\override SpacingSpanner.average-spacing-wishes = ##f
+ %\override SpacingSpanner.spacing-increment = #0.0
+ %\override SpacingSpanner.uniform-stretching = ##t
}
}
neumeDemoLayout = \layout {
interscoreline = 1
\context {
- \Score
- \remove "Bar_number_engraver"
+ \Score
+ \remove "Bar_number_engraver"
}
\context {
- \Staff
- \remove "Clef_engraver"
- \remove "Key_engraver"
- \hide StaffSymbol
- \remove "Time_signature_engraver"
- \remove "Bar_engraver"
- \override VerticalAxisGroup.staff-staff-spacing = #'()
+ \Staff
+ \remove "Clef_engraver"
+ \remove "Key_engraver"
+ \hide StaffSymbol
+ \remove "Time_signature_engraver"
+ \remove "Bar_engraver"
+ \override VerticalAxisGroup.staff-staff-spacing = #'()
}
\context {
- \Voice
- \remove "Ligature_bracket_engraver"
- \consists "Vaticana_ligature_engraver"
- \override NoteHead.style = #'vaticana.punctum
- \hide Stem
+ \Voice
+ \remove "Ligature_bracket_engraver"
+ \consists "Vaticana_ligature_engraver"
+ \override NoteHead.style = #'vaticana.punctum
+ \hide Stem
}
}
-%% Toplevel initialisation file.
+%% Toplevel initialisation file.
%% switch on debugging.
#(if (and #t (defined? 'set-debug-cell-accesses!))
(set! toplevel-scores (list))
(book-handler parser book)))
((or (pair? toplevel-scores) output-empty-score-list)
- (let ((book (apply ly:make-book $defaultpaper
+ (let ((book (apply ly:make-book $defaultpaper
$defaultheader toplevel-scores)))
(set! toplevel-scores (list))
(book-handler parser book)))))
%}
-
+
#(define-public EKSIK-IKI 5/18)
#(define-public EKSIK-UC 6/18)
(g . ,(ly:make-pitch -1 4 NATURAL))
(a . ,(ly:make-pitch -1 5 NATURAL))
(b . ,(ly:make-pitch -1 6 NATURAL))
-
+
(cc . ,(ly:make-pitch -1 0 KOMA))
(dc . ,(ly:make-pitch -1 1 KOMA))
(ec . ,(ly:make-pitch -1 2 KOMA))
(gfc . ,(ly:make-pitch -1 4 (- KOMA)))
(afc . ,(ly:make-pitch -1 5 (- KOMA)))
(bfc . ,(ly:make-pitch -1 6 (- KOMA)))
-
+
(cfb . ,(ly:make-pitch -1 0 (- BAKIYE)))
(dfb . ,(ly:make-pitch -1 1 (- BAKIYE)))
(efb . ,(ly:make-pitch -1 2 (- BAKIYE)))
(gfk . ,(ly:make-pitch -1 4 (- KUCUK)))
(afk . ,(ly:make-pitch -1 5 (- KUCUK)))
(bfk . ,(ly:make-pitch -1 6 (- KUCUK)))
-
+
(cfi . ,(ly:make-pitch -1 0 (- EKSIK-IKI)))
(dfi . ,(ly:make-pitch -1 1 (- EKSIK-IKI)))
(efi . ,(ly:make-pitch -1 2 (- EKSIK-IKI)))
(gfu . ,(ly:make-pitch -1 4 (- EKSIK-UC)))
(afu . ,(ly:make-pitch -1 5 (- EKSIK-UC)))
(bfu . ,(ly:make-pitch -1 6 (- EKSIK-UC)))
-
-
+
+
(cfbm . ,(ly:make-pitch -1 0 (- BUYUKMUCENNEB)))
(dfbm . ,(ly:make-pitch -1 1 (- BUYUKMUCENNEB)))
(efbm . ,(ly:make-pitch -1 2 (- BUYUKMUCENNEB)))
%% set pitch names.
-pitchnames = \makamPitchNames
+pitchnames = \makamPitchNames
#(ly:parser-set-note-names parser makamPitchNames)
#(define eksikMirroredSlashedFlat
(0 . "accidentals.natural")
(-1/9 . "accidentals.mirroredflat")
(-5/18 . ,(if eksikMirroredSlashedFlat
- "accidentals.mirroredflat.backslash"
- "accidentals.mirroredflat"))
+ "accidentals.mirroredflat.backslash"
+ "accidentals.mirroredflat"))
(-6/18 . ,(if eksikMirroredSlashedFlat
- "accidentals.mirroredflat.backslash"
- "accidentals.mirroredflat"))
+ "accidentals.mirroredflat.backslash"
+ "accidentals.mirroredflat"))
(-4/9 . "accidentals.flat.slash")
(-5/9 . "accidentals.flat")
(-8/9 . "accidentals.flat.slashslash")
\override AmbitusAccidental.glyph-name-alist = \makamGlyphs
}
}
-
\midi {
\include "performer-init.ly"
}
-
%% need SRFI-1 for filter; optargs for lambda*
#(use-modules (srfi srfi-1)
- (ice-9 optargs))
+ (ice-9 optargs))
%% TODO: using define-music-function in a .scm causes crash.
#(define-music-function (parser location main grace) (ly:music? ly:music?)
(_i "Create @var{grace} note(s) after a @var{main} music expression.")
(let ((main-length (ly:music-length main))
- (fraction (ly:parser-lookup parser 'afterGraceFraction)))
+ (fraction (ly:parser-lookup parser 'afterGraceFraction)))
(make-simultaneous-music
(list
main
(make-sequential-music
- (list
+ (list
- (make-music 'SkipMusic
- 'duration (ly:make-duration
- 0 0
- (* (ly:moment-main-numerator main-length)
- (car fraction))
- (* (ly:moment-main-denominator main-length)
- (cdr fraction))))
- (make-music 'GraceMusic
- 'element grace)))))))
+ (make-music 'SkipMusic
+ 'duration (ly:make-duration
+ 0 0
+ (* (ly:moment-main-numerator main-length)
+ (car fraction))
+ (* (ly:moment-main-denominator main-length)
+ (cdr fraction))))
+ (make-music 'GraceMusic
+ 'element grace)))))))
%% music identifiers not allowed at top-level,
(_i "Allow a page turn. May be used at toplevel (ie between scores or
markups), or inside a score.")
(make-music 'EventChord
- 'page-marker #t
- 'page-turn-permission 'allow
- 'elements (list (make-music 'PageTurnEvent
- 'break-permission 'allow))))
+ 'page-marker #t
+ 'page-turn-permission 'allow
+ 'elements (list (make-music 'PageTurnEvent
+ 'break-permission 'allow))))
alterBroken =
#(define-music-function (parser location property arg item)
(_i "Append @var{more} to the @code{elements} of all music
expressions in @var{music} that are tagged with @var{tag}.")
(music-map (lambda (m)
- (if (memq tag (ly:music-property m 'tags))
- (set! (ly:music-property m 'elements)
- (append (ly:music-property m 'elements)
- (list more))))
- m)
- music))
+ (if (memq tag (ly:music-property m 'tags))
+ (set! (ly:music-property m 'elements)
+ (append (ly:music-property m 'elements)
+ (list more))))
+ m)
+ music))
applyContext =
#(define-music-function (parser location proc) (procedure?)
(_i "Modify context properties with Scheme procedure @var{proc}.")
(make-music 'ApplyContext
- 'procedure proc))
+ 'procedure proc))
applyMusic =
#(define-music-function (parser location func music) (procedure? ly:music?)
#(define-music-function (parser location ctx proc) (symbol? procedure?)
(_i "Apply function @code{proc} to every layout object in context @code{ctx}")
(make-music 'ApplyOutputEvent
- 'procedure proc
- 'context-type ctx))
+ 'procedure proc
+ 'context-type ctx))
appoggiatura =
#(def-grace-function startAppoggiaturaMusic stopAppoggiaturaMusic
#(define-event-function (parser location offset text) (number-pair? markup?)
(_i "Attach @var{text} at @var{offset} (use like @code{\\tweak})")
(make-music 'AnnotateOutputEvent
- 'X-offset (car offset)
- 'Y-offset (cdr offset)
- 'text text))
+ 'X-offset (car offset)
+ 'Y-offset (cdr offset)
+ 'text text))
bar =
#(define-music-function (parser location type) (string?)
#(define-music-function (parser location n) (integer?)
(_i "Print a warning if the current bar number is not @var{n}.")
(make-music 'ApplyContext
- 'procedure
- (lambda (c)
- (let ((cbn (ly:context-property c 'currentBarNumber)))
- (if (and (number? cbn) (not (= cbn n)))
- (ly:input-warning location
- "Barcheck failed got ~a expect ~a"
- cbn n))))))
+ 'procedure
+ (lambda (c)
+ (let ((cbn (ly:context-property c 'currentBarNumber)))
+ (if (and (number? cbn) (not (= cbn n)))
+ (ly:input-warning location
+ "Barcheck failed got ~a expect ~a"
+ cbn n))))))
beamExceptions =
#(define-scheme-function (parser location music) (ly:music?)
#(define-event-function (parser location delta) (real?)
(_i "Create a fall or doit of pitch interval @var{delta}.")
(make-music 'BendAfterEvent
- 'delta-step delta))
+ 'delta-step delta))
bookOutputName =
#(define-void-function (parser location newfilename) (string?)
(_i "Insert contents of quote @var{what} corresponding to @var{main-music},
in a CueVoice oriented by @var{dir}.")
(make-music 'QuoteMusic
- 'element main-music
- 'quoted-context-type 'CueVoice
- 'quoted-context-id "cue"
- 'quoted-music-name what
- 'quoted-voice-direction dir))
+ 'element main-music
+ 'quoted-context-type 'CueVoice
+ 'quoted-context-id "cue"
+ 'quoted-music-name what
+ 'quoted-voice-direction dir))
cueDuringWithClef =
#(define-music-function
(_i "Insert contents of quote @var{what} corresponding to @var{main-music},
in a CueVoice oriented by @var{dir}.")
(make-music 'QuoteMusic
- 'element main-music
- 'quoted-context-type 'CueVoice
- 'quoted-context-id "cue"
- 'quoted-music-name what
- 'quoted-music-clef clef
- 'quoted-voice-direction dir))
+ 'element main-music
+ 'quoted-context-type 'CueVoice
+ 'quoted-context-id "cue"
+ 'quoted-music-name what
+ 'quoted-music-clef clef
+ 'quoted-voice-direction dir))
(_i "Terminate the next spanner prematurely after exactly one note
without the need of a specific end spanner.")
(let* ((start-span-evs (filter (lambda (ev)
- (equal? (ly:music-property ev 'span-direction)
- START))
- (extract-typed-music music 'span-event)))
- (stop-span-evs
- (map (lambda (m)
- (music-clone m 'span-direction STOP))
+ (equal? (ly:music-property ev 'span-direction)
+ START))
+ (extract-typed-music music 'span-event)))
+ (stop-span-evs
+ (map (lambda (m)
+ (music-clone m 'span-direction STOP))
start-span-evs))
- (end-ev-chord (make-music 'EventChord
- 'elements stop-span-evs))
- (total (make-music 'SequentialMusic
- 'elements (list music
- end-ev-chord))))
+ (end-ev-chord (make-music 'EventChord
+ 'elements stop-span-evs))
+ (total (make-music 'SequentialMusic
+ 'elements (list music
+ end-ev-chord))))
total))
eventChords =
#(define-music-function (parser location factor argument) (ly:moment? ly:music?)
(_i "Adjust durations of music in @var{argument} by rational @var{factor}.")
(let ((orig-duration (ly:music-length argument))
- (multiplier (ly:make-moment 1 1)))
+ (multiplier (ly:make-moment 1 1)))
(for-each
(lambda (mus)
- (if (< 0 (ly:moment-main-denominator (ly:music-length mus)))
- (begin
- (ly:music-compress mus multiplier)
- (set! multiplier (ly:moment-mul factor multiplier)))))
+ (if (< 0 (ly:moment-main-denominator (ly:music-length mus)))
+ (begin
+ (ly:music-compress mus multiplier)
+ (set! multiplier (ly:moment-mul factor multiplier)))))
(extract-named-music argument '(EventChord NoteEvent RestEvent SkipEvent)))
(ly:music-compress
argument
post-event, the @code{\\footnote} command itself needs to be attached
to the preceding note or rest as a post-event with @code{-}.")
(let ((mus (make-music
- 'FootnoteEvent
- 'X-offset (car offset)
- 'Y-offset (cdr offset)
- 'automatically-numbered (not mark)
- 'text (or mark (make-null-markup))
- 'footnote-text footnote)))
+ 'FootnoteEvent
+ 'X-offset (car offset)
+ 'Y-offset (cdr offset)
+ 'automatically-numbered (not mark)
+ 'text (or mark (make-null-markup))
+ 'footnote-text footnote)))
#{ \once \tweak footnote-music #mus #item #}))
grace =
in the format of @code{all-grob-descriptions}.")
(ly:make-context-mod
(map (lambda (p)
- (list 'assign (car p) (ly:make-grob-properties (cdr p))))
+ (list 'assign (car p) (ly:make-grob-properties (cdr p))))
descriptions)))
harmonicByFret = #(define-music-function (parser location fret music) (number? ly:music?)
(_i "Switch instrument to @var{name}, which must be predefined with
@code{\\addInstrumentDefinition}.")
(let* ((handle (assoc name instrument-definitions))
- (instrument-def (if handle (cdr handle) '())))
+ (instrument-def (if handle (cdr handle) '())))
(if (not handle)
- (ly:input-warning location "No such instrument: ~a" name))
+ (ly:input-warning location "No such instrument: ~a" name))
(context-spec-music
(make-music 'SimultaneousMusic
- 'elements
- (map (lambda (kv)
- (make-property-set
- (car kv)
- (cdr kv)))
- instrument-def))
+ 'elements
+ (map (lambda (kv)
+ (make-property-set
+ (car kv)
+ (cdr kv)))
+ instrument-def))
'Staff)))
(_i "Set key to @var{tonic} and scale @var{pitch-alist}.
If both are null, just generate @code{KeyChangeEvent}.")
(cond ((null? tonic) (make-music 'KeyChangeEvent))
- ((null? pitch-alist)
- (ly:parser-error parser (_ "second argument must be pitch list")
- location)
- (make-music 'SequentialMusic 'void #t))
- (else
- (ly:music-transpose
- (make-music 'KeyChangeEvent
- 'tonic (ly:make-pitch 0 0 0)
- 'pitch-alist pitch-alist)
- tonic))))
+ ((null? pitch-alist)
+ (ly:parser-error parser (_ "second argument must be pitch list")
+ location)
+ (make-music 'SequentialMusic 'void #t))
+ (else
+ (ly:music-transpose
+ (make-music 'KeyChangeEvent
+ 'tonic (ly:make-pitch 0 0 0)
+ 'pitch-alist pitch-alist)
+ tonic))))
killCues =
#(define-music-function (parser location music) (ly:music?)
(music-map
(lambda (mus)
(if (and (string? (ly:music-property mus 'quoted-music-name))
- (string=? (ly:music-property mus 'quoted-context-id "") "cue"))
- (ly:music-property mus 'element)
- mus))
+ (string=? (ly:music-property mus 'quoted-context-id "") "cue"))
+ (ly:music-property mus 'element)
+ mus))
music))
#(define-music-function (parser location label) (symbol?)
(_i "Create @var{label} as a bookmarking label.")
(make-music 'EventChord
- 'page-marker #t
- 'page-label label
- 'elements (list (make-music 'LabelEvent
- 'page-label label))))
+ 'page-marker #t
+ 'page-label label
+ 'elements (list (make-music 'LabelEvent
+ 'page-label label))))
language =
(parser location label) ((scheme? '()))
"Make the music for the \\mark command."
(let* ((set (and (integer? label)
- (context-spec-music (make-property-set 'rehearsalMark label)
- 'Score)))
- (ev (make-music 'MarkEvent
- 'origin location)))
+ (context-spec-music (make-property-set 'rehearsalMark label)
+ 'Score)))
+ (ev (make-music 'MarkEvent
+ 'origin location)))
(if set
- (make-sequential-music (list set ev))
- (begin
- (set! (ly:music-property ev 'label) label)
- ev))))
+ (make-sequential-music (list set ev))
+ (begin
+ (set! (ly:music-property ev 'label) label)
+ ev))))
musicMap =
#(define-music-function (parser location proc mus) (procedure? ly:music?)
(_i "Forbid a page break. May be used at toplevel (i.e., between scores or
markups), or inside a score.")
(make-music 'EventChord
- 'page-marker #t
- 'page-break-permission 'forbid
- 'elements (list (make-music 'PageBreakEvent
- 'break-permission '()))))
+ 'page-marker #t
+ 'page-break-permission 'forbid
+ 'elements (list (make-music 'PageBreakEvent
+ 'break-permission '()))))
noPageTurn =
#(define-music-function (location parser) ()
(_i "Forbid a page turn. May be used at toplevel (i.e., between scores or
markups), or inside a score.")
(make-music 'EventChord
- 'page-marker #t
- 'page-turn-permission 'forbid
- 'elements (list (make-music 'PageTurnEvent
- 'break-permission '()))))
+ 'page-marker #t
+ 'page-turn-permission 'forbid
+ 'elements (list (make-music 'PageTurnEvent
+ 'break-permission '()))))
#(define-music-function (parser location octave) (integer?)
(_i "Set the octavation.")
(make-music 'OttavaMusic
- 'ottava-number octave))
+ 'ottava-number octave))
overrideTimeSignatureSettings =
#(define-music-function
of @var{base-moment}, @var{beat-structure}, and @var{beam-exceptions}.")
;; TODO -- add warning if largest value of grouping is
- ;; greater than time-signature.
+ ;; greater than time-signature.
(let ((setting (make-setting base-moment beat-structure beam-exceptions)))
(override-time-signature-setting time-signature setting)))
(_i "Force a page break. May be used at toplevel (i.e., between scores or
markups), or inside a score.")
(make-music 'EventChord
- 'page-marker #t
- 'line-break-permission 'force
- 'page-break-permission 'force
- 'elements (list (make-music 'LineBreakEvent
- 'break-permission 'force)
- (make-music 'PageBreakEvent
- 'break-permission 'force))))
+ 'page-marker #t
+ 'line-break-permission 'force
+ 'page-break-permission 'force
+ 'elements (list (make-music 'LineBreakEvent
+ 'break-permission 'force)
+ (make-music 'PageBreakEvent
+ 'break-permission 'force))))
pageTurn =
#(define-music-function (location parser) ()
(_i "Force a page turn between two scores or top-level markups.")
(make-music 'EventChord
- 'page-marker #t
- 'line-break-permission 'force
- 'page-break-permission 'force
- 'page-turn-permission 'force
- 'elements (list (make-music 'LineBreakEvent
- 'break-permission 'force)
- (make-music 'PageBreakEvent
- 'break-permission 'force)
- (make-music 'PageTurnEvent
- 'break-permission 'force))))
+ 'page-marker #t
+ 'line-break-permission 'force
+ 'page-break-permission 'force
+ 'page-turn-permission 'force
+ 'elements (list (make-music 'LineBreakEvent
+ 'break-permission 'force)
+ (make-music 'PageBreakEvent
+ 'break-permission 'force)
+ (make-music 'PageTurnEvent
+ 'break-permission 'force))))
parallelMusic =
#(define-void-function (parser location voice-ids music) (list? ly:music?)
;; arg is an EventChord -> set the parenthesize property
;; on all child notes and rests
(for-each
- (lambda (ev)
- (if (or (memq 'note-event (ly:music-property ev 'types))
- (memq 'rest-event (ly:music-property ev 'types)))
- (set! (ly:music-property ev 'parenthesize) #t)))
- (ly:music-property arg 'elements))
+ (lambda (ev)
+ (if (or (memq 'note-event (ly:music-property ev 'types))
+ (memq 'rest-event (ly:music-property ev 'types)))
+ (set! (ly:music-property ev 'parenthesize) #t)))
+ (ly:music-property arg 'elements))
;; No chord, simply set property for this expression:
(set! (ly:music-property arg 'parenthesize) #t))
arg)
(list part1 part2) DOWN chord-range))
partcombineForce =
-#(define-music-function (location parser type once) (symbol-or-boolean? boolean?)
+#(define-music-function (location parser type once) (boolean-or-symbol? boolean?)
(_i "Override the part-combiner.")
(make-music 'EventChord
- 'elements (list (make-music 'PartCombineForceEvent
- 'forced-type type
- 'once once))))
+ 'elements (list (make-music 'PartCombineForceEvent
+ 'forced-type type
+ 'once once))))
partcombineApart = \partcombineForce #'apart ##f
partcombineApartOnce = \partcombineForce #'apart ##t
partcombineChords = \partcombineForce #'chords ##f
;; ensure \partial still works if the Timing_translator is moved
(descend-to-context
(context-spec-music (make-music 'PartialSet
- 'origin location
- 'duration dur)
- 'Timing)
+ 'origin location
+ 'duration dur)
+ 'Timing)
'Score))
pitchedTrill =
(_i "Print a trill with @var{main-note} as the main note of the trill and
print @var{secondary-note} as a stemless note head in parentheses.")
(let* ((get-notes (lambda (ev-chord)
- (extract-named-music ev-chord 'NoteEvent)))
+ (extract-named-music ev-chord 'NoteEvent)))
(sec-note-events (get-notes secondary-note))
(trill-events (extract-named-music main-note 'TrillSpanEvent)))
(if (pair? sec-note-events)
(_i "Add @var{more} to the front of @code{elements} of all music
expressions in @var{music} that are tagged with @var{tag}.")
(music-map (lambda (m)
- (if (memq tag (ly:music-property m 'tags))
- (set! (ly:music-property m 'elements)
- (cons more (ly:music-property m 'elements))))
- m)
- music))
+ (if (memq tag (ly:music-property m 'tags))
+ (set! (ly:music-property m 'elements)
+ (cons more (ly:music-property m 'elements))))
+ m)
+ music))
quoteDuring =
#(define-music-function (parser location what main-music) (string? ly:music?)
(ly:pitch-steps (ly:make-pitch 1 0))
2))))
(make-music 'RelativeOctaveMusic
- 'element music))
+ 'element music))
removeWithTag =
#(define-music-function (parser location tags music)
(fraction? ly:music?)
(_i "Multiply the duration of events in @var{music} by @var{fraction}.")
(ly:music-compress music
- (ly:make-moment (car fraction) (cdr fraction))))
+ (ly:make-moment (car fraction) (cdr fraction))))
settingsFrom =
#(define-scheme-function (parser location ctx music)
(let ((mods (ly:make-context-mod)))
(define (musicop m)
(if (music-is-of-type? m 'layout-instruction-event)
- (ly:add-context-mod
- mods
- (case (ly:music-property m 'name)
- ((PropertySet)
- (list 'assign
- (ly:music-property m 'symbol)
- (ly:music-property m 'value)))
- ((PropertyUnset)
- (list 'unset
- (ly:music-property m 'symbol)))
- ((OverrideProperty)
- (cons* 'push
- (ly:music-property m 'symbol)
- (ly:music-property m 'grob-value)
+ (ly:add-context-mod
+ mods
+ (case (ly:music-property m 'name)
+ ((PropertySet)
+ (list 'assign
+ (ly:music-property m 'symbol)
+ (ly:music-property m 'value)))
+ ((PropertyUnset)
+ (list 'unset
+ (ly:music-property m 'symbol)))
+ ((OverrideProperty)
+ (cons* 'push
+ (ly:music-property m 'symbol)
+ (ly:music-property m 'grob-value)
(cond
((ly:music-property m 'grob-property #f) => list)
(else
(ly:music-property m 'grob-property-path)))))
- ((RevertProperty)
- (cons* 'pop
- (ly:music-property m 'symbol)
+ ((RevertProperty)
+ (cons* 'pop
+ (ly:music-property m 'symbol)
(cond
((ly:music-property m 'grob-property #f) => list)
(else
(ly:music-property m 'grob-property-path)))))))
- (case (ly:music-property m 'name)
- ((ApplyContext)
- (ly:add-context-mod mods
- (list 'apply
- (ly:music-property m 'procedure))))
- ((ContextSpeccedMusic)
- (if (or (not ctx)
- (eq? ctx (ly:music-property m 'context-type)))
- (musicop (ly:music-property m 'element))))
- (else
- (let ((callback (ly:music-property m 'elements-callback)))
- (if (procedure? callback)
- (for-each musicop (callback m))))))))
+ (case (ly:music-property m 'name)
+ ((ApplyContext)
+ (ly:add-context-mod mods
+ (list 'apply
+ (ly:music-property m 'procedure))))
+ ((ContextSpeccedMusic)
+ (if (or (not ctx)
+ (eq? ctx (ly:music-property m 'context-type)))
+ (musicop (ly:music-property m 'element))))
+ (else
+ (let ((callback (ly:music-property m 'elements-callback)))
+ (if (procedure? callback)
+ (for-each musicop (callback m))))))))
(musicop music)
mods))
#(define-music-function (parser location dur) (ly:duration?)
(_i "Skip forward by @var{dur}.")
(make-music 'SkipMusic
- 'duration dur))
+ 'duration dur))
slashedGrace =
#{
\overrideProperty Score.NonMusicalPaperColumn.line-break-system-details
#(list (cons 'alignment-extra-space (cdr (assoc 'system-stretch parameters)))
- (cons 'system-Y-extent (cdr (assoc 'system-Y-extent parameters))))
+ (cons 'system-Y-extent (cdr (assoc 'system-Y-extent parameters))))
#})
styledNoteHeads =
(fraction? ly:music?)
(_i "Scale @var{music} in time by @var{fraction}.")
(make-music 'TimeScaledMusic
- 'element (ly:music-compress music (ly:make-moment (car fraction) (cdr fraction)))
- 'numerator (car fraction)
- 'denominator (cdr fraction)))
+ 'element (ly:music-compress music (ly:make-moment (car fraction) (cdr fraction)))
+ 'numerator (car fraction)
+ 'denominator (cdr fraction)))
transpose =
#(define-music-function
(_i "Insert notes from the part @var{what} into a voice called @code{cue},
using the transposition defined by @var{pitch}. This happens
-simultaneously with @var{main-music}, which is usually a rest. The
+simultaneously with @var{main-music}, which is usually a rest. The
argument @var{dir} determines whether the cue notes should be notated
as a first or second voice.")
(make-music 'QuoteMusic
- 'element main-music
- 'quoted-context-type 'CueVoice
- 'quoted-context-id "cue"
- 'quoted-music-name what
- 'quoted-voice-direction dir
+ 'element main-music
+ 'quoted-context-type 'CueVoice
+ 'quoted-context-id "cue"
+ 'quoted-music-name what
+ 'quoted-voice-direction dir
;; following is inverse of instrumentTransposition for
;; historical reasons
- 'quoted-transposition pitch))
+ 'quoted-transposition pitch))
transposition =
#(define-music-function (parser location pitch) (ly:pitch?)
%%%% You should have received a copy of the GNU General Public License
%%%% along with LilyPond. If not, see <http://www.gnu.org/licenses/>.
-\version "2.17.14"
+\version "2.19.16"
%%
%% setup for Request->Element conversion.
\context {
\type "Performer_group"
\name Staff
- \accepts Voice
\accepts CueVoice
\accepts NullVoice
+ \accepts Voice
\defaultchild Voice
\consists "Staff_performer"
}
\context {
- \type "Performer_group"
+ \Staff
\name KievanStaff
+ \alias Staff
\denies Voice
\accepts KievanVoice
\defaultchild KievanVoice
- \alias Staff
- \consists "Staff_performer"
- \consists "Key_performer"
- \consists "Midi_control_function_performer"
}
\context {
- \type "Performer_group"
+ \Staff
\name VaticanaStaff
\alias Staff
\denies Voice
\accepts VaticanaVoice
\defaultchild VaticanaVoice
- \consists "Staff_performer"
- \consists "Key_performer"
- \consists "Midi_control_function_performer"
}
\context {
- \type "Performer_group"
+ \Staff
\name MensuralStaff
+ \alias Staff
\denies Voice
\accepts MensuralVoice
\defaultchild MensuralVoice
+}
+
+\context {
+ \Staff
+ \name PetrucciStaff
\alias Staff
- \consists "Staff_performer"
- \consists "Key_performer"
- \consists "Midi_control_function_performer"
+ \denies Voice
+ \accepts PetrucciVoice
+ \defaultchild PetrucciVoice
+}
+
+\context {
+ \Staff
+ \name GregorianTranscriptionStaff
+ \alias Staff
+ \denies Voice
+ \accepts GregorianTranscriptionVoice
+ \defaultchild GregorianTranscriptionVoice
}
\context {
\Staff
\name DrumStaff
+ \alias Staff
midiInstrument = #"drums"
+ \denies Voice
\accepts DrumVoice
\defaultchild DrumVoice
}
}
\context {
- \type "Performer_group"
+ \Voice
\name VaticanaVoice
\alias Voice
- \consists "Dynamic_performer"
- \consists "Tie_performer"
- \consists "Note_performer"
- \consists "Beam_performer"
- autoBeaming = ##f % needed for consistent melismata with engravers
- \consists "Slur_performer"
+ autoBeaming = ##f % needed for consistent melismata with engravers"
}
\context {
- \type "Performer_group"
+ \Voice
\name KievanVoice
\alias Voice
- \consists "Dynamic_performer"
- \consists "Tie_performer"
- \consists "Note_performer"
- \consists "Beam_performer"
- autoBeaming = ##f % needed for consistent melismata with engravers
- \consists "Slur_performer"
+ autoBeaming = ##f % needed for consistent melismata with engravers"
}
\context {
- \type "Performer_group"
+ \Voice
\name MensuralVoice
\alias Voice
- \consists "Dynamic_performer"
- \consists "Tie_performer"
- \consists "Note_performer"
- \consists "Beam_performer"
autoBeaming = ##f % needed for consistent melismata with engravers
- \consists "Slur_performer"
}
\context {
\Voice
+ \name PetrucciVoice
+ \alias Voice
+ autoBeaming = ##f % needed for consistent melismata with engravers
+}
+
+\context {
+ \Voice
+ \name GregorianTranscriptionVoice
+ \alias Voice
+ autoBeaming = ##f % needed for consistent melismata with engravers
+}
+
+\context {
+ \Voice
+ \name DrumVoice
+ \alias Voice
\remove "Note_performer"
\consists "Drum_note_performer"
- \name DrumVoice
}
\context {
\context {
\type "Performer_group"
\name FretBoards
+ \alias Staff
}
\context {
\type "Performer_group"
\name GrandStaff
+ \accepts ChordNames
+ \accepts DrumStaff
+ \accepts Dynamics
+ \accepts FiguredBass
+ \accepts Lyrics
\accepts RhythmicStaff
\accepts Staff
- \accepts Dynamics
+ \accepts TabStaff
\defaultchild Staff
}
\context {
- \type "Performer_group"
- \name "PianoStaff"
- \accepts Staff
- \accepts DrumStaff
- \defaultchild Staff
+ \GrandStaff
+ \name PianoStaff
+ \alias GrandStaff
}
\context {
\Voice
\name TabVoice
+ \alias Voice
}
\context {
\type "Performer_group"
- \name "Devnull"
+ \name Devnull
+ \alias Voice
+ \alias Staff
}
\context {
\name TabStaff
midiInstrument = #"acoustic guitar (nylon)"
\alias Staff
+ \denies Voice
\accepts TabVoice
\defaultchild TabVoice
autoBeaming = ##f % needed for consistent melismata with engravers
%% quarter = 60
tempoWholesPerMinute = #(ly:make-moment 15/1)
- \accepts Staff
+ \accepts ChoirStaff
+ \accepts ChordNames
+ \accepts Devnull
\accepts DrumStaff
+ \accepts FiguredBass
\accepts GrandStaff
- \accepts PianoStaff
- \accepts TabStaff
- \accepts StaffGroup
- \accepts Devnull
+ \accepts GregorianTranscriptionStaff
+ \accepts KievanStaff
+ \accepts Lyrics
+ \accepts MensuralStaff
+ \accepts NoteNames
\accepts NullVoice
- \accepts ChoirStaff
+ \accepts PetrucciStaff
+ \accepts PianoStaff
\accepts RhythmicStaff
- \accepts ChordNames
- \accepts FiguredBass
\accepts FretBoards
- \accepts Lyrics
+ \accepts Staff
+ \accepts StaffGroup
+ \accepts TabStaff
\accepts VaticanaStaff
- \accepts KievanStaff
- \accepts MensuralStaff
\consists "Time_signature_performer"
\consists "Control_track_performer"
\context{
\type "Performer_group"
\name ChoirStaff
- \accepts Staff
+ \accepts ChoirStaff
+ \accepts ChordNames
+ \accepts FiguredBass
\accepts DrumStaff
+ \accepts GrandStaff
+ \accepts Lyrics
+ \accepts PianoStaff
+ \accepts RhythmicStaff
+ \accepts Staff
+ \accepts StaffGroup
\defaultchild Staff
}
\context {
\type "Performer_group"
\consists "Staff_performer"
- \accepts ChordNameVoice
- \defaultchild ChordNameVoice
- \name ChordNames
+ \name NoteNames
}
\context {
- \Voice
- \name ChordNameVoice
+ \type "Performer_group"
+ \consists "Staff_performer"
+ \name ChordNames
}
\context {
\type "Performer_group"
\name StaffGroup
- \accepts Staff
- \accepts DrumStaff
- \accepts TabStaff
- \accepts RhythmicStaff
- \accepts GrandStaff
- \accepts PianoStaff
- \accepts Lyrics
+ \accepts ChoirStaff
\accepts ChordNames
+ \accepts DrumStaff
\accepts FiguredBass
\accepts FretBoards
+ \accepts GrandStaff
+ \accepts Lyrics
+ \accepts PianoStaff
+ \accepts RhythmicStaff
+ \accepts Staff
+ \accepts StaffGroup
+ \accepts TabStaff
\defaultchild Staff
}
\context {
\Staff
\name RhythmicStaff
+ \alias Staff
+ \defaultchild Voice
}
\context {
\type "Performer_group"
\name Dynamics
+ \alias Voice
\consists "Piano_pedal_performer"
}
\storePredefinedDiagram #default-fret-table \chordmode {c:9}
#guitar-tuning
- #(chord-shape 'c:9 guitar-tuning)
+ #(chord-shape 'c:9 guitar-tuning)
\storePredefinedDiagram #default-fret-table \chordmode {cis:9}
#guitar-tuning
- #(offset-fret 1 (chord-shape 'c:9 guitar-tuning))
+ #(offset-fret 1 (chord-shape 'c:9 guitar-tuning))
\storePredefinedDiagram #default-fret-table \chordmode {des:9}
#guitar-tuning
- #(offset-fret 1 (chord-shape 'c:9 guitar-tuning))
+ #(offset-fret 1 (chord-shape 'c:9 guitar-tuning))
\storePredefinedDiagram #default-fret-table \chordmode {d:9}
#guitar-tuning
- #(offset-fret 2 (chord-shape 'c:9 guitar-tuning))
+ #(offset-fret 2 (chord-shape 'c:9 guitar-tuning))
\storePredefinedDiagram #default-fret-table \chordmode {dis:9}
#guitar-tuning
- #(offset-fret 3 (chord-shape 'c:9 guitar-tuning))
+ #(offset-fret 3 (chord-shape 'c:9 guitar-tuning))
\storePredefinedDiagram #default-fret-table \chordmode {ees:9}
#guitar-tuning
- #(offset-fret 3 (chord-shape 'c:9 guitar-tuning))
+ #(offset-fret 3 (chord-shape 'c:9 guitar-tuning))
\storePredefinedDiagram #default-fret-table \chordmode {e:9}
#guitar-tuning
- #"o;2-2;o;1-1;o;2-3;"
+ #"o;2-2;o;1-1;o;2-3;"
\storePredefinedDiagram #default-fret-table \chordmode {f:9}
#guitar-tuning
- #(chord-shape 'f:9 guitar-tuning)
+ #(chord-shape 'f:9 guitar-tuning)
\storePredefinedDiagram #default-fret-table \chordmode {fis:9}
#guitar-tuning
- #(offset-fret 1 (chord-shape 'f:9 guitar-tuning))
+ #(offset-fret 1 (chord-shape 'f:9 guitar-tuning))
\storePredefinedDiagram #default-fret-table \chordmode {ges:9}
#guitar-tuning
- #(offset-fret 1 (chord-shape 'f:9 guitar-tuning))
+ #(offset-fret 1 (chord-shape 'f:9 guitar-tuning))
\storePredefinedDiagram #default-fret-table \chordmode {g:9}
#guitar-tuning
- #(offset-fret 2 (chord-shape 'f:9 guitar-tuning))
+ #(offset-fret 2 (chord-shape 'f:9 guitar-tuning))
\storePredefinedDiagram #default-fret-table \chordmode {gis:9}
#guitar-tuning
- #(offset-fret 3 (chord-shape 'f:9 guitar-tuning))
+ #(offset-fret 3 (chord-shape 'f:9 guitar-tuning))
\storePredefinedDiagram #default-fret-table \chordmode {aes:9}
#guitar-tuning
- #(offset-fret 3 (chord-shape 'f:9 guitar-tuning))
+ #(offset-fret 3 (chord-shape 'f:9 guitar-tuning))
\storePredefinedDiagram #default-fret-table \chordmode {a:9}
#guitar-tuning
- #(offset-fret 4 (chord-shape 'f:9 guitar-tuning))
+ #(offset-fret 4 (chord-shape 'f:9 guitar-tuning))
\storePredefinedDiagram #default-fret-table \chordmode {ais:9}
#guitar-tuning
- #(offset-fret 5 (chord-shape 'f:9 guitar-tuning))
+ #(offset-fret 5 (chord-shape 'f:9 guitar-tuning))
\storePredefinedDiagram #default-fret-table \chordmode {bes:9}
#guitar-tuning
- #(offset-fret 5 (chord-shape 'f:9 guitar-tuning))
+ #(offset-fret 5 (chord-shape 'f:9 guitar-tuning))
\storePredefinedDiagram #default-fret-table \chordmode {b:9}
#guitar-tuning
- #(offset-fret -1 (chord-shape 'c:9 guitar-tuning))
+ #(offset-fret -1 (chord-shape 'c:9 guitar-tuning))
fermataMarkup =
#(make-music 'MultiMeasureTextEvent
- ;; Set the 'text based on the 'direction
- 'text (make-fermata-markup)
+ ;; Set the 'text based on the 'direction
+ 'text (make-fermata-markup)
'tweaks '((outside-staff-priority . 40)
- (outside-staff-padding . 0)))
+ (outside-staff-padding . 0)))
%% font sizes
\override PhrasingSlur.dash-definition = #'((0 1 0.1 0.75))
phrasingSlurHalfDashed =
\override PhrasingSlur.dash-definition = #'((0 0.5 0.4 0.75)
- (0.5 1 1 1))
+ (0.5 1 1 1))
phrasingSlurHalfSolid =
\override PhrasingSlur.dash-definition = #'((0 0.5 1 1)
- (0.5 1 0.4 0.75))
+ (0.5 1 0.4 0.75))
phrasingSlurSolid =
\revert PhrasingSlur.dash-definition
slurDashed = \override Slur.dash-definition = #'((0 1 0.4 0.75))
slurDotted = \override Slur.dash-definition = #'((0 1 0.1 0.75))
slurHalfDashed = \override Slur.dash-definition = #'((0 0.5 0.4 0.75)
- (0.5 1 1 1))
+ (0.5 1 1 1))
slurHalfSolid = \override Slur.dash-definition = #'((0 0.5 1 1)
- (0.5 1 0.4 0.75))
+ (0.5 1 0.4 0.75))
slurSolid = \revert Slur.dash-definition
tieDashed = \override Tie.dash-definition = #'((0 1 0.4 0.75))
tieDotted = \override Tie.dash-definition = #'((0 1 0.1 0.75))
tieHalfDashed = \override Tie.dash-definition = #'((0 0.5 0.4 0.75)
- (0.5 1 1 1))
+ (0.5 1 1 1))
tieHalfSolid = \override Tie.dash-definition = #'((0 0.5 1 1)
- (0.5 1 0.4 0.75))
+ (0.5 1 0.4 0.75))
tieSolid = \revert Tie.dash-definition
(if (defined? sname)
sname
`(substring (defaulting ,(sym part "InstrumentName") ,part)
- 0 1)))
+ 0 1)))
""))
#(defmacro lyrics-if-defined (name voice . optionals)
(let ((above (if (pair? optionals) (car optionals) #f)))
(if (defined? name)
`(make-music 'ContextSpeccedMusic
- 'create-new #t
- 'context-type 'Lyrics
- 'property-operations ',(if above `((assign alignAboveContext ,above)) '())
- 'element (make-music 'LyricCombineMusic
- 'associated-context ,voice
- 'element ,name))
+ 'create-new #t
+ 'context-type 'Lyrics
+ 'property-operations ',(if above `((assign alignAboveContext ,above)) '())
+ 'element (make-music 'LyricCombineMusic
+ 'associated-context ,voice
+ 'element ,name))
#{#})))
#(defmacro one-voice-staff (name clef)
#(defaulting Key)
\clef #(identity ,clef)
\new Voice = #(identity ,name) <<
- #(defaulting Time)
- \dynamicUp
- #(defaulting ,(sym name "Music"))
+ #(defaulting Time)
+ \dynamicUp
+ #(defaulting ,(sym name "Music"))
>>
}
#(lyrics-if-defined ,(sym name "Lyrics") ,name)
#(defaulting ,(sym v2name "InstrumentName") ,v2name)
}
shortInstrumentName = \markup \right-column \smallCaps {
- #(short-name ,v1name)
- #(short-name ,v2name)
+ #(short-name ,v1name)
+ #(short-name ,v2name)
}
midiInstrument = "clarinet"
} <<
#(defaulting Key)
\clef #(identity ,clef)
\new Voice = #(identity ,v1name) <<
- #(defaulting Time)
- \voiceOne
- \dynamicUp
- #(defaulting ,(sym v1name "Music"))
+ #(defaulting Time)
+ \voiceOne
+ \dynamicUp
+ #(defaulting ,(sym v1name "Music"))
>>
\new Voice = #(identity ,v2name) <<
- #(defaulting Time)
- \voiceTwo
- #(defaulting ,(sym v2name "Music"))
+ #(defaulting Time)
+ \voiceTwo
+ #(defaulting ,(sym v2name "Music"))
>>
>>
#(lyrics-if-defined ,(sym v1name "Lyrics") ,v1name ,name)
#(if (defaulting TwoVoicesPerStaff #f)
(two-voice-staff "Women" "treble" "Soprano" "Alto")
(make-simultaneous-music (list (one-voice-staff "Soprano" "treble")
- (one-voice-staff "Alto" "treble"))))
+ (one-voice-staff "Alto" "treble"))))
#(lyrics-if-defined VerseOne "Soprano")
#(lyrics-if-defined VerseTwo "Soprano")
#(if (defaulting TwoVoicesPerStaff #f)
(two-voice-staff "Men" "bass" "Tenor" "Bass")
(make-simultaneous-music (list (one-voice-staff "Tenor" "treble_8")
- (one-voice-staff "Bass" "bass"))))
+ (one-voice-staff "Bass" "bass"))))
>> % End ChoirStaff
\new PianoStaff
\clef "treble"
#(defaulting Key)
\new Voice <<
- #(defaulting Time)
- #(defaulting PianoRHMusic)
+ #(defaulting Time)
+ #(defaulting PianoRHMusic)
>>
}
\new Dynamics {
\clef "bass"
#(defaulting Key)
\new Voice <<
- #(defaulting Time)
- #(defaulting PianoLHMusic)
+ #(defaulting Time)
+ #(defaulting PianoLHMusic)
>>
}
>>
\keepWithTag #'play \SATB
\midi { }
}
-
(4 . 0)
(5 . 0)
(6 . 0)
- )
+ )
locrian = #`(
(4 . ,FLAT)
(5 . ,FLAT)
(6 . ,FLAT)
- )
+ )
aeolian = #`(
(4 . 0)
(5 . 0)
(6 . ,FLAT)
- )
+ )
lydian = #`(
(4 . 0)
(5 . 0)
(6 . 0)
- )
+ )
phrygian = #`(
(4 . 0)
(5 . ,FLAT)
(6 . ,FLAT)
-)
+)
dorian = #`(
(5 . 0)
(6 . ,FLAT)
)
-
harmonic = #(make-music 'HarmonicEvent)
accent = #(make-articulation "accent"
- 'midi-extra-velocity 20)
+ 'midi-extra-velocity 20)
coda = #(make-articulation "coda")
downbow = #(make-articulation "downbow")
downmordent = #(make-articulation "downmordent")
longfermata = #(make-articulation "longfermata")
ltoe = #(make-articulation "ltoe")
marcato = #(make-articulation "marcato"
- 'midi-extra-velocity 40)
+ 'midi-extra-velocity 40)
mordent = #(make-articulation "mordent")
open = #(make-articulation "open")
portato = #(make-articulation "portato"
- 'midi-length
- (lambda (len context)
- (ly:moment-mul len (ly:make-moment 3/4))))
+ 'midi-length
+ (lambda (len context)
+ (ly:moment-mul len (ly:make-moment 3/4))))
prall = #(make-articulation "prall")
pralldown = #(make-articulation "pralldown")
prallmordent = #(make-articulation "prallmordent")
signumcongruentiae = #(make-articulation "signumcongruentiae")
snappizzicato = #(make-articulation "snappizzicato")
staccatissimo = #(make-articulation "staccatissimo"
- 'midi-length
- (lambda (len context)
- (seconds->moment 1/8 context))
- 'midi-extra-velocity 6)
+ 'midi-length
+ (lambda (len context)
+ (seconds->moment 1/8 context))
+ 'midi-extra-velocity 6)
staccato = #(make-articulation "staccato"
- 'midi-length
- (lambda (len context)
- (moment-min (ly:moment-mul len (ly:make-moment 1/2))
- (seconds->moment 1/2 context)))
- 'midi-extra-velocity 4)
+ 'midi-length
+ (lambda (len context)
+ (moment-min (ly:moment-mul len (ly:make-moment 1/2))
+ (seconds->moment 1/2 context)))
+ 'midi-extra-velocity 4)
stopped = #(make-articulation "stopped")
tenuto = #(make-articulation "tenuto")
thumb = \finger \markup \scale #(cons (magstep 5) (magstep 5))
cr = #(make-span-event 'CrescendoEvent START)
decr = #(make-span-event 'DecrescendoEvent START)
enddecr = #(make-span-event 'DecrescendoEvent STOP)
-endcr = #(make-span-event 'CrescendoEvent STOP)
+endcr = #(make-span-event 'CrescendoEvent STOP)
startMeasureCount = #(make-span-event 'MeasureCounterEvent START)
deprecatedenddim = {
$(make-event-chord (list enddecr))
-% \unset decrescendoText
-% \unset decrescendoSpanner
+% \unset decrescendoText
+% \unset decrescendoSpanner
}
deprecatedendcresc = {
$(make-event-chord (list endcr))
-% \unset crescendoText
-% \unset crescendoSpanner
+% \unset crescendoText
+% \unset crescendoSpanner
}
}
crescHairpin = {
- \unset crescendoText
- \unset crescendoSpanner
+ \unset crescendoText
+ \unset crescendoSpanner
}
dimHairpin = {
- \unset decrescendoText
- \unset decrescendoSpanner
+ \unset decrescendoText
+ \unset decrescendoSpanner
}
%% convert 5-string banjo tuning to 4-string by removing the 5th string
four-string-banjo = #(lambda (tuning)
- (take tuning 4))
+ (take tuning 4))
#(define (add-text-replacements! alist)
(set! text-font-defaults
- (assoc-set! text-font-defaults 'replacement-alist
- (cdaar
- (internal-add-text-replacements (list text-font-defaults) alist)))))
+ (assoc-set! text-font-defaults 'replacement-alist
+ (cdaar
+ (internal-add-text-replacements (list text-font-defaults) alist)))))
#(define (include-special-characters)
(add-text-replacements!
#(let ((toc-item-list (list)))
(call-after-session (lambda () (set! toc-item-list '())))
(set! add-toc-item!
- (lambda (markup-symbol text)
- (let ((label (gensym "toc")))
- (set! toc-item-list
- (cons (list label markup-symbol text)
- toc-item-list))
- (make-music 'EventChord
- 'page-marker #t
- 'page-label label
- 'elements (list (make-music 'LabelEvent
- 'page-label label))))))
+ (lambda (markup-symbol text)
+ (let ((label (gensym "toc")))
+ (set! toc-item-list
+ (cons (list label markup-symbol text)
+ toc-item-list))
+ (make-music 'EventChord
+ 'page-marker #t
+ 'page-label label
+ 'elements (list (make-music 'LabelEvent
+ 'page-label label))))))
(set! toc-items (lambda ()
- (reverse toc-item-list))))
+ (reverse toc-item-list))))
\paper {
tocTitleMarkup = \markup \huge \column {
built using the @code{tocItem} music function
Usage: @code{\\markuplist \\table-of-contents}" )
(cons (interpret-markup layout props
- (ly:output-def-lookup layout 'tocTitleMarkup))
- (space-lines (chain-assoc-get 'baseline-skip props)
- (map (lambda (toc-item)
- (let ((label (car toc-item))
- (toc-markup (cadr toc-item))
- (text (caddr toc-item)))
- (interpret-markup
- layout
- (cons (list (cons 'toc:page
- (markup #:with-link label #:page-ref label "XXX" "?"))
- (cons 'toc:text (markup #:with-link label text))
- (cons 'toc:label label))
- props)
- (ly:output-def-lookup layout toc-markup))))
- (toc-items)))))
+ (ly:output-def-lookup layout 'tocTitleMarkup))
+ (space-lines (chain-assoc-get 'baseline-skip props)
+ (map (lambda (toc-item)
+ (let ((label (car toc-item))
+ (toc-markup (cadr toc-item))
+ (text (caddr toc-item)))
+ (interpret-markup
+ layout
+ (cons (list (cons 'toc:page
+ (markup #:with-link label #:page-ref label "XXX" "?"))
+ (cons 'toc:text (markup #:with-link label text))
+ (cons 'toc:label label))
+ props)
+ (ly:output-def-lookup layout toc-markup))))
+ (toc-items)))))
-tocItem =
+tocItem =
#(define-music-function (parser location text) (markup?)
"Add a line to the table of content, using the @code{tocItemMarkup} paper
variable markup"
# Esperanto translation of LilyPond.
-# Copyright (C) 2012, 2013 Free Software Foundation, Inc.
+# Copyright (C) 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the lilypond package.
-# Felipe Castro <fefcas@gmail.com>, 2012, 2013
+# Felipe Castro <fefcas@gmail.com>, 2012, 2013, 2015
#
msgid ""
msgstr ""
-"Project-Id-Version: lilypond 2.17.96\n"
+"Project-Id-Version: lilypond 2.19.16\n"
"Report-Msgid-Bugs-To: http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs\n"
-"POT-Creation-Date: 2013-11-24 12:14+0000\n"
-"PO-Revision-Date: 2013-11-26 13:22-0300\n"
+"POT-Creation-Date: 2015-02-28 14:31+0000\n"
+"PO-Revision-Date: 2015-03-03 10:33-0300\n"
"Last-Translator: Felipe Castro <fefcas@gmail.com>\n"
"Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
"Language: eo\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Poedit 1.6.10\n"
#: book_base.py:26
#, python-format
msgid "Running `%s' on file `%s' to detect default page settings.\n"
msgstr "Aplikado de '%s' al la dosiero '%s' por detekti apriorajn paĝ-agordojn.\n"
-#: book_latex.py:212 book_texinfo.py:228
+#: book_latex.py:219 book_texinfo.py:228
msgid "Unable to auto-detect default settings:\n"
msgstr "Ne eblas aŭtomate detekti apriorajn agordojn:\n"
-#: book_latex.py:224 book_texinfo.py:240
+#: book_latex.py:231 book_texinfo.py:240
#, python-format
msgid ""
"Unable to auto-detect default settings:\n"
"Ne eblas aŭtomate detekti apriorajn agordojn:\n"
"%s"
-#: book_latex.py:247
+#: book_latex.py:254
msgid "cannot detect textwidth from LaTeX"
msgstr "ne eblas detekti 'textwidth' el LaTex"
msgid "Missing files: %s"
msgstr "Mankantaj dosieroj: %s"
-#: book_snippets.py:651
+#: book_snippets.py:661
#, python-format
msgid "Could not overwrite file %s"
msgstr "Ne eblis anstataŭigi la dosieron %s"
-#: book_snippets.py:738
+#: book_snippets.py:748
#, python-format
msgid "Running through filter `%s'"
msgstr "Rulado tra filtro '%s'"
-#: book_snippets.py:759
+#: book_snippets.py:769
#, python-format
msgid "`%s' failed (%d)"
msgstr "'%s' fiaskis (%d)"
-#: book_snippets.py:760
+#: book_snippets.py:770
msgid "The error log is as follows:"
msgstr "La erar-protokolo estas jene:"
-#: book_snippets.py:880
+#: book_snippets.py:890
#, python-format
msgid "Converting MusicXML file `%s'...\n"
msgstr "Konvertado de dosiero MusicXML '%s'...\n"
-#: book_snippets.py:907
+#: book_snippets.py:917
#, python-format
msgid ""
"%s: duplicate filename but different contents of original file,\n"
"%s: duobligita dosiernomo tamen kun malsama enhavo ol la originala\n"
"dosiero, do ni printas 'diff' kontraŭ la ekzistanta dosiero."
-#: book_snippets.py:920
+#: book_snippets.py:930
#, python-format
msgid ""
"%s: duplicate filename but different contents of converted lilypond file,\n"
#: convertrules.py:82 convertrules.py:1856 convertrules.py:2032
#: convertrules.py:2175 convertrules.py:2506 convertrules.py:2801
-#: convertrules.py:3151 convertrules.py:3385
+#: convertrules.py:3151 convertrules.py:3385 convertrules.py:3697
msgid "bump version for release"
msgstr "aktualigi la version por eldono"
#: convertrules.py:2849
msgid "Dash parameters for slurs and ties are now in 'dash-definition.\n"
-msgstr "Strekaj parametroj por ligarkoj kaj ligaturoj estas nun en 'dash-definition.\n"
+msgstr "Strekaj parametroj por ligarkoj kaj ligaturoj estas nun en 'dash-definition'.\n"
#: convertrules.py:2854
msgid ""
"%s) al LilyPond-kodumaro.\n"
#: abc2ly.py:1395 convert-ly.py:92 etf2ly.py:1208 lilypond-book.py:231
-#: midi2ly.py:1095 musicxml2ly.py:2590 main.cc:181
+#: midi2ly.py:1095 musicxml2ly.py:2590 main.cc:183
msgid "show version number and exit"
msgstr "montri versi-numeron kaj eliri"
#: abc2ly.py:1398 convert-ly.py:96 etf2ly.py:1204 lilypond-book.py:140
-#: midi2ly.py:1062 musicxml2ly.py:2572 main.cc:160
+#: midi2ly.py:1062 musicxml2ly.py:2572 main.cc:162
msgid "show this help and exit"
msgstr "montri tiun ĉi helpon kaj eliri"
#. or if there is a LilyPond users list or forum in your language
#. "Report bugs in English via %s or in YOUR_LANG via URI"
#: abc2ly.py:1413 convert-ly.py:157 etf2ly.py:1218 lilypond-book.py:258
-#: midi2ly.py:1107 musicxml2ly.py:2674 main.cc:315
+#: midi2ly.py:1107 musicxml2ly.py:2674 main.cc:317
#, c-format, python-format
msgid "Report bugs via %s"
msgstr "Raportu program-misojn per %s (angle)"
msgstr "Montri protokolajn mesaĝojn laŭ PROTOKOLNIVELO (NONE, ERROR, WARNING, PROGRESS (apriore), DEBUG)"
#: convert-ly.py:111 lilypond-book.py:163 lilypond-book.py:181
-#: musicxml2ly.py:2629 main.cc:174
+#: musicxml2ly.py:2629 main.cc:176
msgid "LOGLEVEL"
msgstr "PROTOKOLNIVELO"
msgstr "fari numeritan savkopion [aprioras: dosiernomo.suf~]"
#: convert-ly.py:152 etf2ly.py:1212 lilypond-book.py:234 midi2ly.py:1096
-#: main.cc:183
+#: main.cc:185
msgid "show warranty and copyright"
msgstr "montri garantion kaj kopirajton"
msgid "Processing `%s'... "
msgstr "Procezado de '%s'... "
-#: convert-ly.py:367
+#: convert-ly.py:368
#, python-format
msgid "%s: Unable to open file"
msgstr "%s: Ne eblas malfermi dosieron"
-#: convert-ly.py:373
+#: convert-ly.py:374
#, python-format
msgid "%s: Unable to determine version. Skipping"
msgstr "%s: ne eblas determini version. Preterpase"
-#: convert-ly.py:379
+#: convert-ly.py:380
#, python-format
msgid ""
"%s: Invalid version string `%s' \n"
"%s: Malvalida versi-ĉeno '%s' \n"
"Validaj versi-ĉenoj konsistas el tri numeroj, apartitaj per punktoj, t.e. '2.8.12'"
-#: convert-ly.py:385
+#: convert-ly.py:386
#, python-format
msgid "There was %d error."
msgid_plural "There were %d errors."
"Coda Music Technology. etf2ly konvertas subaron de ETF al tujuzebla dosiero LilyPond.\n"
#: etf2ly.py:1210 midi2ly.py:1067 midi2ly.py:1072 musicxml2ly.py:2659
-#: main.cc:166 main.cc:178
+#: main.cc:168 main.cc:180
msgid "FILE"
msgstr "DOSIERO"
msgstr "aldoni UJOn al la inkluziva vojo"
#: lilypond-book.py:143 lilypond-book.py:150 lilypond-book.py:169
-#: lilypond-book.py:187 lilypond-book.py:208 lilypond-book.py:214 main.cc:165
+#: lilypond-book.py:187 lilypond-book.py:208 lilypond-book.py:214 main.cc:167
msgid "DIR"
msgstr "UJO"
msgid "Removing `%s'"
msgstr "Forigado de '%s'"
-#: lilypond-book.py:714
+#: lilypond-book.py:727
#, python-format
msgid "Setting LilyPond's loglevel to %s"
msgstr "Difinado de protokolnivelo de LilyPond al %s"
-#: lilypond-book.py:718
+#: lilypond-book.py:731
#, python-format
msgid "Setting LilyPond's loglevel to %s (from environment variable LILYPOND_LOGLEVEL)"
msgstr "Difinado de protokolnivelo de LilyPond al %s (el medi-variablo LILYPOND_LOGLEVEL)"
-#: lilypond-book.py:721
+#: lilypond-book.py:734
msgid "Setting LilyPond's output to --verbose, implied by lilypond-book's setting"
msgstr "Difinado de eligo de LilyPond al --verbose, implicite de la agordoj de lilypond-book"
msgid "Unable to find input file %s"
msgstr "Ne eblas trovi la enig-dosieron %s"
-#: website_post.py:125
+#: website_post.py:129
msgid "English"
msgstr "Angla"
-#: website_post.py:128
+#: website_post.py:132
msgid "Other languages"
msgstr "Aliaj lingvoj"
-#: website_post.py:129
+#: website_post.py:133
#, python-format
msgid "About <a href=\"%s\">automatic language selection</a>."
msgstr "Pri <a href=\"%s\">aŭtomata elekto de lingvo</a>."
msgid "procedure or context-name expected for accidental rule, found %s"
msgstr "proceduro aŭ kuntekst-nomo estis atendata por kromsigna regulo, trovite %s"
-#: accidental.cc:169
+#: accidental.cc:141
#, c-format
msgid "Could not find glyph-name for alteration %s"
msgstr "Ne eblis trovi 'glyph-name' por aliigo %s"
-#: accidental.cc:184
+#: accidental.cc:157
msgid "natural alteration glyph not found"
msgstr "signobildo de natura aliigo ne estis trovata"
msgid "cannot find line breaking that satisfies constraints"
msgstr "ne eblas trovi lini-salton kiu kontentigas limigojn"
-#: context-property.cc:43
+#: context-property.cc:46
msgid "need symbol arguments for \\override and \\revert"
msgstr "necesas simbol-argumentoj por \\override kaj \\revert"
-#: context.cc:149
+#: context.cc:143
#, c-format
msgid "cannot find or create new `%s'"
msgstr "ne eblas trovi aŭ krei novan '%s'"
-#: context.cc:228
+#: context.cc:222
#, c-format
msgid "cannot find or create `%s' called `%s'"
msgstr "ne eblas trovi aŭ krei '%s' nomata '%s'"
-#: context.cc:425
+#: context.cc:419
#, c-format
msgid "cannot find or create: `%s'"
msgstr "ne eblas trovi aŭ krei: '%s'"
-#: context.cc:439
+#: context.cc:433
#, c-format
msgid "cannot find or create new Bottom = \"%s\""
msgstr "ne eblas trovi aŭ krei novan Bottom = \"%s\""
msgid "custos `%s' not found"
msgstr "custos '%s' ne estis trovata"
-#: dispatcher.cc:89
+#: dispatcher.cc:83
msgid "Event class should be a list"
msgstr "Event-klaso devas esti listo"
-#: dispatcher.cc:172
+#: dispatcher.cc:166
#, c-format
msgid "Junking event: %s"
msgstr "Rubaĵa evento: %s"
-#: dispatcher.cc:277
+#: dispatcher.cc:271
msgid "Attempting to remove nonexisting listener."
msgstr "Provo forigi neekzistantan aŭdanton."
-#: dispatcher.cc:303
+#: dispatcher.cc:297
msgid "Already listening to dispatcher, ignoring request"
msgstr "Jam aŭdadas la disdonilon, ni preteratentas la peton"
msgid "Must be footnote-event."
msgstr "Devas esti piednota-evento."
-#: general-scheme.cc:390
+#: general-scheme.cc:403
#, c-format
msgid "failed redirecting stderr to `%s'"
msgstr "malsukceso dum redirektigo de stderr al '%s'"
-#: general-scheme.cc:469 output-ps.scm:48
+#: general-scheme.cc:482 output-ps.scm:48
msgid "Found infinity or nan in output. Substituting 0.0"
msgstr "Infinito aŭ NaN estis trovata en eligo. Anstataŭigo per 0.0"
msgid "%d: %s"
msgstr "%d: %s"
-#: grob.cc:488
+#: grob.cc:481
#, c-format
msgid "ignored infinite %s-offset"
msgstr "preteratentis senliman %s-deŝovon"
msgid "Asking for broken bound padding at a non-broken bound."
msgstr "Peto de rompita limig-ŝtopado ĉe ne-rompita limigo."
-#: hairpin.cc:256
+#: hairpin.cc:257
msgid "decrescendo too small"
msgstr "tro malgranda 'decrescendo'"
msgid "(search path: `%s')"
msgstr "(serĉvojo: '%s')"
-#: input.cc:138 source-file.cc:178 source-file.cc:193
+#: input.cc:138 source-file.cc:177 source-file.cc:192
msgid "position unknown"
msgstr "nekonata pozicio"
msgid "Not drawing a box with negative dimension, %.2f by %.2f."
msgstr "Ni ne desegnas skatolon kun negativan dimension, %.2f oble %.2f."
-#: lyric-combine-music-iterator.cc:199
+#: lyric-combine-music-iterator.cc:204
msgid "argument of \\lyricsto should contain Lyrics context"
msgstr "argumento de \\lyricsto devas enhavi kuntekston Lyrics"
-#: lyric-combine-music-iterator.cc:337
+#: lyric-combine-music-iterator.cc:349
#, c-format
-msgid "cannot find Voice `%s'"
-msgstr "ne eblas trovi Voĉon '%s'"
-
-#: lyric-engraver.cc:186
-msgid "Lyric syllable does not have note. Use \\lyricsto or associatedVoice."
-msgstr "Teksta silabo ne havas noton. Uzu \\lyricsto aŭ 'associatedVoice'."
+msgid "cannot find %s `%s'"
+msgstr "ne eblas trovi %s '%s'"
-#: main.cc:104
+#: main.cc:105
#, c-format
msgid ""
"This program is free software. It is covered by the GNU General Public\n"
"Publika Permeso kaj vi estas bonvena ŝanĝi ĝin kaj/aŭ re-disdoni kopiojn de ĝi\n"
"laŭ iaj kondiĉoj. Lanĉu kiel '%s --warranty' por pli da informo.\n"
-#: main.cc:110
+#: main.cc:111
msgid ""
" This program is free software; you can redistribute it and/or\n"
"modify it under the terms of the GNU General Public License as \n"
"Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n"
"Boston, MA 02111-1307, USA.\n"
-#: main.cc:148
+#: main.cc:149
msgid "SYM[=VAL]"
msgstr "SIM[=VAL]"
-#: main.cc:149
+#: main.cc:150
msgid ""
"set Scheme option SYM to VAL (default: #t).\n"
"Use -dhelp for help."
"difini modifilon Scheme SIM al VAL (apriore: *t).\n"
"Uzu -dhelp por ricevi helpon."
-#: main.cc:153
+#: main.cc:154
msgid "EXPR"
msgstr "ESPR"
-#: main.cc:153
+#: main.cc:154
msgid "evaluate scheme code"
msgstr "analizi kodumaron de scheme"
#. Bug in option parser: --output =foe is taken as an abbreviation
#. for --output-format.
-#: main.cc:156
+#: main.cc:157
msgid "FORMATs"
msgstr "FORMOj"
-#: main.cc:156
+#: main.cc:157
msgid "dump FORMAT,... Also as separate options:"
msgstr "ŝuti FORMOn,... Ankaŭ kiel apartaj modifiloj:"
-#: main.cc:157
+#: main.cc:158
msgid "generate PDF (default)"
msgstr "generi PDF (apriore)"
-#: main.cc:158
+#: main.cc:159
msgid "generate PNG"
msgstr "generi PNG"
-#: main.cc:159
+#: main.cc:160
msgid "generate PostScript"
msgstr "generi PostScript"
-#: main.cc:162
+#: main.cc:161
+msgid "generate big PDF files"
+msgstr "generi grandajn PDF-dosierojn"
+
+#: main.cc:164
msgid "FIELD"
msgstr "KAMPO"
-#: main.cc:162
+#: main.cc:164
msgid ""
"dump header field FIELD to file\n"
"named BASENAME.FIELD"
"ŝuti kap-kampo KAMPO al dosiero\n"
"nomata BAZNOMO.KAMPO"
-#: main.cc:165
+#: main.cc:167
msgid "add DIR to search path"
msgstr "aldoni UJOn al la serĉvojo"
-#: main.cc:166
+#: main.cc:168
msgid "use FILE as init file"
msgstr "uzi DOSIEROn kiel ekig-dosieron"
-#: main.cc:169
+#: main.cc:171
msgid "USER, GROUP, JAIL, DIR"
msgstr "UZANTO, GRUPO, KAĜO, UJO"
-#: main.cc:169
+#: main.cc:171
msgid ""
"chroot to JAIL, become USER:GROUP\n"
"and cd into DIR"
"chroot al KAĜO, fariĝi UZANTO:GRUPO\n"
"kaj cd en UJOn"
-#: main.cc:174
+#: main.cc:176
msgid ""
"print log messages according to LOGLEVEL. Possible values are:\n"
"NONE, ERROR, WARNING, BASIC, PROGRESS, INFO (default) and DEBUG."
"printi protokol-mesaĝojn laŭ PROTOKOLNIVELO. Eblaj valoroj estas:\n"
"NONE, ERROR, WARNING, BASIC, PROGRESS, INFO (apriore) kaj DEBUG."
-#: main.cc:178
+#: main.cc:180
msgid "write output to FILE (suffix will be added)"
msgstr "skribi eligon al DOSIERO (sufikso estos aldonata)"
-#: main.cc:179
+#: main.cc:181
msgid "relocate using directory of lilypond program"
msgstr "relokigi uzante dosierujon de la programo lilypond"
-#: main.cc:180
+#: main.cc:182
msgid "no progress, only error messages (equivalent to loglevel=ERROR)"
msgstr "sen progreso, nur eraraj mesaĝoj (egale al loglevel=ERROR)"
-#: main.cc:182
+#: main.cc:184
msgid "be verbose (equivalent to loglevel=DEBUG)"
msgstr "esti detalema (egale al loglevel=DEBUG)"
#. Do not update the copyright years here, run `make grand-replace'
-#: main.cc:261
+#: main.cc:263
#, c-format
msgid ""
"Copyright (c) %s by\n"
"%s kaj aliaj."
#. No version number or newline here. It confuses help2man.
-#: main.cc:299
+#: main.cc:301
#, c-format
msgid "Usage: %s [OPTION]... FILE..."
msgstr "Uzado: %s [MODIFILO]... DOSIERO..."
-#: main.cc:301
+#: main.cc:303
msgid "Typeset music and/or produce MIDI from FILE."
msgstr "Kompostado de muziko kaj/aŭ produktado de MIDI el DOSIERO."
-#: main.cc:303
+#: main.cc:305
msgid "LilyPond produces beautiful music notation."
msgstr "LilyPond produktas belan muzikan notadon."
-#: main.cc:305
+#: main.cc:307
#, c-format
msgid "For more information, see %s"
msgstr "Por pli da informo, vidu %s"
-#: main.cc:307
+#: main.cc:309
msgid "Options:"
msgstr "Modifiloj:"
-#: main.cc:374
+#: main.cc:376
#, c-format
msgid "expected %d arguments with jail, found: %u"
msgstr "estis atendataj %d argumentoj kun kaĝo, estis trovataj: %u"
-#: main.cc:388
+#: main.cc:390
#, c-format
msgid "no such user: %s"
msgstr "neniu tia uzanto: %s"
-#: main.cc:390
+#: main.cc:392
#, c-format
msgid "cannot get user id from user name: %s: %s"
msgstr "ne eblas preni uzanto-id el uzant-nomo: %s: %s"
-#: main.cc:405
+#: main.cc:407
#, c-format
msgid "no such group: %s"
msgstr "neniu tia grupo: %s"
-#: main.cc:407
+#: main.cc:409
#, c-format
msgid "cannot get group id from group name: %s: %s"
msgstr "ne eblas preni grupo-id el grup-nomo: %s: %s"
-#: main.cc:415
+#: main.cc:417
#, c-format
msgid "cannot chroot to: %s: %s"
msgstr "ne eblas apliki 'chroot' al: %s: %s"
-#: main.cc:422
+#: main.cc:424
#, c-format
msgid "cannot change group id to: %d: %s"
msgstr "ne eblas ŝanĝi grupo-id al: %d: %s"
-#: main.cc:428
+#: main.cc:430
#, c-format
msgid "cannot change user id to: %d: %s"
msgstr "ne eblas ŝanĝi uzant-id al: %d: %s"
-#: main.cc:434
+#: main.cc:436
#, c-format
msgid "cannot change working directory to: %s: %s"
msgstr "ne eblas ŝanĝi aktualan dosierujon al: %s: %s"
-#: main.cc:805
+#: main.cc:825
#, c-format
msgid "exception caught: %s"
msgstr "kaptita krom-okazo: %s"
"and there may be only zero or two of them"
msgstr ""
"plenoj nur povas aperi ĉe komenco de kantligaturo,\n"
-"kaj devas esti nur \"neniu\" aŭ du el ili"
+"kaj devas esti nur du el ili aŭ neniu"
#: mensural-ligature-engraver.cc:236
msgid ""
msgid "cannot write to file: `%s'"
msgstr "ne eblas skribi en dosiero: '%s'"
-#: minimal-page-breaking.cc:40 paper-score.cc:122
+#: minimal-page-breaking.cc:40 paper-score.cc:116
msgid "Calculating line breaks..."
msgstr "Kalkulado de lini-saltoj..."
msgid "Calculating page breaks..."
msgstr "Kalkulado de paĝsaltoj..."
-#: multi-measure-rest.cc:154
+#: multi-measure-rest.cc:152
msgid "usable-duration-logs must be a non-empty list. Falling back to whole rests."
msgstr "'usable-duration-logs' devas esti ne-malplena listo. Ni revenas al plenaj paŭzoj."
-#: multi-measure-rest.cc:364
-msgid "Using naive multi measure rest spacing."
-msgstr "Uzanta naivan plur-mezuran paŭzo-spacadon."
-
-#: music.cc:150
+#: music.cc:149
#, c-format
msgid "octave check failed; expected \"%s\", found: \"%s\""
msgstr "kontrolo de okto fiaskis; atendite \"%s\", trovite: \"%s\""
-#: music.cc:219
-msgid "(normalized pitch)"
-msgstr "(normigita tonalto)"
-
-#: music.cc:223
-#, c-format
-msgid "Transposing %s by %s makes alteration larger than double"
-msgstr "Transpono de %s per %s igas aliigon pli granda ol duobla"
-
#: new-fingering-engraver.cc:113
msgid "cannot add text scripts to individual note heads"
msgstr "ne eblas aldoni tekstajn skriptojn al individuaj noto-kapoj"
msgid "placing below"
msgstr "ni metas sube"
-#: note-collision.cc:497
-msgid "ignoring too many clashing note columns"
-msgstr "ni preterpasas tro multajn kolumnojn kun koliziantaj notoj"
+#: note-collision.cc:510
+msgid "this Voice needs a \\voiceXx or \\shiftXx setting"
+msgstr "tiu ĉi 'Voice' bezonas agordo de \\voiceXx aŭ \\shiftXx"
-#: note-column.cc:147
+#: note-column.cc:150
msgid "cannot have note heads and rests together on a stem"
msgstr "ne eblas ekzisti kune notkapoj kaj paŭzoj en stango"
msgid "NoteEvent without pitch"
msgstr "NoteEvent sen tonalto"
-#: open-type-font.cc:45
+#: open-type-font.cc:46
#, c-format
msgid "cannot allocate %lu bytes"
msgstr "ne eblas rezervi %lu bajtojn"
-#: open-type-font.cc:49
+#: open-type-font.cc:50
#, c-format
msgid "cannot load font table: %s"
msgstr "ne eblas ŝargi je tipara tabelo: %s"
-#: open-type-font.cc:54
+#: open-type-font.cc:55
#, c-format
msgid "FreeType error: %s"
msgstr "Eraro de FreeType: %s"
-#: open-type-font.cc:111
+#: open-type-font.cc:112
#, c-format
msgid "unsupported font format: %s"
msgstr "ne subtenata formo de tiparo: %s"
-#: open-type-font.cc:113
+#: open-type-font.cc:114
#, c-format
msgid "error reading font file %s: %s"
msgstr "eraro dum legado de tipara dosiero %s: %s"
-#: open-type-font.cc:188
+#: open-type-font.cc:189
#, c-format
msgid "FT_Get_Glyph_Name () Freetype error: %s"
msgstr "Eraro de FT_Get_Glyph_Name () en Freetype: %s"
-#: open-type-font.cc:336 pango-font.cc:256
+#: open-type-font.cc:337 pango-font.cc:257
#, c-format
msgid "FT_Get_Glyph_Name () error: %s"
msgstr "Eraro de FT_Get_Glyph_Name (): %s"
msgstr "plej bona poento por tiu ĉi 'sys-count': %f"
#: optimal-page-breaking.cc:216 page-turn-page-breaking.cc:248
-#: paper-score.cc:162
+#: paper-score.cc:156
msgid "Drawing systems..."
msgstr "Desegnado de sistemoj..."
-#: output-def.cc:235
+#: output-def.cc:230
msgid "margins do not fit with line-width, setting default values"
msgstr "marĝenoj ne akordas kun lini-larĝo, ni uzas apriorajn valorojn"
-#: output-def.cc:242
+#: output-def.cc:237
msgid "systems run off the page due to improper paper settings, setting default values"
msgstr "sistemoj iras preter la paĝo pro malĝustaj paperaj agordoj, ni uzas apriorajn valorojn"
-#: page-breaking.cc:277
+#: page-breaking.cc:276
msgid "ignoring min-systems-per-page and max-systems-per-page because systems-per-page was set"
msgstr "ni preteratentas 'min-systems-per-page' kaj 'max-systems-per-page' ĉar 'systems-per-page' ne estis difinata"
-#: page-breaking.cc:282
+#: page-breaking.cc:281
msgid "min-systems-per-page is larger than max-systems-per-page, ignoring both values"
msgstr "'min-systems-per-page' estas pli granda ol 'max-systems-per-page', ni preteratentas ambaŭ"
+#: page-breaking.cc:636
+#, c-format
+msgid "page %d has been compressed"
+msgstr "la paĝo %d estas densigita"
+
#: page-layout-problem.cc:402
msgid "A page layout problem has been initiated that cannot accommodate footnotes."
msgstr "Paĝ-aranĝa problemo estis ekigata, kaj ĝi ne povas enteni piednotojn."
#: page-layout-problem.cc:731
-msgid "cannot fit music on page: ragged-spacing was requested, but page was compressed"
-msgstr "ne eblas akomodi muzikon sur paĝo: 'ragged-spacing' estis petata, sed la paĝo estis densigata"
+msgid "ragged-bottom was specified, but page must be compressed"
+msgstr "'ragged-bottom' estis indikata, sed paĝo devas esti densigita"
#: page-layout-problem.cc:734
#, c-format
-msgid "cannot fit music on page: overflow is %f"
-msgstr "ne eblas akomodi muzikon sur paĝo: troo estas %f"
-
-#: page-layout-problem.cc:736
-msgid "compressing music to fit"
-msgstr "densigado de muziko por akomodi"
+msgid "compressing over-full page by %.1f staff-spaces"
+msgstr "ni densigas tra tuta paĝo per %.1f liniar-spacoj"
#: page-layout-problem.cc:1199
msgid "staff-affinities should only decrease"
-msgstr "'staff-affinities' devus nur malpliigi"
+msgstr "'staff-affinities' devus nur malpliiĝi"
#: page-turn-page-breaking.cc:168
#, c-format
msgid "\tprevious break: %d"
msgstr "\tantaŭa salto: %d"
-#: pango-font.cc:245
+#: pango-font.cc:246
#, c-format
msgid "no glyph for character U+%0X in font `%s'"
msgstr "ne estas signobildo por la signo U+%0X en la tiparo '%s'"
-#: pango-font.cc:272
+#: pango-font.cc:273
#, c-format
msgid ""
"Glyph has no name, but font supports glyph naming.\n"
"Signobildo ne havas nomon, sed la tiparo subtenas nomigon de signobildoj.\n"
"Ni preterpasas signobildon U+%0X, dosiero %s"
-#: pango-font.cc:322
+#: pango-font.cc:323
#, c-format
msgid "no PostScript font name for font `%s'"
msgstr "neniu tiparnomo PostScript por la tiparo '%s'"
-#: pango-font.cc:372
+#: pango-font.cc:373
msgid "FreeType face has no PostScript font name"
msgstr "Tiparo FreeType ne havas tiparnomon PostScript"
-#: paper-book.cc:214
+#: paper-book.cc:201
#, c-format
msgid "program option -dprint-pages not supported by backend `%s'"
msgstr "programa modifilo -dprint-pages ne estas subtenata de la intern-interfaco '%s'"
-#: paper-book.cc:233
+#: paper-book.cc:220
#, c-format
msgid "program option -dpreview not supported by backend `%s'"
msgstr "programa modifilo -dpreview ne estas subtenata de la intern-interfaco '%s'"
msgid "Layout output to `%s'..."
msgstr "Aranĝa eligo al '%s'..."
-#: paper-score.cc:134
+#: paper-score.cc:128
#, c-format
msgid "Element count %d (spanners %d) "
msgstr "Nombro da elementoj: %d (etendigiloj %d) "
-#: paper-score.cc:138
+#: paper-score.cc:132
msgid "Preprocessing graphical objects..."
msgstr "Antaŭprocezado de grafikaj objektoj..."
-#: parse-scm.cc:121
+#: parse-scm.cc:128
msgid "GUILE signaled an error for the expression beginning here"
msgstr "GUILE signalis eraron por la esprimo komenciĝanta ĉi tie"
-#: partial-iterator.cc:45
-msgid "trying to use \\partial after the start of a piece"
-msgstr "ni provas uzi \\partial post la komenco de muziko"
-
#: pdf-scheme.cc:65
#, c-format
msgid "Conversion of string `%s' to UTF-16be failed: %s"
msgstr "Konvertado de ĉeno '%s' al UTF-16be fiaskis: %s"
-#: percent-repeat-engraver.cc:147
+#: percent-repeat-engraver.cc:148
msgid "unterminated percent repeat"
msgstr "nefinigita elcenta ripeto"
-#: performance.cc:54
+#: performance.cc:55
msgid "Track..."
msgstr "Sekvado..."
-#: performance.cc:82
+#: performance.cc:90
#, c-format
msgid "MIDI output to `%s'..."
msgstr "MIDI-eligo al '%s'..."
msgid "no such internal option: %s"
msgstr "neniu tia interna modifilo: %s"
-#: property-iterator.cc:100
+#: property-iterator.cc:115
#, c-format
msgid "not a grob name, `%s'"
msgstr "ne estas 'grob'-nomo, '%s'"
msgid "Unknown relocation command %s"
msgstr "Nekonata relokiga komando %s"
-#: rest-collision-engraver.cc:70
-msgid "rhythmic head is not part of a rhythmic column"
-msgstr "ritma kapo ne estas parto de ritma kolumno"
-
-#: rest-collision.cc:150
+#: rest-collision.cc:153
msgid "cannot resolve rest collision: rest direction not set"
msgstr "ne eblas solvi paŭzan kolizion: la paŭz-direkto ne estis difinata"
-#: rest-collision.cc:161 rest-collision.cc:270
+#: rest-collision.cc:164 rest-collision.cc:273
msgid "too many colliding rests"
msgstr "tro multe da koliziantaj paŭzoj"
-#: rest.cc:240
+#: rest.cc:239
#, c-format
msgid "rest `%s' not found"
msgstr "paŭzo '%s' ne estis trovata"
-#: score-engraver.cc:78
+#: score-engraver.cc:79
#, c-format
msgid "cannot find `%s'"
msgstr "ne eblas trovi '%s'"
-#: score-engraver.cc:80
+#: score-engraver.cc:81
msgid "Music font has not been installed properly."
msgstr "Muzika tiparo ne estas instalita ĝuste."
-#: score-engraver.cc:82
+#: score-engraver.cc:83
#, c-format
msgid "Search path `%s'"
msgstr "Serĉvojo '%s'"
-#: score-engraver.cc:84
+#: score-engraver.cc:85
msgid "Aborting"
msgstr "Ni ĉesas"
-#: score.cc:172
+#: score.cc:160
msgid "already have music in score"
msgstr "jam estas muziko en la partituro"
-#: score.cc:173
+#: score.cc:161
msgid "this is the previous music"
msgstr "tio ĉi estas la antaŭa muziko"
-#: score.cc:178
+#: score.cc:166
msgid "errors found, ignoring music expression"
msgstr "eraroj trovitaj, ni preterpasas la muzikan esprimon"
msgid " scheme encoding: "
msgstr " enkodado de 'scheme': "
-#: skyline-pair.cc:160
+#: skyline-pair.cc:135
msgid "direction must not be CENTER in ly:skyline-pair::skyline"
msgstr "direkto ne povas esti CENTER en ly:skyline-pair::skyline"
msgid "remapping modulo 16"
msgstr "remapado de modulo 16"
-#: stem-engraver.cc:110
+#: stem-engraver.cc:100
msgid "tremolo duration is too long"
msgstr "daŭro de tremsono estas tro longa"
-#: stem-engraver.cc:162
+#: stem-engraver.cc:152
#, c-format
msgid "adding note head to incompatible stem (type = %d/%d)"
msgstr "aldonado de notkapo al malakorda stango (tipo = %d/%d)"
-#: stem-engraver.cc:165
+#: stem-engraver.cc:155
msgid "maybe input should specify polyphonic voices"
msgstr "eble la enigo devus indiki polifoniajn voĉojn"
msgstr "Nombro da 'grob': %d"
#. TODO: Also print the arguments of the markup!
-#: text-interface.cc:129
-#, c-format
-msgid "Cyclic markup detected: %s"
-msgstr "Cikla markado estis detektata: %s"
-
-#. TODO: Also print the arguments of the markup!
-#: text-interface.cc:142
+#: text-interface.cc:138
#, c-format
msgid "Markup depth exceeds maximal value of %d; Markup: %s"
msgstr "Markada profundo superas maksimuman valoron %d; Markado: %s"
msgid "unterminated text spanner"
msgstr "nefinigita tekst-etendigilo"
-#: tie-engraver.cc:119
+#: tie-engraver.cc:121
msgid "unterminated tie"
msgstr "nefinigita ligaturo"
-#: tie-engraver.cc:353
+#: tie-engraver.cc:373
msgid "lonely tie"
msgstr "sola ligaturo"
#.
#. OTOH, Tristan Keuris writes 8/20 in his Intermezzi.
#.
-#: time-signature-engraver.cc:75
+#: time-signature-engraver.cc:95
#, c-format
msgid "strange time signature found: %d/%d"
msgstr "stranga takt-indiko estis trovata: %d/%d"
-#. If there is no such symbol, we default to the numbered style.
-#. (Here really with a warning!)
-#: time-signature.cc:89
-#, c-format
-msgid "time signature symbol `%s' not found; reverting to numbered style"
-msgstr "tempindika simbolo '%s' ne estis trovata; ni revenas al numera stilo"
-
#: translator-ctors.cc:65
#, c-format
msgid "unknown translator: `%s'"
msgid "cannot find: `%s'"
msgstr "ne eblas trovi: '%s'"
-#: translator.cc:326
+#: translator.cc:320
#, c-format
msgid "Two simultaneous %s events, junking this one"
msgstr "Du samtempaj eventoj %s, ni forĵetas tiun ĉi"
-#: translator.cc:327
+#: translator.cc:321
#, c-format
msgid "Previous %s event here"
msgstr "Antaŭa evento %s ĉi tie"
msgid "giving up"
msgstr "ni rezignas"
-#: parser.yy:158 parser.yy:172
-msgid "Too much lookahead"
-msgstr "Tro da antaŭrigardo"
-
-#: parser.yy:441 parser.yy:752 parser.yy:818
+#: parser.yy:463 parser.yy:847 parser.yy:928 parser.yy:1150
msgid "bad expression type"
msgstr "malĝusta esprim-tipo"
-#: parser.yy:650 parser.yy:1159
+#: parser.yy:759 parser.yy:1361 parser.yy:1406
msgid "not a context mod"
msgstr "ne estas kunteksta 'mod'"
-#: parser.yy:853
-msgid "score expected"
-msgstr "estis atendata muzik-skribaĵo"
+#: parser.yy:954
+msgid "Missing music in \\score"
+msgstr "Mankas muziko en \\score"
-#: parser.yy:869
+#: parser.yy:991
msgid "\\paper cannot be used in \\score, use \\layout instead"
msgstr "\\paper ne povas esti uzata en \\score, uzu \\layout anstataŭe"
-#: parser.yy:893
+#: parser.yy:1027
+msgid "Spurious expression in \\score"
+msgstr "Hazarda esprimo en \\score"
+
+#: parser.yy:1057
msgid "need \\paper for paper block"
msgstr "necesas \\paper por papera bloko"
-#: parser.yy:1033 parser.yy:1055
+#: parser.yy:1234
+msgid "music expected"
+msgstr "estis atendata muziko"
+
+#: parser.yy:1244 parser.yy:1278
msgid "unexpected post-event"
msgstr "malatendita post-evento"
-#: parser.yy:1063
+#: parser.yy:1286
msgid "Ignoring non-music expression"
msgstr "Ni preterpasas ne-muzikan esprimon"
-#: parser.yy:1075 parser.yy:2493
-msgid "music expected"
-msgstr "estis atendata muziko"
-
-#: parser.yy:1370
+#: parser.yy:1587
msgid "not a symbol"
msgstr "ne estas simbolo"
-#: parser.yy:2182 parser.yy:2296 parser.yy:2309 parser.yy:2318
+#: parser.yy:2337 parser.yy:2451 parser.yy:2464 parser.yy:2473
msgid "bad grob property path"
msgstr "malĝusta vojo de eco de 'grob'"
-#: parser.yy:2276
+#: parser.yy:2431
msgid "only \\consists and \\remove take non-string argument."
msgstr "nur \\consists kaj \\remove prenas ne-ĉenan argumenton."
-#: parser.yy:2337
+#: parser.yy:2492
msgid "bad context property path"
msgstr "malĝusta vojo de eco de kunteksto"
-#: parser.yy:2438
+#: parser.yy:2593
msgid "simple string expected"
msgstr "estis atendata simpla ĉeno"
-#: parser.yy:2456
+#: parser.yy:2611
msgid "symbol expected"
msgstr "simbolo estis atendata"
-#: parser.yy:2611
+#: parser.yy:2747
msgid "not a rhythmic event"
msgstr "ne estas ritma evento"
-#: parser.yy:2685
+#: parser.yy:2797
msgid "post-event expected"
msgstr "post-evento estis atendata"
-#: parser.yy:2694 parser.yy:2699
+#: parser.yy:2806 parser.yy:2811
msgid "have to be in Lyric mode for lyrics"
msgstr "devas esti en reĝimo Lyric por tekstoj"
-#: parser.yy:2767
-msgid "expecting string as script definition"
-msgstr "ni atendas ĉeno kiel difino de skripto"
+#: parser.yy:2887
+msgid "expecting string or post-event as script definition"
+msgstr "ni atendas ĉenon aŭ post-eventon kiel difinon de skripto"
-#: parser.yy:2875
+#: parser.yy:2991
msgid "not an articulation"
msgstr "ne estas artikulacio"
-#: parser.yy:2947 parser.yy:2990
+#: parser.yy:3063 parser.yy:3106
msgid "not a duration"
msgstr "ne estas daŭro"
-#: parser.yy:3007
+#: parser.yy:3127
msgid "bass number expected"
msgstr "estis atendata bas-simbolo"
-#: parser.yy:3106
+#: parser.yy:3219
msgid "have to be in Note mode for notes"
msgstr "devas esti en reĝimo Note por notoj"
-#: parser.yy:3166
+#: parser.yy:3258
msgid "have to be in Chord mode for chords"
msgstr "devas esti en reĝimo Chord por akordoj"
-#: parser.yy:3181
+#: parser.yy:3301
msgid "markup outside of text script or \\lyricmode"
msgstr "markado for de teksta skripto aŭ \\lyricmode"
-#: parser.yy:3186
+#: parser.yy:3306
msgid "unrecognized string, not in text script or \\lyricmode"
msgstr "nerekonita ĉeno, ne estas en teksta skripto aŭ \\lyricmode"
-#: parser.yy:3347 parser.yy:3356
+#: parser.yy:3458 parser.yy:3467
msgid "not an unsigned integer"
msgstr "ne estas sensigna entjero"
-#: parser.yy:3424
+#: parser.yy:3541
msgid "not a markup"
msgstr "ne estas markado"
-#: lexer.ll:224
+#: lexer.ll:192
msgid "stray UTF-8 BOM encountered"
msgstr "perdita UTF-8 BOM aperis"
-#: lexer.ll:227
+#: lexer.ll:195
msgid "Skipping UTF-8 BOM"
msgstr "Preterpasado de UTF-8 BOM"
-#: lexer.ll:279
+#: lexer.ll:247
#, c-format
msgid "Renaming input to: `%s'"
msgstr "Renomigo de la enigo al: '%s'"
-#: lexer.ll:296
+#: lexer.ll:264
msgid "quoted string expected after \\version"
msgstr "citita ĉeno estas atendata post \\version"
-#: lexer.ll:300
+#: lexer.ll:268
msgid "quoted string expected after \\sourcefilename"
msgstr "citita ĉeno estas atendata post \\sourcefilename"
-#: lexer.ll:304
+#: lexer.ll:272
msgid "integer expected after \\sourcefileline"
msgstr "entjero estas atendata post \\sourcefileline"
-#: lexer.ll:331
+#: lexer.ll:299
msgid "\\maininput not allowed outside init files"
msgstr "\\maininput ne estas permesata ekstere de dosieroj 'init'"
-#: lexer.ll:355
+#: lexer.ll:323
#, c-format
msgid "wrong or undefined identifier: `%s'"
msgstr "malĝusta aŭ nedifinita identigilo: '%s'"
-#: lexer.ll:381
+#: lexer.ll:348
msgid "string expected after \\include"
msgstr "ĉeno estas atendata post \\include"
-#: lexer.ll:391
+#: lexer.ll:358
msgid "end quote missing"
msgstr "fina citilo mankas"
-#: lexer.ll:743
+#: lexer.ll:713
msgid "EOF found inside a comment"
msgstr "EOF estis trovata interne de komento"
-#: lexer.ll:748
+#: lexer.ll:718
msgid "EOF found inside string"
msgstr "EOF estis trovata ene de ĉeno"
-#: lexer.ll:763
+#: lexer.ll:733
msgid "Unfinished main input"
msgstr "Nefinigita ĉefenigo"
-#: lexer.ll:834
+#: lexer.ll:804
#, c-format
msgid "invalid character: `%s'"
msgstr "malvalida signo: '%s'"
-#: lexer.ll:963
+#: lexer.ll:924
#, c-format
msgid "unknown escaped string: `\\%s'"
msgstr "nekonata eskapita ĉeno: '\\%s'"
-#: lexer.ll:983
+#: lexer.ll:944
#, c-format
msgid "undefined character or shorthand: %s"
msgstr "nedifinita signo aŭ mallongigo: %s"
-#: lexer.ll:1275
+#: lexer.ll:1235
msgid "non-UTF-8 input"
msgstr "ne-unikoda enigo"
-#: lexer.ll:1319
+#: lexer.ll:1279
+#, c-format
+msgid "Invalid version string \"%s\""
+msgstr "Malvalida versio-ĉeno \"%s\""
+
+#: lexer.ll:1284
#, c-format
msgid "file too old: %s (oldest supported: %s)"
msgstr "dosiero tro malnova: %s (pli malnova subtenata: %s)"
-#: lexer.ll:1320
+#: lexer.ll:1285
msgid "consider updating the input with the convert-ly script"
msgstr "konsideru ĝisdatigi la enigon per la skripto 'convert-ly'"
-#: lexer.ll:1326
+#: lexer.ll:1291
#, c-format
msgid "program too old: %s (file requires: %s)"
msgstr "programo tro malnova: %s (la dosiero postulas: %s)"
+#: auto-beam.scm:147
+msgid "Beam end fits no pattern"
+msgstr "Vostliga fino kongruas kun neniu ŝablono"
+
#: backend-library.scm:27
#, scheme-format
msgid "Invoking `~a'..."
msgid "`~a' failed (~a)\n"
msgstr "'~a' fiaskis (~a)\n"
-#: backend-library.scm:93
+#: backend-library.scm:94
#, scheme-format
msgid "Converting to `~a'...\n"
msgstr "Konvertado al '~a'...\n"
#. Do not try to guess the name of the png file,
#. GS produces PNG files like BASE-page%d.png.
-#: backend-library.scm:102
+#: backend-library.scm:103
#, scheme-format
msgid "Converting to ~a..."
msgstr "Konvertado al ~a..."
-#: backend-library.scm:140
+#: backend-library.scm:141
#, scheme-format
msgid "Writing header field `~a' to `~a'..."
msgstr "Skribado de kapa kampo '~a' al '~a'..."
-#: backend-library.scm:189
+#: backend-library.scm:190
#, scheme-format
msgid "missing stencil expression `~S'"
msgstr "mankas esprimo de 'stencil' '~S'"
msgid "symbol ~S redefined"
msgstr "simbolo ~S estis redifinata"
-#: define-event-classes.scm:73
+#: define-event-classes.scm:74
#, scheme-format
msgid "unknown parent class `~a'"
msgstr "nekonata event-klaso '~a'"
-#: define-event-classes.scm:107
+#: define-event-classes.scm:108
#, scheme-format
msgid "Cannot redefine event class `~S'"
msgstr "ne eblas redifini event-klason '~S'"
-#: define-event-classes.scm:109
+#: define-event-classes.scm:110
#, scheme-format
msgid "Undefined parent event class `~S'"
msgstr "nekonata patra event-klaso '~S'"
-#: define-markup-commands.scm:1083
+#: define-markup-commands.scm:1062
msgid "no systems found in \\score markup, does it have a \\layout block?"
msgstr "neniu sistemo estis trovata en markado \\score, ĉu ĝi havas blokon \\layout?"
-#: define-markup-commands.scm:2847
+#: define-markup-commands.scm:2886
#, scheme-format
msgid "Cannot find glyph ~a"
msgstr "Ne eblas trovi signobildon ~a"
-#: define-markup-commands.scm:3273
+#: define-markup-commands.scm:3362
#, scheme-format
msgid "no brace found for point size ~S "
msgstr "neniu kurbkrampo estis trovata por la punkta grando ~S "
-#: define-markup-commands.scm:3274
+#: define-markup-commands.scm:3363
#, scheme-format
msgid "defaulting to ~S pt"
msgstr "apriore al ~S pt"
-#: define-markup-commands.scm:3526
+#: define-markup-commands.scm:3615
#, scheme-format
msgid "not a valid duration string: ~a"
msgstr "ne estas valida daŭro-ĉeno: ~a"
-#: define-markup-commands.scm:3737
+#: define-markup-commands.scm:3826
#, scheme-format
msgid "not a valid duration string: ~a - ignoring"
msgstr "ne estas valida daŭro-ĉeno: ~a - ni preteratentas"
-#: define-music-types.scm:792
+#: define-music-types.scm:797
#, scheme-format
msgid "symbol expected: ~S"
msgstr "atendata simbolo: ~S"
-#: define-music-types.scm:795
+#: define-music-types.scm:800
#, scheme-format
msgid "cannot find music object: ~S"
msgstr "ne eblas trovi muzik-objekton: ~S"
-#: define-music-types.scm:815
+#: define-music-types.scm:820
#, scheme-format
msgid "bad make-music argument: ~S"
msgstr "malĝusta argumento make-music: ~S"
-#: define-music-types.scm:827
-#, scheme-format
-msgid "unknown repeat type `~S'"
-msgstr "nekonata ripeto-tipo '~S'"
-
-#: define-music-types.scm:828
-msgid "See define-music-types.scm for supported repeats"
-msgstr "Vidu 'define-music-types.scm' por subtenataj ripetoj"
-
#: define-note-names.scm:972
msgid "Select note names language."
msgstr "Elekti lingvon de not-nomoj."
msgid "Could not find language `~a'. Ignoring."
msgstr "Ne eblis trovi la lingvon '~a'. Preterpaso."
-#: document-backend.scm:132
+#: document-backend.scm:135
#, scheme-format
msgid "pair expected in doc ~s"
msgstr "paro estas atendata en dok ~s"
-#: document-backend.scm:189
+#: document-backend.scm:202
#, scheme-format
msgid "cannot find interface for property: ~S"
msgstr "ne eblas trovi interfacon por la atributo: ~S"
-#: document-backend.scm:199
+#: document-backend.scm:212
#, scheme-format
msgid "unknown Grob interface: ~S"
msgstr "nekonata interfaco Grob: ~S"
-#: documentation-lib.scm:59
+#: documentation-lib.scm:62
#, scheme-format
msgid "Processing ~S..."
msgstr "Procezado de ~S..."
-#: documentation-lib.scm:176
+#: documentation-lib.scm:178
#, scheme-format
msgid "Writing ~S..."
msgstr "Skribado de ~S..."
-#: documentation-lib.scm:188
+#: documentation-lib.scm:190
#, scheme-format
msgid "cannot find description for property `~S' (~S)"
msgstr "ne eblas trovi priskribon por la atributo '~S' (~S)"
-#: documentation-lib.scm:209
+#: documentation-lib.scm:211
#, scheme-format
msgid "cannot find description for property ~S (~S)"
msgstr "ne eblas trovi priskribon por la atributo ~S (~S)"
msgid "Writing ~a..."
msgstr "Skribado de ~a..."
-#: framework-ps.scm:250
+#: framework-ps.scm:281
#, scheme-format
msgid "cannot embed ~S=~S"
msgstr "ne eblas enkorpigi ~S=~S"
-#: framework-ps.scm:293
+#: framework-ps.scm:324
#, scheme-format
msgid "cannot extract file matching ~a from ~a"
msgstr "ne eblas eltiri dosieron kongruanta al ~a, el ~a"
-#: framework-ps.scm:311
+#: framework-ps.scm:342
#, scheme-format
msgid "do not know how to embed ~S=~S"
msgstr "ni ne scias kiel enkorpigi ~S=~S"
-#: framework-ps.scm:336
+#: framework-ps.scm:367
#, scheme-format
msgid "do not know how to embed font ~s ~s ~s"
msgstr "ni ne scias kiel enkorpigi la tiparon ~s ~s ~s"
-#: framework-ps.scm:687
+#: framework-ps.scm:729
msgid ""
"\n"
"The PostScript backend does not support the\n"
msgid "Error in beam quanting. Expected ~S 0, found ~S."
msgstr "Eraro en kalkulado de vostligo. Atendante ~S 0, trovis ~S."
-#: lily-library.scm:333
+#: lily-library.scm:350
msgid "Music unsuitable for context-mod"
msgstr "La muziko ne taŭgas por 'context-mod'"
-#: lily-library.scm:388
+#: lily-library.scm:405
#, scheme-format
msgid "Cannot find context-def \\~a"
msgstr "Ne eblas trovi context-def \\~a"
-#: lily-library.scm:404
+#: lily-library.scm:421
msgid "Music unsuitable for output-def"
msgstr "La muziko ne taŭgas por output-def"
-#: lily-library.scm:884
+#: lily-library.scm:921
msgid ""
"Find the index between @var{start} and @var{end} (an integer)\n"
"which produces the closest match to @var{target-val} if\n"
"kiu produktas plej bonan kongruon al @var{target-val} se\n"
"aplikata al la funkcio @var{getter}."
-#: lily-library.scm:955
+#: lily-library.scm:1015
#, scheme-format
msgid "unknown unit: ~S"
msgstr "nekonata unuo: ~S"
-#: lily-library.scm:980
+#: lily-library.scm:1040
#, scheme-format
msgid "no \\version statement found, please add~afor future compatibility"
msgstr "neniu komando \\version estis trovata, bonvolu aldoni ~a por estonta kongrueco"
msgid "define-session used after session start"
msgstr "define-session estis uzata post komenco de seanco"
-#: lily.scm:393
+#: lily.scm:399
msgid "Using (ice-9 curried-definitions) module\n"
msgstr "Ni uzas la modulon (ice-9 curried-definitions)\n"
-#: lily.scm:396
+#: lily.scm:402
msgid "Guile 1.8\n"
msgstr "Guile 1.8\n"
-#: lily.scm:455
+#: lily.scm:459
#, scheme-format
msgid "cannot find: ~A"
msgstr "ne eblas trovi: ~A"
-#: lily.scm:878
+#: lily.scm:886
msgid "Success: compilation successfully completed"
msgstr "Sukceso: la kompilado sukcese plenumiĝis"
-#: lily.scm:879
+#: lily.scm:887
msgid "Compilation completed with warnings or errors"
msgstr "La kompilado plenumiĝis kun avertoj aŭ eraroj"
-#: lily.scm:940
+#: lily.scm:948
#, scheme-format
msgid "job ~a terminated with signal: ~a"
msgstr "la laboro ~a finis kun signalo: ~a"
-#: lily.scm:943
+#: lily.scm:951
#, scheme-format
msgid ""
"logfile ~a (exit ~a):\n"
"protokol-dosiero ~a (eliro ~a):\n"
"~a"
-#: lily.scm:965 lily.scm:1054
+#: lily.scm:973 lily.scm:1062
#, scheme-format
msgid "failed files: ~S"
msgstr "fiaskintajn dosieroj: ~S"
-#: lily.scm:1045
+#: lily.scm:1053
#, scheme-format
msgid "Redirecting output to ~a..."
msgstr "Redirektigo de eligo al ~a..."
-#: lily.scm:1064 ps-to-png.scm:66
+#: lily.scm:1072 ps-to-png.scm:66
#, scheme-format
msgid "Invoking `~a'...\n"
msgstr "Alvokado de '~a'...\n"
msgid "~a function cannot return ~a"
msgstr "funkcio ~a ne povas liveri ~a"
-#: ly-syntax-constructors.scm:75
+#: ly-syntax-constructors.scm:76
#, scheme-format
msgid "wrong type for argument ~a. Expecting ~a, found ~s"
msgstr "malĝusta tipo por argumento ~a. Atendate ~a, trovite ~s"
-#: ly-syntax-constructors.scm:199
+#: ly-syntax-constructors.scm:200
#, scheme-format
msgid "Invalid property operation ~a"
msgstr "Malvalida atribut-operacio ~a"
msgid "negative replication count; ignoring"
msgstr "negativa nombro da rekopiado; preterpaso"
-#: music-functions.scm:272
-msgid "More alternatives than repeats. Junking excess alternatives"
-msgstr "Pli da alternativoj ol ripetoj. Forĵeto de kromaj alternativoj"
-
-#: music-functions.scm:303
+#: music-functions.scm:311
#, scheme-format
msgid "invalid tremolo repeat count: ~a"
msgstr "malvalida tremson-ripeta nombro: ~a"
-#: music-functions.scm:459
+#: music-functions.scm:340
+#, scheme-format
+msgid "unknown repeat type `~S': must be volta, unfold, percent, or tremolo"
+msgstr "nekonata ripeto-tipo '~S': devas esti volta, unfold, percent, aŭ tremolo"
+
+#: music-functions.scm:344
+msgid "More alternatives than repeats. Junking excess alternatives"
+msgstr "Pli da alternativoj ol ripetoj. Forĵeto de kromaj alternativoj"
+
+#: music-functions.scm:480
#, scheme-format
msgid "bad grob property path ~a"
-msgstr "Malĝusta vojo de eco de 'grob' ~a"
+msgstr "malĝusta vojo de eco de 'grob' ~a"
-#: music-functions.scm:753
+#: music-functions.scm:779
msgid "Bad chord repetition"
msgstr "Malĝusta ripeto de akordo"
-#: music-functions.scm:788
+#: music-functions.scm:884
#, scheme-format
msgid "music expected: ~S"
msgstr "atendita muziko: ~S"
-#: music-functions.scm:1144
+#: music-functions.scm:1226
#, scheme-format
msgid "cannot find quoted music: `~S'"
msgstr "ne eblas trovi la cititan muzikon: '~S'"
-#: music-functions.scm:1282
+#: music-functions.scm:1366
msgid "Add @var{octave-shift} to the octave of @var{pitch}."
msgstr "Aldoni @var{octave-shift} al la okto de @var{pitch}."
-#: music-functions.scm:1342
+#: music-functions.scm:1429
#, scheme-format
msgid "Unknown octaveness type: ~S "
msgstr "Nekonata okteca tipo: ~S "
-#: music-functions.scm:1343
+#: music-functions.scm:1430
msgid "Defaulting to 'any-octave."
msgstr "Apriore al 'any-octave."
-#: music-functions.scm:1688
+#: music-functions.scm:1822
#, scheme-format
msgid "unknown accidental style: ~S"
msgstr "nekonata stilo de aliigo: ~S"
-#: output-ps.scm:278 output-svg.scm:539
+#: music-functions.scm:2040
+msgid "Missing duration"
+msgstr "Mankas daŭro"
+
+#: music-functions.scm:2549
+#, scheme-format
+msgid "not a symbol list: ~a"
+msgstr "ne estas simbolo-listo: ~a"
+
+#: music-functions.scm:2552
+#, scheme-format
+msgid "conflicting tag group ~a"
+msgstr "konfliktanta mark-grupo ~a"
+
+#: output-ps.scm:290 output-svg.scm:539
#, scheme-format
msgid "unknown line-cap-style: ~S"
msgstr "nekonata 'line-cap-style': ~S"
-#: output-ps.scm:283 output-svg.scm:545
+#: output-ps.scm:295 output-svg.scm:545
#, scheme-format
msgid "unknown line-join-style: ~S"
msgstr "nekonata 'line-join-style': ~S"
msgid "cannot find SVG font ~S"
msgstr "ne eblas trovi SVG-tiparon ~S"
-#: paper.scm:120
+#: paper.scm:122
msgid "set-global-staff-size: not in toplevel scope"
msgstr "set-global-staff-size: ne en supernivela rango"
-#: paper.scm:320
+#: paper.scm:322
#, scheme-format
msgid "This is not a \\layout {} object, ~S"
msgstr "Tio ĉi ne estas objekto \\layout {}, ~S"
-#: paper.scm:328
+#: paper.scm:330
#, scheme-format
msgid "Unknown paper size: ~a"
msgstr "Nekonata paper-grando: ~a"
#. TODO: should raise (generic) exception with throw, and catch
#. that in parse-scm.cc
-#: paper.scm:347
+#: paper.scm:349
msgid "Must use #(set-paper-size .. ) within \\paper { ... }"
msgstr "Uzendas #(set-paper-size .. ) interne de \\paper { ... }"
-#: parser-clef.scm:164
+#: parser-clef.scm:154
#, scheme-format
msgid "unknown clef type `~a'"
msgstr "nekonata kleftipo '~a'"
-#: parser-clef.scm:165
+#: parser-clef.scm:155
#, scheme-format
msgid "supported clefs: ~a"
msgstr "subtenataj klefoj: ~a"
msgid "error in #{ ... #}"
msgstr "eraro en #{ ... #}"
-#: part-combiner.scm:598
+#: part-combiner.scm:748
#, scheme-format
msgid "quoted music `~a' is empty"
msgstr "la citita muziko '~a' estas malplena"
msgid "assertion failed: ~S"
msgstr "aserto fiaskis: ~S"
-#: translation-functions.scm:368
+#: translation-functions.scm:389
#, scheme-format
msgid "Negative fret for pitch ~a on string ~a"
msgstr "Negativa freto por tonalto ~a sur kordo ~a"
-#: translation-functions.scm:371
+#: translation-functions.scm:392
#, scheme-format
msgid "Missing fret for pitch ~a on string ~a"
msgstr "Mankas freto por tonalto ~a sur kordo ~a"
-#: translation-functions.scm:414
+#: translation-functions.scm:435
#, scheme-format
msgid "No open string for pitch ~a"
msgstr "Neniu libera kordo por tonalto ~a"
-#: translation-functions.scm:429 translation-functions.scm:441
+#: translation-functions.scm:450 translation-functions.scm:462
#, scheme-format
msgid "Requested string for pitch requires negative fret: string ~a pitch ~a"
msgstr "La petita kordo por tonalto postulas negativan freton: kordo ~a tonalto ~a"
-#: translation-functions.scm:432
+#: translation-functions.scm:453
msgid "Ignoring string request and recalculating."
msgstr "Preterpaso de peto de kordo kaj rekalkulado."
-#: translation-functions.scm:444
+#: translation-functions.scm:465
msgid "Ignoring note in tablature."
msgstr "Preterpaso de noto en tabulaturo."
-#: translation-functions.scm:469
+#: translation-functions.scm:490
#, scheme-format
msgid "No string for pitch ~a (given frets ~a)"
msgstr "Neniu kordo por tonalto ~a (je fretoj ~a)"
-#: translation-functions.scm:574
+#: translation-functions.scm:595
#, scheme-format
msgid ""
"No label for fret ~a (on string ~a);\n"
"Neniu etikedo por freto ~a (sur kordo ~a);\n"
"nur ~a fret-etikedoj estis provizataj"
+#~ msgid "cannot find Voice `%s'"
+#~ msgstr "ne eblas trovi Voĉon '%s'"
+
+#~ msgid "Lyric syllable does not have note. Use \\lyricsto or associatedVoice."
+#~ msgstr "Teksta silabo ne havas noton. Uzu \\lyricsto aŭ 'associatedVoice'."
+
+#~ msgid "Using naive multi measure rest spacing."
+#~ msgstr "Uzanta naivan plur-mezuran paŭzo-spacadon."
+
+#~ msgid "(normalized pitch)"
+#~ msgstr "(normigita tonalto)"
+
+#~ msgid "Transposing %s by %s makes alteration larger than double"
+#~ msgstr "Transpono de %s per %s igas aliigon pli granda ol duobla"
+
+#~ msgid "ignoring too many clashing note columns"
+#~ msgstr "ni preterpasas tro multajn kolumnojn kun koliziantaj notoj"
+
+#~ msgid "cannot fit music on page: ragged-spacing was requested, but page was compressed"
+#~ msgstr "ne eblas akomodi muzikon sur paĝo: 'ragged-spacing' estis petata, sed la paĝo estis densigata"
+
+#~ msgid "cannot fit music on page: overflow is %f"
+#~ msgstr "ne eblas akomodi muzikon sur paĝo: troo estas %f"
+
+#~ msgid "compressing music to fit"
+#~ msgstr "densigado de muziko por akomodi"
+
+#~ msgid "trying to use \\partial after the start of a piece"
+#~ msgstr "ni provas uzi \\partial post la komenco de muziko"
+
+#~ msgid "rhythmic head is not part of a rhythmic column"
+#~ msgstr "ritma kapo ne estas parto de ritma kolumno"
+
+#~ msgid "Cyclic markup detected: %s"
+#~ msgstr "Cikla markado estis detektata: %s"
+
+#~ msgid "time signature symbol `%s' not found; reverting to numbered style"
+#~ msgstr "tempindika simbolo '%s' ne estis trovata; ni revenas al numera stilo"
+
+#~ msgid "Too much lookahead"
+#~ msgstr "Tro da antaŭrigardo"
+
+#~ msgid "score expected"
+#~ msgstr "estis atendata muzik-skribaĵo"
+
+#~ msgid "unknown repeat type `~S'"
+#~ msgstr "nekonata ripeto-tipo '~S'"
+
+#~ msgid "See define-music-types.scm for supported repeats"
+#~ msgstr "Vidu 'define-music-types.scm' por subtenataj ripetoj"
+
#~ msgid "cannot find start of (de)crescendo"
#~ msgstr "ne eblas trovi komencon de '(de)crescendo'"
# French translation of GNU/lilypond - http//lilypond.org
# Copyright © 2004 Free Software Foundation, Inc.
# Michel Robitaille <robitail@IRO.UMontreal.CA>, 1996-2007.
-# Jean-Charles Malahieude <lilyfan@orange.fr>, 2007-2013
+# Jean-Charles Malahieude <lilyfan@orange.fr>, 2007-2015
#
msgid ""
msgstr ""
-"Project-Id-Version: lilypond 2.17.96\n"
+"Project-Id-Version: lilypond 2.19.16\n"
"Report-Msgid-Bugs-To: http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs\n"
-"POT-Creation-Date: 2013-11-24 12:14+0000\n"
-"PO-Revision-Date: 2013-11-27 19:16+0100\n"
+"POT-Creation-Date: 2015-02-28 14:31+0000\n"
+"PO-Revision-Date: 2015-03-02 13:28+0100\n"
"Last-Translator: Jean-Charles Malahieude <lilyfan@orange.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"Traitement par « %s » du fichier « %s »\n"
" pour déterminer la mise en page par défaut.\n"
-#: book_latex.py:212 book_texinfo.py:228
+#: book_latex.py:219 book_texinfo.py:228
msgid "Unable to auto-detect default settings:\n"
msgstr "Impossible de détecter automatiquement les réglages par défaut :\n"
-#: book_latex.py:224 book_texinfo.py:240
+#: book_latex.py:231 book_texinfo.py:240
#, python-format
msgid ""
"Unable to auto-detect default settings:\n"
"Impossible de détecter automatiquement les réglages par défaut :\n"
"%s"
-#: book_latex.py:247
+#: book_latex.py:254
msgid "cannot detect textwidth from LaTeX"
msgstr "impossible d'extraire la largeur du texte à partir de LaTeX"
msgid "Missing files: %s"
msgstr "Fichier absent : %s"
-#: book_snippets.py:651
+#: book_snippets.py:661
#, python-format
msgid "Could not overwrite file %s"
msgstr "Impossible d'écraser le fichier « %s »"
-#: book_snippets.py:738
+#: book_snippets.py:748
#, python-format
msgid "Running through filter `%s'"
msgstr "Passage par le filtre « %s »"
-#: book_snippets.py:759
+#: book_snippets.py:769
#, python-format
msgid "`%s' failed (%d)"
msgstr "« %s » a échoué (%d)"
-#: book_snippets.py:760
+#: book_snippets.py:770
msgid "The error log is as follows:"
msgstr "Voici le journal d'erreurs :"
-#: book_snippets.py:880
+#: book_snippets.py:890
#, python-format
msgid "Converting MusicXML file `%s'...\n"
msgstr "Lecture du fichier MusicXML « %s »...\n"
-#: book_snippets.py:907
+#: book_snippets.py:917
#, python-format
msgid ""
"%s: duplicate filename but different contents of original file,\n"
"%s : fichier en doublon mais contenu différent de l'original,\n"
" impression d'un différentiel entre les deux fichiers."
-#: book_snippets.py:920
+#: book_snippets.py:930
#, python-format
msgid ""
"%s: duplicate filename but different contents of converted lilypond file,\n"
#: convertrules.py:82 convertrules.py:1856 convertrules.py:2032
#: convertrules.py:2175 convertrules.py:2506 convertrules.py:2801
-#: convertrules.py:3151 convertrules.py:3385
+#: convertrules.py:3151 convertrules.py:3385 convertrules.py:3697
msgid "bump version for release"
msgstr "sauter de version pour mise à jour"
#: convertrules.py:2849
msgid "Dash parameters for slurs and ties are now in 'dash-definition.\n"
-msgstr "Les paramètres du pointillé des liaisons sont gérés par `dash-definition.\n"
+msgstr "Les paramètres du pointillé des liaisons sont gérés par 'dash-details.\n"
#: convertrules.py:2854
msgid ""
"%s) au format LilyPond.\n"
#: abc2ly.py:1395 convert-ly.py:92 etf2ly.py:1208 lilypond-book.py:231
-#: midi2ly.py:1095 musicxml2ly.py:2590 main.cc:181
+#: midi2ly.py:1095 musicxml2ly.py:2590 main.cc:183
msgid "show version number and exit"
msgstr "affiche le numéro de version et quitte"
#: abc2ly.py:1398 convert-ly.py:96 etf2ly.py:1204 lilypond-book.py:140
-#: midi2ly.py:1062 musicxml2ly.py:2572 main.cc:160
+#: midi2ly.py:1062 musicxml2ly.py:2572 main.cc:162
msgid "show this help and exit"
msgstr "visualiser cette aide et quitter"
#. or if there is a LilyPond users list or forum in your language
#. "Report bugs in English via %s or in YOUR_LANG via URI"
#: abc2ly.py:1413 convert-ly.py:157 etf2ly.py:1218 lilypond-book.py:258
-#: midi2ly.py:1107 musicxml2ly.py:2674 main.cc:315
+#: midi2ly.py:1107 musicxml2ly.py:2674 main.cc:317
#, c-format, python-format
msgid "Report bugs via %s"
msgstr ""
"(NONE, ERROR, WARNING, PROGRESS (par défaut), DEBUG)"
#: convert-ly.py:111 lilypond-book.py:163 lilypond-book.py:181
-#: musicxml2ly.py:2629 main.cc:174
+#: musicxml2ly.py:2629 main.cc:176
msgid "LOGLEVEL"
msgstr "LOGLEVEL"
msgstr "effectue un archivage numéroté [par défaut : nomfichier.etx~]"
#: convert-ly.py:152 etf2ly.py:1212 lilypond-book.py:234 midi2ly.py:1096
-#: main.cc:183
+#: main.cc:185
msgid "show warranty and copyright"
msgstr "affiche les notices de garantie et du droit d'auteur"
msgid "Processing `%s'... "
msgstr "Traitement de « %s »..."
-#: convert-ly.py:367
+#: convert-ly.py:368
#, python-format
msgid "%s: Unable to open file"
msgstr "impossible d'ouvrir le fichier « %s »"
-#: convert-ly.py:373
+#: convert-ly.py:374
#, python-format
msgid "%s: Unable to determine version. Skipping"
msgstr ""
"impossible de déterminer la version de « %s ».\n"
" Au suivant !"
-#: convert-ly.py:379
+#: convert-ly.py:380
#, python-format
msgid ""
"%s: Invalid version string `%s' \n"
"Un numéro de version valide est formé de trois nombres séparés par un point,\n"
"comme par exemple « 2.8.12 »"
-#: convert-ly.py:385
+#: convert-ly.py:386
#, python-format
msgid "There was %d error."
msgid_plural "There were %d errors."
"exploitable.\n"
#: etf2ly.py:1210 midi2ly.py:1067 midi2ly.py:1072 musicxml2ly.py:2659
-#: main.cc:166 main.cc:178
+#: main.cc:168 main.cc:180
msgid "FILE"
msgstr "FICHIER"
msgstr "ajoute le RÉP au chemin de recherche des inclusions"
#: lilypond-book.py:143 lilypond-book.py:150 lilypond-book.py:169
-#: lilypond-book.py:187 lilypond-book.py:208 lilypond-book.py:214 main.cc:165
+#: lilypond-book.py:187 lilypond-book.py:208 lilypond-book.py:214 main.cc:167
msgid "DIR"
msgstr "RÉP"
msgid "Removing `%s'"
msgstr "Suppression de « %s »"
-#: lilypond-book.py:714
+#: lilypond-book.py:727
#, python-format
msgid "Setting LilyPond's loglevel to %s"
msgstr "Niveau de journalisation de LilyPond fixé à %s"
-#: lilypond-book.py:718
+#: lilypond-book.py:731
#, python-format
msgid "Setting LilyPond's loglevel to %s (from environment variable LILYPOND_LOGLEVEL)"
msgstr ""
"Détermination du niveau de journalisation de LilyPond à %s\n"
"(à partir de la variable d'environnement LILYPOND_LOGLEVEL)"
-#: lilypond-book.py:721
+#: lilypond-book.py:734
msgid "Setting LilyPond's output to --verbose, implied by lilypond-book's setting"
msgstr "Utilisation de l'option LilyPond --verbose (réglage implicite de lilypond-book)"
msgid "Unable to find input file %s"
msgstr "Impossible de trouver le fichier d'entrée « %s »"
-#: website_post.py:125
+#: website_post.py:129
msgid "English"
msgstr "Anglais"
-#: website_post.py:128
+#: website_post.py:132
msgid "Other languages"
msgstr "Autres langues"
-#: website_post.py:129
+#: website_post.py:133
#, python-format
msgid "About <a href=\"%s\">automatic language selection</a>."
msgstr "À propos de la <a href=\"%s\">sélection automatique de la langue</a>."
"procédure ou nom de contexte requis pour la règle d'altération accidentelle,\n"
"%s trouvé"
-#: accidental.cc:169
+#: accidental.cc:141
#, c-format
msgid "Could not find glyph-name for alteration %s"
msgstr "Aucun nom de glyphe ne correspond à l'altération %s"
-#: accidental.cc:184
+#: accidental.cc:157
msgid "natural alteration glyph not found"
msgstr "pas de glyphe correspondant au bécarre"
msgid "cannot find line breaking that satisfies constraints"
msgstr "impossible de trouver un saut de ligne qui satisfasse aux contraintes"
-#: context-property.cc:43
+#: context-property.cc:46
msgid "need symbol arguments for \\override and \\revert"
msgstr "\\override et \\revert requièrent des arguments symboliques"
-#: context.cc:149
+#: context.cc:143
#, c-format
msgid "cannot find or create new `%s'"
msgstr "impossible de trouver ou créer un nouveau « %s »"
-#: context.cc:228
+#: context.cc:222
#, c-format
msgid "cannot find or create `%s' called `%s'"
msgstr "impossible de trouver ou créer « %s » dénommé(e) « %s »"
-#: context.cc:425
+#: context.cc:419
#, c-format
msgid "cannot find or create: `%s'"
msgstr "impossible de trouver ou créer « %s »"
-#: context.cc:439
+#: context.cc:433
#, c-format
msgid "cannot find or create new Bottom = \"%s\""
msgstr "impossible de trouver ou créer un nouveau « %s »"
msgid "custos `%s' not found"
msgstr "custode « %s » introuvable"
-#: dispatcher.cc:89
+#: dispatcher.cc:83
msgid "Event class should be a list"
msgstr "La classe d'événement devrait être une liste"
-#: dispatcher.cc:172
+#: dispatcher.cc:166
#, c-format
msgid "Junking event: %s"
msgstr "Événement escamoté : « %s »"
-#: dispatcher.cc:277
+#: dispatcher.cc:271
msgid "Attempting to remove nonexisting listener."
msgstr "Tentative de suppression d'un écouteur inexistant."
-#: dispatcher.cc:303
+#: dispatcher.cc:297
msgid "Already listening to dispatcher, ignoring request"
msgstr "Déjà à l'écoute du dispatcheur ; requête ignorée."
msgid "Must be footnote-event."
msgstr "Doit être un événement note de bas de page (footnote-event)."
-#: general-scheme.cc:390
+#: general-scheme.cc:403
#, c-format
msgid "failed redirecting stderr to `%s'"
msgstr "échec lors de la redirection de stderr vers « %s »"
-#: general-scheme.cc:469 output-ps.scm:48
+#: general-scheme.cc:482 output-ps.scm:48
msgid "Found infinity or nan in output. Substituting 0.0"
msgstr "Détection d'une valeur infini ou non numérique. Substitution par 0.0"
msgid "%d: %s"
msgstr "%d : %s"
-#: grob.cc:488
+#: grob.cc:481
#, c-format
msgid "ignored infinite %s-offset"
msgstr "%s-offset infini ignoré"
msgid "Asking for broken bound padding at a non-broken bound."
msgstr "Tentative de décalage d'un fragment de souflet alors qu'il n'est pas rompu."
-#: hairpin.cc:256
+#: hairpin.cc:257
msgid "decrescendo too small"
msgstr "decrescendo trop petit"
msgid "(search path: `%s')"
msgstr "(chemin de recherche : « %s »)"
-#: input.cc:138 source-file.cc:178 source-file.cc:193
+#: input.cc:138 source-file.cc:177 source-file.cc:192
msgid "position unknown"
msgstr "position inconnue"
msgid "Not drawing a box with negative dimension, %.2f by %.2f."
msgstr "La boîte aux dimensions négatives, %.2f par %.2f, ne sera pas dessinée."
-#: lyric-combine-music-iterator.cc:199
+#: lyric-combine-music-iterator.cc:204
msgid "argument of \\lyricsto should contain Lyrics context"
msgstr "les arguments de \\lyricsto doivent comporter un contexte Lyrics."
-#: lyric-combine-music-iterator.cc:337
+#: lyric-combine-music-iterator.cc:349
#, c-format
-msgid "cannot find Voice `%s'"
-msgstr "impossible de repérer la voix (Voice) « %s »"
+msgid "cannot find %s `%s'"
+msgstr "le contexte %s « %s » n'existe pas"
-#: lyric-engraver.cc:186
-msgid "Lyric syllable does not have note. Use \\lyricsto or associatedVoice."
-msgstr ""
-"Syllabe sans note de rattachement.\n"
-" Utiliser \\lyricsto ou associatedVoice."
-
-#: main.cc:104
+#: main.cc:105
#, c-format
msgid ""
"This program is free software. It is covered by the GNU General Public\n"
"sous certaines conditions.\n"
"Invoquez « %s --warranty » pour plus d'informations.\n"
-#: main.cc:110
+#: main.cc:111
msgid ""
" This program is free software; you can redistribute it and/or\n"
"modify it under the terms of the GNU General Public License as \n"
"écrire à la Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n"
"Boston, MA 02111-1307, USA.\n"
-#: main.cc:148
+#: main.cc:149
msgid "SYM[=VAL]"
msgstr "SYM[=VAL]"
-#: main.cc:149
+#: main.cc:150
msgid ""
"set Scheme option SYM to VAL (default: #t).\n"
"Use -dhelp for help."
"affecte VAL (par défaut #t) à l'option Scheme SYM.\n"
"Utiliser -dhelp pour avoir de l'aide."
-#: main.cc:153
+#: main.cc:154
msgid "EXPR"
msgstr "EXPR"
-#: main.cc:153
+#: main.cc:154
msgid "evaluate scheme code"
msgstr "évaluation du code Scheme"
#. Bug in option parser: --output =foe is taken as an abbreviation
#. for --output-format.
-#: main.cc:156
+#: main.cc:157
msgid "FORMATs"
msgstr "FORMATs"
-#: main.cc:156
+#: main.cc:157
msgid "dump FORMAT,... Also as separate options:"
msgstr ""
"produire FORMAT...\n"
"Aussi comme options séparées :"
-#: main.cc:157
+#: main.cc:158
msgid "generate PDF (default)"
msgstr "générer le PDF (par défaut)"
-#: main.cc:158
+#: main.cc:159
msgid "generate PNG"
msgstr "générer le PNG"
-#: main.cc:159
+#: main.cc:160
msgid "generate PostScript"
msgstr "générer le PostScript"
-#: main.cc:162
+#: main.cc:161
+msgid "generate big PDF files"
+msgstr "générer de gros fichiers PDF"
+
+#: main.cc:164
msgid "FIELD"
msgstr "CHAMP"
-#: main.cc:162
+#: main.cc:164
msgid ""
"dump header field FIELD to file\n"
"named BASENAME.FIELD"
"écrire le champ d'entête CHAMP dans le\n"
"fichier nommé RACINE.CHAMP"
-#: main.cc:165
+#: main.cc:167
msgid "add DIR to search path"
msgstr "ajouter RÉPERTOIRE au chemin de recherche"
-#: main.cc:166
+#: main.cc:168
msgid "use FILE as init file"
msgstr ""
"utiliser FICHIER comme\n"
"fichier d'initialisation"
-#: main.cc:169
+#: main.cc:171
msgid "USER, GROUP, JAIL, DIR"
msgstr "USER, GROUP, CAGE, RÉP"
-#: main.cc:169
+#: main.cc:171
msgid ""
"chroot to JAIL, become USER:GROUP\n"
"and cd into DIR"
"chroot dans CAGE, devenir UTILISATEUR:GROUPE\n"
"et cd dans RÉPERTOIRE"
-#: main.cc:174
+#: main.cc:176
msgid ""
"print log messages according to LOGLEVEL. Possible values are:\n"
"NONE, ERROR, WARNING, BASIC, PROGRESS, INFO (default) and DEBUG."
"affiche les informations selon le niveau de LOGLEVEL :\n"
"NONE, ERROR, WARNING, BASIC, PROGRESS, INFO (défaut) ou DEBUG."
-#: main.cc:178
+#: main.cc:180
msgid "write output to FILE (suffix will be added)"
msgstr ""
"produire la sortie dans FICHIER \n"
"(adjonction automatique du suffixe)"
-#: main.cc:179
+#: main.cc:181
msgid "relocate using directory of lilypond program"
msgstr ""
"redétermine le chemin d'exécution\n"
"des composants de LilyPond"
-#: main.cc:180
+#: main.cc:182
msgid "no progress, only error messages (equivalent to loglevel=ERROR)"
msgstr ""
"pas de progression, seulement les messages d'erreur\n"
"(équivalent à loglevel=ERROR)"
-#: main.cc:182
+#: main.cc:184
msgid "be verbose (equivalent to loglevel=DEBUG)"
msgstr "état verbeux (équivalent à loglevel=DEBUG)"
#. Do not update the copyright years here, run `make grand-replace'
-#: main.cc:261
+#: main.cc:263
#, c-format
msgid ""
"Copyright (c) %s by\n"
"%s et autres."
#. No version number or newline here. It confuses help2man.
-#: main.cc:299
+#: main.cc:301
#, c-format
msgid "Usage: %s [OPTION]... FILE..."
msgstr "Utilisation : %s [OPTIONS]... FICHIER..."
-#: main.cc:301
+#: main.cc:303
msgid "Typeset music and/or produce MIDI from FILE."
msgstr "Composer la musique ou jouer en format MIDI à partir du FICHIER"
-#: main.cc:303
+#: main.cc:305
msgid "LilyPond produces beautiful music notation."
msgstr "LilyPond produit une jolie notation musicale"
-#: main.cc:305
+#: main.cc:307
#, c-format
msgid "For more information, see %s"
msgstr "Pour plus d'informations, voir %s"
-#: main.cc:307
+#: main.cc:309
msgid "Options:"
msgstr "Options :"
-#: main.cc:374
+#: main.cc:376
#, c-format
msgid "expected %d arguments with jail, found: %u"
msgstr "une cage requiert %d arguments, il y en a %u"
-#: main.cc:388
+#: main.cc:390
#, c-format
msgid "no such user: %s"
msgstr "utilisateur inconnu : « %s »"
-#: main.cc:390
+#: main.cc:392
#, c-format
msgid "cannot get user id from user name: %s: %s"
msgstr ""
"impossible de repérer l'identifiant utilisateur à partir du nom d'utilisateur :\n"
"%s : %s"
-#: main.cc:405
+#: main.cc:407
#, c-format
msgid "no such group: %s"
msgstr "groupe inconnu : %s"
-#: main.cc:407
+#: main.cc:409
#, c-format
msgid "cannot get group id from group name: %s: %s"
msgstr ""
"impossible de repérer l'identifiant groupe à partir du nom de groupe :\n"
"%s : %s "
-#: main.cc:415
+#: main.cc:417
#, c-format
msgid "cannot chroot to: %s: %s"
msgstr "impossible de chrooter vers : %s : %s"
-#: main.cc:422
+#: main.cc:424
#, c-format
msgid "cannot change group id to: %d: %s"
msgstr "impossible de changer l'identifiant de groupe en %d : %s"
-#: main.cc:428
+#: main.cc:430
#, c-format
msgid "cannot change user id to: %d: %s"
msgstr "impossible de changer l'identifiant utilisateur en %d : %s"
-#: main.cc:434
+#: main.cc:436
#, c-format
msgid "cannot change working directory to: %s: %s"
msgstr "impossible de changer le répertoire de travail en %s : %s"
-#: main.cc:805
+#: main.cc:825
#, c-format
msgid "exception caught: %s"
msgstr "exception capturée : %s"
msgid "cannot write to file: `%s'"
msgstr "impossible d'écrire dans le fichier « %s »"
-#: minimal-page-breaking.cc:40 paper-score.cc:122
+#: minimal-page-breaking.cc:40 paper-score.cc:116
msgid "Calculating line breaks..."
msgstr "Calcul des sauts de ligne..."
msgid "Calculating page breaks..."
msgstr "Calcul des sauts de page..."
-#: multi-measure-rest.cc:154
+#: multi-measure-rest.cc:152
msgid "usable-duration-logs must be a non-empty list. Falling back to whole rests."
msgstr ""
"usable-duration-logs ne peut être constitué d'une liste vide.\n"
"Retour à des pauses."
-#: multi-measure-rest.cc:364
-msgid "Using naive multi measure rest spacing."
-msgstr "Utilisation d'un espacement de type silence multimesure."
-
-#: music.cc:150
+#: music.cc:149
#, c-format
msgid "octave check failed; expected \"%s\", found: \"%s\""
msgstr ""
"Échec de vérification d'octave.\n"
"Aurait dû être \"%s\", \"%s\" obtenu"
-#: music.cc:219
-msgid "(normalized pitch)"
-msgstr "(hauteur normalisée)"
-
-#: music.cc:223
-#, c-format
-msgid "Transposing %s by %s makes alteration larger than double"
-msgstr "La transposition de %s à %s crée des altérations supérieures aux doubles"
-
#: new-fingering-engraver.cc:113
msgid "cannot add text scripts to individual note heads"
msgstr "impossible d'ajouter du texte à des têtes de note individuelles"
msgid "placing below"
msgstr "on les place en dessous"
-#: note-collision.cc:497
-msgid "ignoring too many clashing note columns"
-msgstr "trop d'empilements de notes se chevauchent. On fera au mieux."
+#: note-collision.cc:510
+msgid "this Voice needs a \\voiceXx or \\shiftXx setting"
+msgstr "ce contexte de voix rrequiert un réglage \\voiceXx ou \\shiftXx"
-#: note-column.cc:147
+#: note-column.cc:150
msgid "cannot have note heads and rests together on a stem"
msgstr "impossible de superposer une note et un silence sur une même hampe"
msgid "NoteEvent without pitch"
msgstr "NoteEvent sans hauteur"
-#: open-type-font.cc:45
+#: open-type-font.cc:46
#, c-format
msgid "cannot allocate %lu bytes"
msgstr "impossible d'allouer %lu octets"
-#: open-type-font.cc:49
+#: open-type-font.cc:50
#, c-format
msgid "cannot load font table: %s"
msgstr "impossible de charger la table des fontes : %s"
-#: open-type-font.cc:54
+#: open-type-font.cc:55
#, c-format
msgid "FreeType error: %s"
msgstr "Erreur FreeType : %s"
-#: open-type-font.cc:111
+#: open-type-font.cc:112
#, c-format
msgid "unsupported font format: %s"
msgstr "format de police non supporté : %s"
-#: open-type-font.cc:113
+#: open-type-font.cc:114
#, c-format
msgid "error reading font file %s: %s"
msgstr "erreur de lecture du fichier de fontes %s : %s"
-#: open-type-font.cc:188
+#: open-type-font.cc:189
#, c-format
msgid "FT_Get_Glyph_Name () Freetype error: %s"
msgstr "erreur Freetype FT_Get_Glyph_Name () : %s"
-#: open-type-font.cc:336 pango-font.cc:256
+#: open-type-font.cc:337 pango-font.cc:257
#, c-format
msgid "FT_Get_Glyph_Name () error: %s"
msgstr "Erreur FT_Get_Glyph_Name () : %s"
msgstr "meilleur résultat pour cette configuration « sys-count » : %f"
#: optimal-page-breaking.cc:216 page-turn-page-breaking.cc:248
-#: paper-score.cc:162
+#: paper-score.cc:156
msgid "Drawing systems..."
msgstr "Dessin des systèmes..."
-#: output-def.cc:235
+#: output-def.cc:230
msgid "margins do not fit with line-width, setting default values"
msgstr ""
"les marges ne sont pas en cohérence avec la longueur de ligne ;\n"
"retour aux valeurs par défaut"
-#: output-def.cc:242
+#: output-def.cc:237
msgid "systems run off the page due to improper paper settings, setting default values"
msgstr ""
"les systèmes débordent de la page en raison de réglages de papier erronés ;\n"
"retour aux valeurs par défaut"
-#: page-breaking.cc:277
+#: page-breaking.cc:276
msgid "ignoring min-systems-per-page and max-systems-per-page because systems-per-page was set"
msgstr ""
"systems-per-page non défini :\n"
" min-systems-per-page et max-systems-per-page ignorés"
-#: page-breaking.cc:282
+#: page-breaking.cc:281
msgid "min-systems-per-page is larger than max-systems-per-page, ignoring both values"
msgstr ""
"min-systems-per-page supérieur à max-systems-per-page :\n"
" tous deux seront ignorés"
+#: page-breaking.cc:636
+#, c-format
+msgid "page %d has been compressed"
+msgstr "la page %d a été comprimée"
+
#: page-layout-problem.cc:402
msgid "A page layout problem has been initiated that cannot accommodate footnotes."
msgstr "Un défaut de mise en page perturbe la gestion des notes de bas de page."
#: page-layout-problem.cc:731
-msgid "cannot fit music on page: ragged-spacing was requested, but page was compressed"
-msgstr ""
-"impossible de faire tenir la musique sur la page :\n"
-" justification demandée, mais page déjà compressée"
+msgid "ragged-bottom was specified, but page must be compressed"
+msgstr "ragged-bottom spécifié, mais la page doit être comprimée"
#: page-layout-problem.cc:734
#, c-format
-msgid "cannot fit music on page: overflow is %f"
-msgstr "impossible de faire tenir la musique sur la page. Débordement de %f"
-
-#: page-layout-problem.cc:736
-msgid "compressing music to fit"
-msgstr "compression de la musique pour que cela tienne"
+msgid "compressing over-full page by %.1f staff-spaces"
+msgstr "compression du débordement de page de %.1f espace de portée"
#: page-layout-problem.cc:1199
msgid "staff-affinities should only decrease"
msgid "\tprevious break: %d"
msgstr " coupure précédente : %d"
-#: pango-font.cc:245
+#: pango-font.cc:246
#, c-format
msgid "no glyph for character U+%0X in font `%s'"
msgstr "aucun glyphe ne correspond au caractère U+%0X dans la fonte « %s »"
-#: pango-font.cc:272
+#: pango-font.cc:273
#, c-format
msgid ""
"Glyph has no name, but font supports glyph naming.\n"
"Le glyphe n'a pas de nom alors que la fonte prend en charge leur nommage.\n"
"Glyphe U+%0X ignoré dans le fichier « %s »"
-#: pango-font.cc:322
+#: pango-font.cc:323
#, c-format
msgid "no PostScript font name for font `%s'"
msgstr "« %s » n'est pas un fichier de fonte PostScript"
-#: pango-font.cc:372
+#: pango-font.cc:373
msgid "FreeType face has no PostScript font name"
msgstr "Caractère FreeType sans nom de police PostScript"
-#: paper-book.cc:214
+#: paper-book.cc:201
#, c-format
msgid "program option -dprint-pages not supported by backend `%s'"
msgstr "l'option -dprint-pages n'est pas opérationnelle avec le moteur %s"
-#: paper-book.cc:233
+#: paper-book.cc:220
#, c-format
msgid "program option -dpreview not supported by backend `%s'"
msgstr "l'option -dpreview n'est pas opérationnelle avec le moteur %s"
msgid "Layout output to `%s'..."
msgstr "Sortie mise en page vers « %s »..."
-#: paper-score.cc:134
+#: paper-score.cc:128
#, c-format
msgid "Element count %d (spanners %d) "
msgstr "%d éléments dénombrés (%d extensions)"
-#: paper-score.cc:138
+#: paper-score.cc:132
msgid "Preprocessing graphical objects..."
msgstr "Pré-traitement des éléments graphiques..."
-#: parse-scm.cc:121
+#: parse-scm.cc:128
msgid "GUILE signaled an error for the expression beginning here"
msgstr "GUILE a signalé une erreur pour l'expression débutant ici"
-#: partial-iterator.cc:45
-msgid "trying to use \\partial after the start of a piece"
-msgstr "\\partial ne devrait intervenir qu'en début de morceau"
-
#: pdf-scheme.cc:65
#, c-format
msgid "Conversion of string `%s' to UTF-16be failed: %s"
"La conversion de la chaîne « %s » en UTF-16be a échoué :\n"
" %s"
-#: percent-repeat-engraver.cc:147
+#: percent-repeat-engraver.cc:148
msgid "unterminated percent repeat"
msgstr "répétition en pourcent non terminée"
-#: performance.cc:54
+#: performance.cc:55
msgid "Track..."
msgstr "Piste..."
-#: performance.cc:82
+#: performance.cc:90
#, c-format
msgid "MIDI output to `%s'..."
msgstr "Sortie MIDI vers « %s »..."
msgid "no such internal option: %s"
msgstr "option interne inconnue : %s"
-#: property-iterator.cc:100
+#: property-iterator.cc:115
#, c-format
msgid "not a grob name, `%s'"
msgstr "« %s » n'est pas un nom d'objet graphique (grob)"
msgid "Unknown relocation command %s"
msgstr "Commande de relocalisation inconnue : %s"
-#: rest-collision-engraver.cc:70
-msgid "rhythmic head is not part of a rhythmic column"
-msgstr "tête rythmique non rattachée à un empilement rythmique"
-
-#: rest-collision.cc:150
+#: rest-collision.cc:153
msgid "cannot resolve rest collision: rest direction not set"
msgstr "collision de silences insoluble : positionnement du silence indéterminée"
-#: rest-collision.cc:161 rest-collision.cc:270
+#: rest-collision.cc:164 rest-collision.cc:273
msgid "too many colliding rests"
msgstr "trop de silences se chevauchent"
-#: rest.cc:240
+#: rest.cc:239
#, c-format
msgid "rest `%s' not found"
msgstr "silence « %s » inconnu"
-#: score-engraver.cc:78
+#: score-engraver.cc:79
#, c-format
msgid "cannot find `%s'"
msgstr "impossible de trouver « %s »"
-#: score-engraver.cc:80
+#: score-engraver.cc:81
msgid "Music font has not been installed properly."
msgstr "Les fontes musicales n'ont pas été installées correctement."
-#: score-engraver.cc:82
+#: score-engraver.cc:83
#, c-format
msgid "Search path `%s'"
msgstr "Chemin de recherche : « %s »"
-#: score-engraver.cc:84
+#: score-engraver.cc:85
msgid "Aborting"
msgstr "Abandon"
-#: score.cc:172
+#: score.cc:160
msgid "already have music in score"
msgstr "il y a déjà de la musique dans la partition"
-#: score.cc:173
+#: score.cc:161
msgid "this is the previous music"
msgstr "voici la musique précédente"
-#: score.cc:178
+#: score.cc:166
msgid "errors found, ignoring music expression"
msgstr "suite à des erreurs répétées, l'expression musicale sera ignorée"
msgid " scheme encoding: "
msgstr "encodage Scheme : "
-#: skyline-pair.cc:160
+#: skyline-pair.cc:135
msgid "direction must not be CENTER in ly:skyline-pair::skyline"
msgstr "direction ne saurait être CENTER pour ly:skyline-pair::skyline"
msgid "remapping modulo 16"
msgstr "réaffectation modulo 16"
-#: stem-engraver.cc:110
+#: stem-engraver.cc:100
msgid "tremolo duration is too long"
msgstr "durée du tremolo trop longue"
-#: stem-engraver.cc:162
+#: stem-engraver.cc:152
#, c-format
msgid "adding note head to incompatible stem (type = %d/%d)"
msgstr "Ajout d'une tête de note à une hampe incompatible (type = %d/%d)"
-#: stem-engraver.cc:165
+#: stem-engraver.cc:155
msgid "maybe input should specify polyphonic voices"
msgstr "la source devrait spécifier des voix polyphoniques"
msgstr "%d objet graphiques (grob) dénombrés."
#. TODO: Also print the arguments of the markup!
-#: text-interface.cc:129
-#, c-format
-msgid "Cyclic markup detected: %s"
-msgstr "« markup » avec référence circulaire : %s"
-
-#. TODO: Also print the arguments of the markup!
-#: text-interface.cc:142
+#: text-interface.cc:138
#, c-format
msgid "Markup depth exceeds maximal value of %d; Markup: %s"
msgstr ""
msgid "unterminated text spanner"
msgstr "extension de texte non terminée"
-#: tie-engraver.cc:119
+#: tie-engraver.cc:121
msgid "unterminated tie"
msgstr "liaison de prolongation non terminée"
-#: tie-engraver.cc:353
+#: tie-engraver.cc:373
msgid "lonely tie"
msgstr "liaison de prolongation orpheline"
#.
#. OTOH, Tristan Keuris writes 8/20 in his Intermezzi.
#.
-#: time-signature-engraver.cc:75
+#: time-signature-engraver.cc:95
#, c-format
msgid "strange time signature found: %d/%d"
msgstr "Chiffrage de mesure inhabituel : %d/%d"
-#. If there is no such symbol, we default to the numbered style.
-#. (Here really with a warning!)
-#: time-signature.cc:89
-#, c-format
-msgid "time signature symbol `%s' not found; reverting to numbered style"
-msgstr ""
-"symbole de chiffrage de mesure « %s » inconnu ;\n"
-" retour à un style numérique."
-
#: translator-ctors.cc:65
#, c-format
msgid "unknown translator: `%s'"
msgid "cannot find: `%s'"
msgstr "« %s » inconnu(e)"
-#: translator.cc:326
+#: translator.cc:320
#, c-format
msgid "Two simultaneous %s events, junking this one"
msgstr "Deux événements %s simultanés, rejet de celui-ci"
-#: translator.cc:327
+#: translator.cc:321
#, c-format
msgid "Previous %s event here"
msgstr "Événement %s précédent ici"
msgid "giving up"
msgstr "abandon"
-#: parser.yy:158 parser.yy:172
-msgid "Too much lookahead"
-msgstr "Trop d'anticipation"
-
-#: parser.yy:441 parser.yy:752 parser.yy:818
+#: parser.yy:463 parser.yy:847 parser.yy:928 parser.yy:1150
msgid "bad expression type"
msgstr "type d'expression erroné"
-#: parser.yy:650 parser.yy:1159
+#: parser.yy:759 parser.yy:1361 parser.yy:1406
msgid "not a context mod"
msgstr "ceci n'est pas un module de contexte"
-#: parser.yy:853
-msgid "score expected"
-msgstr "On attendait une partition"
+#: parser.yy:954
+msgid "Missing music in \\score"
+msgstr "Il n'y a pas de musique dans ce \\score"
-#: parser.yy:869
+#: parser.yy:991
msgid "\\paper cannot be used in \\score, use \\layout instead"
msgstr "dans la section \\score, utiliser \\layout au lieu de \\paper"
-#: parser.yy:893
+#: parser.yy:1027
+msgid "Spurious expression in \\score"
+msgstr "Expression invalide dans \\score"
+
+#: parser.yy:1057
msgid "need \\paper for paper block"
msgstr "\\paper est nécessaire pour définir les paramètres de la page"
-#: parser.yy:1033 parser.yy:1055
+#: parser.yy:1234
+msgid "music expected"
+msgstr "On attendait de la musique"
+
+#: parser.yy:1244 parser.yy:1278
msgid "unexpected post-event"
msgstr "« post-event » inattendu"
-#: parser.yy:1063
+#: parser.yy:1286
msgid "Ignoring non-music expression"
msgstr "Expression non musicale ignorée"
-#: parser.yy:1075 parser.yy:2493
-msgid "music expected"
-msgstr "On attendait de la musique"
-
-#: parser.yy:1370
+#: parser.yy:1587
msgid "not a symbol"
msgstr "n'est pas un symbole"
-#: parser.yy:2182 parser.yy:2296 parser.yy:2309 parser.yy:2318
+#: parser.yy:2337 parser.yy:2451 parser.yy:2464 parser.yy:2473
msgid "bad grob property path"
msgstr "chemin erroné d'accès à la propriété de « grob »"
-#: parser.yy:2276
+#: parser.yy:2431
msgid "only \\consists and \\remove take non-string argument."
msgstr "seuls \\consists et \\remove peuvent prendre un argument autre qu'une chaîne."
-#: parser.yy:2337
+#: parser.yy:2492
msgid "bad context property path"
msgstr "chemin erroné d'accès à la propriété de contexte"
-#: parser.yy:2438
+#: parser.yy:2593
msgid "simple string expected"
msgstr "On attendait une chaîne simple"
-#: parser.yy:2456
+#: parser.yy:2611
msgid "symbol expected"
msgstr "symbole requis"
-#: parser.yy:2611
+#: parser.yy:2747
msgid "not a rhythmic event"
msgstr "événement non rythmique"
-#: parser.yy:2685
+#: parser.yy:2797
msgid "post-event expected"
msgstr "On attendait un « post-event »"
-#: parser.yy:2694 parser.yy:2699
+#: parser.yy:2806 parser.yy:2811
msgid "have to be in Lyric mode for lyrics"
msgstr "Des paroles requièrent d'utiliser le mode Lyric."
-#: parser.yy:2767
-msgid "expecting string as script definition"
-msgstr "chaîne requise pour définir un script"
+#: parser.yy:2887
+msgid "expecting string or post-event as script definition"
+msgstr "chaîne ou « post-event » requis pour définir un script"
-#: parser.yy:2875
+#: parser.yy:2991
msgid "not an articulation"
msgstr "n'est pas une articulation"
-#: parser.yy:2947 parser.yy:2990
+#: parser.yy:3063 parser.yy:3106
msgid "not a duration"
msgstr "ceci n'est pas une durée"
-#: parser.yy:3007
+#: parser.yy:3127
msgid "bass number expected"
msgstr "On attendait un numéro de basse"
-#: parser.yy:3106
+#: parser.yy:3219
msgid "have to be in Note mode for notes"
msgstr "Des notes requièrent d'utiliser le mode Note."
-#: parser.yy:3166
+#: parser.yy:3258
msgid "have to be in Chord mode for chords"
msgstr "Des accords requièrent d'utiliser le mode Chord."
-#: parser.yy:3181
+#: parser.yy:3301
msgid "markup outside of text script or \\lyricmode"
msgstr "« markup » en dehors d'un script textuel ou de \\lyricmode"
-#: parser.yy:3186
+#: parser.yy:3306
msgid "unrecognized string, not in text script or \\lyricmode"
msgstr "chaîne non reconnue ; en dehors d'un script textuel ou de \\lyricmode"
-#: parser.yy:3347 parser.yy:3356
+#: parser.yy:3458 parser.yy:3467
msgid "not an unsigned integer"
msgstr "n'est pas un entier sans signe"
-#: parser.yy:3424
+#: parser.yy:3541
msgid "not a markup"
msgstr "n'est pas un « markup »"
-#: lexer.ll:224
+#: lexer.ll:192
msgid "stray UTF-8 BOM encountered"
msgstr "parasitage par UTF-8 BOM"
-#: lexer.ll:227
+#: lexer.ll:195
msgid "Skipping UTF-8 BOM"
msgstr "Escamotage d'UTF-8 BOM"
-#: lexer.ll:279
+#: lexer.ll:247
#, c-format
msgid "Renaming input to: `%s'"
msgstr "L'entrée a été renommée en « %s »"
-#: lexer.ll:296
+#: lexer.ll:264
msgid "quoted string expected after \\version"
msgstr "\\version doit être suivi d'une chaîne entre guillemets"
-#: lexer.ll:300
+#: lexer.ll:268
msgid "quoted string expected after \\sourcefilename"
msgstr "\\sourcefilename doit être suivi d'une chaîne entre guillemets"
-#: lexer.ll:304
+#: lexer.ll:272
msgid "integer expected after \\sourcefileline"
msgstr "\\sourcefilename doit être suivi d'un nombre entier"
-#: lexer.ll:331
+#: lexer.ll:299
msgid "\\maininput not allowed outside init files"
msgstr "\\maininput n'est pas permis en dehors des fichiers d'initialisation"
-#: lexer.ll:355
+#: lexer.ll:323
#, c-format
msgid "wrong or undefined identifier: `%s'"
msgstr "identificateur erroné ou non défini : « %s »"
-#: lexer.ll:381
+#: lexer.ll:348
msgid "string expected after \\include"
msgstr "\\include doit être suivi d'une chaîne entre guillemets"
-#: lexer.ll:391
+#: lexer.ll:358
msgid "end quote missing"
msgstr "absence de guillemet fermant"
-#: lexer.ll:743
+#: lexer.ll:713
msgid "EOF found inside a comment"
msgstr "Fin de fichier (EOF) à l'intérieur du commentaire"
-#: lexer.ll:748
+#: lexer.ll:718
msgid "EOF found inside string"
msgstr "Fin de fichier (EOF) à l'intérieur d'une chaîne"
-#: lexer.ll:763
+#: lexer.ll:733
msgid "Unfinished main input"
msgstr "Fichier principal non fini"
-#: lexer.ll:834
+#: lexer.ll:804
#, c-format
msgid "invalid character: `%s'"
msgstr "caractère invalide : « %s »"
-#: lexer.ll:963
+#: lexer.ll:924
#, c-format
msgid "unknown escaped string: `\\%s'"
msgstr "chaîne d'échappement inconnue : « \\%s »"
-#: lexer.ll:983
+#: lexer.ll:944
#, c-format
msgid "undefined character or shorthand: %s"
msgstr "caractère ou raccourci non défini : %s"
-#: lexer.ll:1275
+#: lexer.ll:1235
msgid "non-UTF-8 input"
msgstr "la source n'est pas en UTF-8"
-#: lexer.ll:1319
+#: lexer.ll:1279
+#, c-format
+msgid "Invalid version string \"%s\""
+msgstr "Numérotation de version \"%s\" invalide"
+
+#: lexer.ll:1284
#, c-format
msgid "file too old: %s (oldest supported: %s)"
msgstr ""
"%s est plus qu'obsolète ;\n"
"le plus ancien pouvant être supporté est %s"
-#: lexer.ll:1320
+#: lexer.ll:1285
msgid "consider updating the input with the convert-ly script"
msgstr "Envisagez la mise à jour de la source à l'aide du script convert-ly"
-#: lexer.ll:1326
+#: lexer.ll:1291
#, c-format
msgid "program too old: %s (file requires: %s)"
msgstr "Programme plus qu'obsolète : %s (le fichier requiert %s)"
+#: auto-beam.scm:147
+msgid "Beam end fits no pattern"
+msgstr "La terminaison de ligature ne correspond à aucun modèle"
+
#: backend-library.scm:27
#, scheme-format
msgid "Invoking `~a'..."
msgid "`~a' failed (~a)\n"
msgstr "échec de « ~a » (~a)\n"
-#: backend-library.scm:93
+#: backend-library.scm:94
#, scheme-format
msgid "Converting to `~a'...\n"
msgstr "Conversion à « ~a »...\n"
#. Do not try to guess the name of the png file,
#. GS produces PNG files like BASE-page%d.png.
-#: backend-library.scm:102
+#: backend-library.scm:103
#, scheme-format
msgid "Converting to ~a..."
msgstr "Conversion à « ~a »..."
-#: backend-library.scm:140
+#: backend-library.scm:141
#, scheme-format
msgid "Writing header field `~a' to `~a'..."
msgstr "écriture du champ d'entête « ~a » dans « ~a »..."
-#: backend-library.scm:189
+#: backend-library.scm:190
#, scheme-format
msgid "missing stencil expression `~S'"
msgstr "absence d'expression stencil « ~S »"
msgid "symbol ~S redefined"
msgstr "symbole « ~S » redéfini"
-#: define-event-classes.scm:73
+#: define-event-classes.scm:74
#, scheme-format
msgid "unknown parent class `~a'"
msgstr "Classe parente inconnue : « ~a »"
-#: define-event-classes.scm:107
+#: define-event-classes.scm:108
#, scheme-format
msgid "Cannot redefine event class `~S'"
msgstr "Impossible de redéfinir la classe d'événement « ~S »"
-#: define-event-classes.scm:109
+#: define-event-classes.scm:110
#, scheme-format
msgid "Undefined parent event class `~S'"
msgstr "Classe d'événement parente « ~a » non définie"
-#: define-markup-commands.scm:1083
+#: define-markup-commands.scm:1062
msgid "no systems found in \\score markup, does it have a \\layout block?"
msgstr ""
"pas de système trouvé dans le bloc \\score du « markup » ;\n"
" contient-il un bloc \\layout ?"
-#: define-markup-commands.scm:2847
+#: define-markup-commands.scm:2886
#, scheme-format
msgid "Cannot find glyph ~a"
msgstr "impossible de trouver le glyphe « ~a »"
-#: define-markup-commands.scm:3273
+#: define-markup-commands.scm:3362
#, scheme-format
msgid "no brace found for point size ~S "
msgstr "il n'y a pas d'accolade qui fasse ~S points"
-#: define-markup-commands.scm:3274
+#: define-markup-commands.scm:3363
#, scheme-format
msgid "defaulting to ~S pt"
msgstr "application de la taille par défaut (~S pt)"
-#: define-markup-commands.scm:3526
+#: define-markup-commands.scm:3615
#, scheme-format
msgid "not a valid duration string: ~a"
msgstr "chaîne de durée invalide : ~a"
-#: define-markup-commands.scm:3737
+#: define-markup-commands.scm:3826
#, scheme-format
msgid "not a valid duration string: ~a - ignoring"
msgstr "chaîne de durée invalide : ~a -- ignorée"
-#: define-music-types.scm:792
+#: define-music-types.scm:797
#, scheme-format
msgid "symbol expected: ~S"
msgstr "symbole requis : ~S"
-#: define-music-types.scm:795
+#: define-music-types.scm:800
#, scheme-format
msgid "cannot find music object: ~S"
msgstr "impossible de trouver l'objet de type musique : ~S"
-#: define-music-types.scm:815
+#: define-music-types.scm:820
#, scheme-format
msgid "bad make-music argument: ~S"
msgstr "argument de make-music erronné : ~S"
-#: define-music-types.scm:827
-#, scheme-format
-msgid "unknown repeat type `~S'"
-msgstr "type de répétition inconnu : « ~S »"
-
-#: define-music-types.scm:828
-msgid "See define-music-types.scm for supported repeats"
-msgstr ""
-"Consulter define-music-types.scm pour connaître les répétitions\n"
-" prises en charge"
-
#: define-note-names.scm:972
msgid "Select note names language."
msgstr "Sélection de la langue des noms de note."
"« ~a » n'est pas une langue reconnue pour les noms de note.\n"
" Abandon."
-#: document-backend.scm:132
+#: document-backend.scm:135
#, scheme-format
msgid "pair expected in doc ~s"
msgstr "le document ~s devrait contenir une paire"
-#: document-backend.scm:189
+#: document-backend.scm:202
#, scheme-format
msgid "cannot find interface for property: ~S"
msgstr "impossible de trouver l'interface pour la propriété « ~S »"
-#: document-backend.scm:199
+#: document-backend.scm:212
#, scheme-format
msgid "unknown Grob interface: ~S"
msgstr "interface d'objet graphique (Grob) inconnue : ~S"
-#: documentation-lib.scm:59
+#: documentation-lib.scm:62
#, scheme-format
msgid "Processing ~S..."
msgstr "Traitement de « ~S »..."
-#: documentation-lib.scm:176
+#: documentation-lib.scm:178
#, scheme-format
msgid "Writing ~S..."
msgstr "Écriture de « ~S »..."
-#: documentation-lib.scm:188
+#: documentation-lib.scm:190
#, scheme-format
msgid "cannot find description for property `~S' (~S)"
msgstr ""
"impossible de trouver une description de la propriété « ~S »\n"
" (~S)"
-#: documentation-lib.scm:209
+#: documentation-lib.scm:211
#, scheme-format
msgid "cannot find description for property ~S (~S)"
msgstr ""
msgid "Writing ~a..."
msgstr "Écriture de « ~a »..."
-#: framework-ps.scm:250
+#: framework-ps.scm:281
#, scheme-format
msgid "cannot embed ~S=~S"
msgstr "intégration impossible : ~S=~S"
-#: framework-ps.scm:293
+#: framework-ps.scm:324
#, scheme-format
msgid "cannot extract file matching ~a from ~a"
msgstr "impossible d'extraire le fichier « ~a » à partir de « ~a »"
-#: framework-ps.scm:311
+#: framework-ps.scm:342
#, scheme-format
msgid "do not know how to embed ~S=~S"
msgstr "imposible de réaliser l'intégration ~S=~S"
-#: framework-ps.scm:336
+#: framework-ps.scm:367
#, scheme-format
msgid "do not know how to embed font ~s ~s ~s"
msgstr "impossible d'intégrer les fontes ~s ~s ~s"
-#: framework-ps.scm:687
+#: framework-ps.scm:729
msgid ""
"\n"
"The PostScript backend does not support the\n"
msgid "Error in beam quanting. Expected ~S 0, found ~S."
msgstr "Erreur de définition de ligature : attendait ~S 0, repéré ~S."
-#: lily-library.scm:333
+#: lily-library.scm:350
msgid "Music unsuitable for context-mod"
msgstr "Inadéquation entre la musique et le context-mod"
-#: lily-library.scm:388
+#: lily-library.scm:405
#, scheme-format
msgid "Cannot find context-def \\~a"
msgstr "Impossible de repérer un context-def (définition de contexte) \\~a"
-#: lily-library.scm:404
+#: lily-library.scm:421
msgid "Music unsuitable for output-def"
msgstr "Inadéquation entre la musique et le output-def"
-#: lily-library.scm:884
+#: lily-library.scm:921
msgid ""
"Find the index between @var{start} and @var{end} (an integer)\n"
"which produces the closest match to @var{target-val} if\n"
"(nombre entier) qui soit le plus proche de @var{valeur-cible}\n"
"lorsqu'appliqué à la fonction @var{appelant}."
-#: lily-library.scm:955
+#: lily-library.scm:1015
#, scheme-format
msgid "unknown unit: ~S"
msgstr "unité inconnue : ~S"
-#: lily-library.scm:980
+#: lily-library.scm:1040
#, scheme-format
msgid "no \\version statement found, please add~afor future compatibility"
msgstr ""
msgid "define-session used after session start"
msgstr "define-session utilisé après le début de la session"
-#: lily.scm:393
+#: lily.scm:399
msgid "Using (ice-9 curried-definitions) module\n"
msgstr "Utilisation du module (ice-9 curried-definitions)\n"
-#: lily.scm:396
+#: lily.scm:402
msgid "Guile 1.8\n"
msgstr "Guile 1.8\n"
-#: lily.scm:455
+#: lily.scm:459
#, scheme-format
msgid "cannot find: ~A"
msgstr "impossible de trouver « ~A »"
-#: lily.scm:878
+#: lily.scm:886
msgid "Success: compilation successfully completed"
msgstr "Compilation menée à son terme, avec succès."
-#: lily.scm:879
+#: lily.scm:887
msgid "Compilation completed with warnings or errors"
msgstr "Compilation menée à son terme, avec des avertissements ou erreurs."
-#: lily.scm:940
+#: lily.scm:948
#, scheme-format
msgid "job ~a terminated with signal: ~a"
msgstr "le travail « ~a » s'est terminé avec le signal ~a"
-#: lily.scm:943
+#: lily.scm:951
#, scheme-format
msgid ""
"logfile ~a (exit ~a):\n"
"fichier journal « ~a » (sortie ~a) :\n"
"~a"
-#: lily.scm:965 lily.scm:1054
+#: lily.scm:973 lily.scm:1062
#, scheme-format
msgid "failed files: ~S"
msgstr "erreur sur les fichiers ~S"
-#: lily.scm:1045
+#: lily.scm:1053
#, scheme-format
msgid "Redirecting output to ~a..."
msgstr "Redirection de la sortie vers « ~a »..."
-#: lily.scm:1064 ps-to-png.scm:66
+#: lily.scm:1072 ps-to-png.scm:66
#, scheme-format
msgid "Invoking `~a'...\n"
msgstr "Appel de « ~a »...\n"
msgid "~a function cannot return ~a"
msgstr "La fonction ~a ne peut retourner ~a."
-#: ly-syntax-constructors.scm:75
+#: ly-syntax-constructors.scm:76
#, scheme-format
msgid "wrong type for argument ~a. Expecting ~a, found ~s"
msgstr ""
"type d'argument erroné pour ~a.\n"
" Attendait ~a, ~s trouvé"
-#: ly-syntax-constructors.scm:199
+#: ly-syntax-constructors.scm:200
#, scheme-format
msgid "Invalid property operation ~a"
msgstr "Opération de propriété invalide : ~a"
msgid "negative replication count; ignoring"
msgstr "compteur de réplication négatif : rien à transposer"
-#: music-functions.scm:272
+#: music-functions.scm:311
+#, scheme-format
+msgid "invalid tremolo repeat count: ~a"
+msgstr "nombre de répétition en trémolo invalide : ~a"
+
+#: music-functions.scm:340
+#, scheme-format
+msgid "unknown repeat type `~S': must be volta, unfold, percent, or tremolo"
+msgstr "type de répétition « ~S » inconnu : doit être volta, unfold, percent ou tremolo"
+
+#: music-functions.scm:344
msgid "More alternatives than repeats. Junking excess alternatives"
msgstr ""
"Plus d'alternatives que de répétitions.\n"
" Escamotage des alternatives surnuméraires."
-#: music-functions.scm:303
-#, scheme-format
-msgid "invalid tremolo repeat count: ~a"
-msgstr "nombre de répétition en trémolo invalide : ~a"
-
-#: music-functions.scm:459
+#: music-functions.scm:480
#, scheme-format
msgid "bad grob property path ~a"
msgstr "chemin d'accès au « grob » erroné : ~a"
-#: music-functions.scm:753
+#: music-functions.scm:779
msgid "Bad chord repetition"
msgstr "Mauvaise répétition d'accord"
-#: music-functions.scm:788
+#: music-functions.scm:884
#, scheme-format
msgid "music expected: ~S"
msgstr "~S requiert de la musique"
-#: music-functions.scm:1144
+#: music-functions.scm:1226
#, scheme-format
msgid "cannot find quoted music: `~S'"
msgstr "impossible de trouver la citation de musique « ~S »"
-#: music-functions.scm:1282
+#: music-functions.scm:1366
msgid "Add @var{octave-shift} to the octave of @var{pitch}."
msgstr "Ajoute @var{octave-shift} à l'octave de @var{hauteur}."
-#: music-functions.scm:1342
+#: music-functions.scm:1429
#, scheme-format
msgid "Unknown octaveness type: ~S "
msgstr "Octave inconnue : « ~S »"
-#: music-functions.scm:1343
+#: music-functions.scm:1430
msgid "Defaulting to 'any-octave."
msgstr "Application de la valeur par défaut 'any-octave."
-#: music-functions.scm:1688
+#: music-functions.scm:1822
#, scheme-format
msgid "unknown accidental style: ~S"
msgstr "style d'altération inconnu : ~S"
-#: output-ps.scm:278 output-svg.scm:539
+#: music-functions.scm:2040
+msgid "Missing duration"
+msgstr "Durée absente"
+
+#: music-functions.scm:2549
+#, scheme-format
+msgid "not a symbol list: ~a"
+msgstr "n'est pas une liste de symboles : ~a"
+
+#: music-functions.scm:2552
+#, scheme-format
+msgid "conflicting tag group ~a"
+msgstr "groupe de balises (tag) ~a conflictuel"
+
+#: output-ps.scm:290 output-svg.scm:539
#, scheme-format
msgid "unknown line-cap-style: ~S"
msgstr "line-cap-style inconnu : ~S"
-#: output-ps.scm:283 output-svg.scm:545
+#: output-ps.scm:295 output-svg.scm:545
#, scheme-format
msgid "unknown line-join-style: ~S"
msgstr "line-join-style inconnu : ~S"
msgid "cannot find SVG font ~S"
msgstr "fonte SVG « ~S » introuvable."
-#: paper.scm:120
+#: paper.scm:122
msgid "set-global-staff-size: not in toplevel scope"
msgstr "set-global-staff-size n'est pas à un niveau de portée globale"
-#: paper.scm:320
+#: paper.scm:322
#, scheme-format
msgid "This is not a \\layout {} object, ~S"
msgstr "~S n'est pas un objet de \\layout {}"
-#: paper.scm:328
+#: paper.scm:330
#, scheme-format
msgid "Unknown paper size: ~a"
msgstr "Format de papier inconnu : ~a"
#. TODO: should raise (generic) exception with throw, and catch
#. that in parse-scm.cc
-#: paper.scm:347
+#: paper.scm:349
msgid "Must use #(set-paper-size .. ) within \\paper { ... }"
msgstr "#(set-paper-size ..) doit être dans la section \\paper { ... }"
-#: parser-clef.scm:164
+#: parser-clef.scm:154
#, scheme-format
msgid "unknown clef type `~a'"
msgstr "type de clef inconnu : « ~a »"
-#: parser-clef.scm:165
+#: parser-clef.scm:155
#, scheme-format
msgid "supported clefs: ~a"
msgstr "clefs reconnues : ~a"
msgid "error in #{ ... #}"
msgstr "erreur dans #{ ... #}"
-#: part-combiner.scm:598
+#: part-combiner.scm:748
#, scheme-format
msgid "quoted music `~a' is empty"
msgstr "il n'y a rien à reproduire dans « ~a »"
msgid "assertion failed: ~S"
msgstr "erreur d'assertion : ~S"
-#: translation-functions.scm:368
+#: translation-functions.scm:389
#, scheme-format
msgid "Negative fret for pitch ~a on string ~a"
msgstr "La hauteur « ~a » sur la corde « ~a » donne un fret négatif"
-#: translation-functions.scm:371
+#: translation-functions.scm:392
#, scheme-format
msgid "Missing fret for pitch ~a on string ~a"
msgstr "Aucun fret pour « ~a » sur la corde « ~a »"
-#: translation-functions.scm:414
+#: translation-functions.scm:435
#, scheme-format
msgid "No open string for pitch ~a"
msgstr "Pas de corde à vide pour la hauteur « ~a »"
-#: translation-functions.scm:429 translation-functions.scm:441
+#: translation-functions.scm:450 translation-functions.scm:462
#, scheme-format
msgid "Requested string for pitch requires negative fret: string ~a pitch ~a"
msgstr ""
"Hauteur et corde requises demandent un fret négatif :\n"
" corde « ~a » hauteur « ~a »"
-#: translation-functions.scm:432
+#: translation-functions.scm:453
msgid "Ignoring string request and recalculating."
msgstr "Cette corde sera ignorée et redéfinie."
-#: translation-functions.scm:444
+#: translation-functions.scm:465
msgid "Ignoring note in tablature."
msgstr "Cette note sera ignorée dans la tablature."
-#: translation-functions.scm:469
+#: translation-functions.scm:490
#, scheme-format
msgid "No string for pitch ~a (given frets ~a)"
msgstr "Aucune corde ne contient la hauteur « ~a » avec un fret « ~a »"
-#: translation-functions.scm:574
+#: translation-functions.scm:595
#, scheme-format
msgid ""
"No label for fret ~a (on string ~a);\n"
#
# Tineke de Munnik <jantien@xs4all.nl>, 1998.
# Maurizio Umberto Puxeddu <umbpux@tin.it>, 1999
-# Federico Bruni <fedelogy@gmail.com>, 2009-2012, 2012, 2013.
+# Federico Bruni <fedelogy@gmail.com>, 2009-2012, 2012, 2013, 2015.
#
msgid ""
msgstr ""
-"Project-Id-Version: lilypond 2.17.96\n"
+"Project-Id-Version: lilypond 2.19.16\n"
"Report-Msgid-Bugs-To: http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs\n"
-"POT-Creation-Date: 2013-11-24 12:14+0000\n"
-"PO-Revision-Date: 2013-11-29 00:27+0100\n"
+"POT-Creation-Date: 2015-02-28 14:31+0000\n"
+"PO-Revision-Date: 2015-03-02 20:06+0100\n"
"Last-Translator: Federico Bruni <fedelogy@gmail.com>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
msgid "Running `%s' on file `%s' to detect default page settings.\n"
msgstr "Esecuzione di \"%s\" sul file \"%s\" per individuare le impostazioni predefinite della pagina.\n"
-#: book_latex.py:212 book_texinfo.py:228
+#: book_latex.py:219 book_texinfo.py:228
msgid "Unable to auto-detect default settings:\n"
msgstr "Impossibile individuare automaticamente le impostazioni predefinite:\n"
-#: book_latex.py:224 book_texinfo.py:240
+#: book_latex.py:231 book_texinfo.py:240
#, python-format
msgid ""
"Unable to auto-detect default settings:\n"
"Impossibile individuare le impostazioni predefinite:\n"
"%s"
-#: book_latex.py:247
+#: book_latex.py:254
msgid "cannot detect textwidth from LaTeX"
msgstr "impossibile rilevare la larghezza del testo da LaTeX"
msgid "Missing files: %s"
msgstr "File mancanti: %s"
-#: book_snippets.py:651
+#: book_snippets.py:661
#, python-format
msgid "Could not overwrite file %s"
msgstr "Impossibile scrivere sul file «%s»"
-#: book_snippets.py:738
+#: book_snippets.py:748
#, python-format
msgid "Running through filter `%s'"
msgstr "Esecuzione attraverso il filtro «%s»"
-#: book_snippets.py:759
+#: book_snippets.py:769
#, python-format
msgid "`%s' failed (%d)"
msgstr "«%s» fallito (%d)"
-#: book_snippets.py:760
+#: book_snippets.py:770
msgid "The error log is as follows:"
msgstr "Il registro dell'errore è il seguente:"
-#: book_snippets.py:880
+#: book_snippets.py:890
#, python-format
msgid "Converting MusicXML file `%s'...\n"
msgstr "Conversione del file MusicXML «%s»...\n"
-#: book_snippets.py:907
+#: book_snippets.py:917
#, python-format
msgid ""
"%s: duplicate filename but different contents of original file,\n"
"%s: il nome del file è duplicato ma i suoi contenuti sono diversi dal\n"
"file originale, si mostrano le differenze rispetto al file esistente."
-#: book_snippets.py:920
+#: book_snippets.py:930
#, python-format
msgid ""
"%s: duplicate filename but different contents of converted lilypond file,\n"
#: convertrules.py:82 convertrules.py:1856 convertrules.py:2032
#: convertrules.py:2175 convertrules.py:2506 convertrules.py:2801
-#: convertrules.py:3151 convertrules.py:3385
+#: convertrules.py:3151 convertrules.py:3385 convertrules.py:3697
msgid "bump version for release"
msgstr "aumentare il numero di versione per il rilascio"
"%s) in input LilyPond.\n"
#: abc2ly.py:1395 convert-ly.py:92 etf2ly.py:1208 lilypond-book.py:231
-#: midi2ly.py:1095 musicxml2ly.py:2590 main.cc:181
+#: midi2ly.py:1095 musicxml2ly.py:2590 main.cc:183
msgid "show version number and exit"
msgstr "mostra il numero di versione ed esce"
#: abc2ly.py:1398 convert-ly.py:96 etf2ly.py:1204 lilypond-book.py:140
-#: midi2ly.py:1062 musicxml2ly.py:2572 main.cc:160
+#: midi2ly.py:1062 musicxml2ly.py:2572 main.cc:162
msgid "show this help and exit"
msgstr "mostra questo messaggio di aiuto ed esce"
#. or if there is a LilyPond users list or forum in your language
#. "Report bugs in English via %s or in YOUR_LANG via URI"
#: abc2ly.py:1413 convert-ly.py:157 etf2ly.py:1218 lilypond-book.py:258
-#: midi2ly.py:1107 musicxml2ly.py:2674 main.cc:315
+#: midi2ly.py:1107 musicxml2ly.py:2674 main.cc:317
#, c-format, python-format
msgid "Report bugs via %s"
msgstr "Segnalare i bug in inglese attraverso %s"
msgstr "Mostra i messaggi di log in base a LOGLEVEL (NONE, ERROR, WARNING, PROGRESS (default), DEBUG)"
#: convert-ly.py:111 lilypond-book.py:163 lilypond-book.py:181
-#: musicxml2ly.py:2629 main.cc:174
+#: musicxml2ly.py:2629 main.cc:176
msgid "LOGLEVEL"
msgstr "LOGLEVEL"
msgstr "crea un file di backup numerato (predefinito: nomefile.est~)"
#: convert-ly.py:152 etf2ly.py:1212 lilypond-book.py:234 midi2ly.py:1096
-#: main.cc:183
+#: main.cc:185
msgid "show warranty and copyright"
msgstr "mostra la garanzia e il copyright"
msgid "Processing `%s'... "
msgstr "Elaborazione di «%s»... "
-#: convert-ly.py:367
+#: convert-ly.py:368
#, python-format
msgid "%s: Unable to open file"
msgstr "%s: Impossibile aprire il file"
-#: convert-ly.py:373
+#: convert-ly.py:374
#, python-format
msgid "%s: Unable to determine version. Skipping"
msgstr "%s: Impossibile determinare la versione. Tralasciato"
-#: convert-ly.py:379
+#: convert-ly.py:380
#, python-format
msgid ""
"%s: Invalid version string `%s' \n"
"%s: Stringa di versione non valida `%s' \n"
"Le stringhe di versione valide sono composte da tre numeri separati da punti, ad esempio «2.8.12»"
-#: convert-ly.py:385
+#: convert-ly.py:386
#, python-format
msgid "There was %d error."
msgid_plural "There were %d errors."
"etf2ly converte un sottoinsieme di ETF in un file LilyPond pronto da usare.\n"
#: etf2ly.py:1210 midi2ly.py:1067 midi2ly.py:1072 musicxml2ly.py:2659
-#: main.cc:166 main.cc:178
+#: main.cc:168 main.cc:180
msgid "FILE"
msgstr "FILE"
msgstr "aggiunge DIR al percorso di inclusione"
#: lilypond-book.py:143 lilypond-book.py:150 lilypond-book.py:169
-#: lilypond-book.py:187 lilypond-book.py:208 lilypond-book.py:214 main.cc:165
+#: lilypond-book.py:187 lilypond-book.py:208 lilypond-book.py:214 main.cc:167
msgid "DIR"
msgstr "DIR"
msgid "Removing `%s'"
msgstr "Eliminazione di «%s»"
-#: lilypond-book.py:714
+#: lilypond-book.py:727
#, python-format
msgid "Setting LilyPond's loglevel to %s"
msgstr "Si imposta il loglevel di LilyPond su %s"
-#: lilypond-book.py:718
+#: lilypond-book.py:731
#, python-format
msgid "Setting LilyPond's loglevel to %s (from environment variable LILYPOND_LOGLEVEL)"
msgstr "Si imposta il loglevel di LilyPond su %s (dalla variabile d'ambiente LILYPOND_LOGLEVEL)"
-#: lilypond-book.py:721
+#: lilypond-book.py:734
msgid "Setting LilyPond's output to --verbose, implied by lilypond-book's setting"
msgstr "Si imposta l'output di LilyPond su --verbose, come implicato dall'impostazione di lilypond-book"
msgid "Unable to find input file %s"
msgstr "Impossibile trovare il file di input %s"
-#: website_post.py:125
+#: website_post.py:129
msgid "English"
msgstr "Inglese"
-#: website_post.py:128
+#: website_post.py:132
msgid "Other languages"
msgstr "Altre lingue"
-#: website_post.py:129
+#: website_post.py:133
#, python-format
msgid "About <a href=\"%s\">automatic language selection</a>."
msgstr "Informazioni sulla <a href=\"%s\">selezione automatica della lingua</a>."
msgid "procedure or context-name expected for accidental rule, found %s"
msgstr "si aspettava una procedura o context-name per la regola di alterazione accidentale, si è trovato %s"
-#: accidental.cc:169
+#: accidental.cc:141
#, c-format
msgid "Could not find glyph-name for alteration %s"
msgstr "Non si è trovato il nome del glifo per l'alterazione %s"
-#: accidental.cc:184
+#: accidental.cc:157
msgid "natural alteration glyph not found"
msgstr "alterazione naturale del glifo non trovata"
msgid "cannot find line breaking that satisfies constraints"
msgstr "impossibile trovare interruzioni di linea che soddisfino i vincoli"
-#: context-property.cc:43
+#: context-property.cc:46
msgid "need symbol arguments for \\override and \\revert"
msgstr "sono necessari argomenti simbolici per \\override e \\revert"
-#: context.cc:149
+#: context.cc:143
#, c-format
msgid "cannot find or create new `%s'"
msgstr "impossibile trovare o creare un nuovo «%s»"
-#: context.cc:228
+#: context.cc:222
#, c-format
msgid "cannot find or create `%s' called `%s'"
msgstr "impossibile trovare o creare «%s» chiamato «%s»"
-#: context.cc:425
+#: context.cc:419
#, c-format
msgid "cannot find or create: `%s'"
msgstr "impossibile trovare o creare: «%s»"
-#: context.cc:439
+#: context.cc:433
#, c-format
msgid "cannot find or create new Bottom = \"%s\""
msgstr "impossibile trovare o creare un nuovo Bottom = «%s»"
msgid "custos `%s' not found"
msgstr "custos «%s» non trovato"
-#: dispatcher.cc:89
+#: dispatcher.cc:83
msgid "Event class should be a list"
msgstr "La classe evento dovrebbe essere una lista"
-#: dispatcher.cc:172
+#: dispatcher.cc:166
#, c-format
msgid "Junking event: %s"
msgstr "Eliminazione dell'evento: %s"
-#: dispatcher.cc:277
+#: dispatcher.cc:271
msgid "Attempting to remove nonexisting listener."
msgstr "Tentativo di togliere un ascoltatore non esistente."
-#: dispatcher.cc:303
+#: dispatcher.cc:297
msgid "Already listening to dispatcher, ignoring request"
msgstr "Già in ascolto del controllore, si ignora la richiesta"
msgid "Must be footnote-event."
msgstr "Deve essere un evento nota a pié di pagina (footnote-event)."
-#: general-scheme.cc:390
+#: general-scheme.cc:403
#, c-format
msgid "failed redirecting stderr to `%s'"
msgstr "fallita la redirezione di stderr su «%s»"
-#: general-scheme.cc:469 output-ps.scm:48
+#: general-scheme.cc:482 output-ps.scm:48
msgid "Found infinity or nan in output. Substituting 0.0"
msgstr "Trovato infinito o un valore non numerico nell'output. Sostituito con 0.0"
msgid "%d: %s"
msgstr "%d: %s"
-#: grob.cc:488
+#: grob.cc:481
#, c-format
msgid "ignored infinite %s-offset"
msgstr "%s-offset infinito ignorato"
msgid "Asking for broken bound padding at a non-broken bound."
msgstr "Si chiede la spaziatura per un'estremità spezzata in un'estremità non spezzata."
-#: hairpin.cc:256
+#: hairpin.cc:257
msgid "decrescendo too small"
msgstr "decrescendo troppo piccolo"
msgid "(search path: `%s')"
msgstr "(percorso di ricerca: «%s»)"
-#: input.cc:138 source-file.cc:178 source-file.cc:193
+#: input.cc:138 source-file.cc:177 source-file.cc:192
msgid "position unknown"
msgstr "posizione sconosciuta"
msgid "Not drawing a box with negative dimension, %.2f by %.2f."
msgstr "Il riquadro con dimensioni negative, %.2f per %.2f, non verrà disegnato."
-#: lyric-combine-music-iterator.cc:199
+#: lyric-combine-music-iterator.cc:204
msgid "argument of \\lyricsto should contain Lyrics context"
msgstr "l'argomento di \\lyricsto deve contenere il contesto Lyrics"
-#: lyric-combine-music-iterator.cc:337
+#: lyric-combine-music-iterator.cc:349
#, c-format
-msgid "cannot find Voice `%s'"
-msgstr "impossibile trovare la voce (Voice) «%s»"
-
-#: lyric-engraver.cc:186
-msgid "Lyric syllable does not have note. Use \\lyricsto or associatedVoice."
-msgstr "Le sillabe del testo non hanno note. Usare \\lyricsto o associatedVoice."
+msgid "cannot find %s `%s'"
+msgstr "impossibile trovare %s «%s»"
-#: main.cc:104
+#: main.cc:105
#, c-format
msgid ""
"This program is free software. It is covered by the GNU General Public\n"
"License che permette di modificarlo o distribuirne copie rispettando certe\n"
"condizioni. Per maggiori informazioni, invocare «%s --warranty».\n"
-#: main.cc:110
+#: main.cc:111
msgid ""
" This program is free software; you can redistribute it and/or\n"
"modify it under the terms of the GNU General Public License as \n"
"Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n"
"Boston, MA 02111-1307, USA.\n"
-#: main.cc:148
+#: main.cc:149
msgid "SYM[=VAL]"
msgstr "SIMBOLO[=VALORE]"
-#: main.cc:149
+#: main.cc:150
msgid ""
"set Scheme option SYM to VAL (default: #t).\n"
"Use -dhelp for help."
"imposta l'opzione di Scheme SIMBOLO a VALORE (predefinito: #t).\n"
"Usare -dhelp per ottenere aiuto."
-#: main.cc:153
+#: main.cc:154
msgid "EXPR"
msgstr "ESPRESSIONE"
-#: main.cc:153
+#: main.cc:154
msgid "evaluate scheme code"
msgstr "valuta il codice scheme"
#. Bug in option parser: --output =foe is taken as an abbreviation
#. for --output-format.
-#: main.cc:156
+#: main.cc:157
msgid "FORMATs"
msgstr "FORMATO"
-#: main.cc:156
+#: main.cc:157
msgid "dump FORMAT,... Also as separate options:"
msgstr "scarica FORMATO,... Anche come opzioni separate:"
-#: main.cc:157
+#: main.cc:158
msgid "generate PDF (default)"
msgstr "genera PDF (predefinito)"
-#: main.cc:158
+#: main.cc:159
msgid "generate PNG"
msgstr "genera PNG"
-#: main.cc:159
+#: main.cc:160
msgid "generate PostScript"
msgstr "genera PostScript"
-#: main.cc:162
+#: main.cc:161
+msgid "generate big PDF files"
+msgstr "genera grandi file PDF"
+
+#: main.cc:164
msgid "FIELD"
msgstr "CAMPO"
-#: main.cc:162
+#: main.cc:164
msgid ""
"dump header field FIELD to file\n"
"named BASENAME.FIELD"
"scrive il campo di intestazione CAMPO sul\n"
"file chiamato BASENAME.CAMPO"
-#: main.cc:165
+#: main.cc:167
msgid "add DIR to search path"
msgstr "aggiunge DIRECTORY ai percorsi di ricerca"
-#: main.cc:166
+#: main.cc:168
msgid "use FILE as init file"
msgstr "usa FILE come file di inizializzazione"
-#: main.cc:169
+#: main.cc:171
msgid "USER, GROUP, JAIL, DIR"
msgstr "UTENTE, GRUPPO, GABBIA, DIRECTORY"
-#: main.cc:169
+#: main.cc:171
msgid ""
"chroot to JAIL, become USER:GROUP\n"
"and cd into DIR"
"chroot a GABBIA, diventa UTENTE:GRUPPO\n"
"ed entra in DIRECTORY"
-#: main.cc:174
+#: main.cc:176
msgid ""
"print log messages according to LOGLEVEL. Possible values are:\n"
"NONE, ERROR, WARNING, BASIC, PROGRESS, INFO (default) and DEBUG."
"mostra i messaggi di log in base a LOGLEVEL. I valori possibili sono:\n"
"NONE, ERROR, WARNING, BASIC, PROGRESS, INFO (default) e DEBUG."
-#: main.cc:178
+#: main.cc:180
msgid "write output to FILE (suffix will be added)"
msgstr "scrive l'output su FILE (verrà aggiunto un suffisso)"
-#: main.cc:179
+#: main.cc:181
msgid "relocate using directory of lilypond program"
msgstr "trasferisce alla directory del programma lilypond"
-#: main.cc:180
+#: main.cc:182
msgid "no progress, only error messages (equivalent to loglevel=ERROR)"
msgstr "nessun progresso, solo messaggi di errore (equivalente al loglevel=ERROR)"
-#: main.cc:182
+#: main.cc:184
msgid "be verbose (equivalent to loglevel=DEBUG)"
msgstr "output dettagliato (equivalente al loglevel=DEBUG)"
#. Do not update the copyright years here, run `make grand-replace'
-#: main.cc:261
+#: main.cc:263
#, c-format
msgid ""
"Copyright (c) %s by\n"
"%s e altri."
#. No version number or newline here. It confuses help2man.
-#: main.cc:299
+#: main.cc:301
#, c-format
msgid "Usage: %s [OPTION]... FILE..."
msgstr "Uso: %s [OPZIONE]... [FILE]..."
-#: main.cc:301
+#: main.cc:303
msgid "Typeset music and/or produce MIDI from FILE."
msgstr "Stampa partitura oppure crea MIDI da FILE."
-#: main.cc:303
+#: main.cc:305
msgid "LilyPond produces beautiful music notation."
msgstr "LilyPond produce bella notazione musicale."
-#: main.cc:305
+#: main.cc:307
#, c-format
msgid "For more information, see %s"
msgstr "Per maggiori informazioni si veda %s"
-#: main.cc:307
+#: main.cc:309
msgid "Options:"
msgstr "Opzioni:"
-#: main.cc:374
+#: main.cc:376
#, c-format
msgid "expected %d arguments with jail, found: %u"
msgstr "previsti gli argomenti %d per la gabbia, trovati: %u"
-#: main.cc:388
+#: main.cc:390
#, c-format
msgid "no such user: %s"
msgstr "non esiste questo utente: %s"
-#: main.cc:390
+#: main.cc:392
#, c-format
msgid "cannot get user id from user name: %s: %s"
msgstr "impossibile acquisire l'id dell'utente dal nome utente: %s: %s"
-#: main.cc:405
+#: main.cc:407
#, c-format
msgid "no such group: %s"
msgstr "non esiste questo gruppo: %s"
-#: main.cc:407
+#: main.cc:409
#, c-format
msgid "cannot get group id from group name: %s: %s"
msgstr "impossibile acquisire l'id del gruppo dal nome del gruppo: %s:%s"
-#: main.cc:415
+#: main.cc:417
#, c-format
msgid "cannot chroot to: %s: %s"
msgstr "non si può fare il chroot a: %s: %s"
-#: main.cc:422
+#: main.cc:424
#, c-format
msgid "cannot change group id to: %d: %s"
msgstr "non si può cambiare l'id del gruppo in: %d: %s"
-#: main.cc:428
+#: main.cc:430
#, c-format
msgid "cannot change user id to: %d: %s"
msgstr "non si può cambiare l'id dell'utente in: %d: %s"
-#: main.cc:434
+#: main.cc:436
#, c-format
msgid "cannot change working directory to: %s: %s"
msgstr "non si può passare alla directory di lavoro: %s: %s"
-#: main.cc:805
+#: main.cc:825
#, c-format
msgid "exception caught: %s"
msgstr "ricevuta un'eccezione: %s"
msgid "cannot write to file: `%s'"
msgstr "impossibile scrivere su file: «%s»"
-#: minimal-page-breaking.cc:40 paper-score.cc:122
+#: minimal-page-breaking.cc:40 paper-score.cc:116
msgid "Calculating line breaks..."
msgstr "Calcolo delle interruzioni di linea..."
msgid "Calculating page breaks..."
msgstr "Calcolo delle interruzioni di pagina..."
-#: multi-measure-rest.cc:154
+#: multi-measure-rest.cc:152
msgid "usable-duration-logs must be a non-empty list. Falling back to whole rests."
msgstr "usable-duration-logs deve essere una lista non vuota. Si ricorre alle pause di semibreve."
-#: multi-measure-rest.cc:364
-msgid "Using naive multi measure rest spacing."
-msgstr "Si usa una spaziatura semplificata per la pausa multipla"
-
-#: music.cc:150
+#: music.cc:149
#, c-format
msgid "octave check failed; expected \"%s\", found: \"%s\""
msgstr "controllo dell'ottava fallito: previsto \"%s\", trovato: \"%s\""
-#: music.cc:219
-msgid "(normalized pitch)"
-msgstr "(altezza normalizzata)"
-
-#: music.cc:223
-#, c-format
-msgid "Transposing %s by %s makes alteration larger than double"
-msgstr "La trasposizione di %s da %s ingrandisce le alterazioni più del doppio"
-
#: new-fingering-engraver.cc:113
msgid "cannot add text scripts to individual note heads"
msgstr "impossibile aggiungere delle scritte testuali alle teste delle note individuali"
msgid "placing below"
msgstr "si colloca in basso"
-#: note-collision.cc:497
-msgid "ignoring too many clashing note columns"
-msgstr "troppe collisioni tra colonne di note, ignorate"
+#: note-collision.cc:510
+msgid "this Voice needs a \\voiceXx or \\shiftXx setting"
+msgstr "questa voce ha bisogno di un'impostazione \\voiceXx o \\shiftXx"
-#: note-column.cc:147
+#: note-column.cc:150
msgid "cannot have note heads and rests together on a stem"
msgstr "impossibile avere teste e pause insieme su un gambo"
msgid "NoteEvent without pitch"
msgstr "NoteEvent senza altezza"
-#: open-type-font.cc:45
+#: open-type-font.cc:46
#, c-format
msgid "cannot allocate %lu bytes"
msgstr "impossibile allocare %lu byte"
-#: open-type-font.cc:49
+#: open-type-font.cc:50
#, c-format
msgid "cannot load font table: %s"
msgstr "impossibile caricare la tabella dei tipi di carattere: %s"
-#: open-type-font.cc:54
+#: open-type-font.cc:55
#, c-format
msgid "FreeType error: %s"
msgstr "Errore FreeType: %s"
-#: open-type-font.cc:111
+#: open-type-font.cc:112
#, c-format
msgid "unsupported font format: %s"
msgstr "formato di tipo di carattere non supportato: %s"
-#: open-type-font.cc:113
+#: open-type-font.cc:114
#, c-format
msgid "error reading font file %s: %s"
msgstr "errore nella lettura del file del tipo di carattere %s: %s"
-#: open-type-font.cc:188
+#: open-type-font.cc:189
#, c-format
msgid "FT_Get_Glyph_Name () Freetype error: %s"
msgstr "errore di Freetype in FT_Get_Glyph_Name (): %s"
-#: open-type-font.cc:336 pango-font.cc:256
+#: open-type-font.cc:337 pango-font.cc:257
#, c-format
msgid "FT_Get_Glyph_Name () error: %s"
msgstr "errore in FT_Get_Glyph_Name (): %s"
msgstr "miglior punteggio per questo numero di sistemi: %f"
#: optimal-page-breaking.cc:216 page-turn-page-breaking.cc:248
-#: paper-score.cc:162
+#: paper-score.cc:156
msgid "Drawing systems..."
msgstr "Disegno dei sistemi..."
-#: output-def.cc:235
+#: output-def.cc:230
msgid "margins do not fit with line-width, setting default values"
msgstr "i margini non corrispondono con la larghezza del rigo, si impostano i valori predefiniti"
-#: output-def.cc:242
+#: output-def.cc:237
msgid "systems run off the page due to improper paper settings, setting default values"
msgstr "i sistemi escono fuori dalla pagina a causa di errate impostazioni del foglio, si impostano i valori predefiniti"
-#: page-breaking.cc:277
+#: page-breaking.cc:276
msgid "ignoring min-systems-per-page and max-systems-per-page because systems-per-page was set"
msgstr "si ignorano min-systems-per-page e max-systems-per-page perché è stato impostato systems-per-page"
-#: page-breaking.cc:282
+#: page-breaking.cc:281
msgid "min-systems-per-page is larger than max-systems-per-page, ignoring both values"
msgstr "min-systems-per-page è maggiore di max-systems-per-page, si ignorano entrambi i valori"
+#: page-breaking.cc:636
+#, c-format
+msgid "page %d has been compressed"
+msgstr "la pagina %d è stata compressa"
+
#: page-layout-problem.cc:402
msgid "A page layout problem has been initiated that cannot accommodate footnotes."
msgstr "Si è creato un problema di formattazione della pagina che impedisce di ospitare le note a pié di pagina."
#: page-layout-problem.cc:731
-msgid "cannot fit music on page: ragged-spacing was requested, but page was compressed"
-msgstr "impossibile far entrare la musica nella pagina: richiesta la spaziatura ridotta, ma la pagina è già stata compressa"
+msgid "ragged-bottom was specified, but page must be compressed"
+msgstr "è stato specificato ragged-bottom, ma la pagina deve essere compressa"
#: page-layout-problem.cc:734
#, c-format
-msgid "cannot fit music on page: overflow is %f"
-msgstr "impossibile far entrare la musica nella pagina: l'eccesso è %f"
-
-#: page-layout-problem.cc:736
-msgid "compressing music to fit"
-msgstr "si comprime la musica per farla entrare"
+msgid "compressing over-full page by %.1f staff-spaces"
+msgstr "compressione di una pagina strapiena di %.1f spazi rigo"
#: page-layout-problem.cc:1199
msgid "staff-affinities should only decrease"
msgid "\tprevious break: %d"
msgstr "\tinterruzione precedente: %d"
-#: pango-font.cc:245
+#: pango-font.cc:246
#, c-format
msgid "no glyph for character U+%0X in font `%s'"
msgstr "manca il glifo per il carattere U+%0X del tipo \"%s\""
-#: pango-font.cc:272
+#: pango-font.cc:273
#, c-format
msgid ""
"Glyph has no name, but font supports glyph naming.\n"
"Il glifo non ha un nome, ma il tipo di carattere permette di dare un nome al glifo.\n"
"Si salta il glifo U+%0X, file %s"
-#: pango-font.cc:322
+#: pango-font.cc:323
#, c-format
msgid "no PostScript font name for font `%s'"
msgstr "nessun nome di tipo di carattere PostScript per «%s»"
-#: pango-font.cc:372
+#: pango-font.cc:373
msgid "FreeType face has no PostScript font name"
msgstr "Il tipo FreeType non ha un nome per il tipo di carattere PostScript"
-#: paper-book.cc:214
+#: paper-book.cc:201
#, c-format
msgid "program option -dprint-pages not supported by backend `%s'"
msgstr "l'opzione -dprint-pages del programma non è supportata dal backend «%s»"
-#: paper-book.cc:233
+#: paper-book.cc:220
#, c-format
msgid "program option -dpreview not supported by backend `%s'"
msgstr "l'opzione -dpreview del programma non è supportata dal backend «%s»"
msgid "Layout output to `%s'..."
msgstr "Output della formattazione inviato a «%s»..."
-#: paper-score.cc:134
+#: paper-score.cc:128
#, c-format
msgid "Element count %d (spanners %d) "
msgstr "Conto degli elementi %d (spanner %d)."
-#: paper-score.cc:138
+#: paper-score.cc:132
msgid "Preprocessing graphical objects..."
msgstr "Pre-elaborazione degli oggetti grafici..."
-#: parse-scm.cc:121
+#: parse-scm.cc:128
msgid "GUILE signaled an error for the expression beginning here"
msgstr "GUILE ha segnalato un errore per l'espressione che inizia qui"
-#: partial-iterator.cc:45
-msgid "trying to use \\partial after the start of a piece"
-msgstr "tentativo di usare \\partial all'inizio di un brano"
-
#: pdf-scheme.cc:65
#, c-format
msgid "Conversion of string `%s' to UTF-16be failed: %s"
msgstr "Fallita la conversione della stringa \"%s\" in UTF-16be: %s"
-#: percent-repeat-engraver.cc:147
+#: percent-repeat-engraver.cc:148
msgid "unterminated percent repeat"
msgstr "ripetizione percentuale non terminata"
-#: performance.cc:54
+#: performance.cc:55
msgid "Track..."
msgstr "Traccia..."
-#: performance.cc:82
+#: performance.cc:90
#, c-format
msgid "MIDI output to `%s'..."
msgstr "L'output MIDI è inviato a «%s»..."
msgid "no such internal option: %s"
msgstr "opzione interna sconosciuta: %s"
-#: property-iterator.cc:100
+#: property-iterator.cc:115
#, c-format
msgid "not a grob name, `%s'"
msgstr "non è il nome di un grob, «%s»"
msgid "Unknown relocation command %s"
msgstr "Comando di rilocazione sconosciuto %s"
-#: rest-collision-engraver.cc:70
-msgid "rhythmic head is not part of a rhythmic column"
-msgstr "la testa ritmica non fa parte di una colonna ritmica"
-
-#: rest-collision.cc:150
+#: rest-collision.cc:153
msgid "cannot resolve rest collision: rest direction not set"
msgstr "impossibile risolvere la collisione di pause: direzione delle pause non impostata"
-#: rest-collision.cc:161 rest-collision.cc:270
+#: rest-collision.cc:164 rest-collision.cc:273
msgid "too many colliding rests"
msgstr "troppe collisioni tra pause"
-#: rest.cc:240
+#: rest.cc:239
#, c-format
msgid "rest `%s' not found"
msgstr "pausa «%s» non trovata"
-#: score-engraver.cc:78
+#: score-engraver.cc:79
#, c-format
msgid "cannot find `%s'"
msgstr "impossibile trovare «%s»"
-#: score-engraver.cc:80
+#: score-engraver.cc:81
msgid "Music font has not been installed properly."
msgstr "Il tipo di carattere musicale non è stato installato correttamente."
-#: score-engraver.cc:82
+#: score-engraver.cc:83
#, c-format
msgid "Search path `%s'"
msgstr "Percorso di ricerca «%s»"
-#: score-engraver.cc:84
+#: score-engraver.cc:85
msgid "Aborting"
msgstr "Si sospende l'esecuzione"
-#: score.cc:172
+#: score.cc:160
msgid "already have music in score"
msgstr "musica già presente nello spartito"
-#: score.cc:173
+#: score.cc:161
msgid "this is the previous music"
msgstr "questa è la musica precedente"
-#: score.cc:178
+#: score.cc:166
msgid "errors found, ignoring music expression"
msgstr "trovati degli errori, si ignora l'espressione musicale"
msgid " scheme encoding: "
msgstr " codifica di Scheme: "
-#: skyline-pair.cc:160
+#: skyline-pair.cc:135
msgid "direction must not be CENTER in ly:skyline-pair::skyline"
msgstr "in ly:skyline-pair::skyline la direzione non deve essere CENTER"
msgid "remapping modulo 16"
msgstr "riassegnata con modulo 16"
-#: stem-engraver.cc:110
+#: stem-engraver.cc:100
msgid "tremolo duration is too long"
msgstr "la durata del tremolo è troppo lunga"
-#: stem-engraver.cc:162
+#: stem-engraver.cc:152
#, c-format
msgid "adding note head to incompatible stem (type = %d/%d)"
msgstr "si aggiunge la testa della nota a un gambo incompatibile (tipo = %d/%d)"
-#: stem-engraver.cc:165
+#: stem-engraver.cc:155
msgid "maybe input should specify polyphonic voices"
msgstr "forse l'input dovrebbe specificare le voci polifoniche"
msgstr "Numero degli oggetti grafici %d"
#. TODO: Also print the arguments of the markup!
-#: text-interface.cc:129
-#, c-format
-msgid "Cyclic markup detected: %s"
-msgstr "Individuato un markup ciclico: %s"
-
-#. TODO: Also print the arguments of the markup!
-#: text-interface.cc:142
+#: text-interface.cc:138
#, c-format
msgid "Markup depth exceeds maximal value of %d; Markup: %s"
msgstr "La profondità di markup eccede il valore massimo di %d; Markup: %s"
msgid "unterminated text spanner"
msgstr "spanner testuale non terminato"
-#: tie-engraver.cc:119
+#: tie-engraver.cc:121
msgid "unterminated tie"
msgstr "legatura di valore non terminata"
-#: tie-engraver.cc:353
+#: tie-engraver.cc:373
msgid "lonely tie"
msgstr "legatura di valore solitaria"
#.
#. OTOH, Tristan Keuris writes 8/20 in his Intermezzi.
#.
-#: time-signature-engraver.cc:75
+#: time-signature-engraver.cc:95
#, c-format
msgid "strange time signature found: %d/%d"
msgstr "si è incontrato uno strano segno di tempo: %d/%d"
-#. If there is no such symbol, we default to the numbered style.
-#. (Here really with a warning!)
-#: time-signature.cc:89
-#, c-format
-msgid "time signature symbol `%s' not found; reverting to numbered style"
-msgstr "non si è trovato il simbolo di tempo «%s»: si ritorna allo stile numerato"
-
#: translator-ctors.cc:65
#, c-format
msgid "unknown translator: `%s'"
msgid "cannot find: `%s'"
msgstr "impossibile trovare: «%s»"
-#: translator.cc:326
+#: translator.cc:320
#, c-format
msgid "Two simultaneous %s events, junking this one"
msgstr "Due eventi %s simultanei, si butta via questo"
-#: translator.cc:327
+#: translator.cc:321
#, c-format
msgid "Previous %s event here"
msgstr "L'evento %s precedente sta qui"
msgid "giving up"
msgstr "rinuncia"
-#: parser.yy:158 parser.yy:172
-msgid "Too much lookahead"
-msgstr "Troppa ricerca in avanti (lookahead)"
-
-#: parser.yy:441 parser.yy:752 parser.yy:818
+#: parser.yy:463 parser.yy:847 parser.yy:928 parser.yy:1150
msgid "bad expression type"
msgstr "tipo d'espressione non corretto"
-#: parser.yy:650 parser.yy:1159
+#: parser.yy:759 parser.yy:1361 parser.yy:1406
msgid "not a context mod"
msgstr "non è una modalità di contesto"
-#: parser.yy:853
-msgid "score expected"
-msgstr "attesa una partitura"
+#: parser.yy:954
+msgid "Missing music in \\score"
+msgstr "Nessuna musica trovata in \\score"
-#: parser.yy:869
+#: parser.yy:991
msgid "\\paper cannot be used in \\score, use \\layout instead"
msgstr "non si può usare \\paper dentro \\score, usare \\layout al suo posto"
-#: parser.yy:893
+#: parser.yy:1027
+msgid "Spurious expression in \\score"
+msgstr "Espressione spuria in \\score"
+
+#: parser.yy:1057
msgid "need \\paper for paper block"
msgstr "è necessario \\paper per il blocco \"paper\""
-#: parser.yy:1033 parser.yy:1055
+#: parser.yy:1234
+msgid "music expected"
+msgstr "attesa la musica"
+
+#: parser.yy:1244 parser.yy:1278
msgid "unexpected post-event"
msgstr "«post-event» inatteso"
-#: parser.yy:1063
+#: parser.yy:1286
msgid "Ignoring non-music expression"
msgstr "Si ignora l'espressione non musicale"
-#: parser.yy:1075 parser.yy:2493
-msgid "music expected"
-msgstr "attesa la musica"
-
-#: parser.yy:1370
+#: parser.yy:1587
msgid "not a symbol"
msgstr "non è un simbolo"
-#: parser.yy:2182 parser.yy:2296 parser.yy:2309 parser.yy:2318
+#: parser.yy:2337 parser.yy:2451 parser.yy:2464 parser.yy:2473
msgid "bad grob property path"
msgstr "percorso sbagliato alla proprietà del «grob»"
-#: parser.yy:2276
+#: parser.yy:2431
msgid "only \\consists and \\remove take non-string argument."
msgstr "solo \\consists e \\remove prendono un argomento diverso da una stringa"
-#: parser.yy:2337
+#: parser.yy:2492
msgid "bad context property path"
msgstr "percorso sbagliato alla proprietà di contesto"
-#: parser.yy:2438
+#: parser.yy:2593
msgid "simple string expected"
msgstr "attesa una stringa semplice"
-#: parser.yy:2456
+#: parser.yy:2611
msgid "symbol expected"
msgstr "simbolo atteso"
-#: parser.yy:2611
+#: parser.yy:2747
msgid "not a rhythmic event"
msgstr "non è un evento ritmico"
-#: parser.yy:2685
+#: parser.yy:2797
msgid "post-event expected"
msgstr "atteso un post-event"
-#: parser.yy:2694 parser.yy:2699
+#: parser.yy:2806 parser.yy:2811
msgid "have to be in Lyric mode for lyrics"
msgstr "bisogna essere in modo \"Lyric\" per i testi"
-#: parser.yy:2767
-msgid "expecting string as script definition"
-msgstr "ci si aspetta una stringa come definizione dello script"
+#: parser.yy:2887
+msgid "expecting string or post-event as script definition"
+msgstr "ci si aspetta una stringa o un post-event come definizione dello script"
-#: parser.yy:2875
+#: parser.yy:2991
msgid "not an articulation"
msgstr "non è un'articolazione"
-#: parser.yy:2947 parser.yy:2990
+#: parser.yy:3063 parser.yy:3106
msgid "not a duration"
msgstr "non è una durata"
-#: parser.yy:3007
+#: parser.yy:3127
msgid "bass number expected"
msgstr "atteso un numero di basso"
-#: parser.yy:3106
+#: parser.yy:3219
msgid "have to be in Note mode for notes"
msgstr "bisogna essere in modo \"Note\" per le note"
-#: parser.yy:3166
+#: parser.yy:3258
msgid "have to be in Chord mode for chords"
msgstr "bisogna essere in modo \"Chord\" per gli accordi"
-#: parser.yy:3181
+#: parser.yy:3301
msgid "markup outside of text script or \\lyricmode"
msgstr "testo fuori da una scritta testuale o da \\lyricmode"
-#: parser.yy:3186
+#: parser.yy:3306
msgid "unrecognized string, not in text script or \\lyricmode"
msgstr "stringa non riconosciuta, non si trova in una scritta testuale o in \\lyricmode"
-#: parser.yy:3347 parser.yy:3356
+#: parser.yy:3458 parser.yy:3467
msgid "not an unsigned integer"
msgstr "non è un intero non negativo"
-#: parser.yy:3424
+#: parser.yy:3541
msgid "not a markup"
msgstr "non è un markup"
-#: lexer.ll:224
+#: lexer.ll:192
msgid "stray UTF-8 BOM encountered"
msgstr "si è incontrato un segno BOM UTF-8 isolato"
-#: lexer.ll:227
+#: lexer.ll:195
msgid "Skipping UTF-8 BOM"
msgstr "Si ignora il BOM UTF-8"
-#: lexer.ll:279
+#: lexer.ll:247
#, c-format
msgid "Renaming input to: `%s'"
msgstr "Si rinomina l'input in: «%s»"
-#: lexer.ll:296
+#: lexer.ll:264
msgid "quoted string expected after \\version"
msgstr "\\version deve essere seguito da una stringa compresa tra virgolette"
-#: lexer.ll:300
+#: lexer.ll:268
msgid "quoted string expected after \\sourcefilename"
msgstr "\\sourcefilename deve essere seguito da una stringa compresa tra virgolette"
-#: lexer.ll:304
+#: lexer.ll:272
msgid "integer expected after \\sourcefileline"
msgstr "\\sourcefileline deve essere seguito da un intero"
-#: lexer.ll:331
+#: lexer.ll:299
msgid "\\maininput not allowed outside init files"
msgstr "\\maininput non permesso fuori dai file di inizializzazione"
-#: lexer.ll:355
+#: lexer.ll:323
#, c-format
msgid "wrong or undefined identifier: `%s'"
msgstr "indentificatore errato o non definito: «%s»"
-#: lexer.ll:381
+#: lexer.ll:348
msgid "string expected after \\include"
msgstr "stringa prevista dopo \\include"
-#: lexer.ll:391
+#: lexer.ll:358
msgid "end quote missing"
msgstr "mancano le virgolette di chiusura"
-#: lexer.ll:743
+#: lexer.ll:713
msgid "EOF found inside a comment"
msgstr "fine del file (EOF) trovata in un commento"
-#: lexer.ll:748
+#: lexer.ll:718
msgid "EOF found inside string"
msgstr "fine del file (EOF) trovata in una stringa"
-#: lexer.ll:763
+#: lexer.ll:733
msgid "Unfinished main input"
msgstr "Input principale non finito"
-#: lexer.ll:834
+#: lexer.ll:804
#, c-format
msgid "invalid character: `%s'"
msgstr "carattere non valido: «%s»"
-#: lexer.ll:963
+#: lexer.ll:924
#, c-format
msgid "unknown escaped string: `\\%s'"
msgstr "stringa di escape sconosciuta: «\\%s»"
-#: lexer.ll:983
+#: lexer.ll:944
#, c-format
msgid "undefined character or shorthand: %s"
msgstr "carattere o abbreviazione non riconosciuti: %s"
-#: lexer.ll:1275
+#: lexer.ll:1235
msgid "non-UTF-8 input"
msgstr "input non UTF-8"
-#: lexer.ll:1319
+#: lexer.ll:1279
+#, c-format
+msgid "Invalid version string \"%s\""
+msgstr "Stringa di versione \"%s\" non valida"
+
+#: lexer.ll:1284
#, c-format
msgid "file too old: %s (oldest supported: %s)"
msgstr "file troppo vecchio: %s (il più vecchio che si può gestire è: %s)"
-#: lexer.ll:1320
+#: lexer.ll:1285
msgid "consider updating the input with the convert-ly script"
msgstr "si consideri di aggiornare l'input con lo script convert-ly"
-#: lexer.ll:1326
+#: lexer.ll:1291
#, c-format
msgid "program too old: %s (file requires: %s)"
msgstr "programma troppo vecchio: %s (il file richiede: %s)"
+#: auto-beam.scm:147
+msgid "Beam end fits no pattern"
+msgstr "Il termine della travatura non soddisfa nessuno schema"
+
#: backend-library.scm:27
#, scheme-format
msgid "Invoking `~a'..."
msgid "`~a' failed (~a)\n"
msgstr "«~a» fallito (~a)\n"
-#: backend-library.scm:93
+#: backend-library.scm:94
#, scheme-format
msgid "Converting to `~a'...\n"
msgstr "Conversione a «~a»...\n"
#. Do not try to guess the name of the png file,
#. GS produces PNG files like BASE-page%d.png.
-#: backend-library.scm:102
+#: backend-library.scm:103
#, scheme-format
msgid "Converting to ~a..."
msgstr "Conversione a ~a..."
-#: backend-library.scm:140
+#: backend-library.scm:141
#, scheme-format
msgid "Writing header field `~a' to `~a'..."
msgstr "Scrittura del campo di intestazione «~a» in «~a»..."
-#: backend-library.scm:189
+#: backend-library.scm:190
#, scheme-format
msgid "missing stencil expression `~S'"
msgstr "manca l'espressione di stencil «~S»"
msgid "symbol ~S redefined"
msgstr "simbolo ~S ridefinito"
-#: define-event-classes.scm:73
+#: define-event-classes.scm:74
#, scheme-format
msgid "unknown parent class `~a'"
msgstr "Classe di evento «~a» sconosciuta"
-#: define-event-classes.scm:107
+#: define-event-classes.scm:108
#, scheme-format
msgid "Cannot redefine event class `~S'"
msgstr "Impossibile ridefinire la classe di evento «~S»"
-#: define-event-classes.scm:109
+#: define-event-classes.scm:110
#, scheme-format
msgid "Undefined parent event class `~S'"
msgstr "Classe di evento genitore «~S» sconosciuta"
-#: define-markup-commands.scm:1083
+#: define-markup-commands.scm:1062
msgid "no systems found in \\score markup, does it have a \\layout block?"
msgstr "non si è trovato alcun sistema nell'oggetto markup in cui è inserito \\score: contiene un blocco \\layout?"
-#: define-markup-commands.scm:2847
+#: define-markup-commands.scm:2886
#, scheme-format
msgid "Cannot find glyph ~a"
msgstr "Impossibile trovare il glifo ~a"
-#: define-markup-commands.scm:3273
+#: define-markup-commands.scm:3362
#, scheme-format
msgid "no brace found for point size ~S "
msgstr "non c'è una graffa che abbia una dimensione di ~S punti"
-#: define-markup-commands.scm:3274
+#: define-markup-commands.scm:3363
#, scheme-format
msgid "defaulting to ~S pt"
msgstr "si applica la dimensione predefinita ~S pt"
-#: define-markup-commands.scm:3526
+#: define-markup-commands.scm:3615
#, scheme-format
msgid "not a valid duration string: ~a"
msgstr "non è una durata valida per la stringa: ~a"
-#: define-markup-commands.scm:3737
+#: define-markup-commands.scm:3826
#, scheme-format
msgid "not a valid duration string: ~a - ignoring"
msgstr "non è una durata valida per la stringa: ~a -- si ignora"
-#: define-music-types.scm:792
+#: define-music-types.scm:797
#, scheme-format
msgid "symbol expected: ~S"
msgstr "simbolo atteso: ~S"
-#: define-music-types.scm:795
+#: define-music-types.scm:800
#, scheme-format
msgid "cannot find music object: ~S"
msgstr "impossibile trovare l'oggetto musicale: ~S"
-#: define-music-types.scm:815
+#: define-music-types.scm:820
#, scheme-format
msgid "bad make-music argument: ~S"
msgstr "argomento di make-music non valido: ~S"
-#: define-music-types.scm:827
-#, scheme-format
-msgid "unknown repeat type `~S'"
-msgstr "tipo di ripetizione sconosciuto «~S»"
-
-#: define-music-types.scm:828
-msgid "See define-music-types.scm for supported repeats"
-msgstr "Si veda define-music-types.scm per le ripetizioni supportate"
-
#: define-note-names.scm:972
msgid "Select note names language."
msgstr "Selezione della lingua dei nomi delle note."
msgid "Could not find language `~a'. Ignoring."
msgstr "Impossibile trovare il linguaggio \"~a\". Si ignora."
-#: document-backend.scm:132
+#: document-backend.scm:135
#, scheme-format
msgid "pair expected in doc ~s"
msgstr "si aspettava una coppia nel documento ~s"
-#: document-backend.scm:189
+#: document-backend.scm:202
#, scheme-format
msgid "cannot find interface for property: ~S"
msgstr "impossibile trovare un'interfaccia per le proprietà: ~S"
-#: document-backend.scm:199
+#: document-backend.scm:212
#, scheme-format
msgid "unknown Grob interface: ~S"
msgstr "interfaccia del Grob sconosciuta: ~S"
-#: documentation-lib.scm:59
+#: documentation-lib.scm:62
#, scheme-format
msgid "Processing ~S..."
msgstr "Elaborazione di ~S..."
-#: documentation-lib.scm:176
+#: documentation-lib.scm:178
#, scheme-format
msgid "Writing ~S..."
msgstr "Scrittura di ~S..."
-#: documentation-lib.scm:188
+#: documentation-lib.scm:190
#, scheme-format
msgid "cannot find description for property `~S' (~S)"
msgstr "impossibile trovare la descrizione per la proprietà \"~S\" (~S)"
-#: documentation-lib.scm:209
+#: documentation-lib.scm:211
#, scheme-format
msgid "cannot find description for property ~S (~S)"
msgstr "impossibile trovare la descrizione per la proprietà ~S (~S)"
msgid "Writing ~a..."
msgstr "Scrittura di ~a..."
-#: framework-ps.scm:250
+#: framework-ps.scm:281
#, scheme-format
msgid "cannot embed ~S=~S"
msgstr "impossibile inserire ~S=~S"
-#: framework-ps.scm:293
+#: framework-ps.scm:324
#, scheme-format
msgid "cannot extract file matching ~a from ~a"
msgstr "impossibile estrarre il file corrispondente a ~a a partire da ~a"
-#: framework-ps.scm:311
+#: framework-ps.scm:342
#, scheme-format
msgid "do not know how to embed ~S=~S"
msgstr "impossibile realizzare l'integrazione ~S=~S"
-#: framework-ps.scm:336
+#: framework-ps.scm:367
#, scheme-format
msgid "do not know how to embed font ~s ~s ~s"
msgstr "non so come inserire il tipo di carattere ~s ~s ~s"
-#: framework-ps.scm:687
+#: framework-ps.scm:729
msgid ""
"\n"
"The PostScript backend does not support the\n"
msgid "Error in beam quanting. Expected ~S 0, found ~S."
msgstr "Errore nella definizione delle travature. Previste ~S 0, trovate ~S."
-#: lily-library.scm:333
+#: lily-library.scm:350
msgid "Music unsuitable for context-mod"
msgstr "Musica non adatta per context-mod"
-#: lily-library.scm:388
+#: lily-library.scm:405
#, scheme-format
msgid "Cannot find context-def \\~a"
msgstr "Impossibile trovare context-def \\~a"
-#: lily-library.scm:404
+#: lily-library.scm:421
msgid "Music unsuitable for output-def"
msgstr "Musica non adatta per output-def"
-#: lily-library.scm:884
+#: lily-library.scm:921
msgid ""
"Find the index between @var{start} and @var{end} (an integer)\n"
"which produces the closest match to @var{target-val} if\n"
"che produca l'abbinamento più vicino al @var{target-val} quando\n"
"applicato alla funzione @var{getter}."
-#: lily-library.scm:955
+#: lily-library.scm:1015
#, scheme-format
msgid "unknown unit: ~S"
msgstr "unità sconosciuta: ~S"
-#: lily-library.scm:980
+#: lily-library.scm:1040
#, scheme-format
msgid "no \\version statement found, please add~afor future compatibility"
msgstr "dichiarazione di \\version assente; si aggiunga ~a per compatibilità futura"
msgid "define-session used after session start"
msgstr "define-session usato dopo l'inizio di una sessione"
-#: lily.scm:393
+#: lily.scm:399
msgid "Using (ice-9 curried-definitions) module\n"
msgstr "Utilizzazione del modulo (ice-9 curried-definitions)\n"
-#: lily.scm:396
+#: lily.scm:402
msgid "Guile 1.8\n"
msgstr "Guile 1.8\n"
-#: lily.scm:455
+#: lily.scm:459
#, scheme-format
msgid "cannot find: ~A"
msgstr "impossibile trovare ~A"
-#: lily.scm:878
+#: lily.scm:886
msgid "Success: compilation successfully completed"
msgstr "Successo: compilazione completata con successo"
-#: lily.scm:879
+#: lily.scm:887
msgid "Compilation completed with warnings or errors"
msgstr "Compilazione completata con avvertimenti o errori"
-#: lily.scm:940
+#: lily.scm:948
#, scheme-format
msgid "job ~a terminated with signal: ~a"
msgstr "il lavoro ~a è terminato col segnale ~a"
-#: lily.scm:943
+#: lily.scm:951
#, scheme-format
msgid ""
"logfile ~a (exit ~a):\n"
"file di registro ~a (uscita ~a):\n"
"~a"
-#: lily.scm:965 lily.scm:1054
+#: lily.scm:973 lily.scm:1062
#, scheme-format
msgid "failed files: ~S"
msgstr "errore nei file: ~S"
-#: lily.scm:1045
+#: lily.scm:1053
#, scheme-format
msgid "Redirecting output to ~a..."
msgstr "Redirezione dell'output verso ~a..."
-#: lily.scm:1064 ps-to-png.scm:66
+#: lily.scm:1072 ps-to-png.scm:66
#, scheme-format
msgid "Invoking `~a'...\n"
msgstr "Chiamata di «~a»...\n"
msgid "~a function cannot return ~a"
msgstr "la funzione ~a non può restituire ~a"
-#: ly-syntax-constructors.scm:75
+#: ly-syntax-constructors.scm:76
#, scheme-format
msgid "wrong type for argument ~a. Expecting ~a, found ~s"
msgstr "tipo di argomento errato per ~a. Previsto ~a, trovato ~s"
-#: ly-syntax-constructors.scm:199
+#: ly-syntax-constructors.scm:200
#, scheme-format
msgid "Invalid property operation ~a"
msgstr "Operazione di proprietà non valida: ~a"
msgid "negative replication count; ignoring"
msgstr "conto di riproduzione negativo; si ignora"
-#: music-functions.scm:272
-msgid "More alternatives than repeats. Junking excess alternatives"
-msgstr "Più alternative che ripetizioni. Vengono tralasciate le alternative in eccesso"
-
-#: music-functions.scm:303
+#: music-functions.scm:311
#, scheme-format
msgid "invalid tremolo repeat count: ~a"
msgstr "numero di ripetizioni di tremolo non valido: ~a"
-#: music-functions.scm:459
+#: music-functions.scm:340
+#, scheme-format
+msgid "unknown repeat type `~S': must be volta, unfold, percent, or tremolo"
+msgstr "tipo di ripetizione «~S» sconosciuto: deve essere volta, unfold, percent o tremolo"
+
+#: music-functions.scm:344
+msgid "More alternatives than repeats. Junking excess alternatives"
+msgstr "Più alternative che ripetizioni. Vengono tralasciate le alternative in eccesso"
+
+#: music-functions.scm:480
#, scheme-format
msgid "bad grob property path ~a"
msgstr "percorso sbagliato alla proprietà del «grob»: ~a"
-#: music-functions.scm:753
+#: music-functions.scm:779
msgid "Bad chord repetition"
msgstr "Ripetizione di accordi sbagliata"
-#: music-functions.scm:788
+#: music-functions.scm:884
#, scheme-format
msgid "music expected: ~S"
msgstr "musica attesa: ~S"
-#: music-functions.scm:1144
+#: music-functions.scm:1226
#, scheme-format
msgid "cannot find quoted music: `~S'"
msgstr "impossibile trovare la musica citata: «~S»"
-#: music-functions.scm:1282
+#: music-functions.scm:1366
msgid "Add @var{octave-shift} to the octave of @var{pitch}."
msgstr "Aggiungere @var{octave-shift} all'ottava di @var{altezza}."
-#: music-functions.scm:1342
+#: music-functions.scm:1429
#, scheme-format
msgid "Unknown octaveness type: ~S "
msgstr "Tipo di ottava sconosciuto: ~S "
-#: music-functions.scm:1343
+#: music-functions.scm:1430
msgid "Defaulting to 'any-octave."
msgstr "Applicazione del valore predefinito 'any-octave."
-#: music-functions.scm:1688
+#: music-functions.scm:1822
#, scheme-format
msgid "unknown accidental style: ~S"
msgstr "stile di alterazione sconosciuto: ~S"
-#: output-ps.scm:278 output-svg.scm:539
+#: music-functions.scm:2040
+msgid "Missing duration"
+msgstr "Durata mancante"
+
+#: music-functions.scm:2549
+#, scheme-format
+msgid "not a symbol list: ~a"
+msgstr "non è una lista di simboli: ~a"
+
+#: music-functions.scm:2552
+#, scheme-format
+msgid "conflicting tag group ~a"
+msgstr "gruppo di etichette (tag) ~a in conflitto"
+
+#: output-ps.scm:290 output-svg.scm:539
#, scheme-format
msgid "unknown line-cap-style: ~S"
msgstr "line-cap-style sconosciuto: ~S"
-#: output-ps.scm:283 output-svg.scm:545
+#: output-ps.scm:295 output-svg.scm:545
#, scheme-format
msgid "unknown line-join-style: ~S"
msgstr "line-join-style sconosciuto: ~S"
msgid "cannot find SVG font ~S"
msgstr "impossibile trovare il tipo di carattere SVG ~S"
-#: paper.scm:120
+#: paper.scm:122
msgid "set-global-staff-size: not in toplevel scope"
msgstr "set-global-staff-size: non è nell'ambito di livello più alto"
-#: paper.scm:320
+#: paper.scm:322
#, scheme-format
msgid "This is not a \\layout {} object, ~S"
msgstr "Questo non è un oggetto \\layout {}, ~S"
-#: paper.scm:328
+#: paper.scm:330
#, scheme-format
msgid "Unknown paper size: ~a"
msgstr "Dimensione del foglio sconosciuta: ~a"
#. TODO: should raise (generic) exception with throw, and catch
#. that in parse-scm.cc
-#: paper.scm:347
+#: paper.scm:349
msgid "Must use #(set-paper-size .. ) within \\paper { ... }"
msgstr "Si deve usare #(set-paper-size .. ) all'interno di \\paper { ... }"
-#: parser-clef.scm:164
+#: parser-clef.scm:154
#, scheme-format
msgid "unknown clef type `~a'"
msgstr "tipo di chiave sconosciuto «~a»"
-#: parser-clef.scm:165
+#: parser-clef.scm:155
#, scheme-format
msgid "supported clefs: ~a"
msgstr "chiavi supportate: ~a"
msgid "error in #{ ... #}"
msgstr "errore in #{ ... #}"
-#: part-combiner.scm:598
+#: part-combiner.scm:748
#, scheme-format
msgid "quoted music `~a' is empty"
msgstr "la musica quotata «~a» è vuota"
msgid "assertion failed: ~S"
msgstr "errore di asserzione: ~S"
-#: translation-functions.scm:368
+#: translation-functions.scm:389
#, scheme-format
msgid "Negative fret for pitch ~a on string ~a"
msgstr "Tasto negativo per l'altezza ~a sulla corda ~a"
-#: translation-functions.scm:371
+#: translation-functions.scm:392
#, scheme-format
msgid "Missing fret for pitch ~a on string ~a"
msgstr "Manca il tasto per l'altezza ~a sulla corda ~a"
-#: translation-functions.scm:414
+#: translation-functions.scm:435
#, scheme-format
msgid "No open string for pitch ~a"
msgstr "Nessuna corda a vuoto per l'altezza ~a"
-#: translation-functions.scm:429 translation-functions.scm:441
+#: translation-functions.scm:450 translation-functions.scm:462
#, scheme-format
msgid "Requested string for pitch requires negative fret: string ~a pitch ~a"
msgstr "La corda richiesta per questa altezza necessita un tasto negativo: corda ~a altezza ~a"
-#: translation-functions.scm:432
+#: translation-functions.scm:453
msgid "Ignoring string request and recalculating."
msgstr "Ignorata la richiesta di questa corda, viene ricalcolata."
-#: translation-functions.scm:444
+#: translation-functions.scm:465
msgid "Ignoring note in tablature."
msgstr "Ignorata la nota nell'intavolatura."
-#: translation-functions.scm:469
+#: translation-functions.scm:490
#, scheme-format
msgid "No string for pitch ~a (given frets ~a)"
msgstr "Nessuna corda per l'altezza ~a (se i tasti sono ~a)"
-#: translation-functions.scm:574
+#: translation-functions.scm:595
#, scheme-format
msgid ""
"No label for fret ~a (on string ~a);\n"
msgstr ""
"Nessuna etichetta per il tasto ~a (sulla corda ~a);\n"
"disponibili solo le etichette del tasto ~a"
-
-#~ msgid "cannot find start of (de)crescendo"
-#~ msgstr "impossibile trovare l'inizio del (de)crescendo"
-
-#~ msgid "already have a decrescendo"
-#~ msgstr "decrescendo già presente"
-
-#~ msgid "already have a crescendo"
-#~ msgstr "crescendo già presente"
-
-#~ msgid "cresc starts here"
-#~ msgstr "cresc inizia qui"
-
-#~ msgid "unterminated (de)crescendo"
-#~ msgstr "(de)crescendo non terminato"
-
-#~ msgid "unterminated phrasing slur"
-#~ msgstr "legatura di frase non terminata"
-
-#~ msgid "cannot end phrasing slur"
-#~ msgstr "impossibile chiudere la legatura di frase"
-
-#~ msgid "already have phrasing slur"
-#~ msgstr "legatura di frase già presente"
-
-#~ msgid "unterminated slur"
-#~ msgstr "legatura di portamento non terminata"
-
-#~ msgid "old relative compatibility not used"
-#~ msgstr "compatibilità col vecchio modo relativo non utilizzata"
-
-#~ msgid "undefined: ~S"
-#~ msgstr "~S indefinito"
-
-#~ msgid "Line spanner's left point is to the right of its right point."
-#~ msgstr "Il punto sinistro dello spanner della linea si trova alla destra del suo punto destro."
-
-#~ msgid "Grob name should be alphanumeric"
-#~ msgstr "Il nome del grob deve essere alfanumerico"
-
-#~ msgid "Brace found at end of lyric. Did you forget a space?"
-#~ msgstr "Trovata una parentesi alla fine del testo. È stato dimenticato uno spazio?"
-
-#~ msgid "Brace found at end of markup. Did you forget a space?"
-#~ msgstr "Trovata una parentesi alla fine della marcatura. È stato dimenticato uno spazio?"
-
-#~ msgid "add midi-block to .ly file"
-#~ msgstr "aggiunge il blocco midi al file .ly"
-
-#~ msgid "Found infinity or nan in output. Substituting 0.0"
-#~ msgstr "Trovato infinito o un valore non numerico nell'output. Sostituito con 0.0"
-
-#~ msgid "All classes must be the last in their matrilineal line."
-#~ msgstr "Tutte le classi devono essere le ultime della propria linea di discendenza."
-
-#~ msgid "All classes must have a well-defined pedigree in the existing class hierarchy."
-#~ msgstr "Tutte le classi devono avere un'ascendenza ben definita nella gerarchia di classe esistente."
-
-#~ msgid "event class ~A seems to be unused"
-#~ msgstr "la classe di evento ~A sembra essere non utilizzata"
-
-#~ msgid "translator listens to nonexisting event class ~A"
-#~ msgstr "il traduttore è in ascolto della classe di evento ~A inesistente"
-
-#~ msgid "setbeatGrouping. Use baseMoment and beatStructure.\n"
-#~ msgstr "setbeatGrouping. Usa baseMoment e beatStructure.\n"
-
-#~ msgid "success: %s"
-#~ msgstr "riuscito: %s"
-
-#~ msgid "Infinity or NaN encountered"
-#~ msgstr "incontrato infinito o un valore non numerico"
-
-#~ msgid "Vaticana_ligature: zero join (delta_pitch == 0)"
-#~ msgstr "Vaticana_ligature: unione nulla (delta_pitch == 0)"
-
-#~ msgid "No spring between column %d and next one"
-#~ msgstr "Nessuna separazione tra la colonna %d e la successiva"
-
-#~ msgid "Sending non-event to context"
-#~ msgstr "Invio di un non-evento al contesto"
-
-#~ msgid "Invalid CreateContext event: Cannot create %s context"
-#~ msgstr "Evento CreateContext non valido: impossibile creare il contesto %s"
-
-#~ msgid "infinity or NaN encountered while converting Real number"
-#~ msgstr "si è incontrato infinito o un valore non numerico durante la conversione di un numero reale"
-
-#~ msgid "setting to zero"
-#~ msgstr "impostato a zero"
-
-#~ msgid "No spacing entry from %s to `%s'"
-#~ msgstr "Nessuno spazio da %s a «%s»"
-
-#~ msgid "error at EOF: %s"
-#~ msgstr "errore alla fine del file (EOF): %s"
-
-#~ msgid "cyclic dependency: calculation-in-progress encountered for #'%s (%s)"
-#~ msgstr "dipendenza ciclica: calculation-in-progress incontrato per #'%s (%s)"
-
-#~ msgid "Mensural_ligature: unexpected case fall-through"
-#~ msgstr "Mensural_ligature: caso inatteso e non interpretabile"
-
-#~ msgid "Mensural_ligature: (join_right == 0)"
-#~ msgstr "Mensural_ligature: (join_right == 0)"
-
-#~ msgid "braces do not match"
-#~ msgstr "le graffe non corrispondono"
-
-#~ msgid "second argument must be pitch list"
-#~ msgstr "il secondo argomento deve essere una lista di altezze"
-
-#~ msgid "warning:"
-#~ msgstr "attenzione:"
-
-#~ msgid "Bar check failed. Expect to be at ~a, instead at ~a"
-#~ msgstr "Controllo di battuta fallito. Avrebbe dovuto trovarsi a ~a invece che a ~a"
-
-#~ msgid "Music head function must return Music object"
-#~ msgstr "Una funzione musicale principale deve restituire un Oggetto musicale"
-
-#~ msgid "vertical spacing has been changed; minimum-Y-extent is obsolete.\n"
-#~ msgstr "la spaziatura verticale è cambiata; minimum-Y-extent è obsoleto.\n"
-
-#~ msgid "no feasible beam position"
-#~ msgstr "nessuna posizione fattibile per la travatura"
-
-#~ msgid "Invalid index for character"
-#~ msgstr "Indice non valido per il carattere"
-
-#, fuzzy
-#~ msgid "deprecated function called: %s"
-#~ msgstr "non riesco a trovare il carattere `%s'"
-
-#, fuzzy
-#~ msgid "generate DVI (tex backend only)"
-#~ msgstr "vincoli degenerati"
-
-#, fuzzy
-#~ msgid "do not generate printed output"
-#~ msgstr "vincoli degenerati"
-
-#, fuzzy
-#~ msgid "cannot find start of trill spanner"
-#~ msgstr "non trovo le estremità di %s"
-
-#, fuzzy
-#~ msgid "already have a trill spanner"
-#~ msgstr "crescendo non terminato"
-
-#~ msgid "silly pitch"
-#~ msgstr "indicazione altezza priva di senso"
-
-#, fuzzy
-#~ msgid "show warranty"
-#~ msgstr " -w, --warranty mostra la garanzia e il copyright\n"
-
-#, fuzzy
-#~ msgid "loading default font"
-#~ msgstr "non trovo il file: `%s'"
-
-#, fuzzy
-#~ msgid "cannot find default font: `%s'"
-#~ msgstr "non trovo il file: `%s'"
-
-#, fuzzy
-#~ msgid "couldnnot find line breaking that satisfies constraints"
-#~ msgstr "la soluzione non soddisfa i vincoli"
-
-#, fuzzy
-#~ msgid "crescendo too small"
-#~ msgstr "troppo piccolo"
-
-#, fuzzy
-#~ msgid "cannot open file %s"
-#~ msgstr "non posso aprire il file: `%s'"
-
-#, fuzzy
-#~ msgid "Incorrect lilypond version: %s (%s, %s)"
-#~ msgstr "versione di mudela errata: %s (%s, %s)"
-
-#~ msgid "Creator: "
-#~ msgstr "Autore: "
-
-#, fuzzy
-#~ msgid "at "
-#~ msgstr ", a "
-
-#, fuzzy
-#~ msgid "in quotation: junking event %s"
-#~ msgstr "Cosa? Non è una richiesta: `%s'"
-
-#, fuzzy
-#~ msgid "cannot find ascii character: %d"
-#~ msgstr "non riesco a trovare il carattere `%s'"
-
-#, fuzzy
-#~ msgid "unterminated trill spanner"
-#~ msgstr "extender non terminato"
-
-#, fuzzy
-#~ msgid "cannot find signature for music function"
-#~ msgstr "Non trovo il contesto dello Score"
-
-#, fuzzy
-#~ msgid "Opening pipe `%s'"
-#~ msgstr "Genero le voci..."
-
-#, fuzzy
-#~ msgid "Cleaning %s..."
-#~ msgstr "Genero le voci..."
-
-#, fuzzy
-#~ msgid "Usage: %s [OPTION]... [FILE]..."
-#~ msgstr "Uso: %s [OPZIONE]... [FILE]..."
-
-#, fuzzy
-#~ msgid "%s: skipping: `%s'"
-#~ msgstr "% strumento:"
-
-#, fuzzy
-#~ msgid "Processing `%s'..."
-#~ msgstr "Elaboro..."
-
-#, fuzzy
-#~ msgid "Wrote `%s'"
-#~ msgstr "Genero le voci..."
-
-#, fuzzy
-#~ msgid "cannot dlopen: %s: %s"
-#~ msgstr "non posso aprire il file: `%s'"
-
-#, fuzzy
-#~ msgid "install package: %s or %s"
-#~ msgstr "non posso cambiare `%s' in `%s'"
-
-#, fuzzy
-#~ msgid "parsing AFM file: `%s'"
-#~ msgstr "Genero le voci..."
-
-#, fuzzy
-#~ msgid "beam has less than two visible stems"
-#~ msgstr "beam con meno di due gambi"
-
-#, fuzzy
-#~ msgid "adding lilypond directory: %s"
-#~ msgstr "non trovo e non posso creare `%s'"
-
-#, fuzzy
-#~ msgid "cannot handle a percent repeat of length: %s"
-#~ msgstr "non so manipolare tasti vuoti"
-
-#, fuzzy
-#~ msgid "suspect duration in beam: %s"
-#~ msgstr "non è una durata: %d"
-
-#, fuzzy
-#~ msgid "syntax error: cannot back up"
-#~ msgstr "Errore non fatale: "
-
-#, fuzzy
-#~ msgid "Stack now"
-#~ msgstr "traccia "
-
-#, fuzzy
-#~ msgid "Reading a token: "
-#~ msgstr "Genero le voci..."
-
-#, fuzzy
-#~ msgid "syntax error, unexpected %s"
-#~ msgstr "Errore non fatale: "
-
-#, fuzzy
-#~ msgid "syntax error, unexpected %s, expecting %s"
-#~ msgstr "Errore non fatale: "
-
-#, fuzzy
-#~ msgid "syntax error, unexpected %s, expecting %s or %s"
-#~ msgstr "Errore non fatale: "
-
-#, fuzzy
-#~ msgid "syntax error; also memory exhausted"
-#~ msgstr "Errore non fatale: "
-
-#, fuzzy
-#~ msgid "syntax error"
-#~ msgstr "Errore non fatale: "
-
-#, fuzzy
-#~ msgid "cannot find CFF/PFA/PFB font ~S=~S"
-#~ msgstr "non trovo il file: `%s'"
-
-#, fuzzy
-#~ msgid "unknown bar glyph: `~S'"
-#~ msgstr "tipo di chiave sconosciuto"
-
-#, fuzzy
-#~ msgid "Extracting fonts to %s..."
-#~ msgstr "non trovo e non posso creare `%s'"
-
-#, fuzzy
-#~ msgid "Writing %s..."
-#~ msgstr "Genero le voci..."
-
-#, fuzzy
-#~ msgid "Writing output file."
-#~ msgstr " -D, --debug abilita l'output di debugging\n"
-
-#, fuzzy
-#~ msgid "Have to be in Lyric mode for lyrics"
-#~ msgstr "bisogna essere in Lyric mode per i testi"
-
-#, fuzzy
-#~ msgid "Have to be in Note mode for notes"
-#~ msgstr "bisogna essere in Note mode per le note"
-
-#, fuzzy
-#~ msgid "Have to be in Chord mode for chords"
-#~ msgstr "bisogna essere in Chord mode per gli accordi"
-
-#, fuzzy
-#~ msgid "Huh? Got %d, expected %d characters"
-#~ msgstr "Come? Ho trovato %d caratteri al posto di %d"
-
-#, fuzzy
-#~ msgid "Missing end quote"
-#~ msgstr "apice finale mancante"
-
-#, fuzzy
-#~ msgid "kpathsea cannot find %s file: `%s'"
-#~ msgstr "Non trovo il file `%s'"
-
-#, fuzzy
-#~ msgid "kpathsea cannot find file: `%s'"
-#~ msgstr "Non trovo il file `%s'"
-
-#, fuzzy
-#~ msgid "generate DVI"
-#~ msgstr "vincoli degenerati"
-
-#, fuzzy
-#~ msgid "generate TeX"
-#~ msgstr "vincoli degenerati"
-
-#, fuzzy
-#~ msgid "kpathsea can not find %s file: `%s'"
-#~ msgstr "Non trovo il file `%s'"
-
-#, fuzzy
-#~ msgid "kpathsea can not find AFM file `%s'"
-#~ msgstr "non trovo il file: `%s'"
-
-#, fuzzy
-#~ msgid "kpathsea can not find TFM file: `%s'"
-#~ msgstr "non trovo il file: `%s'"
-
-#, fuzzy
-#~ msgid "add DIR to LilyPond's search path"
-#~ msgstr " -I, --include=DIR aggiunge DIR ai path di ricerca\n"
-
-#, fuzzy
-#~ msgid "produce MIDI output only"
-#~ msgstr " -M, --no-paper produce solo output midi\n"
-
-#, fuzzy
-#~ msgid "generate PDF output"
-#~ msgstr "vincoli degenerati"
-
-#, fuzzy
-#~ msgid "generate PS.GZ"
-#~ msgstr "vincoli degenerati"
-
-#, fuzzy
-#~ msgid "Continuing..."
-#~ msgstr "Genero le voci..."
-
-#, fuzzy
-#~ msgid "Analyzing %s..."
-#~ msgstr "Genero le voci..."
-
-#, fuzzy
-#~ msgid "no LilyPond output found for `%s'"
-#~ msgstr "Output di Lily in %s..."
-
-#, fuzzy
-#~ msgid "%s output to <stdout>..."
-#~ msgstr "L'output MIDI è inviato a %s..."
-
-#, fuzzy
-#~ msgid "%s output to %s..."
-#~ msgstr "L'output MIDI è inviato a %s..."
-
-#, fuzzy
-#~ msgid "cannot find file: `%s.%s'"
-#~ msgstr "non trovo il file: `%s'"
-
-#, fuzzy
-#~ msgid "write dependencies"
-#~ msgstr "aspettavo uno spazio bianco"
-
-#, fuzzy
-#~ msgid "write Makefile dependencies for every input file"
-#~ msgstr " -d, --dependencies scrive le dependenze del Makefile per ogni file di input\n"
-
-#, fuzzy
-#~ msgid "invalid value: `%s'"
-#~ msgstr "carattere illegale: `%c'"
-
-#, fuzzy
-#~ msgid "Writing HTML menu `%s'"
-#~ msgstr "Genero le voci..."
-
-#, fuzzy
-#~ msgid "Beam has less than two stems. Removing beam."
-#~ msgstr "beam con meno di due gambi"
-
-#, fuzzy
-#~ msgid "Score contains errors; will not process it"
-#~ msgstr "lo spartito contiene errori; non lo elaborerò"
-
-#, fuzzy
-#~ msgid "Now processing: `%s'"
-#~ msgstr "stringa di escape sconosciuta: `\\%s'"
-
-#, fuzzy
-#~ msgid "inhibit file output naming and exporting"
-#~ msgstr " -s, --safe inibisce la rinomina dei file di output e l'esportazione di macro di TeX\n"
-
-#, fuzzy
-#~ msgid "GNU LilyPond -- The music typesetter"
-#~ msgstr "GNU LilyPond -- Il tipografo musicale del progetto GNU"
-
-#~ msgid "silly duration"
-#~ msgstr "indicazione durata priva di senso"
-
-#, fuzzy
-#~ msgid "paper output to `%s'..."
-#~ msgstr "L'output stampato è inviato a %s..."
-
-#, fuzzy
-#~ msgid "Outputting Score, defined at: "
-#~ msgstr "emetto lo Score, definito a: "
-
-#~ msgid "from musical definition: %s"
-#~ msgstr "della definizione musicale: %s"
-
-#, fuzzy
-#~ msgid "unterminated pedal bracket"
-#~ msgstr "beam non terminato"
-
-#, fuzzy
-#~ msgid "unbound spanner `%s'"
-#~ msgstr "Spanner non legato `%s'"
-
-#, fuzzy
-#~ msgid "Error syncing file (disk full?)"
-#~ msgstr "errore nel sincronizzare il file (disco pieno?)"
-
-#, fuzzy
-#~ msgid "Not adding translator: `%s'"
-#~ msgstr "traduttore sconosciuto `%s'"
-
-#, fuzzy
-#~ msgid "Must have duration object"
-#~ msgstr "indicazione durata priva di senso"
-
-#, fuzzy
-#~ msgid "%r: release directory"
-#~ msgstr "non trovo e non posso creare `%s'"
-
-#, fuzzy
-#~ msgid "Building `%s'..."
-#~ msgstr "Genero le voci..."
-
-#~ msgid ", at "
-#~ msgstr ", a "
-
-#, fuzzy
-#~ msgid "Putting slur over rest."
-#~ msgstr "Metto uno slur sulla pausa."
-
-#, fuzzy
-#~ msgid "Slur over rest?"
-#~ msgstr "Metto uno slur sulla pausa."
-
-#~ msgid "cannot map file"
-#~ msgstr "non posso mappare il documento"
-
-#, fuzzy
-#~ msgid "This binary was compiled with the following options:"
-#~ msgstr "GNU LilyPond è stata compilata con le seguenti impostazioni:"
-
-#~ msgid "EOF in a string"
-#~ msgstr "EOF in una corda"
-
-#, fuzzy
-#~ msgid "Wrong type for property: %s, type: %s, value found: %s, type: %s"
-#~ msgstr "Tipo sbagliato per il valore di una proprietà"
-
-#~ msgid "#32 in quarter: %d"
-#~ msgstr "#32 in un quarto: %d"
-
-#, fuzzy
-#~ msgid "track %d:"
-#~ msgstr "traccia "
-
-#~ msgid "NOT Filtering tempo..."
-#~ msgstr "NON filtro il tempo..."
-
-#~ msgid "NOT Quantifying columns..."
-#~ msgstr "NON quantifico le colonne..."
-
-#~ msgid "Quantifying columns..."
-#~ msgstr "Quantifico le colonne..."
-
-#~ msgid "Settling columns..."
-#~ msgstr "Sistemo le colonne..."
-
-#, fuzzy
-#~ msgid "% MIDI instrument:"
-#~ msgstr "% strumento:"
-
-#~ msgid "lily indent level: %d"
-#~ msgstr "livello di indentazione di lili: %d"
-
-#~ msgid "% Creator: "
-#~ msgstr "% Autore: "
-
-#~ msgid "% Automatically generated"
-#~ msgstr "% Generato automaticamente"
-
-#~ msgid "% from input file: "
-#~ msgstr "% dal file di input: "
-
-#, fuzzy
-#~ msgid "write exact durations, e.g.: a4*385/384"
-#~ msgstr " -b, --no-quantify scrive durate esatte, p.es.: a4*385/384\n"
-
-#, fuzzy
-#~ msgid "enable debugging output"
-#~ msgstr " -D, --debug abilita l'output di debugging\n"
-
-#, fuzzy
-#~ msgid "do not output tuplets, double dots or rests, smallest is 32"
-#~ msgstr " -n, --no-silly assume che non ci siano gruppetti o doppi punti, la figura più piccola è 32\n"
-
-#, fuzzy
-#~ msgid "set smallest duration"
-#~ msgstr "indicazione durata priva di senso"
-
-#, fuzzy
-#~ msgid "do not timestamp the output"
-#~ msgstr " -T, --no-timestamps non inserisce marcatori temporali nell'output\n"
-
-#, fuzzy
-#~ msgid "assume no double dotted notes"
-#~ msgstr " -x, --no-double-dots assume che non ci siano note con doppio punto\n"
-
-#~ msgid "Usage: %s [OPTIONS]... [FILE]"
-#~ msgstr "Uso: %s [OPZIONE]... [FILE]"
-
-#, fuzzy
-#~ msgid "Translate MIDI-file to lilypond"
-#~ msgstr "Traduce un file midi in mudela"
-
-#~ msgid "zero length string encountered"
-#~ msgstr "ho incostrato una striga di lunghezza nulla"
-
-#~ msgid "MIDI header expected"
-#~ msgstr "mi aspettavo un header MIDI"
-
-#, fuzzy
-#~ msgid "invalid header length"
-#~ msgstr "Lunghezza dell'header non valida"
-
-#, fuzzy
-#~ msgid "invalid MIDI format"
-#~ msgstr "evento MIDI non valido"
-
-#, fuzzy
-#~ msgid "invalid number of tracks"
-#~ msgstr "Numero di tracce non valido"
-
-#, fuzzy
-#~ msgid "cannot handle non-metrical time"
-#~ msgstr "tempo non metrico"
-
-#~ msgid "invalid running status"
-#~ msgstr "stato di eseguzione non valido"
-
-#~ msgid "invalid MIDI event"
-#~ msgstr "evento MIDI non valido"
-
-#~ msgid "MIDI track expected"
-#~ msgstr "mi spettavo una traccia MIDI"
-
-#~ msgid "invalid track length"
-#~ msgstr "lunghezza della traccia non valida"
-
-#, fuzzy
-#~ msgid "no Grace context available"
-#~ msgstr "non è una vera variabile"
-
-#, fuzzy
-#~ msgid "Fetching `%'s..."
-#~ msgstr "Genero le voci..."
-
-#~ msgid "Wrong type for property value"
-#~ msgstr "Tipo sbagliato per il valore di una proprietà"
-
-#, fuzzy
-#~ msgid "not enough fields in Dstream init"
-#~ msgstr "Non ci sono sufficienti campi in Dstream init."
-
-#, fuzzy
-#~ msgid "floating point exception"
-#~ msgstr "Eccezione di virgola mobile"
-
-#, fuzzy
-#~ msgid "cannot set mem-checking!"
-#~ msgstr "non posso settare mem-checking"
-
-#, fuzzy
-#~ msgid "Dependency file left in `%s'"
-#~ msgstr "scrivo il file delle dipendenze: `%s'..."
-
-#, fuzzy
-#~ msgid "Usage: lilypond [OPTIONS]... FILE\n"
-#~ msgstr "Uso: %s [OPZIONE]... [FILE]"
-
-#~ msgid "unconventional key: flats: %d, sharps: %d"
-#~ msgstr "armatura non convenzionale: %d bemolli e %d diesis"
-
-#, fuzzy
-#~ msgid "wrong identifier type, expected: `%s'"
-#~ msgstr "Tipo di identificatore sbagliato: "
-
-#, fuzzy
-#~ msgid "show all changes in relative syntax"
-#~ msgstr " -Q, --find-old-relative mostra tutti i cambiamenti nella sintassi relativa\n"
-
-#, fuzzy
-#~ msgid "switch on experimental features"
-#~ msgstr " -t, --test usa le caratteristiche sperimentali\n"
-
-#~ msgid "Automatically generated"
-#~ msgstr "Generato automaticamente"
-
-#, fuzzy
-#~ msgid "Wrong type for property"
-#~ msgstr "Tipo sbagliato per il valore di una proprietà"
-
-#, fuzzy
-#~ msgid "Huh? Not a Request: `%s'"
-#~ msgstr "Cosa? Non è una richiesta: `%s'"
-
-#~ msgid "cannot find both ends of %s"
-#~ msgstr "non trovo le estremità di %s"
-
-#, fuzzy
-#~ msgid "lost in time:"
-#~ msgstr "mi sono persa nel tempo"
-
-#~ msgid "Need a translator group for a context"
-#~ msgstr "Ho bisogno di un gruppo di traduzione per un contesto"
-
-#, fuzzy
-#~ msgid "No key name, assuming `C'"
-#~ msgstr "Nessuna armatura di chiave: assumo Do'"
-
-#, fuzzy
-#~ msgid "out of tune:"
-#~ msgstr "stonato"
-
-#, fuzzy
-#~ msgid "ignore mudela version"
-#~ msgstr "versione di mudela errata: %s (%s, %s)"
-
-#~ msgid "not a real variable"
-#~ msgstr "non è una vera variabile"
-
-#, fuzzy
-#~ msgid "Spanner `%s' has equal left and right spanpoints"
-#~ msgstr "I punti di span sinistro e destro dello spanner `%s' coincidono"
-
-#~ msgid "Debug output disabled. Compiled with NPRINT."
-#~ msgstr "L'output di debug è disabilitato. Compilato con NPRINT."
-
-#~ msgid "0 lines"
-#~ msgstr "0 linee"
-
-#~ msgid "1 line (of %.0f columns)"
-#~ msgstr "1 linea (da %.0f colonne)"
-
-#~ msgid "%d lines (with an average of %.1f columns)"
-#~ msgstr "%d linee (con una media di %.f colonne)"
-
-#~ msgid "score does not have any columns"
-#~ msgstr "lo spartito non contiene nessuna colonna"
-
-#, fuzzy
-#~ msgid "calculated %s exactly"
-#~ msgstr "calcolato esattamente: %s"
-
-#~ msgid "Got a dynamic already. Continuing dazed and confused"
-#~ msgstr "E' già presente una dinamica. Continuo, ma sono confusa"
-
-#~ msgid "Too many crescendi here"
-#~ msgstr "Troppi crescendi"
-
-#~ msgid "redeclaration of `\\%s'"
-#~ msgstr "doppia dichiarazione di `\\%s'"
-
-#~ msgid "Cannot solve this casting problem exactly; revert to Word_wrap"
-#~ msgstr "Non posso risolvere esattamente questo problema di conversione; ritorno al Word_wrap"
-
-#~ msgid "time: %.2f seconds"
-#~ msgstr "durata: %.2f secondi"
-
-#~ msgid "no minimum in measure at %s"
-#~ msgstr "non c'è minimo nella misura a %s"
-
-#~ msgid "I'm too fat; call Oprah"
-#~ msgstr "Son troppo grassa; chiama Oprah"
-
-#~ msgid "partial measure must be non-negative"
-#~ msgstr "la misura parziale deve essere non-negativa"
-
-#~ msgid "partial measure too large"
-#~ msgstr "misura parziale troppo grande"
-
-#~ msgid "Will ignore \\relative for transposed music"
-#~ msgstr "Ignorerò \\relative per la musica trasposta "
-
-#~ msgid "ugh, this measure is too long"
-#~ msgstr "ops, questa misura è troppo lunga"
-
-#~ msgid "I do not fit; put me on Montignac"
-#~ msgstr "Non ci sto; mettimi su Montignac"
-
-#~ msgid "More than one music block"
-#~ msgstr "Più di un blocco di musica"
-
-#~ msgid "cannot abbreviate"
-#~ msgstr "non posso abbreviare"
-
-#, fuzzy
-#~ msgid "cannot abbreviate tuplet"
-#~ msgstr "non posso abbreviare"
-
-#~ msgid "Parsing...\n"
-#~ msgstr "Interpreto...\n"
-
-#, fuzzy
-#~ msgid "do not timestamp the output "
-#~ msgstr " -T, --no-timestamps non inserisce marcatori temporali nell'output\n"
-
-#~ msgid " -a, --about about LilyPond\n"
-#~ msgstr " -a, --about cos'è LilyPond\n"
-
-#~ msgid " -h, --help this help\n"
-#~ msgstr " -h, --help questo help\n"
-
-#~ msgid " -f, --output-format=X use output format X\n"
-#~ msgstr " -f, --output-format=X usa il formato dell'ouput X\n"
-
-#~ msgid " -o, --output=FILE set FILE as default output base\n"
-#~ msgstr " -o, --output=FILE indica FILE come base di default per l'output\n"
-
-#~ msgid " -V, --ignore-version ignore mudela version\n"
-#~ msgstr " -V, --ignore-version ignora la versione di mudela\n"
-
-#~ msgid "GNU LilyPond is Free software, see --warranty"
-#~ msgstr "GNU LilyPond è Free software, vedi --warranty"
-
-#~ msgid " -D, --debug enable debugging output\n"
-#~ msgstr " -D, --debug abilita l'output di debugging\n"
-
-#, fuzzy
-#~ msgid " -p, --no-tuplets assume no tuplets\n"
-#~ msgstr " -p, --no-plets assume che non ci siano gruppetti\n"
-
-#~ msgid " -q, --quiet be quiet\n"
-#~ msgstr " -q, --quiet sii silenzioso\n"
-
-#~ msgid " -s, --smallest=N assume no shorter (reciprocal) durations than N\n"
-#~ msgstr " -s, --smallest=N assume che non ci siano durate (reciproche) inferiori a N\n"
-
-#~ msgid " -v, --verbose be verbose\n"
-#~ msgstr " -v, --verbose sii loquace\n"
-
-#, fuzzy
-#~ msgid "Midi2ly, translate midi to mudela"
-#~ msgstr "Mi2mu, tradice midi in mudela"
-
-#~ msgid "of"
-#~ msgstr "di"
-
-#~ msgid "please fix me"
-#~ msgstr "correggimi, per favore"
-
-#~ msgid "stem at %s doesnnot fit in beam"
-#~ msgstr "il gambo a $s non rientra nel beam"
-
-#~ msgid "No stem direction set. Ignoring column in clash."
-#~ msgstr "Nessuna direzione del gambo è selezionata. Ignoro la colonna."
-
-#~ msgid "\\relative mode changed here, old value: "
-#~ msgstr "\\il modo relativo è cambiato in questo punto, valore vecchio: "
-
-#~ msgid "ignoring zero duration added to column at %s"
-#~ msgstr "ingnoro le durate nulle aggiunte alla colonna a %s"
-
-#~ msgid "script needs stem direction"
-#~ msgstr "lo script ha bisogno di una direzione per il gambo"
-
-#~ msgid "unconnected column: %d"
-#~ msgstr "colonna sconnessa: %d"
-
-#~ msgid "Staff_side::get_position_f(): somebody forgot to set my direction, returning -20"
-#~ msgstr "taff_side::get_position_f(): qualcuno ha dimenticato di impostare lamia direzione, quindi restituisco -20"
-
-#~ msgid "have to be in Note mode for @chords"
-#~ msgstr "bisogna essere in Note mode per i @chords"
-
-#~ msgid ""
-#~ "LilyPond is the GNU Project music typesetter. This program can print\n"
-#~ "beautiful sheet music from a music definition file. It can also play\n"
-#~ "mechanical performances to a MIDI file. Features include multiple\n"
-#~ "staffs, meters, clefs, keys, lyrics, versatile input language, cadenzas,\n"
-#~ "beams, slurs, triplets, named chords, transposing, formatting scores, \n"
-#~ "part extraction. It includes a nice font of musical symbols.\n"
-#~ msgstr ""
-#~ "LilyPond è il programma di notazione musicale del progetto\n"
-#~ "GNU. Questo programma può generare delle ottime partiture musicali\n"
-#~ "a partire da un file contenente la descrizione della musica. Può\n"
-#~ "anche generare esecuzioni meccaniche della partitura in formato\n"
-#~ "MIDI. Le caratteristiche del programma includono un versatile\n"
-#~ "linguaggio di descrizione musicale, pentagrammi multipli, segni di\n"
-#~ "divisione, chiavi, tasti, parole, cadenze, legature, acciaccature,\n"
-#~ "terzine, segni di formattazione ed estrazione automatica delle parti. Nella\n"
-#~ "distribuzione è compreso anche un font di simboli musicali.\n"
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: lilypond 2.19.15\n"
+"Project-Id-Version: lilypond 2.19.16\n"
"Report-Msgid-Bugs-To: http://post.gmane.org/post.php?group=gmane.comp.gnu."
"lilypond.bugs\n"
-"POT-Creation-Date: 2014-09-28 14:54+0100\n"
+"POT-Creation-Date: 2015-02-28 14:31+0000\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"
msgstr ""
#: abc2ly.py:1395 convert-ly.py:92 etf2ly.py:1208 lilypond-book.py:231
-#: midi2ly.py:1095 musicxml2ly.py:2590 main.cc:182
+#: midi2ly.py:1095 musicxml2ly.py:2590 main.cc:183
msgid "show version number and exit"
msgstr ""
#: abc2ly.py:1398 convert-ly.py:96 etf2ly.py:1204 lilypond-book.py:140
-#: midi2ly.py:1062 musicxml2ly.py:2572 main.cc:161
+#: midi2ly.py:1062 musicxml2ly.py:2572 main.cc:162
msgid "show this help and exit"
msgstr ""
#. or if there is a LilyPond users list or forum in your language
#. "Report bugs in English via %s or in YOUR_LANG via URI"
#: abc2ly.py:1413 convert-ly.py:157 etf2ly.py:1218 lilypond-book.py:258
-#: midi2ly.py:1107 musicxml2ly.py:2674 main.cc:316
+#: midi2ly.py:1107 musicxml2ly.py:2674 main.cc:317
#, c-format, python-format
msgid "Report bugs via %s"
msgstr ""
msgstr ""
#: convert-ly.py:111 lilypond-book.py:163 lilypond-book.py:181
-#: musicxml2ly.py:2629 main.cc:175
+#: musicxml2ly.py:2629 main.cc:176
msgid "LOGLEVEL"
msgstr ""
msgstr ""
#: convert-ly.py:152 etf2ly.py:1212 lilypond-book.py:234 midi2ly.py:1096
-#: main.cc:184
+#: main.cc:185
msgid "show warranty and copyright"
msgstr ""
msgstr ""
#: etf2ly.py:1210 midi2ly.py:1067 midi2ly.py:1072 musicxml2ly.py:2659
-#: main.cc:167 main.cc:179
+#: main.cc:168 main.cc:180
msgid "FILE"
msgstr ""
msgstr ""
#: lilypond-book.py:143 lilypond-book.py:150 lilypond-book.py:169
-#: lilypond-book.py:187 lilypond-book.py:208 lilypond-book.py:214 main.cc:166
+#: lilypond-book.py:187 lilypond-book.py:208 lilypond-book.py:214 main.cc:167
msgid "DIR"
msgstr ""
msgid "need symbol arguments for \\override and \\revert"
msgstr ""
-#: context.cc:148
+#: context.cc:143
#, c-format
msgid "cannot find or create new `%s'"
msgstr ""
-#: context.cc:227
+#: context.cc:222
#, c-format
msgid "cannot find or create `%s' called `%s'"
msgstr ""
-#: context.cc:424
+#: context.cc:419
#, c-format
msgid "cannot find or create: `%s'"
msgstr ""
-#: context.cc:438
+#: context.cc:433
#, c-format
msgid "cannot find or create new Bottom = \"%s\""
msgstr ""
msgid "custos `%s' not found"
msgstr ""
-#: dispatcher.cc:85
+#: dispatcher.cc:83
msgid "Event class should be a list"
msgstr ""
-#: dispatcher.cc:168
+#: dispatcher.cc:166
#, c-format
msgid "Junking event: %s"
msgstr ""
-#: dispatcher.cc:273
+#: dispatcher.cc:271
msgid "Attempting to remove nonexisting listener."
msgstr ""
-#: dispatcher.cc:299
+#: dispatcher.cc:297
msgid "Already listening to dispatcher, ignoring request"
msgstr ""
msgid "Must be footnote-event."
msgstr ""
-#: general-scheme.cc:395
+#: general-scheme.cc:403
#, c-format
msgid "failed redirecting stderr to `%s'"
msgstr ""
-#: general-scheme.cc:474 output-ps.scm:48
+#: general-scheme.cc:482 output-ps.scm:48
msgid "Found infinity or nan in output. Substituting 0.0"
msgstr ""
msgid "%d: %s"
msgstr ""
-#: grob.cc:480
+#: grob.cc:481
#, c-format
msgid "ignored infinite %s-offset"
msgstr ""
"include-string instead."
msgstr ""
-#: lily-parser.cc:108
+#: lily-parser.cc:107
msgid "Parsing..."
msgstr ""
msgid "generate PostScript"
msgstr ""
-#: main.cc:163
+#: main.cc:161
+msgid "generate big PDF files"
+msgstr ""
+
+#: main.cc:164
msgid "FIELD"
msgstr ""
-#: main.cc:163
+#: main.cc:164
msgid ""
"dump header field FIELD to file\n"
"named BASENAME.FIELD"
msgstr ""
-#: main.cc:166
+#: main.cc:167
msgid "add DIR to search path"
msgstr ""
-#: main.cc:167
+#: main.cc:168
msgid "use FILE as init file"
msgstr ""
-#: main.cc:170
+#: main.cc:171
msgid "USER, GROUP, JAIL, DIR"
msgstr ""
-#: main.cc:170
+#: main.cc:171
msgid ""
"chroot to JAIL, become USER:GROUP\n"
"and cd into DIR"
msgstr ""
-#: main.cc:175
+#: main.cc:176
msgid ""
"print log messages according to LOGLEVEL. Possible values are:\n"
"NONE, ERROR, WARNING, BASIC, PROGRESS, INFO (default) and DEBUG."
msgstr ""
-#: main.cc:179
+#: main.cc:180
msgid "write output to FILE (suffix will be added)"
msgstr ""
-#: main.cc:180
+#: main.cc:181
msgid "relocate using directory of lilypond program"
msgstr ""
-#: main.cc:181
+#: main.cc:182
msgid "no progress, only error messages (equivalent to loglevel=ERROR)"
msgstr ""
-#: main.cc:183
+#: main.cc:184
msgid "be verbose (equivalent to loglevel=DEBUG)"
msgstr ""
#. Do not update the copyright years here, run `make grand-replace'
-#: main.cc:262
+#: main.cc:263
#, c-format
msgid ""
"Copyright (c) %s by\n"
msgstr ""
#. No version number or newline here. It confuses help2man.
-#: main.cc:300
+#: main.cc:301
#, c-format
msgid "Usage: %s [OPTION]... FILE..."
msgstr ""
-#: main.cc:302
+#: main.cc:303
msgid "Typeset music and/or produce MIDI from FILE."
msgstr ""
-#: main.cc:304
+#: main.cc:305
msgid "LilyPond produces beautiful music notation."
msgstr ""
-#: main.cc:306
+#: main.cc:307
#, c-format
msgid "For more information, see %s"
msgstr ""
-#: main.cc:308
+#: main.cc:309
msgid "Options:"
msgstr ""
-#: main.cc:375
+#: main.cc:376
#, c-format
msgid "expected %d arguments with jail, found: %u"
msgstr ""
-#: main.cc:389
+#: main.cc:390
#, c-format
msgid "no such user: %s"
msgstr ""
-#: main.cc:391
+#: main.cc:392
#, c-format
msgid "cannot get user id from user name: %s: %s"
msgstr ""
-#: main.cc:406
+#: main.cc:407
#, c-format
msgid "no such group: %s"
msgstr ""
-#: main.cc:408
+#: main.cc:409
#, c-format
msgid "cannot get group id from group name: %s: %s"
msgstr ""
-#: main.cc:416
+#: main.cc:417
#, c-format
msgid "cannot chroot to: %s: %s"
msgstr ""
-#: main.cc:423
+#: main.cc:424
#, c-format
msgid "cannot change group id to: %d: %s"
msgstr ""
-#: main.cc:429
+#: main.cc:430
#, c-format
msgid "cannot change user id to: %d: %s"
msgstr ""
-#: main.cc:435
+#: main.cc:436
#, c-format
msgid "cannot change working directory to: %s: %s"
msgstr ""
-#: main.cc:820
+#: main.cc:825
#, c-format
msgid "exception caught: %s"
msgstr ""
msgid "cannot write to file: `%s'"
msgstr ""
-#: minimal-page-breaking.cc:40 paper-score.cc:122
+#: minimal-page-breaking.cc:40 paper-score.cc:116
msgid "Calculating line breaks..."
msgstr ""
msgid "Calculating page breaks..."
msgstr ""
-#: multi-measure-rest.cc:154
+#: multi-measure-rest.cc:152
msgid ""
"usable-duration-logs must be a non-empty list. Falling back to whole rests."
msgstr ""
-#: multi-measure-rest.cc:364
-msgid "Using naive multi measure rest spacing."
-msgstr ""
-
#: music.cc:149
#, c-format
msgid "octave check failed; expected \"%s\", found: \"%s\""
msgid "placing below"
msgstr ""
-#: note-collision.cc:511
-msgid "ignoring too many clashing note columns"
+#: note-collision.cc:510
+msgid "this Voice needs a \\voiceXx or \\shiftXx setting"
msgstr ""
#: note-column.cc:150
msgstr ""
#: optimal-page-breaking.cc:216 page-turn-page-breaking.cc:248
-#: paper-score.cc:162
+#: paper-score.cc:156
msgid "Drawing systems..."
msgstr ""
-#: output-def.cc:232
+#: output-def.cc:230
msgid "margins do not fit with line-width, setting default values"
msgstr ""
-#: output-def.cc:239
+#: output-def.cc:237
msgid ""
"systems run off the page due to improper paper settings, setting default "
"values"
msgid "FreeType face has no PostScript font name"
msgstr ""
-#: paper-book.cc:211
+#: paper-book.cc:201
#, c-format
msgid "program option -dprint-pages not supported by backend `%s'"
msgstr ""
-#: paper-book.cc:230
+#: paper-book.cc:220
#, c-format
msgid "program option -dpreview not supported by backend `%s'"
msgstr ""
msgid "Layout output to `%s'..."
msgstr ""
-#: paper-score.cc:134
+#: paper-score.cc:128
#, c-format
msgid "Element count %d (spanners %d) "
msgstr ""
-#: paper-score.cc:138
+#: paper-score.cc:132
msgid "Preprocessing graphical objects..."
msgstr ""
msgid "too many colliding rests"
msgstr ""
-#: rest.cc:240
+#: rest.cc:239
#, c-format
msgid "rest `%s' not found"
msgstr ""
msgid "Aborting"
msgstr ""
-#: score.cc:169
+#: score.cc:160
msgid "already have music in score"
msgstr ""
-#: score.cc:170
+#: score.cc:161
msgid "this is the previous music"
msgstr ""
-#: score.cc:175
+#: score.cc:166
msgid "errors found, ignoring music expression"
msgstr ""
msgid " scheme encoding: "
msgstr ""
-#: skyline-pair.cc:152
+#: skyline-pair.cc:135
msgid "direction must not be CENTER in ly:skyline-pair::skyline"
msgstr ""
msgid "unterminated text spanner"
msgstr ""
-#: tie-engraver.cc:119
+#: tie-engraver.cc:121
msgid "unterminated tie"
msgstr ""
-#: tie-engraver.cc:353
+#: tie-engraver.cc:373
msgid "lonely tie"
msgstr ""
#.
#. OTOH, Tristan Keuris writes 8/20 in his Intermezzi.
#.
-#: time-signature-engraver.cc:75
+#: time-signature-engraver.cc:95
#, c-format
msgid "strange time signature found: %d/%d"
msgstr ""
-#. If there is no such symbol, we default to the numbered style.
-#. (Here really with a warning!)
-#: time-signature.cc:89
-#, c-format
-msgid "time signature symbol `%s' not found; reverting to numbered style"
-msgstr ""
-
#: translator-ctors.cc:65
#, c-format
msgid "unknown translator: `%s'"
msgid "cannot find: `%s'"
msgstr ""
-#: translator.cc:322
+#: translator.cc:320
#, c-format
msgid "Two simultaneous %s events, junking this one"
msgstr ""
-#: translator.cc:323
+#: translator.cc:321
#, c-format
msgid "Previous %s event here"
msgstr ""
msgid "`~a' failed (~a)\n"
msgstr ""
-#: backend-library.scm:93
+#: backend-library.scm:94
#, scheme-format
msgid "Converting to `~a'...\n"
msgstr ""
#. Do not try to guess the name of the png file,
#. GS produces PNG files like BASE-page%d.png.
-#: backend-library.scm:102
+#: backend-library.scm:103
#, scheme-format
msgid "Converting to ~a..."
msgstr ""
-#: backend-library.scm:140
+#: backend-library.scm:141
#, scheme-format
msgid "Writing header field `~a' to `~a'..."
msgstr ""
-#: backend-library.scm:189
+#: backend-library.scm:190
#, scheme-format
msgid "missing stencil expression `~S'"
msgstr ""
msgid "symbol ~S redefined"
msgstr ""
-#: define-event-classes.scm:73
+#: define-event-classes.scm:74
#, scheme-format
msgid "unknown parent class `~a'"
msgstr ""
-#: define-event-classes.scm:107
+#: define-event-classes.scm:108
#, scheme-format
msgid "Cannot redefine event class `~S'"
msgstr ""
-#: define-event-classes.scm:109
+#: define-event-classes.scm:110
#, scheme-format
msgid "Undefined parent event class `~S'"
msgstr ""
msgid "no systems found in \\score markup, does it have a \\layout block?"
msgstr ""
-#: define-markup-commands.scm:2861
+#: define-markup-commands.scm:2886
#, scheme-format
msgid "Cannot find glyph ~a"
msgstr ""
-#: define-markup-commands.scm:3337
+#: define-markup-commands.scm:3362
#, scheme-format
msgid "no brace found for point size ~S "
msgstr ""
-#: define-markup-commands.scm:3338
+#: define-markup-commands.scm:3363
#, scheme-format
msgid "defaulting to ~S pt"
msgstr ""
-#: define-markup-commands.scm:3590
+#: define-markup-commands.scm:3615
#, scheme-format
msgid "not a valid duration string: ~a"
msgstr ""
-#: define-markup-commands.scm:3801
+#: define-markup-commands.scm:3826
#, scheme-format
msgid "not a valid duration string: ~a - ignoring"
msgstr ""
-#: define-music-callbacks.scm:114
-#, scheme-format
-msgid "\\time in mid-measure at ~A"
-msgstr ""
-
-#: define-music-types.scm:791
+#: define-music-types.scm:797
#, scheme-format
msgid "symbol expected: ~S"
msgstr ""
-#: define-music-types.scm:794
+#: define-music-types.scm:800
#, scheme-format
msgid "cannot find music object: ~S"
msgstr ""
-#: define-music-types.scm:814
+#: define-music-types.scm:820
#, scheme-format
msgid "bad make-music argument: ~S"
msgstr ""
msgid "Writing ~a..."
msgstr ""
-#: framework-ps.scm:251
+#: framework-ps.scm:281
#, scheme-format
msgid "cannot embed ~S=~S"
msgstr ""
-#: framework-ps.scm:294
+#: framework-ps.scm:324
#, scheme-format
msgid "cannot extract file matching ~a from ~a"
msgstr ""
-#: framework-ps.scm:312
+#: framework-ps.scm:342
#, scheme-format
msgid "do not know how to embed ~S=~S"
msgstr ""
-#: framework-ps.scm:337
+#: framework-ps.scm:367
#, scheme-format
msgid "do not know how to embed font ~s ~s ~s"
msgstr ""
-#: framework-ps.scm:688
+#: framework-ps.scm:729
msgid ""
"\n"
"The PostScript backend does not support the\n"
msgid "Music unsuitable for output-def"
msgstr ""
-#: lily-library.scm:901
+#: lily-library.scm:921
msgid ""
"Find the index between @var{start} and @var{end} (an integer)\n"
"which produces the closest match to @var{target-val} if\n"
"applied to function @var{getter}."
msgstr ""
-#: lily-library.scm:995
+#: lily-library.scm:1015
#, scheme-format
msgid "unknown unit: ~S"
msgstr ""
-#: lily-library.scm:1020
+#: lily-library.scm:1040
#, scheme-format
msgid "no \\version statement found, please add~afor future compatibility"
msgstr ""
msgid "cannot find: ~A"
msgstr ""
-#: lily.scm:884
+#: lily.scm:886
msgid "Success: compilation successfully completed"
msgstr ""
-#: lily.scm:885
+#: lily.scm:887
msgid "Compilation completed with warnings or errors"
msgstr ""
-#: lily.scm:946
+#: lily.scm:948
#, scheme-format
msgid "job ~a terminated with signal: ~a"
msgstr ""
-#: lily.scm:949
+#: lily.scm:951
#, scheme-format
msgid ""
"logfile ~a (exit ~a):\n"
"~a"
msgstr ""
-#: lily.scm:971 lily.scm:1060
+#: lily.scm:973 lily.scm:1062
#, scheme-format
msgid "failed files: ~S"
msgstr ""
-#: lily.scm:1051
+#: lily.scm:1053
#, scheme-format
msgid "Redirecting output to ~a..."
msgstr ""
-#: lily.scm:1070 ps-to-png.scm:66
+#: lily.scm:1072 ps-to-png.scm:66
#, scheme-format
msgid "Invoking `~a'...\n"
msgstr ""
msgid "More alternatives than repeats. Junking excess alternatives"
msgstr ""
-#: music-functions.scm:491
+#: music-functions.scm:480
#, scheme-format
msgid "bad grob property path ~a"
msgstr ""
-#: music-functions.scm:786
+#: music-functions.scm:779
msgid "Bad chord repetition"
msgstr ""
-#: music-functions.scm:888
+#: music-functions.scm:884
#, scheme-format
msgid "music expected: ~S"
msgstr ""
-#: music-functions.scm:1230
+#: music-functions.scm:1226
#, scheme-format
msgid "cannot find quoted music: `~S'"
msgstr ""
-#: music-functions.scm:1370
+#: music-functions.scm:1366
msgid "Add @var{octave-shift} to the octave of @var{pitch}."
msgstr ""
-#: music-functions.scm:1433
+#: music-functions.scm:1429
#, scheme-format
msgid "Unknown octaveness type: ~S "
msgstr ""
-#: music-functions.scm:1434
+#: music-functions.scm:1430
msgid "Defaulting to 'any-octave."
msgstr ""
-#: music-functions.scm:1826
+#: music-functions.scm:1822
#, scheme-format
msgid "unknown accidental style: ~S"
msgstr ""
-#: music-functions.scm:2044
+#: music-functions.scm:2040
msgid "Missing duration"
msgstr ""
-#: music-functions.scm:2613
+#: music-functions.scm:2549
#, scheme-format
msgid "not a symbol list: ~a"
msgstr ""
-#: music-functions.scm:2616
+#: music-functions.scm:2552
#, scheme-format
msgid "conflicting tag group ~a"
msgstr ""
-#: output-ps.scm:278 output-svg.scm:539
+#: output-ps.scm:290 output-svg.scm:539
#, scheme-format
msgid "unknown line-cap-style: ~S"
msgstr ""
-#: output-ps.scm:283 output-svg.scm:545
+#: output-ps.scm:295 output-svg.scm:545
#, scheme-format
msgid "unknown line-join-style: ~S"
msgstr ""
msgid "cannot find SVG font ~S"
msgstr ""
-#: paper.scm:121
+#: paper.scm:122
msgid "set-global-staff-size: not in toplevel scope"
msgstr ""
-#: paper.scm:321
+#: paper.scm:322
#, scheme-format
msgid "This is not a \\layout {} object, ~S"
msgstr ""
-#: paper.scm:329
+#: paper.scm:330
#, scheme-format
msgid "Unknown paper size: ~a"
msgstr ""
#. TODO: should raise (generic) exception with throw, and catch
#. that in parse-scm.cc
-#: paper.scm:348
+#: paper.scm:349
msgid "Must use #(set-paper-size .. ) within \\paper { ... }"
msgstr ""
msgid "error in #{ ... #}"
msgstr ""
-#: part-combiner.scm:608
+#: part-combiner.scm:748
#, scheme-format
msgid "quoted music `~a' is empty"
msgstr ""
(define-public (scheme? x) #t)
-(define-public (symbol-or-boolean? x)
- (or (symbol? x) (boolean? x)))
(define-public (void? x)
(unspecified? x))
appropriate callback for the @code{springs-and-rods} property. If
added to a @code{Tie}, this sets the minimum distance between
noteheads.")
+ (minimum-length-after-break ,ly:dimension? "If set, try to make
+a broken spanner starting a line this long. This requires an
+appropriate callback for the @code{springs-and-rods} property. If
+added to a @code{Tie}, this sets the minimum distance to the
+notehead.")
(minimum-length-fraction ,number? "Minimum length of ledger line
as fraction of note head size.")
(minimum-space ,ly:dimension? "Minimum distance that the victim
;;;
;;; w
;;;
- (when ,ly:moment? "Global time step associated with this column
-happen?")
+ (when ,ly:moment? "Global time step associated with this column.")
(whiteout ,boolean? "If true, the grob is printed over a white
background to white-out underlying material, if the grob is visible.
Usually #f by default.")
(keep-alive-with ,ly:grob-array? "An array of other
@code{VerticalAxisGroup}s. If any of them are alive, then we will stay alive.")
- (left-items ,ly:grob-array? "DOCME")
+ (left-items ,ly:grob-array? "Grobs organized on the left by a spacing
+object.")
(left-neighbor ,ly:grob? "The right-most column that has a spacing-wish
for this column.")
(rest ,ly:grob? "A pointer to a @code{Rest} object.")
(rest-collision ,ly:grob? "A rest collision that a rest is in.")
(rests ,ly:grob-array? "An array of rest objects.")
- (right-items ,ly:grob-array? "DOCME")
+ (right-items ,ly:grob-array? "Grobs organized on the right by
+a spacing object.")
(right-neighbor ,ly:grob? "See @code{left-neighbor}.")
(scripts ,ly:grob-array? "An array of @code{Script} objects.")
;;;
;;; durations
;;;
-(define*-public (duration->lily-string ly-duration #:key (prev-duration (*previous-duration*))
- (force-duration (*force-duration*))
- (time-scale (*time-scale*))
- remember)
- (if remember (*previous-duration* ly-duration))
+(define*-public (duration->lily-string ly-duration #:key
+ (force-duration #f)
+ (time-scale (*time-scale*)))
(let ((log2 (ly:duration-log ly-duration))
(dots (ly:duration-dot-count ly-duration))
(scale (ly:duration-scale ly-duration)))
- (if (or force-duration (not prev-duration) (not (equal? ly-duration prev-duration)))
+ (if (or force-duration (not (*omit-duration*)))
(string-append (case log2
((-1) "\\breve")
((-2) "\\longa")
;; '<' (notepitch | drumpitch)* '>" duration post_events
(let ((duration (duration->lily-string (ly:music-property
(car chord-elements)
- 'duration)
- #:remember #t)))
+ 'duration))))
;; Format duration first so that it does not appear on
;; chord elements
(format #f "< ~{~a ~}>~a~:{~:[-~;~]~a~^ ~}"
- (map-in-order (lambda (music)
- (music->lily-string music parser))
- chord-elements)
+ (parameterize ((*omit-duration* #t))
+ (map-in-order
+ (lambda (music)
+ (music->lily-string music parser))
+ chord-elements))
duration
(map-in-order (lambda (music)
(list
(music->lily-string music parser)))
other-elements))))
((ly:duration? chord-repeat)
- (let ((duration (duration->lily-string chord-repeat
- #:remember #t)))
+ (let ((duration (duration->lily-string chord-repeat)))
(format #f "q~a~:{~:[-~;~]~a~^ ~}"
duration
(map-in-order (lambda (music)
(define-display-method MultiMeasureRestMusic (mmrest parser)
(format #f "R~a~{~a~^ ~}"
- (duration->lily-string (ly:music-property mmrest 'duration)
- #:remember #t)
+ (duration->lily-string (ly:music-property mmrest 'duration))
(map-in-order (lambda (music)
(music->lily-string music parser))
(ly:music-property mmrest 'articulations))))
(make-string (1- (* -1 octave-check)) #\,))
(else "")))
""))
- (duration->lily-string (ly:music-property event 'duration)
- #:remember #t)
+ (duration->lily-string (ly:music-property event 'duration))
(if ((make-music-type-predicate 'RestEvent) event)
"\\rest" "")
(map-in-order (lambda (event)
(simple-note->lily-string note parser))
((not (null? (ly:music-property note 'drum-type))) ;; drum
(format #f "~a~a~{~a~}" (ly:music-property note 'drum-type)
- (duration->lily-string (ly:music-property note 'duration)
- #:remember #t)
+ (duration->lily-string (ly:music-property note 'duration))
(map-in-order (lambda (event)
(music->lily-string event parser))
(ly:music-property note 'articulations))))
(else
;; pure duration
- ;; FIXME: { c4 c4 4 4 } must not be output as { c4 c 4 4 }
- ;; quite tricky to do. Do it when outputting sequences?
(format #f "~a~{~a~}"
(duration->lily-string (ly:music-property note 'duration)
- #:force-duration #t
- #:remember #t)
+ #:force-duration #t)
(map-in-order (lambda (event)
(music->lily-string event parser))
(ly:music-property note 'articulations))))))
(if (not (null? (ly:music-property rest 'pitch)))
(simple-note->lily-string rest parser)
(format #f "r~a~{~a~}"
- (duration->lily-string (ly:music-property rest 'duration)
- #:remember #t)
+ (duration->lily-string (ly:music-property rest 'duration))
(map-in-order (lambda (event)
(music->lily-string event parser))
(ly:music-property rest 'articulations)))))
(define-display-method MultiMeasureRestEvent (rest parser)
- (string-append "R" (duration->lily-string (ly:music-property rest 'duration)
- #:remember #t)))
+ (string-append "R" (duration->lily-string (ly:music-property rest 'duration))))
(define-display-method SkipEvent (rest parser)
(format #f "s~a~{~a~}"
- (duration->lily-string (ly:music-property rest 'duration)
- #:remember #t)
+ (duration->lily-string (ly:music-property rest 'duration))
(map-in-order (lambda (event)
(music->lily-string event parser))
(ly:music-property rest 'articulations))))
(if (null? bracket-stop) "" "]"))))
(define-display-method LyricEvent (lyric parser)
- (format "~a~{~a~^ ~}"
+ (format #f "~a~{~a~^ ~}"
(let ((text (ly:music-property lyric 'text)))
(if (or (string? text)
(eqv? (first text) simple-markup))
(and span (duration->lily-string span #:force-duration #t)))
(scale (/ num den))
(time-scale (*time-scale*)))
- (*previous-duration* #f)
(let ((result
(parameterize ((*force-line-break* #f)
(*time-scale* (* time-scale scale)))
num
formatted-span
(music->lily-string (ly:music-property times 'element) parser)))))
- (*previous-duration* #f)
result)))
(define-display-method RelativeOctaveMusic (m parser)
(define-display-method LyricCombineMusic (expr parser)
(format #f "\\lyricsto ~s ~a"
(ly:music-property expr 'associated-context)
- (parameterize ((*explicit-mode* #f))
+ (parameterize ((*explicit-mode* #f)
+ (*omit-duration* #t))
(music->lily-string (ly:music-property expr 'element) parser))))
;; \addlyrics
(format #f "~a~a \\addlyrics ~a"
(music->lily-string ?note-sequence parser)
(new-line->lily-string)
- (parameterize ((*explicit-mode* #f))
+ (parameterize ((*explicit-mode* #f)
+ (*omit-duration* #t))
(music->lily-string ?lyric-sequence parser)))
#f)))
;;; Display methods are stored in the `display-methods' property of each music
;;; type.
;;;
-;;; - `music->lily-string' return a string describing a music expression using
-;;; LilyPond notation. The special variables *indent*, *previous-duration*,
-;;; and *force-duration* influence the indentation level and the display of
-;;; music durations.
+;;; - `music->lily-string' return a string describing a music
+;;; expression using LilyPond notation. The special variables *indent*
+;;; and *omit-duration* influence the indentation level and the
+;;; display of music durations.
;;;
;;; - `with-music-match' can be used to destructure a music expression, extracting
;;; some interesting music properties.
;;; indentation
(define-public *indent* (make-parameter 0))
-;;; set to #t to force duration printing
-(define-public *force-duration* (make-parameter #f))
-
-;;; last duration found
-(define-public *previous-duration* (make-parameter (ly:make-duration 2)))
+;;; set to #t to omit duration printing
+(define-public *omit-duration* (make-parameter #f))
;;; Set to #t to force a line break with some kinds of expressions (eg sequential music)
(define *force-line-break* (make-parameter #t))
"Display the music expression using LilyPond syntax"
(memoize-clef-names supported-clefs)
(parameterize ((*indent* 0)
- (*previous-duration* (ly:make-duration 2))
- (*force-duration* force-duration))
+ (*omit-duration* #f))
(display (music->lily-string expr parser) port)
(newline port)))
(define-public (grob::is-live? grob)
(pair? (ly:grob-basic-properties grob)))
+(define-public (grob::name grob)
+ "Return the name of the grob @var{grob} as a symbol."
+ (assq-ref (ly:grob-property grob 'meta) 'name))
+
+(define-public (grob::rhythmic-location grob)
+ "Return a pair consisting of the measure number and moment within
+ the measure of grob @var{grob}."
+ (let* (; all grobs support either spanner- or item-interface
+ (item (if (grob::has-interface grob 'spanner-interface)
+ (ly:spanner-bound grob LEFT)
+ grob))
+ (col (ly:item-get-column item)))
+ (if (ly:grob? col)
+ (ly:grob-property col 'rhythmic-location)
+ '())))
+
+(define-public (grob::when grob)
+ "Return the global timestep (a moment) of grob @var{grob}."
+ (let* (; all grobs support either spanner- or item-interface
+ (item (if (grob::has-interface grob 'spanner-interface)
+ (ly:spanner-bound grob LEFT)
+ grob))
+ (col (ly:item-get-column item)))
+ (if (ly:grob? col)
+ (ly:grob-property col 'when)
+ '())))
+
(define-public (make-stencil-boxer thickness padding callback)
"Return function that adds a box around the grob passed as argument."
(lambda (grob)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; measure counter
-(define (measure-counter-stencil grob)
+(define-public (measure-counter-stencil grob)
"Print a number for a measure count. The number is centered using
the extents of @code{BreakAlignment} grobs associated with the left and
right bounds of a @code{MeasureCounter} spanner. Broken measures are