407 user/lilypond-learning.tely
6365 user/tutorial.itely
23 user/dedication.itely
-413 user/macros.itexi
+423 user/macros.itexi
171 index.html.in
-6339 po/lilypond-doc.pot (translate to po/<MY_LANGUAGE>.po)
-13718 total
+6411 po/lilypond-doc.pot (translate to po/<MY_LANGUAGE>.po)
+13800 total
-2- Introduction and beginning of Application Usage
411 user/preface.itely
-3- Learning manual
10318 user/fundamental.itely -- Fundamental concepts
-14578 user/tweaks.itely -- Tweaking output
+14581 user/tweaks.itely -- Tweaking output
3007 user/working.itely -- Working on LilyPond files
483 user/templates.itely -- Templates
-28386 total
+28389 total
-4- Notation reference
672 user/lilypond.tely
91 user/notation.itely -- Musical notation
-3083 user/pitches.itely
-5005 user/rhythms.itely
-1110 user/expressive.itely
+3086 user/pitches.itely
+5013 user/rhythms.itely
+1146 user/expressive.itely
555 user/repeats.itely
-1452 user/simultaneous.itely
-1633 user/staff.itely
-902 user/editorial.itely
-2443 user/text.itely
+1455 user/simultaneous.itely
+1635 user/staff.itely
+906 user/editorial.itely
+2472 user/text.itely
76 user/specialist.itely -- Specialist notation
-2678 user/vocal.itely
-1326 user/chords.itely
+2638 user/vocal.itely
+1333 user/chords.itely
702 user/piano.itely
810 user/percussion.itely
826 user/guitar.itely
66 user/strings.itely
242 user/bagpipes.itely
-4240 user/ancient.itely
-5803 user/input.itely -- Input syntax
+4486 user/ancient.itely
+5805 user/input.itely -- Input syntax
2164 user/non-music.itely -- Non-musical notation
-8444 user/spacing.itely -- Spacing issues
+8447 user/spacing.itely -- Spacing issues
11291 user/changing-defaults.itely -- Changing defaults
5202 user/programming-interface.itely -- Interfaces for programmers
1155 user/notation-appendices.itely -- Notation manual tables
250 user/cheatsheet.itely -- Cheat sheet
-62221 total
+62524 total
-5- Application usage
3202 user/lilypond-book.itely -- LilyPond-book
with music snippets from user/every.itely. It ignores skeleton files,
and keeps intact music snippets preceded with a line starting with '@c
KEEP LY'; it reports an error for each .itely that has not the same
-music snippet count in both languages.
+music snippet count in both languages. Always use this script with a
+lot of care, i.e. run it on a clean Git working tree, and check the
+changes it made with "git diff" before committing; if you don't do so,
+some @lilypond snippets might be broken or make no sense in their
+context.
Finally, a command runs the three update processes above for all
enabled languages (from Documentation):
-·<p><i>Zuletzt aktualisiert am·Sat Nov 22 19:18:39 UTC 2008
+·<p><i>Zuletzt aktualisiert am·Mon Dec 1 12:06:59 UTC 2008
</i></p>
<html>
<!-- This page is automatically generated by translation-status.py from
Reinhold Kainhofer</td>
<td></td>
<td><span style="background-color: #1fff1f">ja</span></td>
- <td><span style="background-color: #2cff20">teilweise</span></td>
+ <td><span style="background-color: #1fff1f">ja</span></td>
<td>vor-GDP</td>
</tr>
<tr align="left">
<td>Till Rettig</td>
<td></td>
<td><span style="background-color: #1fff1f">ja</span></td>
- <td><span style="background-color: #25fe1f">teilweise</span></td>
+ <td><span style="background-color: #1fff1f">ja</span></td>
<td>vor-GDP</td>
</tr>
<tr align="left">
Reinhold Kainhofer</td>
<td></td>
<td><span style="background-color: #1fff1f">ja</span></td>
- <td><span style="background-color: #47ff24">teilweise</span></td>
+ <td><span style="background-color: #1fff1f">ja</span></td>
<td>vor-GDP</td>
</tr>
<tr align="left">
- <td>4 Die Ausgabe verändern<br>(14578)</td>
+ <td>4 Die Ausgabe verändern<br>(14581)</td>
<td>Till Rettig</td>
<td></td>
<td><span style="background-color: #1fff1f">ja</span></td>
- <td><span style="background-color: #b9ff33">teilweise</span></td>
+ <td><span style="background-color: #1fff1f">ja</span></td>
<td>vor-GDP</td>
</tr>
<tr align="left">
<td>Till Rettig</td>
<td></td>
<td><span style="background-color: #1fff1f">ja</span></td>
- <td><span style="background-color: #2cff20">teilweise</span></td>
+ <td><span style="background-color: #1fff1f">ja</span></td>
<td>vor-GDP</td>
</tr>
<tr align="left">
<td>Till Rettig</td>
<td></td>
<td><span style="background-color: #1fff1f">ja</span></td>
- <td><span style="background-color: #33ff21">teilweise</span></td>
+ <td><span style="background-color: #1fff1f">ja</span></td>
<td>vor-GDP</td>
</tr>
<tr align="left">
<td>vor-GDP</td>
</tr>
<tr align="left">
- <td>1.1 Tonhöhen<br>(3083)</td>
+ <td>1.1 Tonhöhen<br>(3086)</td>
<td>Till Rettig</td>
<td></td>
<td><span style="background-color: #1fff1f">ja</span></td>
<td>vor-GDP</td>
</tr>
<tr align="left">
- <td>1.2 Rhythmus<br>(5005)</td>
+ <td>1.2 Rhythmus<br>(5013)</td>
<td>Till Rettig</td>
<td></td>
<td><span style="background-color: #1fff1f">ja</span></td>
<td>vor-GDP</td>
</tr>
<tr align="left">
- <td>1.3 Ausdrucksbezeichnungen<br>(1110)</td>
+ <td>1.3 Ausdrucksbezeichnungen<br>(1146)</td>
<td>Till Rettig</td>
<td></td>
<td><span style="background-color: #1fff1f">ja</span></td>
- <td><span style="background-color: #1fff1f">ja</span></td>
+ <td><span style="background-color: #2cff20">teilweise</span></td>
<td>vor-GDP</td>
</tr>
<tr align="left">
<td>vor-GDP</td>
</tr>
<tr align="left">
- <td>1.5 Gleichzeitig erscheinende Noten<br>(1452)</td>
+ <td>1.5 Gleichzeitig erscheinende Noten<br>(1455)</td>
<td>Till Rettig</td>
<td></td>
<td><span style="background-color: #1fff1f">ja</span></td>
<td>vor-GDP</td>
</tr>
<tr align="left">
- <td>1.6 Notation auf Systemen<br>(1633)</td>
+ <td>1.6 Notation auf Systemen<br>(1635)</td>
<td>Till Rettig</td>
<td></td>
<td><span style="background-color: #1fff1f">ja</span></td>
- <td><span style="background-color: #47ff24">teilweise</span></td>
+ <td><span style="background-color: #1fff1f">ja</span></td>
<td>vor-GDP</td>
</tr>
<tr align="left">
- <td>1.7 Anmerkungen<br>(902)</td>
+ <td>1.7 Anmerkungen<br>(906)</td>
<td>Till Rettig</td>
<td></td>
<td><span style="background-color: #1fff1f">ja</span></td>
- <td><span style="background-color: #40fe23">teilweise</span></td>
+ <td><span style="background-color: #4efe25">teilweise</span></td>
<td>vor-GDP</td>
</tr>
<tr align="left">
- <td>1.8 Text<br>(2443)</td>
+ <td>1.8 Text<br>(2472)</td>
<td>Till Rettig</td>
<td></td>
<td><span style="background-color: #1fff1f">ja</span></td>
- <td><span style="background-color: #ffda43">teilweise</span></td>
+ <td><span style="background-color: #ffca45">teilweise</span></td>
<td>vor-GDP</td>
</tr>
<tr align="left">
<td>Till Rettig</td>
<td></td>
<td><span style="background-color: #1fff1f">ja</span></td>
- <td><span style="background-color: #47ff24">teilweise</span></td>
+ <td><span style="background-color: #1fff1f">ja</span></td>
<td>vor-GDP</td>
</tr>
<tr align="left">
- <td>2.1 Notation von Gesang<br>(2678)</td>
- <td></td>
- <td></td>
- <td><span style="background-color: #d0f0f8">nein</span></td>
+ <td>2.1 Notation von Gesang<br>(2638)</td>
+ <td>Till Rettig</td>
<td></td>
+ <td><span style="background-color: #1fff1f">ja</span></td>
+ <td><span style="background-color: #25fe1f">teilweise</span></td>
<td>vor-GDP</td>
</tr>
<tr align="left">
- <td>2.2 Tasteninstrumente und andere Instrumente mit mehreren Systemen<br>(679)</td>
+ <td>2.2 Tasteninstrumente und andere Instrumente mit mehreren Systemen<br>(680)</td>
<td>Till Rettig</td>
<td></td>
<td><span style="background-color: #1fff1f">ja</span></td>
<td>vor-GDP</td>
</tr>
<tr align="left">
- <td>2.3 Bundlose Saiteninstrumente<br>(234)</td>
+ <td>2.3 Bundlose Saiteninstrumente<br>(235)</td>
<td>Till Rettig</td>
<td></td>
<td><span style="background-color: #d0f0f8">nein</span></td>
<td>vor-GDP</td>
</tr>
<tr align="left">
- <td>2.4 Saiteninstrumente mit Bünden<br>(1758)</td>
+ <td>2.4 Saiteninstrumente mit Bünden<br>(1759)</td>
<td>Till Rettig</td>
<td></td>
<td><span style="background-color: #dfef77">teilweise (15 %)</span></td>
<td>vor-GDP</td>
</tr>
<tr align="left">
- <td>2.7 Notation von Akkorden<br>(1326)</td>
+ <td>2.7 Notation von Akkorden<br>(1333)</td>
<td>Till Rettig</td>
<td></td>
<td><span style="background-color: #dfef77">teilweise (64 %)</span></td>
<td>vor-GDP</td>
</tr>
<tr align="left">
- <td>2.8 Notation von alter Musik<br>(4240)</td>
+ <td>2.8 Notation von alter Musik<br>(4486)</td>
<td>Till Rettig</td>
<td></td>
- <td><span style="background-color: #dfef77">teilweise (82 %)</span></td>
+ <td><span style="background-color: #dfef77">teilweise (79 %)</span></td>
<td><span style="background-color: #ff6d58">teilweise</span></td>
<td>vor-GDP</td>
</tr>
<td>vor-GDP</td>
</tr>
<tr align="left">
- <td>3 Allgemeine Eingabe und Ausgabe<br>(5803)</td>
+ <td>3 Allgemeine Eingabe und Ausgabe<br>(5805)</td>
<td>Till Rettig</td>
<td></td>
<td><span style="background-color: #dfef77">teilweise (5 %)</span></td>
<td>vor-GDP</td>
</tr>
<tr align="left">
- <td>4 Abstände<br>(8444)</td>
+ <td>4 Abstände<br>(8447)</td>
<td>Till Rettig</td>
<td></td>
<td><span style="background-color: #dfef77">teilweise (3 %)</span></td>
Mensuralnotation. Siehe @ref{Ligatures} zu einer Übersicht über die Funktion
und Notation von Ligaturen.
-@seealso
+@seealso
@ref{Note head styles} stellt einen Überblick über alle verfügbaren
Notenkopfstile zur Verfügung.
Tonart verändert werden, indem die @code{glyph-name-alist}-Eigenschaft
des @rinternals{KeySignature}-Objektes gesetzt wird.
-@seealso
+@seealso
In diesem Handbuch: @ref{Pitches}, @ref{Accidentals} und
@ref{Automatic accidentals} geben eine allgemeine Einführung in die Benutzung
von Versetzungszeichen. Der Abschnitt @ref{Key signature} zeigt die allgemeine
Für die Notation des Gregorianischen Chorals gibt es keine Pausen; anstelle
dessen werden @ref{Divisiones} verwendet.
-@seealso
+@seealso
In diesem Handbuch: Der Abschnitt @ref{Rests} enthält eine allgemeine
Einführung zur Benutzung von Pausen.
Balken auf der linken Seite in Abhängigkeit davon, auf welcher Notenlinie
der Schlüssel gesetzt wird.
-@seealso
+@seealso
In diesem Handbuch: siehe @ref{Clef}.
+
@knownissues
Der mensurale G-Schlüssel ist als Petrucci-G-Schlüssel deklariert.
}
@end lilypond
-@seealso
+@seealso
In diesem Handbuch: @ref{Time signature} bietet eine allgemeine Übersicht über
den Einsatz von Taktangaben.
+
@knownissues
Die Verhältnisse der Notenwerte ändern sich nicht, wenn die Taktart (Mensur)
}
@end lilypond
-@seealso
+@seealso
Programmreferenz:
@rinternals{Custos}.
@lilypondfile[quote,ragged-right]{divisiones.ly}
-@predefined
+@predefined
@funindex \virgula
@code{\virgula},
@funindex \caesura
@code{\divisioMaxima},
@funindex \finalis
@code{\finalis}.
+@endpredefined
-@seealso
+@seealso
In diesem Handbuch:
@ref{Breath marks}.
}
@end lilypond
-@predefined
+@predefined
Folgende Notenpräfixe sind unterstützt:
-
@funindex \virga
@code{\virga},
@funindex \stropha
@code{\cavum},
@funindex \linea
@code{\linea}.
+@endpredefined
+
Präfixe können kombiniert werden, wenn es hier auch Begrenzungen
gibt. Zum Beispiel können die Präfixe @code{\descendens} oder
ais bis
@end lilypond
-@seealso
+@seealso
Programmreferenz: @rinternals{Accidental_engraver}-Setzer und das
@rinternals{AccidentalSuggestion}-Objekt.
@cindex Jazz-Akkorde
@cindex Akkorde, Jazz
-@predefined
+@predefined
@funindex \germanChords
@code{\germanChords},
@funindex \semiGermanChords
@code{\italianChords}.
@funindex \frenchChords
@code{\frenchChords}.
+@endpredefined
-@seealso
+@seealso
Beispiele:
@rlsr{Chords}.
Init-Dateien: @file{scm/@/chords@/-ignatzek@/.scm} und
@file{scm/@/chord@/-entry@/.scm}.
+
@knownissues
Akkordsymbole werden nur von den Tonhöhenbezeichnungen bestimmt.
Problem zu vermeiden, sollte @code{stacking-dir}
im @code{BassFigureAlignment} benutzt werden.
-@seealso
+@seealso
Programmreferenz: @rinternals{BassFigure}-,
@rinternals{BassFigureAlignment}-, @rinternals{BassFigureLine}-,
@rinternals{BassFigureBracket}- und
@rinternals{BassFigureContinuation}-Objekte und der
@rinternals{FiguredBass}-Kontext.
+
@node Entering figured bass
@unnumberedsubsubsec Entering figured bass
werden, die Schrift-Dateien benutzen. Das sind die, welche die
@code{font-interface}-Layoutschnittstelle unterstützen.
-@predefined
+@predefined
@funindex \teeny
@code{\teeny},
@funindex \tiny
@code{\large},
@funindex \huge
@code{\huge}.
+@endpredefined
-@seealso
+@seealso
Schnipsel:
@rlsr{Editorial annotations}.
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{allowing-fingerings-to-be-printed-inside-the-staff.ly}
-@seealso
+@seealso
Notationsreferenz:
@ref{Direction and placement}.
@predefined
+@code{\hideNotes},
+@code{\unHideNotes}.
+@endpredefined
-@code{\hideNotes}, @code{\unHideNotes}
@seealso
-
Schnipsel:
@rlsr{Editorial annotations}.
gis4 a
@end lilypond
-@seealso
+@seealso
Notationsreferenz:
@ref{List of colors}, @ref{The
tweak command}.
Schnipsel:
@rlsr{Editorial annotations}.
+
@cindex x11-Farbe
@cindex farbige Noten in Akkorden
@cindex Noten, farbige in Akkorden
c2 \parenthesize r
@end lilypond
-@seealso
+@seealso
Schnipsel:
@rlsr{Editorial annotations}.
@rinternals{ParenthesesItem},
@rinternals{parentheses-interface}.
+
@knownissues
Wenn man einen Akkord einklammert, wird um jede Note eine eigene Klammer
für ganze Noten und Pausen werden sie erzeugt, aber unsichtbar
gemacht.
-@predefined
+@predefined
@funindex \stemUp
@code{\stemUp} (Hälse nach oben),
@funindex \stemDown
@code{\stemDown} (Hälse nach unten),
@funindex \stemNeutral
@code{\stemNeutral} (Hälse je nach Notenposition).
+@endpredefined
@snippets
@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{default-direction-of-stems-on-the-center-line-of-the-staff.ly}
+
@seealso
Notationsreferenz:
@ref{Direction and placement}.
@rinternals{stem-interface}.
-
@node Outside the staff
@subsection Outside the staff
@predefined
-
@funindex balloonLengthOn
@funindex balloonLengthOff
+@code{\balloonLengthOn},
@funindex \balloonLengthOn
@funindex \balloonLengthOff
+@code{\balloonLengthOff}.
+@endpredefined
-@code{\balloonLengthOn}, @code{\balloonLengthOff}
@seealso
-
Schnipsel:
@rlsr{Editorial annotations}.
@seealso
-
Schnipsel:
@rlsr{Editorial annotations}.
}
@end lilypond
-@seealso
+@seealso
Schnipsel:
@rlsr{Editorial annotations}.
@seealso
-
Musikglossar:
@rglos{tenuto},
@rglos{accent},
@funindex \dynamicNeutral
@funindex dynamicNeutral
-@predefined
+@predefined
@code{\dynamicUp},
@code{\dynamicDown},
@code{\dynamicNeutral},
@code{\dimTextDecresc},
@code{\crescHairpin},
@code{\dimHairpin}.
+@endpredefined
+
@snippets
@seealso
-
Musikglossar:
@rglos{al niente},
@rglos{crescendo},
@rinternals{DynamicLineSpanner}.
-
@node New dynamic marks
@unnumberedsubsubsec New dynamic marks
@seealso
-
Notationsreferenz:
@ref{Formatting text},
@ref{Selecting font and font size},
@funindex \slurUp
@funindex slurUp
-@predefined
+@predefined
@code{\slurUp},
@code{\slurDown},
@code{\slurNeutral},
@code{\slurDashed},
@code{\slurDotted},
@code{\slurSolid}.
+@endpredefined
@snippets
@seealso
-
Musikglossar:
@rglos{slur}.
@rinternals{Slur}.
-
@node Phrasing slurs
@unnumberedsubsubsec Phrasing slurs
@predefined
-
@code{\phrasingSlurUp},
@code{\phrasingSlurDown},
@code{\phrasingSlurNeutral}.
+@endpredefined
-@seealso
+@seealso
Handbuch zum Lernen:
@rlearning{On the un-nestedness of brackets and ties}.
@rinternals{PhrasingSlur}.
-
@node Breath marks
@unnumberedsubsubsec Breath marks
@seealso
-
Musikglossar:
@rglos{caesura}.
@rinternals{BreathingSign}.
-
@node Falls and doits
@unnumberedsubsubsec Falls and doits
@seealso
-
Musikglossar:
@rglos{fall},
@rglos{doit}.
@seealso
-
Musikglossar:
@rglos{glissando}.
@predefined
-
@code{\arpeggio},
@code{\arpeggioArrowUp},
@code{\arpeggioArrowDown},
@code{\arpeggioNormal},
@code{\arpeggioBracket},
@code{\arpeggioParenthesis}.
+@endpredefined
@snippets
@seealso
-
Musikglossar:
@rglos{arpeggio}.
@predefined
-
@code{\startTrillSpan},
@code{\stopTrillSpan}.
-
+@endpredefined
@seealso
-
Musikglossar:
@rglos{trill}.
<c\1 e\2 g\3>
@end lilypond
-@seealso
+@seealso
Programmreferenz:
@rinternals{StringNumber}.
Beispiele:
@rlsr{Fretted strings}.
+
@node Default tablatures
@unnumberedsubsubsec Default tablatures
\override Beam #'damping = #100000
@end example
-@seealso
+@seealso
Programmreferenz: @rinternals{TabStaff}, @rinternals{TabVoice}.
+
@knownissues
Akkorde werden nicht gesondert behandelt, sodass die Saitenauswahlfunktion
@code{guitar-open-g-tuning},
@code{mandolin-tuning} und @code{banjo-open-g-tuning}.
-@seealso
+@seealso
In der Datei @file{scm/@/output@/-lib@/.scm} sind die Stimmungen
definiert.
+
Programmreferenz: @rinternals{Tab_note_heads_engraver}.
+
@knownissues
Spezialeffekte für Gitarren sind noch nicht implementiert.
Schnittstelle für die Griffsymboleigenschaften findet sich unter
@rinternals{fret-diagram-interface}.
-@seealso
+@seealso
Beispiele:
@rlsr{Fretted strings}.
+
@node Right-hand fingerings
@unnumberedsubsubsec Right-hand fingerings
}
@end lilypond
-@seealso
+@seealso
Program reference: @rinternals{StrokeFinger}
+
@node Guitar
@subsection Guitar
\set TabStaff.stringTunings = #(four-string-banjo banjo-c-tuning)
@end example
-@seealso
+@seealso
Die Datei @file{scm/@/output@/-lib@/.scm} enthält vordefinierte
Banjo-Stimmungen.
lauten. Die genauen Einschränkungen sind beschrieben in
@ruser{File structure}.
-@seealso
+@seealso
Eine vollständige Definition des Eingabeformats findet sich in
@ruser{File structure}.
+
@node Score is a (single) compound musical expression
@subsection Score is a (single) compound musical expression
der gleichen Ebene angehört, wirklich horizontal an der
gleichen Stelle beginnt.
-@seealso
+@seealso
Benutzerhandbuch: @ruser{Structure of a score}.
mit Namen @qq{Hauptzeile} plaziert werden soll, anstatt
standardmäßig unterhalb.
-@seealso
+@seealso
Ossia werden oft ohne Notenschlüssel und Taktangabe gedruck, meist
auch etwas kleiner als die anderen Notenzeilen. Dies ist natürlich
auch in LilyPond möglich, benötigt aber Befehle, die bisher noch
anwenden könnten. Darum heben wir uns das Problem für einen späteren Abschnitt auf; siehe @code{force-hshift}-Eigenschaft in @ref{Fixing
overlapping notation}.
-@seealso
+@seealso
Notationsreferenz: @ruser{Multiple voices}.
@qq{zu viele kollidierende Notenspalten werden ignoriert}
ausgegeben.
-@seealso
+@seealso
Notationsreferenz: @ruser{Multiple voices}.
}
@end lilypond
-@seealso
+@seealso
Notation Reference: @ruser{Vocal music}.
angeschlossen, etwa
@code{GregorianTranscriptionStaff}.
-@seealso
+@seealso
Notationreferenz: @ruser{Contexts explained}.
zu verweisen. Dieses Vorgehen wurde schon in dem Abschnitt
zu Gesangstexten angewandt, siehe @ref{Voices and vocals}.
-@seealso
+@seealso
Notationsreferenz: @ruser{Creating contexts}.
verändert werden kann, indem die Wirkungsweise der
Engraver beeinflusst wird.
-@seealso
+@seealso
Referenz der Interna: @rinternals{Engravers and Performers}.
@code{\with}-Konstruktion eingesetzt wird, oder mit @code{\set}-Befehlen
innerhalb der aktuellen Noten.
-@seealso
+@seealso
Notationsreferenz:
@ruser{Changing context default settings}.
@c FIXME
Weise geändert werden, indem der @code{\set}-Befehl in
einer @code{\context}-Umgebung angewendet wird.
-@seealso
+@seealso
Notationsreferenz: @ruser{Modifying context plug-ins},
@ruser{Changing context default settings}.
}
@end lilypond
+
@seealso
Die Vorlagen, mit denen wir begonnen haben, können im
Anhang @qq{Vorlagen} gefunden werden, siehe
mehr als nur einen Voice-Kontext. Auf gleiche Weise können auch mehrere Staff-Kontexte
in einen großen Score-Kontext (Partiturkontext) eingebunden werden.
-@seealso
+@seealso
Programmreferenz: @rinternals{Contexts}.
+
@lilypond[quote,ragged-right]
\include "engraver-example.ily"
\score {
@end lilypond
@seealso
-
Notationsreferenz:
@ref{Changing staff manually}.
@end lilypond
@predefined
-
-@code{\showStaffSwitch}, @code{\hideStaffSwitch}.
+@funindex \showStaffSwitch
+@code{\showStaffSwitch},
+@funindex \hideStaffSwitch
+@code{\hideStaffSwitch}.
+@endpredefined
@seealso
-
Schnipsel:
@rlsr{Keyboards}.
halten, muss der letzte Pedal-hoch-Befehl weggelassen werden.
@seealso
-
Notationsreferenz:
@ref{Ties}.
@rinternals{Piano_pedal_engraver}.
-
@node Accordion
@subsection Accordion
\begin@{lilypond@}...\end@{lilypond@}
@end example
+
@seealso
@command{lilypond-book} stellt auch zahlreiche Kommandozeilen-Optionen zur
-Verfügung. Für eine Liste dieser Optionen und andere hilfreiche Details zur
+Verfügung. Für eine Liste dieser Optionen und andere hilfreiche Details zur
Verarbeitung von @LaTeX{}-Dokumenten, siehe @ref{Invoking lilypond-book}.
-
-
@node Texinfo
@subsection Texinfo
@include version.itexi
-@c don't replace quotes with directed quotes
+
+@c Don't replace quotes with directed quotes.
+
@set txicodequoteundirected
@set txicodequotebacktick
+
+
@c ***** Displaying text *****
-@c we need this since @q{\} doesn't work with makeinfo 4.11 --
-@c say @q{@bs{}} instead
+@c We need this since @q{\} doesn't work with makeinfo 4.11 --
+@c say @q{@bs{}} instead.
+
@macro bs
\\
@end macro
-@c to get decent quotes in `foo' and ``foo''
-@c these need to be split up so that "@qq{foo}." looks nice. :(
+
+@c To get decent quotes in ,foo' and ,,foo''.
+@c These need to be split up so that "@qq{foo}." looks nice. :(
+
@macro q{TEXT}
@quotesinglbase{}\TEXT\@quoteleft{}
@end macro
@quotedblbase{}\TEXT\@quotedblleft{}
@end macro
+
@ifhtml
+
@macro warning{TEXT}
@cartouche
@b{Achtung:} \TEXT\
@end cartouche
@end macro
+
@end ifhtml
@ifnothtml
+
@macro warning{TEXT}
@quotation
@quotation
@end quotation
@end quotation
@end macro
+
@end ifnothtml
+
@ifnotinfo
+
@macro notation{TEXT}
@var{\TEXT\}
@end macro
+
@end ifnotinfo
@ifinfo
+
@macro notation{TEXT}
\TEXT\
@end macro
+
@end ifinfo
+
@macro smallspace
@sp 1
@end macro
-@c **** Displaying images not generated by lilypond-book
-@c current installation setup of Info docs requires that all images are
-@c expected to be found in lilypond/ subdirectory. lilypond-book already
-@c generates proper @image commands for images of music; these macros
-@c definitions do the same for other images.
+@c ***** Displaying images not generated by lilypond-book *****
+
+@c Current installation setup of Info docs requires that all images are
+@c expected to be found in the `lilypond/' subdirectory. `lilypond-book'
+@c already generates proper @image commands for images of music; these
+@c macro definitions do the same for other images.
@ifnotinfo
+
@macro sourceimage{FILENAME,WIDTH,HEIGHT,ALTTEXT}
@image{\FILENAME\,\WIDTH\,\HEIGHT\,\ALTTEXT\}
@end macro
+
@end ifnotinfo
@ifinfo
+
@macro sourceimage{FILENAME,WIDTH,HEIGHT,ALTTEXT}
@image{lilypond/\FILENAME\,\WIDTH\,\HEIGHT\,\ALTTEXT\}
@end macro
+
@end ifinfo
-@c **** Headings in a doc subsection ****
+@c ***** Headings in a doc subsection *****
+
+@c Don't insert an empty line after @predefined! Right now
+@c it doesn't matter, but a future implementation will probably
+@c add some code which needs this restriction.
@macro predefined
@noindent
@subsubheading Predefined commands
+@end macro
+@c The next macro is a dummy currently since texinfo doesn't
+@c provide a real ragged-right environment yet.
+@c
+@c Due to a bug in texi2html (texi2html.pl CVS versions <= 1.245)
+@c the macro must not be empty.
+
+@macro endpredefined
+@c
@end macro
+
@macro snippets
@noindent
@subsubheading Selected Snippets
-
@end macro
+
@c obsolete, remove when translation is fully updated
@macro commonprop
@noindent
@subsubheading Commonly tweaked properties
-
@end macro
+
+@c Don't insert an empty line after @seealso! Otherwise we get
+@c unwanted extra vertical space in the PDF output.
+
@macro seealso
@noindent
@subsubheading See also
-
+@indent
@end macro
+
@macro knownissues
@noindent
@subsubheading Known issues and warnings
-
@end macro
+
@macro lydoctitle {TEXT}
@emph{\TEXT\}
-
@end macro
+
+@c Don't remove the `@c' within the macro definition! See section 19.3,
+@c `Macro Details and Caveats', in the texinfo info file for explanation.
+
@macro funindex {TEXT}
@findex \TEXT\
@kindex \TEXT\
+@c
@end macro
-@c **** Links and references ****
+@c ***** Links and references *****
@c obsolete
@c usage: @lsr{ancient,custodes.ly}
@end macro
-
-
-@c **** Links and references ****
-
@c Definitions for references:
+@c
@c @rglos
@c @rlearning
@c @ruser
@c @rprogram
@c @rlsr
@c @rinternals
-@c all these also have a @...named version, which allows to specify the
-@c displayed text for the reference as second argument
+@c
+@c All these also have a @...named version which allows to specify the
+@c displayed text for the reference as second argument.
+@c
+@c ***** HTML + bigpage is a special case (other manual names); all other
+@c formats are treated similarly.
-@c ***** HTML + bigpage is a special case (other manual names), all other
-@c formats are treated similarly
+
+@c *** not TeX ***
@ifnottex
+@c ** bigpage **
+
@ifset bigpage
@macro rglos{TEXT}
@end ifset
+@c ** not bigpage **
+
@ifclear bigpage
@macro rglos{TEXT}
@end ifnottex
-@c **** TEX ****
+@c *** TeX ***
+
@iftex
@macro rglos{TEXT}
@end iftex
-@c **** Macros specific to translated docs ****
+
+
+@c ***** Macros specific to translated docs *****
@c ugh, cannot set/define global variable 'translationof' in some way?
+
@iftex
+
@macro translationof{TEXT}
@end macro
+
@end iftex
@ifinfo
+
@macro
@macro translationof{TEXT}
@set translationof \TEXT\
@end macro
+
@end ifinfo
-@c TODO when @translationof is used in translated docs
-@c see if it's feasible to say @value{translationof}
+
+@c TODO: If @translationof is used in translated docs
+@c see whether it is feasible to say @value{translationof}.
+
@macro englishref
-Dieser Abschnitt wurde noch nicht übersetzt, bitte lesen Sie den
+Dieser Abschnitt wurde noch nicht übersetzt. Bitte lesen Sie den
Abschnitt im englischen Benutzerhandbuch.
@end macro
+
@ifhtml
+
@macro untranslated
UNTRANSLATED NODE: IGNORE ME
@end macro
+
@end ifhtml
@ifnothtml
+
@macro untranslated
@end macro
+
@end ifnothtml
der Datei @file{ly/@/drumpitch@/-init@/.ly}.
@c TODO: properly document this.
-@seealso
+@seealso
Programmreferenz:
@rinternals{note-event}.
@seealso
-
Init-Dateien: @file{ly/@/drumpitch@/-init@/.ly}.
Programmreferenz: @rinternals{DrumStaff}, @rinternals{DrumVoice}.
+
@knownissues
Weil in den allgemeinen MIDI-Definitionen kein Rimshot enthalten ist,
d,, d, d c
@end lilypond
-@seealso
+@seealso
Musikglossar:
@rglos{Pitch names}.
@seealso
-
-Musickgossar:
+Musikglossar:
@rglos{fifth},
@rglos{interval},
@rglos{Pitch names}.
@funindex \chordmode
@funindex \relative
+
@knownissues
Die relative Veränderung wirkt sich nicht auf
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{preventing-extra-naturals-from-being-automatically-added.ly}
-@seealso
+@seealso
Musikglossar:
@rglos{sharp},
@rglos{flat},
@end multitable
@end smallexample
-@seealso
+@seealso
Musikglossar:
@rglos{Pitch names}.
}
@end lilypond
-@seealso
+@seealso
Schnipsel:
@rlsr{Pitches}.
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{transposing-pitches-with-minimum-accidentals-smart-transpose.ly}
-@seealso
+@seealso
Notationsreferenz:
@ref{Instrument transpositions}.
Referenz der Interna:
@rinternals{TransposedMusic}.
+
@funindex \transpose
@funindex \chordmode
@funindex \relative
@seealso
-
Notationsreferenz: @ref{Ancient clefs}.
Schnipsel:
@seealso
-
Musikglossar:
@rglos{church mode},
@rglos{scordatura}.
@seealso
-
Musikglossar:
@rglos{octavation}.
@seealso
-
Musikglossar:
@rglos{concert pitch},
@rglos{transposing instrument}.
@seealso
-
Schnipsel:
@rlsr{Pitches}.
@seealso
-
Musikglossar:
@rglos{ambitus}.
Alle möglichen Notenkopf-Stile finden sich in
@ref{Note head styles}.
-@seealso
+@seealso
Schnipsel:
@rlsr{Pitches}.
}
@end lilypond
-@predefined
+@predefined
@funindex \easyHeadsOn
+@code{\easyHeadsOn},
@funindex \easyHeadsOff
-@code{\easyHeadsOn}, @code{\easyHeadsOff}
+@code{\easyHeadsOff}.
+@endpredefined
-@seealso
+@seealso
Notationsreferenz:
@ref{Setting the staff size}.
Skala, wobei der Grundton der Skala aus dem @code{\key}-Befehl
entnommen wird.
-@predefined
+@predefined
@funindex \aikenHeads
+@code{\aikenHeads},
@funindex \sacredHarpHeads
-@code{\aikenHeads}, @code{\sacredHarpHeads}
+@code{\sacredHarpHeads}.
+@endpredefined
+
@snippets
@noindent
Alle Notenkopfstile finden sich in @ref{Note head styles}.
-@seealso
+@seealso
Schnipsel:
@rlsr{Pitches}.
@predefined
-
@funindex \improvisationOn
+@code{\improvisationOn},
@funindex \improvisationOff
+@code{\improvisationOff}.
+@endpredefined
-@code{\improvisationOn}, @code{\improvisationOff}
@seealso
-
Schnipsel:
@rlsr{Pitches}.
@seealso
-
Musikglossar: @rglos{repeat}, @rglos{volta}.
Notationsreferenz: @ref{Bar lines}, @ref{Modifying context plug-ins}.
@rinternals{RepeatedMusic}, @rinternals{VoltaRepeatedMusic},
@rinternals{UnfoldedRepeatedMusic}.
+
@knownissues
@cindex verschachtelte Wiederholung
@seealso
-
Notationsreferenz:
@ref{Bar lines},
@ref{Formatting text}.
c1
@end lilypond
-@seealso
+@seealso
Schnipsel:
@rlsr{Repeats}.
@rinternals{UnfoldedRepeatedMusic}.
-
@node Short repeats
@subsection Short repeats
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{isolated-percent-repeats.ly}
-@seealso
+@seealso
Musikglossar: @rglos{percent repeat}, @rglos{simile}.
Schnipsel: @rlsr{Repeats}.
@rinternals{DoublePercentRepeatCounter},
@rinternals{PercentRepeatCounter}, @rinternals{PercentRepeatedMusic}.
+
@knownissues
Nur drei Arten von Prozent-Wiederholungen sind unterstützt: ein
c: c:
@end lilypond
-@seealso
+@seealso
Schnipsel: @rlsr{Repeats}.
@cindex Tremolo über Systeme
@cindex Systeme, Tremolo zwischen
@cindex Zwischensystem-Tremolo
+
@knownissues
Tremolo über Notensysteme hinweg funktioniert nicht gut.
eine bestimmte Richtung manuell zu erzwingen, zu Einzelheiten
siehe @ref{Direction and placement}.
-@predefined
+@predefined
@code{\autoBeamOff},
@code{\dotsUp},
@code{\dotsDown},
@code{\dotsNeutral}.
+@endpredefined
-@seealso
+@seealso
Glossar:
@rglos{breve},
@rglos{longa},
Um die Dauern von Noten zu ändern, ohne die N-tolen-Klammern
zu setzen, siehe @ref{Scaling durations}.
-@predefined
+@predefined
@code{\tupletUp},
@code{\tupletDown},
@code{\tupletNeutral}.
+@endpredefined
@snippets
{permitting-line-breaks-within-beamed-tuplets.ly}
@seealso
-
Glossar:
@rglos{triplet},
@rglos{tuplet},
@rinternals{TupletNumber},
@rinternals{TimeScaledMusic}.
+
@knownissues
@cindex grace notes within tuplet brackets
Wenn die erste Noten eines Systems ein Vorschlag (eine Verzierung)
Eine Anwendung für diesen Befehl ist polymetrische Notation,
siehe @ref{Polymetric notation}.
-@seealso
+@seealso
Notationsreferenz:
@ref{Tuplets},
@ref{Invisible rests},
Durchgehende, gepunktete oder gestrichelte Bindebögen können
spezifiziert werden, siehe die vordefinieren Befehle.
-@predefined
+@predefined
@code{\tieUp},
@code{\tieDown},
@code{\tieNeutral},
@code{\tieDotted},
@code{\tieDashed},
@code{\tieSolid}.
+@endpredefined
@snippets
@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{engraving-ties-manually.ly}
-@seealso
+@seealso
Glossar:
@rglos{tie},
@rglos{laissez vibrer}.
@rinternals{TieColumn},
@rinternals{Tie}.
+
@knownissues
Der Wechsel zwischen Systemen bei aktiver Ãœberbindung produziert keinen
@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{rest-styles.ly}
-@seealso
+@seealso
Notationsreferenz:
@ref{Full measure rests}.
\skip 1 \skip1 \skip 1
@end lilypond
-@seealso
+@seealso
Schnipsel:
@rlsr{Rhythms}.
@rinternals{SkipMusic}
-
@node Full measure rests
@unnumberedsubsubsec Full measure rests
folgt, werden möglicherweise daraus resultierende
Taktprüfungswarnungen nicht angezeigt.
+
@predefined
@code{\textLengthOn},
@code{\textLengthOff},
@code{\fermataMarkup},
@code{\compressFullBarRests},
@code{\expandFullBarRests}.
+@endpredefined
+
@snippets
measure length is determined by the length of the text, the text will
appear to be centered.
-@seealso
+@seealso
Glossar:
@rglos{multi-measure rest}.
werden behandelt unter
@ref{Ancient time signatures}.
-@predefined
+@predefined
@code{\numericTimeSignature},
@code{\defaultTimeSignature}.
+@endpredefined
+
@snippets
@seealso
-
Glossar:
@rglos{time signature}
@rinternals{Timing_translator}.
-
@node Upbeats
@unnumberedsubsubsec Upbeats
sie eine negative Zahl; @code{\partial 4} wird also intern übersetzt
zu: @qq{Eine Viertel bleibt übrig vom ganzen Takt.}
-@seealso
+@seealso
Glossar:
@rglos{anacrusis}.
Referenz der Interna:
@rinternals{Timing_translator}.
+
@knownissues
@code{\partial} ist nur für den Anfang eines Stückes vorgesehen. Wenn der
d4 e d c
@end lilypond
-@predefined
+@predefined
@code{\cadenzaOn},
@code{\cadenzaOff}.
+@endpredefined
-@seealso
+@seealso
Glossar:
@rglos{cadenza}.
Schnipsel:
@rlsr{Rhythms}.
+
@knownissues
LilyPond fügt Zeilen- und Seitenumbrüche nur an einer Taktlinie
@seealso
-
Glossar:
@rglos{polymetric},
@rglos{polymetric time signature},
Schnipsel:
@rlsr{Rhythms}.
-Referenz der Intera:
+Referenz der Interna:
@rinternals{TimeSignature},
@rinternals{Timing_translator},
@rinternals{Staff}.
+
@knownissues
Wenn unterschiedliche Taktarten paralell benutzt werden, werden
vollständig gefüllt sind, zeigt die Überbindung genau an, wie viele
Notenwerte noch in dem jeweiligen Takt fehlen.
-@seealso
+@seealso
Glossar: @rglos{tie}
Handbuch zum Lernen:
@rinternals{Completion_heads_engraver},
@rinternals{Forbid_line_break_engraver}.
+
@knownissues
Nicht alle Notenwerte (besonders wenn sie andere rhythmische
>>
@end lilypond
+
@predefined
@code{\improvisationOn},
@code{\improvisationOff}.
+@endpredefined
+
@snippets
@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{guitar-strum-rhythms.ly}
-@seealso
+@seealso
Schnipsel:
@rlsr{Rhythms}.
@rinternals{Pitch_squash_engraver}.
-
@node Beams
@subsection Beams
c16 c8
@end lilypond
+
@predefined
@code{\autoBeamOff},
@code{\autoBeamOn}.
+@endpredefined
+
@snippets
@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{changing-beam-knee-gap.ly}
-@seealso
+@seealso
Notationsreferenz:
@ref{Manual beams},
@ref{Setting automatic beam behavior}.
@predefined
-
@funindex \autoBeamOff
@code{\autoBeamOff},
@funindex \autoBeamOn
@code{\autoBeamOn}.
+@endpredefined
@knownissues
Wenn eine polyphone Stimme endet, während ein Balken noch Noten
erwartet, wird dieser Balken nicht gesetzt.
-@seealso
+@seealso
Schnipsel:
@rlsr{Rhythms}.
-
@node Manual beams
@unnumberedsubsubsec Manual beams
Notenabschnitten, und wenn die Zahlen in den Brüchen klein
sind.
-@seealso
+@seealso
Snippets:
@rlsr{Rhythms}.
-
-
@node Bars
@subsection Bars
jederzeit durch den Befehl @code{\set Timing.defaultBarType = }
@var{Takstrichart} geändert werden.
-@seealso
+@seealso
Notationsreferenz:
@ref{Line breaking},
@ref{Repeats},
properties).
-
@node Bar numbers
@unnumberedsubsubsec Bar numbers
@seealso
-
Schnipsel:
@rlsr{Rhythms}.
Referenz der Interna:
@rinternals{BarNumber}.
+
@knownissues
Taktnummern können mit der oberen Ecke der Klammer zu Beginn des
sich in
@ref{Formatting text}.
-@seealso
+@seealso
Notationsreferenz:
@ref{The Feta font},
@ref{Formatting text}.
@rinternals{RehearsalMark}.
-
@node Special rhythmic concerns
@subsection Special rhythmic concerns
@seealso
-
Glossar:
@rglos{grace notes},
@rglos{acciaccatura},
>>
@end lilypond
-@seealso
+@seealso
Glossar:
@rglos{cadenza}.
@rlsr{Rhythms}.
-
@node Time administration
@unnumberedsubsubsec Time administration
@seealso
-
Notationsreferenz:
@ref{Bar numbers}, @ref{Unmetered music}
Mehr Information über Akkorden findet sich in @ref{Chord notation}.
-@seealso
+@seealso
Musikglossar:
@rglos{chord}.
Schnipsel:
@rlsr{Simultaneous notes}.
+
@node Simultaneous expressions
@unnumberedsubsubsec Simultaneous expressions
automatisch Zusammenstöße zwischen normalen Noten und Clustern
aufzulösen.
-@seealso
+@seealso
Musikglossar:
@rglos{cluster}.
@rinternals{ClusterSpannerBeacon},
@rinternals{Cluster_spanner_engraver}.
+
@knownissues
Cluster sehen nur gut aus, wenn sie wenigstens über zwei Akkorde
Mit dieser Methode können sich seltsame Balken und Warnungen
ergeben, wenn die Musikausdrücke nicht den gleichen Rhythmus haben.
-@predefined
+@predefined
@code{\voiceOne},
@code{\voiceTwo},
@code{\voiceThree},
@code{\voiceFour},
@code{\oneVoice}.
+@endpredefined
-@seealso
+@seealso
Handbuch zum Lernen:
@rlearning{Voices contain music},
@rlearning{Explicitly instantiating voices}.
Der @code{\voiceNeutralstyle}-Befehl wird benutzt, um wieder
die Standardausgabe einzuschalten.
-@predefined
-
+@predefined
@code{\voiceOneStyle},
-
@code{\voiceTwoStyle},
@code{\voiceThreeStyle},
@code{\voiceFourStyle},
@code{\voiceNeutralStyle}.
+@endpredefined
-@seealso
+@seealso
Handbuch zum Lernen:
@rlearning{I'm hearing Voices},
@rlearning{Other sources of information}.
@rlsr{Simultaneous notes}.
-
@node Collision resolution
@unnumberedsubsubsec Collision resolution
@predefined
-
@code{\mergeDifferentlyDottedOn},
@code{\mergeDifferentlyDottedOff},
@code{\mergeDifferentlyHeadedOn},
@code{\shiftOnn},
@code{\shiftOnnn},
@code{\shiftOff}.
+@endpredefined
+
@snippets
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{forcing-horizontal-shift-of-notes.ly}
-@seealso
+@seealso
Musikglossar:
@rglos{polyphony}.
@rinternals{NoteCollision},
@rinternals{RestCollision}.
+
@knownissues
Wenn @code{\mergeDifferentlyHeadedOn} mit einer Achtel- oder
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{changing-partcombine-texts.ly}
-@seealso
+@seealso
Musikglossar:
@rglos{a due},
@rglos{part}.
@rinternals{PartCombineMusic},
@rinternals{Voice}.
+
@knownissues
@code{\partcombine} kann nur zwei Stimmen bearbeiten.
}
@end lilypond
-@seealso
+@seealso
Handbuch zum Lernen:
@rlearning{Organizing pieces with variables}.
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{mensurstriche-layout-bar-lines-between-the-staves.ly}
-@seealso
+@seealso
Glossar:
@rglos{brace},
@rglos{bracket},
@rinternals{SystemStartSquare}.
-
@node Nested staff groups
@unnumberedsubsubsec Nested staff groups
@seealso
-
Notationsreferenz:
@ref{Grouping staves},
@ref{Instrument names},
@rinternals{SystemStartSquare}.
-
@node Modifying single staves
@subsection Modifying single staves
@predefined
-
@code{\startStaff},
@code{\stopStaff}.
+@endpredefined
@snippets
@seealso
-
Glossar:
@rglos{line},
@rglos{ledger line},
@seealso
-
Glossar:
@rglos{ossia},
@rglos{staff},
@predefined
-
@code{\RemoveEmptyStaffContext},
@code{\AncientRemoveEmptyStaffContext},
@code{\RemoveEmptyRhythmicStaffContext}.
+@endpredefined
@snippets
@seealso
-
Glossar:
@rglos{Frenched staff}.
@seealso
-
Glossar:
@rglos{metronome},
@rglos{metronomic indication},
@seealso
-
Notationsreferenz:
@ref{Horizontal dimensions},
@ref{Modifying context plug-ins}.
@seealso
-
Notationsreferenz:
@ref{Instrument transpositions},
@ref{Using tags}.
@seealso
-
Notationsreferenz:
@ref{Instrument transpositions},
@ref{Instrument names},
a4_"scherzando" f
@end lilypond
-@predefined
+@predefined
@funindex \textLengthOn
@code{\textLengthOn},
@funindex \textLengthOff
-@code{\textLengthOff}
+@code{\textLengthOff}.
+@endpredefined
@seealso
-
Notationsreferenz:
@ref{Formatting text},
@ref{Direction and placement}.
Referenz der Interna:
@rinternals{TextScript}.
+
@knownissues
Eine Überprüfung, ob sich auch alle Textbeschriftungen und Gesangstext
Auch der Stil der Linie kann ähnlich wie der Text mit den Objekteigenschaften
geändert werden. Diese Syntax ist beschrieben in @ref{Line styles}.
-@predefined
+@predefined
@funindex textSpannerUp
@code{\textSpannerUp},
@funindex textSpannerDown
@code{\textSpannerDown},
@funindex textSpannerNeutral
-@code{\textSpannerNeutral}
+@code{\textSpannerNeutral}.
+@endpredefined
-@seealso
+@seealso
Notationsreferenz:
@ref{Line styles},
@ref{Dynamics}.
@rinternals{TextSpanner}.
-
@node Text marks
@unnumberedsubsubsec Text marks
@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{printing-marks-on-every-staff.ly}
-@seealso
+@seealso
Notationsreferenz:
@ref{Rehearsal marks},
@ref{Formatting text},
Referenz der Interna:
@rinternals{RehearsalMark}.
+
@knownissues
@c To be removed when Issue 69 in the tracker gets fixed. -vv
setzen kann. Einzelheiten zu den vielfältigen Möglichkeiten finden
sich in @ref{Multi-page markup}.
-@predefined
+@predefined
@code{\markup},
@funindex \markuplines
-@code{\markuplines}
+@code{\markuplines}.
+@endpredefined
+
@ignore
@snippets
TODO: add convenient snippets in input/new -vv
@end ignore
-@seealso
+@seealso
Notationsreferenz:
@ref{Formatting text},
@ref{File structure},
@rinternals{TextScript}.
-
@node Formatting text
@subsection Formatting text
@seealso
-
Notationsreferenz:
@ref{Text markup commands}.
Es ist auch möglich, eigene Schriftfamlien zu definieren, wie erklärt in
@ref{Fonts}.
-@predefined
+@predefined
@funindex \teeny
-@funindex \tiny
-@funindex \small
-@funindex \normalsize
-@funindex \large
-@funindex \huge
-@funindex \smaller
-@funindex \larger
@code{\teeny},
+@funindex \tiny
@code{\tiny},
+@funindex \small
@code{\small},
+@funindex \normalsize
@code{\normalsize},
+@funindex \large
@code{\large},
+@funindex \huge
@code{\huge},
+@funindex \smaller
@code{\smaller},
+@funindex \larger
@code{\larger}.
+@endpredefined
-@seealso
+@seealso
Notationsreferenz:
@ref{Font},
@ref{New dynamic marks},
Eine vollständige Liste der Textausrichtungsbefehle findet sich in
@ref{Align}.
+
@seealso
Handbuch zum Lernen:
@rlearning{Moving objects}.
@rinternals{TextScript}.
-
@node Graphic notation inside markup
@unnumberedsubsubsec Graphic notation inside markup
Eine ausführliche Liste der Graphik-Befehle findet sich in
@ref{Graphic}.
+
@seealso
Notationsreferenz:
@ref{Graphic},
@file{scm/@/stencil@/.scm}.
-
@node Music notation inside markup
@unnumberedsubsubsec Music notation inside markup
Eine vollständige Liste der Musiksymbol-Befehle findet sich in
@ref{Music}.
+
@seealso
Notationsreferenz:
@ref{Music},
@file{scm/@/harp@/-pedals@/.scm}.
-
@node Multi-page markup
@unnumberedsubsubsec Multi-page markup
Eine vollständige Liste der Beschriftungslistenbefehle findet sich in
@ref{Text markup list commands}.
+
@seealso
Notationsreferenz:
@ref{Text markup list commands},
Installierte Dateien:
@file{scm/@/define@/-markup@/-commands@/.scm}.
+
@predefined
@funindex \markuplines
@code{\markuplines}
+@endpredefined
@node Fonts
in folgenden Abschnitten: @ref{Single entry fonts} und
@ref{Entire document fonts}.
-@seealso
+@seealso
Notationsreferenz:
@ref{The Feta font},
@ref{Music notation inside markup},
Das letzte Argument kann ein beliebiges Zeichen sein, aber es darf nicht
fehlen.
-@seealso
+@seealso
Notationsreferenz:
@ref{Fonts explained},
@ref{Entire document fonts}.
@file{lily/@/font@/-config@/-scheme@/.cc}.
-
@node Entire document fonts
@unnumberedsubsubsec Entire document fonts
@c we don't do Helvetica / Courier, since GS incorrectly loads
@c Apple TTF fonts
-@seealso
+@seealso
Notationsreferenz:
@ref{Fonts explained},
@ref{Single entry fonts},
}
@end lilypond
+
@seealso
Notationsreferenz: @ruser{Writing pitches},
@ruser{Writing rhythms}, @ruser{Writing rests},
@ruser{Time signature}, @ruser{Clef}.
-
@node Working on input files
@subsection Working on input files
Zeile @qq{Start
cut-&-pastable section} bis ganz zum Ende der Datei.
-@seealso
+@seealso
Mehr Hinweise dazu, wie LilyPond-Eingabedateien konstruiert werden
sollten, finden sich in @ref{Suggestions for writing LilyPond input files}.
Es ist aber wahrscheinlich am Besten, zuerst
@ruser{Automatic accidentals} für einige Beispiele, wie Vorzeichen
anhand von unterschiedlichen Regeln ausgegeben werden können.
-@seealso
+@seealso
Notationsreferenz: @ruser{Note names in other languages},
@ruser{Accidentals}, @ruser{Automatic accidentals},
@ruser{Key signature}.
c2~( c8 fis fis4 ~ fis2 g2)
@end lilypond
-@seealso
+@seealso
Notationsreferenz: @ruser{Ties}, @ruser{Slurs},
@ruser{Phrasing slurs}.
c2\< c2\ff\> c2 c2\!
@end lilypond
-@seealso
+@seealso
Notationsreferenz: @ruser{Articulations and ornamentations},
@ruser{Fingering instructions}, @ruser{Dynamics}.
}
@end lilypond
-@seealso
+@seealso
Notationsreferenz: @ruser{Writing text}.
a8 c b4 d8. c16 b4
@end lilypond
-@seealso
+@seealso
Notationsreferenz: @ruser{Automatic beams}, @ruser{Manual beams}.
c2 \acciaccatura b16 c2
@end lilypond
-@seealso
+@seealso
Notationsreferenz: @ruser{Grace notes}, @ruser{Tuplets},
@ruser{Upbeats}.
darüber entscheidet, ob die Taktlinien nur auf dem System
oder auch zwischen System gesetzt werden.
-@seealso
+@seealso
Notationsreferenz:
@ruser{Keyboard and other multi-staff
instruments},
>>
@end lilypond
-@seealso
+@seealso
Notationsreferenz:
@ruser{Simultaneous notes}.
@seealso
-
Notationsreferenz: @ruser{Vocal music}.
Noten und dem Gesangstext durch Variablen trennt. Die Benutzung
von Variablen wird erklärt im Abschnitt @ref{Organizing pieces with variables}.
-@seealso
+@seealso
Notationsreferenz: @ruser{Vocal music}.
}
@end lilypond
-@seealso
+@seealso
Notationsreferenz:
@ruser{The tweak command}.
@tab @code{'#(#t #t #f)}
@end multitable
-@seealso
+@seealso
Handbuch zum Lernen: @ref{Scheme tutorial}.
- <p><i>Actualizado en Mon Nov 24 11:12:50 UTC 2008
+ <p><i>Actualizado en Mon Dec 1 12:06:59 UTC 2008
</i></p>
<html>
<!-- This page is automatically generated by translation-status.py from
<td>pre-GDP</td>
</tr>
<tr align="left">
- <td>4 Trucar la salida<br>(14578)</td>
+ <td>4 Trucar la salida<br>(14581)</td>
<td>Francisco Vila</td>
<td></td>
<td><span style="background-color: #1fff1f">sÃ</span></td>
<td>pre-GDP</td>
</tr>
<tr align="left">
- <td>1.1 Alturas<br>(3083)</td>
+ <td>1.1 Alturas<br>(3086)</td>
<td>Francisco Vila</td>
<td></td>
<td><span style="background-color: #1fff1f">sÃ</span></td>
<td>pre-GDP</td>
</tr>
<tr align="left">
- <td>1.2 Duraciones<br>(5005)</td>
+ <td>1.2 Duraciones<br>(5013)</td>
<td>Francisco Vila</td>
<td></td>
<td><span style="background-color: #1fff1f">sÃ</span></td>
<td>pre-GDP</td>
</tr>
<tr align="left">
- <td>1.3 Expresiones<br>(1141)</td>
+ <td>1.3 Expresiones<br>(1146)</td>
<td>Francisco Vila</td>
<td></td>
<td><span style="background-color: #1fff1f">sÃ</span></td>
<td>pre-GDP</td>
</tr>
<tr align="left">
- <td>1.5 Notas simultáneas<br>(1452)</td>
+ <td>1.5 Notas simultáneas<br>(1455)</td>
<td>Francisco Vila</td>
<td></td>
<td><span style="background-color: #1fff1f">sÃ</span></td>
<td>post-GDP</td>
</tr>
<tr align="left">
- <td>1.6 Notación de los pentagramas<br>(1633)</td>
+ <td>1.6 Notación de los pentagramas<br>(1635)</td>
<td>Francisco Vila</td>
<td></td>
<td><span style="background-color: #1fff1f">sÃ</span></td>
<td>pre-GDP</td>
</tr>
<tr align="left">
- <td>1.7 Anotaciones editoriales<br>(902)</td>
+ <td>1.7 Anotaciones editoriales<br>(906)</td>
<td>Francisco Vila</td>
<td></td>
<td><span style="background-color: #1fff1f">sÃ</span></td>
<td>pre-GDP</td>
</tr>
<tr align="left">
- <td>1.8 Texto<br>(2441)</td>
+ <td>1.8 Texto<br>(2472)</td>
<td>Francisco Vila</td>
<td></td>
<td><span style="background-color: #1fff1f">sÃ</span></td>
<td>pre-GDP</td>
</tr>
<tr align="left">
- <td>2.1 Música vocal<br>(2678)</td>
+ <td>2.1 Música vocal<br>(2638)</td>
<td>Francisco Vila</td>
<td></td>
<td><span style="background-color: #1fff1f">sÃ</span></td>
<td>pre-GDP</td>
</tr>
<tr align="left">
- <td>2.2 Teclados y otros instrumentos de varios pentagramas<br>(679)</td>
+ <td>2.2 Teclados y otros instrumentos de varios pentagramas<br>(680)</td>
<td>Francisco Vila</td>
<td></td>
<td><span style="background-color: #1fff1f">sÃ</span></td>
<td>pre-GDP</td>
</tr>
<tr align="left">
- <td>2.3 Instrumentos de cuerda sin trastes<br>(234)</td>
+ <td>2.3 Instrumentos de cuerda sin trastes<br>(235)</td>
<td>Francisco Vila</td>
<td></td>
<td><span style="background-color: #1fff1f">sÃ</span></td>
<td>pre-GDP</td>
</tr>
<tr align="left">
- <td>2.4 Instrumentos de cuerda con trastes<br>(1758)</td>
+ <td>2.4 Instrumentos de cuerda con trastes<br>(1759)</td>
<td>Francisco Vila</td>
<td></td>
<td><span style="background-color: #1fff1f">sÃ</span></td>
<td>pre-GDP</td>
</tr>
<tr align="left">
- <td>2.7 Notación de acordes<br>(1326)</td>
+ <td>2.7 Notación de acordes<br>(1333)</td>
<td>Francisco Vila</td>
<td></td>
<td><span style="background-color: #1fff1f">sÃ</span></td>
<td>pre-GDP</td>
</tr>
<tr align="left">
- <td>2.8 Notación antigua<br>(4240)</td>
+ <td>2.8 Notación antigua<br>(4486)</td>
<td>Francisco Vila</td>
<td></td>
<td><span style="background-color: #1fff1f">sÃ</span></td>
<td>pre-GDP</td>
</tr>
<tr align="left">
- <td>3 Entrada y salida generales<br>(5803)</td>
+ <td>3 Entrada y salida generales<br>(5805)</td>
<td>Francisco Vila</td>
<td></td>
<td><span style="background-color: #1fff1f">sÃ</span></td>
<td>pre-GDP</td>
</tr>
<tr align="left">
- <td>4 Problemas de espaciado<br>(8444)</td>
+ <td>4 Problemas de espaciado<br>(8447)</td>
<td>Francisco Vila</td>
<td></td>
<td><span style="background-color: #1fff1f">sÃ</span></td>
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: 6c367cb1ca6f8c7c0eef6cf0d9405df713495ab5
+ Translation of GIT committish: 17d84cfa9ddb152b05d1e17ab72109fb4eefa684
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
Muchos objetos gráficos, como la cabeza y el corchete de las figuras,
las alteraciones, la indicación de compás y los silencios ofrecen una
propiedad @code{style} (estilo), que se puede cambiar para emular
-varios estilos diferentes de notación antigua. Véase
+varios estilos diferentes de notación antigua. Véase
@itemize
@item @ref{Mensural note heads},
Una ligadura es un sÃmbolo gráfico que representa al menos dos notas
distintas. Las ligaduras aparecieron originalmente en los manuscritos
de la notación del canto gregoriano para denotar secuencias de notas
-ascendentes o descendentes en la misma sÃlaba. Se usan también en
+ascendentes o descendentes en la misma sÃlaba. Se usan también en
notación mensural.
-Las ligaduras se escriben encerrándolas dentro de un par @code{\[} y
-@code{\]}. Ciertos estilos de ligadura podrÃan necesitar una sintaxis
-de entrada adicional especÃfica para este tipo de ligadura en
-particular. De forma predeterminada, el grabador
+Las ligaduras se escriben @emph{encerrándolas} dentro de un par
+@code{\[} y @code{\]}. Ciertos estilos de ligadura podrÃan necesitar
+una sintaxis de entrada adicional especÃfica para este tipo de
+ligadura en particular. De forma predeterminada, el grabador
@rinternals{LigatureBracket} se limita a colocar un corchete recto
sobre la ligadura:
explica en @ref{White mensural ligatures} y @ref{Gregorian square
neume ligatures}.
+
@seealso
+
@knownissues
Las ligaduras necesitan un espaciado especial que aún no se ha
}
@end lilypond
-@seealso
+@seealso
Referencia de funcionamiento interno:
@rinternals{Custos}.
}
@end lilypond
+
@seealso
+
@node Mensural clefs
@unnumberedsubsubsec Mensural clefs
@end lilypond
@end multitable
-@seealso
+@seealso
Referencia de la notación:
@ref{Clef}.
+
@knownissues
La clave de Sol mensural está asignada a la clave de Sol de Petrucci.
@rinternals{TimeSignature} para seleccionar las indicaciones de compás
de la música antigua. Los estilos contemplados son @code{neomensural}
y @code{mensural}. La tabla anterior utiliza el estilo
-@code{neomensural}. Los ejemplos siguientes muestran las diferencias
+@code{neomensural}. Los ejemplos siguientes muestran las diferencias
que existen entre los estilos:
@lilypond[ragged-right,fragment,relative=1,quote]
}
@end lilypond
-@seealso
+@seealso
Referencia de la notación:
@ref{Time signature}
ofrece una introducción general al uso de las indicaciones de compás.
@end lilypond
-@seealso
+@seealso
@ref{Note head styles} ofrece una visión de conjunto sobre la
totalidad de los estilos de cabeza disponibles.
No existen corchetes en la notación del canto gregoriano.
+
@seealso
+
@knownissues
La unión de los corchetes antiguos a las plicas está ligeramente
Consulte @rlsr{Pitches,rests} para ver un cuadro de todos los
silencios.
-No hay silencios en la notación del canto gregoriano; en su lugar, se
-utilizan @ref{Divisiones}.
@seealso
-
Referencia de la notación:
@ref{Rests}
ofrece una introducción general al uso de los silencios.
@code{\override Staff.Accidental #'glyph-name-alist =
#alteration-mensural-glyph-name-alist}
-@seealso
+@seealso
Referencia de la notación:
@ref{Pitches},
@ref{Accidentals} y
Referencia de funcionamiento interno:
@rinternals{KeySignature}.
+
@cindex alteraciones accidentales
En la música europea de hasta aprox. 1600, se esperaba de los
cantantes que alterasen cromáticamente ciertas notas según su propia
-iniciativa y de acuerdo a ciertas reglas. Esto recibe el nombre de
-@notation{musica ficta}. En las transcripciones modernas, estas
+iniciativa y de acuerdo a ciertas reglas. Esto recibe el nombre de
+@notation{musica ficta}. En las transcripciones modernas, estas
alteraciones accidentales se imprimen normalmente encima de la nota.
@cindex alteraciones de la musica ficta
}
@end lilypond
-@seealso
+@seealso
Referencia de funcionamiento interno:
el grabador @rinternals{Accidental_engraver}
y el objeto
}
@end lilypond
+
@seealso
+
@knownissues
-El espaciado horizontal es pobre.
+El espaciado horizontal de las ligaduras es pobre.
@node Typesetting Gregorian chant
manera que no es neceario establecer explÃcitamente el estilo de las
cabezas. A pesar de ello se puede establecer el estilo de las
cabezas, p.ej.: a @code{vaticana_punctum} para producir neumas de
-punctum. De forma similar, el grabador
+punctum. De forma similar, el grabador
@rinternals{Mensural_ligature_engraver} construye ligaduras mensurales
automáticamente. Consulte @ref{Ligatures} para ver cómo funcionan los
grabadores de ligaduras.
}
@end lilypond
+
@seealso
@end lilypond
@end multitable
-@seealso
+@seealso
Referencia de la notación:
@ref{Clef}.
@code{\override Staff.Accidental #'glyph-name-alist =
#alteration-mensural-glyph-name-alist}
-@seealso
+@seealso
Referencia de la notación:
@ref{Pitches},
@ref{Accidentals} y
@cindex divisiones
@cindex finalis
+En la notación del canto gregoriano no existen silencios, sino
+@ref{Divisiones}.
+
Una @emph{divisio} (en plural: @emph{divisiones}, que en latÃn
significa @q{división}) es un sÃmbolo del contexto del pentagrama que
se usa para estructurar la música gregoriana en frases y secciones.
dentro de un único canto antifonal o responsorial para marcar el final
de cada una de las secciones.
-Para usar divisiones, incluya el archivo @file{gregorian@/-init@/.ly}.
+Para usar divisiones, incluya el archivo @file{gregorian@/.ly}.
Contiene definiciones que podrá aplicar con tan sólo escribir
@code{\divisioMinima}, @code{\divisioMaior}, @code{\divisioMaxima} y
@code{\finalis} en los lugares adecuados de la entrada. Algunas
ediciones usan @emph{virgula} o @emph{caesura} en vez de divisio
-minima. Por ello, @file{gregorian@/-init@/.ly} define también las
+minima. Por ello, @file{gregorian@/.ly} define también las
instrucciones @code{\virgula} y @code{\caesura}.
@lilypondfile[quote,ragged-right]{divisiones.ly}
-@predefined
+@predefined
@funindex \virgula
@code{\virgula},
@funindex \caesura
@code{\divisioMaxima},
@funindex \finalis
@code{\finalis}.
+@endpredefined
@node Gregorian articulation signs
}
@end lilypond
+
@seealso
+
@knownissues
Ciertas articulaciones se colocan demasiado cerca verticalmente de las
}
@end lilypond
-@seealso
+@seealso
Referencia de la notación:
@ref{Breath marks}.
Se habilita el soporte de los neumas gregorianos por medio de la
inclusión con @code{\include} del archivo "gregorian.ly" al principio
-del archivo. Esto hace que estén disponibles una cierta cantidad de
+del archivo. Esto hace que estén disponibles una cierta cantidad de
instrucciones adicionales para producir los sÃmbolos de los neumas que
se usan en la notación de canto llano.
@item Las ligaduras hablando en propiedad,
(es decir, notas unidas), se producen escribiendo una de las
-instrucciones de unión @code{pes} o @code{flexa}, para el movimiento
+instrucciones de unión @code{\pes} o @code{\flexa}, para el movimiento
ascendente y descendente, respectivamente, @emph{intercaladas} entre
las notas que se han de unir.
@end itemize
@code{\cavum}, que produce una nota vacÃa, y @code{\linea}, que traza
lÃneas verticales a ambos lados de la nota.
-@item La @emph{virga} tiene una plica descendente en el lado derecho. Se
+@item La @emph{virga} tiene una plica descendente en el lado derecho. Se
produce mediante el modificador @code{\virga}.
@end itemize
forma se produce haciendo un @code{pes} o una @code{flexa} normales y
modificando la forma de la segunda nota: @code{\[ a \pes \deminutum b
\] }, mientras que la segunda se hace modificando la forma de un neuma
-de una nota con @code{\auctus} y uno de los generadores de
+de una nota con @code{\auctum} y uno de los generadores de
dirección @code{\descendens} o @code{\ascendens}, p.ej. @code{ \[
-\auctus \descendens a \] }.
+\auctum \descendens a \] }.
@noindent
SÃmbolos especiales
Observe que el uso de esos sÃmbolos en la propia música sigue ciertas
reglas que LilyPond no comprueba. P.ej., el @emph{quilisma} siempre
es la nota intermedia de una ligadura ascendente, y suele caer sobre
-un intervalo de semitono, pero es perfectamente posible hacer un
-quilisma de una nota.
+un intervalo de semitono, pero es perfectamente posible, si bien
+incorrecto, hacer un quilisma de una nota.
+
+Además de los sÃmbolos de nota, el archivo gregorian.ly define también
+las instrucciones @code{\versus}, @code{\responsum}, @code{\ij},
+@code{\iij}, @code{\IJ} y @code{\IIJ}, que producen los caracteres
+correspondientes, p.ej. para utilizarlos en la letra, como marcas de
+sección, etc. Estas instrucciones utilizan caracteres de Unicode
+especiales y sólo funcionan si se usa una fuente tipográfica que los
+contemple.
La tabla siguiente muestra un conjunto limitado, pero representativo,
de ligaduras gregorianas, junto a los fragmentos de código que las
@end multitable
@predefined
-
Están contemplados los siguientes prefijos de cabeza:
-
@funindex \virga
@code{\virga},
@funindex \stropha
@code{\cavum},
@funindex \linea
@code{\linea}.
+@endpredefined
+
Se pueden acumular los prefijos de cabeza, aunque con ciertas
restricciones. Por ejemplo, se pueden aplicar @code{\descendens} o
Utilice la función musical unaria @code{\augmentum} para añadir puntos
de augmentum.
+
@seealso
+
@knownissues
Cuando aparece un punto de @code{\augmentum} al final de la última
Continuará...
+
@seealso
@lilypondfile[verbatim,lilyquote,texidoc]
{mensurstriche-layout-bar-lines-between-the-staves.ly}
-Continuará...
@seealso
+@c ... and reference to other sections ...
@node Transcribing Gregorian chant
@unnumberedsubsubsec Transcribing Gregorian chant
-Continuará...
+El canto gregoriano se puede transcribir a notación moderna con
+ciertos trucos sencillos.
+
+@b{Plicas}. Todas las plicas se pueden eliminar de una vez retirando
+el grabador @code{Stem_engraver} del contexto de voz:
+
+
+@example
+\layout @{
+ ...
+ \context @{
+ \Voice
+ \remove "Stem_engraver"
+ @}
+@}
+@end example
+
+Sin embargo, en ciertos estilos de transcripción, se usan plicas de
+forma ocasional, por ejemplo para indicar la transición a partir de un
+recitativo monotónico a un gesto melódico fijo. En estos casos
+podemos usar bien @code{\override Stem #'transparent = ##t} o bien
+@code{\override Stem #'length = #0}, y restaurar la plica cuando se
+necesite con el correspondiente @code{\once \override Stem
+#'transparent = ##f} (véase el ejemplo de abajo).
+
+@b{Compás}. Para el canto no medido, existen diversas alternativas.
+
+Se puede eliminar el grabador Time_signature_engraver del contexto de
+Staff sin ningún efecto secundario negativo. La alternativa, que es
+hacer transparente la indicación de compás, deja un espacio en blanco
+en la partitura, pues la indicación invisible sigue ocupando un
+espacio.
+
+En muchos casos da un buen resultado @code{\set Score.timing = ##f}.
+Otra alternativa es utilizar \@code{\CadenzaOn} y @code{\CadenzaOff}.
+
+Para quitar las barras de compás, el enfoque radical consiste en
+retirar (mediante la instrucción @code{\remove}) el grabador
+Bar_engraver del contexto de pentagrama Staff. Una vez más, en vez de
+ello podemos usar @code{\override BarLine #'transparent = ##t} si se
+necesita ocasionalmente una barra de compás.
+
+Un tipo de transcripción muy común es el canto de recitativo, en el
+que la nota repetida se indica con una breve. Se puede tratar el
+texto del tono de recitativo de dos maneras. Podemos ponerlo como una
+sola sÃlaba alineada por la izquierda:
+
+@lilypond[verbatim,ragged-right]
+\include "gregorian.ly"
+chant = \relative c' {
+ \clef "G_8"
+ c\breve c4 b4 a c2 c4 \divisioMaior
+ c\breve c4 c f, f \finalis
+}
+
+verba = \lyricmode {
+ \once \override LyricText #'self-alignment-X = #-1
+ "Noctem quietam et" fi -- nem per -- fec -- tum
+ \once \override LyricText #'self-alignment-X = #-1
+ "concedat nobis Dominus" om -- ni -- po -- tens.
+}
+\score {
+ \new Staff <<
+ \new Voice = "melody" \chant
+ \new Lyrics = "one" \lyricsto melody \verba
+ >>
+ \layout {
+ \context {
+ \Staff
+ \remove "Time_signature_engraver"
+ \remove "Bar_engraver"
+ \override Stem #'transparent = ##t
+ }
+ }
+}
+@end lilypond
+
+Esto funciona bien en la medida en que el texto no comprenda un salto
+de lÃnea. Si es el caso, una alternativa serÃa añadir notas ocultas a
+la partitura, en combinación con cambios en la visibilidad de las
+plicas:
+
+
+@lilypond[verbatim,ragged-right]
+\include "gregorian.ly"
+chant = \relative c' {
+ \clef "G_8"
+ \set Score.timing = ##f
+ c\breve \override NoteHead #'transparent = ##t c c c c c
+ \revert NoteHead #'transparent
+ \override Stem #'transparent = ##f \stemUp c4 b4 a
+ \override Stem #'transparent = ##t c2 c4 \divisioMaior
+ c\breve \override NoteHead #'transparent = ##t c c c c c c c
+ \revert NoteHead #'transparent c4 c f, f \finalis
+}
+
+verba = \lyricmode {
+ No -- ctem qui -- e -- tam et fi -- nem per -- fec -- tum
+ con -- ce -- dat no -- bis Do -- mi -- nus om -- ni -- po -- tens.
+}
+
+\score {
+ \new Staff <<
+ \new Voice = "melody" \chant
+ \new Lyrics \lyricsto "melody" \verba
+ >>
+ \layout {
+ \context {
+ \Staff
+ \remove "Time_signature_engraver"
+ \override BarLine #'transparent = ##t
+ \override Stem #'transparent = ##t
+ }
+ }
+}
+@end lilypond
+
+Otra situación común es la transcripción de cantos neumáticos o
+melismáticos, es decir, cantos con un número variable de notas en cada
+sÃlaba. En este caso, podemos establecer los grupos de sÃlabas
+claramente separados, normalmente también las subdivisiones de un
+melisma mayor. Una forma de conseguirlo es usar un @code{\time} fijo,
+p.ej. 1/4, y dejar que cada sÃlaba o grupo de notas llene uno de esos
+compases, con la ayuda de grupos de valoración especial o duraciones
+más breves. Si las lÃneas divisorias y todas las demás indicaciones
+rÃtmicas se hacen transparentes, y el espacio que rodea las lÃneas
+divisorias se aumenta, ello proporciona una aceptable representación
+del original, en notación moderna.
+
+Para evitar que las sÃlabas de distinta anchura (como @qq{-ri} y
+@qq{-rum}) dispongan los grupos de notas de las sÃlabas de forma
+irregular, se puede ajustar la propiedad @code{#'X-extent} del objeto
+@code{LyricText} a un valor fijo. Otra forma más engorrosa serÃa
+añadir las sÃlabas como elementos de @code{\markup}. Si se necesitan
+más ajustes posteriormente, esto se puede hacer fácilmente con
+@q{notas} @code{s}.
+
+@lilypond[verbatim,quote]
+spiritus = \relative c' {
+ \time 1/4
+ \override Lyrics.LyricText #'X-extent = #'(0 . 3)
+ d4 \times 2/3 { f8 a g } g a a4 g f8 e
+ d4 f8 g g8 d f g a g f4 g8 a a4 s
+ \times 2/3 { g8 f d } e f g a g4
+}
+
+spirLyr = \lyricmode {
+ Spi -- ri -- _ _ tus _ Do -- mi -- ni _ re -- ple -- _ vit _
+ or -- _ bem _ ter -- ra -- _ rum, al -- _ _ le -- _ lu
+ -- _ ia.
+}
+\score {
+ \new Staff <<
+ \new Voice = "chant" \spiritus
+ \new Lyrics = "one" \lyricsto "chant" \spirLyr
+ >>
+ \layout {
+ \context {
+ \Staff
+ \remove "Time_signature_engraver"
+ \override BarLine #'X-extent = #'(-1 . 1)
+ \override Stem #'transparent = ##t
+ \override Beam #'transparent = ##t
+ \override BarLine #'transparent = ##t
+ \override TupletNumber #'transparent = ##t
+ }
+ }
+}
+@end lilypond
+
+@c extract from 1.6.1.1
@seealso
+@c ... and reference to other sections ...
+
@node Ancient and modern from one source
@unnumberedsubsubsec Ancient and modern from one source
Continuará...
+
@seealso
+
@node Editorial markings
@unnumberedsubsubsec Editorial markings
Continuará...
+
@seealso
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c This file is part of lilypond.tely
@ignore
-Translation of GIT committish: 336b8ddf5762402d58a90d7a9d9ed0310eed026a
+Translation of GIT committish: 17d84cfa9ddb152b05d1e17ab72109fb4eefa684
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
* Aligning contexts::
@end menu
-@seealso
+@seealso
Manual de aprendizaje:
@rlearning{Contexts and engravers}.
@seealso
-
Referencia de funcionamiento interno:
@rinternals{OverrideProperty},
@rinternals{RevertProperty},
puede ser de utilidad en la determinación de lo que puede modificarse
por medio de una instrucción @code{\tweak}.
-@seealso
+@seealso
Manual de aprendizaje:
@rlearning{Tweaking methods}.
Referencia de la notación:
@ref{Displaying music expressions}.
+
@knownissues
@cindex trucos en una variable
en @code{staff-space}. Para ver una explicación y un ejemplo de su
utilización, consulte @rlearning{Length and thickness of objects}.
-@seealso
+@seealso
Manual de aprendizaje:
@rlearning{Length and thickness of objects}.
Si se usa @code{\endSpanners} no es necesario cerrar \startTextSpan
con \stopTextSpan, ni cerrar los reguladores con @code{\!}.
-@seealso
+@seealso
Referencia de funcionamiento interno:
@rinternals{TextSpanner},
@rinternals{Glissando},
@code{explicitClefVisibility} controla tanto el sÃmbolo de clave como
el sÃmbolo de octava asociado.
-@seealso
+@seealso
Manual de aprendizaje:
@rlearning{Visibility and color of objects}
* Modifying shapes::
@end menu
-@seealso
+@seealso
Manual de aprendizaje:
@rlearning{Tweaking output},
@rlearning{Other sources of information}.
@c TODO Add inserting Postscript or ref to later
-@seealso
+@seealso
Referencia de la notación:
@ref{Graphic notation inside markup},
@ref{Formatting text},
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: 3a8542af9f54c99b53374328af0d5d87005ca49e
+ Translation of GIT committish: 17d84cfa9ddb152b05d1e17ab72109fb4eefa684
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
\chordmode { f2 g }
@end lilypond
-@seealso
+@seealso
Glossario musical:
@rglos{chord}.
Fragmentos de código:
@rlsr{Chords}
+
@knownissues
Cuando se mezclan los modos de acorde y de nota en música secuencial,
@end multitable
-@seealso
+@seealso
Referencia de la notación:
@ref{Common chord modifiers}.
Fragmentos de código:
@rlsr{Chords}.
+
@node Extended and altered chords
@unnumberedsubsubsec Extended and altered chords
}
@end lilypond
-@seealso
+Los modificadores de acorde que se pueden utilizar para producir una
+amplia variedad de acordes estándar se muestran en @ref{Common chord
+modifiers}.
+
+@seealso
Referencia de la notación:
@ref{Common chord modifiers}.
Fragmentos de código:
-@rlsr{Chords}
+@rlsr{Chords}.
+
@knownissues
@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{simple-lead-sheet.ly}
-@seealso
+@seealso
Glosario musical:
@rglos{chord}.
@rinternals{Volta_engraver},
@rinternals{Bar_engraver}.
+
@knownissues
Los acordes que contienen inversiones o bajos alterados no reciben un
@end table
-@predefined
+@predefined
@funindex major seven symbols
@code{\whiteTriangleMarkup},
@code{\blackTriangleMarkup},
@code{\italianChords},
@funindex \frenchChords
@code{\frenchChords}.
+@endpredefined
+
@snippets
{changing-chord-separator.ly}
-@seealso
+@seealso
Referencia de la notación:
@ref{Chord name chart},
@ref{Common chord modifiers}.
@c Internals Reference:
@c @rinternals{ }.
+
@knownissues
Los nombres de acorde se determinan a partir de las notas que están
cifras se puede ajustar con @code{baseline-skip}.
@end ignore
-@seealso
+@seealso
Glosario musical:
@rglos{figured bass}.
@cindex bajo cifrado, lÃneas de extensión
@code{\bassFigureExtendersOn},
@code{\bassFigureExtendersOff}.
+@endpredefined
+
@snippets
-@c TODO Fix this snippet -- Plus direction should be RIGHT.
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{changing-the-positions-of-figured-bass-alterations.ly}
-@seealso
-@c Music Glossary:
-@c @rglos{}.
-
-@c Learning Manual:
-@c @rlearning{}.
-
-@c Notation Reference:
-@c @ref{}.
-
-@c Application Usage:
-@c @rprogram{}.
-
-@c Installed Files:
-@c @file{}.
+@seealso
Fragmentos de código:
@rlsr{Chords}.
@rinternals{BassFigureContinuation},
@rinternals{FiguredBass}.
+
@c @knownissues
+
@node Displaying figured bass
@unnumberedsubsubsec Displaying figured bass
directamente. En este caso, la posición vertical de las cifras se
ajusta automáticamente.
-@c TODO add a second paragraph to show direction change. First
-@c example should be UP (default), second should be DOWN.
-
-@c TODO change to use predefined command once it is added to
-@c property-init.ly -cds
@lilypond[verbatim,ragged-right,fragment,quote]
<<
\new Staff = myStaff
>>
@end lilypond
-@ignore
-@c I don't understand this -cs
-When using continuation lines, common figures are always put in the
-same vertical position. When this is unwanted, you can insert a rest.
-The rest will clear any previous alignment. For
-example, you can write
-
-@example
-<6 4>8 r8
-@end example
-
-@noindent
-instead of
-@example
-<4 6>4
-@end example
-@end ignore
@predefined
@cindex bajo cifrado, alineación
@code{\bassFigureStaffAlignmentDown},
@code{\bassFigureStaffAlignmentUp},
@code{\bassFigureStaffAlignmentNeutral}.
+@endpredefined
+
@c @snippets
@seealso
@c Music Glossary:
@c @rg los{}.
-
+@c
@c Learning Manual:
@c @rle arning{}.
-
+@c
@c Notation Reference:
@c @re f{}.
-
+@c
@c Application Usage:
@c @rpr ogram{}.
-
+@c
@c Installed Files:
@c @fil e{}.
-
+@c
Snippets:
@rlsr{Chords}.
@rinternals{BassFigureContinuation},
@rinternals{FiguredBass}.
+
@knownissues
Para asegurar que las lÃneas extensoras funcionan adecuadamente, lo
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c This file is included from notation.itely
@ignore
- Translation of GIT committish: 336b8ddf5762402d58a90d7a9d9ed0310eed026a
+ Translation of GIT committish: 17d84cfa9ddb152b05d1e17ab72109fb4eefa684
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
gráficos que utilicesn fuentes tipográficas. Éstos son los que
contemplan el interfaz de presentación @code{font-interface}.
-@predefined
+@predefined
@funindex \teeny
@code{\teeny} (enano),
@funindex \tiny
@code{\large} (grande),
@funindex \huge
@code{\huge} (enorme).
+@endpredefined
-@seealso
+@seealso
Fragmentos de código:
@rlsr{Editorial annotations}.
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{avoiding-collisions-of-chord-fingering-with-beams.ly}
-@seealso
+@seealso
Referencia de la notación:
-@ref{Direction and placement}
+@ref{Direction and placement}.
Fragmentos de código:
@rlsr{Editorial annotations}.
e4(\p f)--
@end lilypond
+
@predefined
+@code{\hideNotes},
+@code{\unHideNotes}.
+@endpredefined
-@code{\hideNotes}, @code{\unHideNotes}
@seealso
-
Fragmentos de código:
@rlsr{Editorial annotations}.
gis4 a
@end lilypond
-@seealso
+@seealso
Referencia de la notación:
@ref{List of colors},
@ref{The tweak command}.
Fragmentos de código:
@rlsr{Editorial annotations}.
+
@cindex x11, color de
@cindex coloreadas, notas de acorde
@cindex notas coloreadas en acordes
c2 \parenthesize r
@end lilypond
-@seealso
+@seealso
Fragmentos de código:
@rlsr{Editorial annotations}.
@rinternals{ParenthesesItem},
@rinternals{parentheses-interface}.
+
@knownissues
Al poner un acorde entre paréntesis, se encierra cada una de las notas
@code{Stem} (plica). Para las redondas y los silencios, también se
crean pero se hacen invisibles.
-@predefined
+@predefined
@funindex \stemUp
@code{\stemUp},
@funindex \stemDown
@code{\stemDown},
@funindex \stemNeutral
@code{\stemNeutral}.
+@endpredefined
@snippets
@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{default-direction-of-stems-on-the-center-line-of-the-staff.ly}
+
@seealso
Referencia de la notación:
@ref{Direction and placement}.
@predefined
-
@funindex balloonLengthOn
-@funindex balloonLengthOff
@funindex \balloonLengthOn
+@code{\balloonLengthOn},
@funindex \balloonLengthOff
+@funindex balloonLengthOff
+@code{\balloonLengthOff}.
+@endpredefined
-@code{\balloonLengthOn}, @code{\balloonLengthOff}
@seealso
-
Fragmentos de código:
@rlsr{Editorial annotations}.
@seealso
-
Fragmentos de código:
@rlsr{Editorial annotations}.
}
@end lilypond
-@seealso
+@seealso
Fragmentos de código:
@rlsr{Editorial annotations}.
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 336b8ddf5762402d58a90d7a9d9ed0310eed026a
+ Translation of GIT committish: 17d84cfa9ddb152b05d1e17ab72109fb4eefa684
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@seealso
-
-Gloario musical:
+Glosario musical:
@rglos{tenuto},
@rglos{accent},
@rglos{staccato},
@funindex \dynamicNeutral
@funindex dynamicNeutral
-@predefined
+@predefined
@code{\dynamicUp},
@code{\dynamicDown},
@code{\dynamicNeutral},
@code{\dimTextDecresc},
@code{\crescHairpin},
@code{\dimHairpin}.
+@endpredefined
+
@snippets
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{changing-text-and-spanner-styles-for-text-dynamics.ly}
-@seealso
+@seealso
Glosario musical:
@rglos{al niente},
@rglos{crescendo},
Los ajustes para las fuentes tipográficas en el modo de marcado se
describen en @ref{Selecting font and font size}.
-@seealso
+@seealso
Referencia de la notación:
@ref{Formatting text},
@ref{Selecting font and font size},
@funindex \slurUp
@funindex slurUp
-@predefined
+@predefined
@code{\slurUp},
@code{\slurDown},
@code{\slurNeutral},
@code{\slurDashed},
@code{\slurDotted},
@code{\slurSolid}.
+@endpredefined
@snippets
@seealso
-
Glosario musical:
@rglos{slur}.
@predefined
-
@code{\phrasingSlurUp},
@code{\phrasingSlurDown},
@code{\phrasingSlurNeutral},
@code{\phrasingSlurDashed},
@code{\phrasingSlurDotted},
@code{\phrasingSlurSolid}.
+@endpredefined
-@seealso
+@seealso
Manual de aprendizaje:
@rlearning{On the un-nestedness of brackets and ties}.
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{inserting-a-caesura.ly}
-@seealso
+@seealso
Glosario musical:
@rglos{caesura}.
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{adjusting-the-shape-of-falls-and-doits.ly}
-@seealso
+@seealso
Glosario musical:
@rglos{fall},
@rglos{doit}.
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{contemporary-glissando.ly}
-@seealso
+@seealso
Glosario musical:
@rglos{glissando}.
Referencia de funcionamiento interno:
@rinternals{Glissando}.
+
@knownissues
La impresión de texto sobre la lÃnea (como @notation{gliss.}) no está
Los acordes arpegiados se pueden desarrollar explÃcitamente utilizando
@notation{ligaduras de unión}. Véase @ref{Ties}.
-@predefined
+@predefined
@funindex \arpeggio
@code{\arpeggio},
@funindex \arpeggioArrowUp
@code{\arpeggioNormal},
@funindex \arpeggioBracket
@code{\arpeggioBracket}.
+@endpredefined
+
@snippets
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{creating-arpeggios-across-notes-in-different-voices.ly}
-@seealso
+@seealso
Glosario musical:
@rglos{arpeggio}.
@rinternals{Arpeggio},
@rinternals{PianoStaff}.
+
@knownissues
@cindex pentagrama cruzado, arpegios con paréntesis
g\stopTrillSpan
@end lilypond
-@predefined
+@predefined
@code{\startTrillSpan},
@code{\stopTrillSpan}.
+@endpredefined
-@seealso
+@seealso
Glosario musical:
@rglos{trill}.
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: 336b8ddf5762402d58a90d7a9d9ed0310eed026a
+ Translation of GIT committish: 17d84cfa9ddb152b05d1e17ab72109fb4eefa684
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@end itemize
-@seealso
+@seealso
Referencia de la notación:
@ref{Fingering instructions},
@ref{Ties},
@ref{List of articulations},
@ref{Clef}.
+
@node String number indications
@unnumberedsubsubsec String number indications
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{allowing-fingerings-to-be-printed-inside-the-staff.ly}
-@seealso
+@seealso
Referencia de la notación:
@ref{Fingering instructions}.
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{polyphony-in-tablature.ly}
-@seealso
+@seealso
Referencia de la notación:
@ref{Stems}.
@rinternals{TabVoice},
@rinternals{Beam}.
+
@knownissues
Los acordes no se tratan de una forma especial, y de aquà que el
>>
@end lilypond
-@seealso
+@seealso
Archivos de inicio:
@file{scm/output-lib.scm}.
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{customizing-markup-fret-diagrams.ly}
-@seealso
+@seealso
Referencia de la notación:
@ref{Text markup commands}.
Referencia de funcionamiento interno:
@rinternals{fret-diagram-interface}.
+
@node Predefined fret diagrams
@unnumberedsubsubsec Predefined fret diagrams
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{defining-predefined-fretboards-for-other-instruments.ly}
-@seealso
+@seealso
Referencia de la notación:
@ref{Custom tablatures},
@ref{Automatic fret diagrams},
@code{FretBoards}, las propiedades del interface pertenecen a
@code{FretBoards.FretBoard}.
+
@predefined
@code{\predefinedFretboardsOff},
@code{\predefinedFretboardsOn}.
+@endpredefined
-@seealso
+@seealso
Referencia de la notación:
@ref{Custom tablatures}.
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{fingerings,-string-indications,-and-right-hand-fingerings.ly}
-@seealso
+@seealso
Fragmentos de código:
@rlsr{Fretted strings}.
e16 b g d
@end lilypond
-@seealso
+@seealso
Referencia de la notación:
@ref{Text spanners}.
@rlsr{Fretted strings},
@rlsr{Expressive marks}.
+
@node Indicating harmonics and dampened notes
@unnumberedsubsubsec Indicating harmonics and dampened notes
}
@end lilypond
-@seealso
+@seealso
Fragmentos de código:
@rlsr{Fretted strings}.
@ref{Special note heads},
@ref{Note head styles}.
+
@node Banjo
@subsection Banjo
\set TabStaff.stringTunings = #(four-string-banjo banjo-c-tuning)
@end example
-@seealso
+@seealso
Fragmentos de código:
@rlsr{Fretted strings}.
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c This file is part of lilypond-learning.tely
@ignore
- Translation of GIT committish: 0646758d26f727fc27fc13a87df2362388909e5d
+ Translation of GIT committish: 17d84cfa9ddb152b05d1e17ab72109fb4eefa684
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
afectan a los nombres de variable se detallan en @ruser{File
structure}.
-@seealso
+@seealso
Para ver una definición completa del formato del código de entrada,
consulte @ruser{File structure}.
+
@node Score is a (single) compound musical expression
@subsection Score is a (single) compound musical expression
de texto cada elemento del mismo nivel comienza en la misma posición
horizontal).
-@seealso
+@seealso
Referencia de la notación:
@ruser{Structure of a score}.
colocar por encima del pentagrama llamado @qq{main} en vez de la
posición predeterminada que serÃa por debajo.
-@seealso
+@seealso
Los fragmentos de ossia se escriben a menudo sin clave y sin
indicación de compás, y generalmente en un tipo más pequeño. Esto
necesitarÃa más instrucciones que aún no se han visto. Véase
problema aparcado hasta una sección posterior (véase la propiedad
@code{force-hshift} en @ref{Fixing overlapping notation}).
-@seealso
+@seealso
Referencia de la notación:
@ruser{Multiple voices}.
desplazamiento, se producirá el mensaje de error @qq{Chocan demasiadas
columnas de notas}.
-@seealso
+@seealso
Referencia de la notación:
@ruser{Multiple voices}.
}
@end lilypond
-@seealso
+@seealso
Referencia de la notación:
@ruser{Vocal music}.
sin guión ni barra baja, por ejemplo:
@code{GregorianTranscriptionStaff}.
-@seealso
+@seealso
Referencia de la notación:
@ruser{Contexts explained}.
+
@node Creating contexts
@subsection Creating contexts
Hemos visto esto en la sección acerca de la letra, en @ref{Voices and
vocals}.
-@seealso
+@seealso
Referencia de la notación:
@ruser{Creating contexts}.
Más adelante veremos cómo la salida de LilyPond se puede cambiar
mediante la modificación del funcionamiento de los Grabadores.
-@seealso
+@seealso
Referencia de funcionamiento interno:
@rinternals{Engravers and Performers}.
enunciados dentro de un bloque @code{\with}, y mediante instrucciones
@code{\set} intercaladas dentro de enunciados musicales.
-@seealso
+@seealso
Referencia de la notación:
@ruser{Changing context default settings}.
@c FIXME
particular incluyendo la instrucción @code{\set} dentro de un bloque
@code{\context} de la misma forma.
-@seealso
+@seealso
Referencia de la notación:
@ruser{Modifying context plug-ins},
@ruser{Changing context default settings}.
}
@end lilypond
-@seealso
+@seealso
Las plantillas de inicio se pueden encontrar en el apéndice
@q{Templates}, véase @ref{Single staff}.
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: f24b56a3274da3642348d075502ced7a2a84ecb5
+ Translation of GIT committish: 17d84cfa9ddb152b05d1e17ab72109fb4eefa684
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
pueden escribir dentro o fuera del bloque @code{\score}, y dentro o
fuera de la expresión musical única dentro del bloque @code{\score}.
-@seealso
+@seealso
Manual de aprendizaje:
@rlearning{Working on input files},
@rlearning{Music expressions explained},
@end itemize
-@seealso
+@seealso
Manual de aprendizaje:
@rlearning{How LilyPond input files work}.
páginas, el medidor puede ser "00", es decir, un número de dos
dÃgitos.
-@predefined
+@predefined
@funindex \label
-@code{\label}
+@code{\label},
@funindex \page-ref
-@code{\page-ref}
+@code{\page-ref}.
+@endpredefined
+
@node Table of contents
@subsection Table of contents
}
@end lilypond
-@seealso
+@seealso
Archivos de inicio:
@file{ly/@/toc@/-init@/.ly}.
-@predefined
+@predefined
@funindex \table-of-contents
-@code{\table-of-contents}
+@code{\table-of-contents},
@funindex \tocItem
-@code{\tocItem}
+@code{\tocItem}.
+@endpredefined
@node Working with input files
Pueden verse ejemplos sencillos sobre el uso de @code{\include} en
@rlearning{Scores and parts}.
-@seealso
+@seealso
Manual de aprendizaje:
@rlearning{Other sources of information},
@rlearning{Scores and parts}.
+
@knownissues
Si un archivo incluido recibe un nombre igual al de uno de los
etiquetadas excepto la que se nombra, y el segundo filtro elimina
incluso esa sección etiquetada.
-@seealso
+@seealso
Manual de aprendizaje:
@rlearning{Organizing pieces with variables}.
@ref{Automatic part combining},
@ref{Including LilyPond files}.
+
@ignore
@c This warning is more general than this placement implies.
@c Rests are not merged whether or not they come from tagged sections.
@c Should be deleted? -td
+
@knownissues
Multiple rests are not merged if you create a score with more
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: 0646758d26f727fc27fc13a87df2362388909e5d
+ Translation of GIT committish: 17d84cfa9ddb152b05d1e17ab72109fb4eefa684
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
agruparse en un único Contexto de partitura. El Contexto de partitura
es el contexto de notación de más alto nivel.
-@seealso
+@seealso
Referencia de funcionamiento interno:
@rinternals{Contexts}.
+
@lilypond[quote,ragged-right]
\include "engraver-example.ily"
\score {
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: bc494bf964f01a1327bc7c6e3c70d0cb8d897ecb
+ Translation of GIT committish: 17d84cfa9ddb152b05d1e17ab72109fb4eefa684
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@end itemize
-@seealso
+@seealso
Manual de aprendizaje:
@rlearning{Real music example},
@rlearning{Other uses for tweaks}.
Fragmentos de código:
@rlsr{Keyboards}.
+
@knownissues
@cindex teclado, matices centrados para música de
está más cerca de la barra. Para ver un ejemplo sencillo de trucaje
de las barras, consulte @rlearning{Fixing overlapping notation}.
-@seealso
+@seealso
Manual de aprendizaje:
@rlearning{Fixing overlapping notation}.
>>
@end lilypond
-@seealso
+@seealso
Referencia de la notación:
@ref{Changing staff manually}.
Referencia de funcionamiento interno:
@rinternals{AutoChangeMusic}.
+
@knownissues
@cindex acordes, división entre pentagramas con \autochange
>>
@end lilypond
-@predefined
+@predefined
@code{\showStaffSwitch},
@code{\hideStaffSwitch}.
+@endpredefined
-@seealso
+@seealso
Fragmentos de código:
@rlsr{Keyboards}.
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{indicating-cross-staff-chords-with-arpeggio-bracket.ly}
-@seealso
+@seealso
Fragmentos de código:
@rlsr{Keyboards}.
Referencia de funcionamiento interno:
@rinternals{Stem}.
+
@node Piano
@subsection Piano
La pedalización hasta la barra final de compás se indica mediante la
omisión de la instrucción final de levantar el pedal.
-@seealso
+@seealso
Referencia de la notación:
@ref{Ties}.
@rinternals{PianoPedalBracket},
@rinternals{Piano_pedal_engraver}.
+
@node Accordion
@subsection Accordion
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{accordion-discant-symbols.ly}
-@seealso
+@seealso
Fragmentos de código:
@rlsr{Keyboards}.
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c This file is part of lilypond-program.tely
@ignore
- Translation of GIT committish: 336b8ddf5762402d58a90d7a9d9ed0310eed026a
+ Translation of GIT committish: 17d84cfa9ddb152b05d1e17ab72109fb4eefa684
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
\begin@{lilypond@}...\end@{lilypond@}
@end example
+
@seealso
Hay opciones de lÃnea de órdenes especÃficas de
@command{lilypond-book} y otros detalles que conocer para procesar
@c -*- coding: utf-8; mode: texinfo; -*-
@ignore
- Translation of GIT committish: 470afe4ab29825194827f7dfcf031addb68771ce
+ Translation of GIT committish: 17d84cfa9ddb152b05d1e17ab72109fb4eefa684
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@end ignore
+
@include version.itexi
-@c don't replace quotes with directed quotes
+
+@c Don't replace quotes with directed quotes.
+
@set txicodequoteundirected
@set txicodequotebacktick
+
+
@c ***** Displaying text *****
-@c we need this since @q{\} doesn't work with makeinfo 4.11 --
-@c say @q{@bs{}} instead
+@c We need this since @q{\} doesn't work with makeinfo 4.11 --
+@c say @q{@bs{}} instead.
+
@macro bs
\\
@end macro
-@c to get decent quotes in `foo' and ``foo''
+
+@c To get decent quotes in `foo' and ``foo''.
+
@macro q{TEXT}
@quoteleft{}\TEXT\@quoteright{}
@end macro
@quotedblleft{}\TEXT\@quotedblright{}
@end macro
+
@ifhtml
+
@macro warning{TEXT}
@cartouche
@b{Nota:} \TEXT\
@end cartouche
@end macro
+
@end ifhtml
@ifnothtml
+
@macro warning{TEXT}
@quotation
@quotation
@end quotation
@end quotation
@end macro
+
@end ifnothtml
+
@ifnotinfo
+
@macro notation{TEXT}
@var{\TEXT\}
@end macro
+
@end ifnotinfo
@ifinfo
+
@macro notation{TEXT}
\TEXT\
@end macro
+
@end ifinfo
+
@macro smallspace
@sp 1
@end macro
-@c **** Displaying images not generated by lilypond-book
-@c current installation setup of Info docs requires that all images are
-@c expected to be found in lilypond/ subdirectory. lilypond-book already
-@c generates proper @image commands for images of music; these macros
-@c definitions do the same for other images.
+@c ***** Displaying images not generated by lilypond-book *****
+
+@c Current installation setup of Info docs requires that all images are
+@c expected to be found in the `lilypond/' subdirectory. `lilypond-book'
+@c already generates proper @image commands for images of music; these
+@c macro definitions do the same for other images.
@ifnotinfo
+
@macro sourceimage{FILENAME,WIDTH,HEIGHT,ALTTEXT}
@image{\FILENAME\,\WIDTH\,\HEIGHT\,\ALTTEXT\}
@end macro
+
@end ifnotinfo
@ifinfo
+
@macro sourceimage{FILENAME,WIDTH,HEIGHT,ALTTEXT}
@image{lilypond/\FILENAME\,\WIDTH\,\HEIGHT\,\ALTTEXT\}
@end macro
+
@end ifinfo
-@c **** Headings in a doc subsection ****
+
+@c ***** Headings in a doc subsection *****
+
+@c Don't insert an empty line after @predefined! Right now
+@c it doesn't matter, but a future implementation will probably
+@c add some code which needs this restriction.
@macro predefined
@noindent
@subsubheading Instrucciones predefinidas
+@end macro
+
+@c The next macro is a dummy currently since texinfo doesn't
+@c provide a real ragged-right environment yet.
+@c
+@c Due to a bug in texi2html (texi2html.pl CVS versions <= 1.245)
+@c the macro must not be empty.
+@macro endpredefined
+@c
@end macro
+
@macro snippets
@noindent
@subsubheading Fragmentos de código seleccionados
-
@end macro
+
@c * Deprecated: not in English macros.itexi *
@macro commonprop
@noindent
@subsubheading Propiedades trucadas frecuentemente
-
@end macro
+
+@c Don't insert an empty line after @seealso! Otherwise we get
+@c unwanted extra vertical space in the PDF output.
+
@macro seealso
@noindent
@subsubheading Véase también
-
@indent
@end macro
+
@macro knownissues
@noindent
@subsubheading Advertencias y problemas conocidos
-
@end macro
+
@macro lydoctitle {TEXT}
@emph{\TEXT\}
-
@end macro
+
+@c Don't remove the `@c' within the macro definition! See section 19.3,
+@c `Macro Details and Caveats', in the texinfo info file for explanation.
+
@macro funindex {TEXT}
@findex \TEXT\
@kindex \TEXT\
+@c
@end macro
-@c **** Links and references ****
+@c ***** Links and references *****
@c Definitions for references:
+@c
@c @rglos
@c @rlearning
@c @ruser
@c @rprogram
@c @rlsr
@c @rinternals
-@c all these also have a @...named version, which allows to specify the
-@c displayed text for the reference as second argument
+@c
+@c All these also have a @...named version which allows to specify the
+@c displayed text for the reference as second argument.
+@c
+@c ***** HTML + bigpage is a special case (other manual names); all other
+@c formats are treated similarly.
-@c ***** HTML + bigpage is a special case (other manual names), all other
-@c formats are treated similarly
+
+@c *** not TeX ***
@ifnottex
+@c ** bigpage **
+
@ifset bigpage
@macro rglos{TEXT}
@end ifset
+@c ** not bigpage **
+
@ifclear bigpage
@macro rglos{TEXT}
@end ifnottex
-@c **** TEX ****
+@c *** TeX ***
+
@iftex
@macro rglos{TEXT}
@end iftex
-@c **** Macros specific to translated docs ****
+
+@c ***** Macros specific to translated docs *****
@c ugh, cannot set/define global variable 'translationof' in some way?
+
@iftex
+
@macro translationof{TEXT}
@end macro
+
@end iftex
@ifinfo
+
@macro
@macro translationof{TEXT}
@set translationof \TEXT\
@end macro
+
@end ifinfo
-@c TODO when @translationof is used in translated docs
-@c see if it's feasible to say @value{translationof}
+
+@c TODO: If @translationof is used in translated docs
+@c see whether it is feasible to say @value{translationof}.
+
@macro englishref
Esta sección aún no está traducida; consulte el manual en inglés.
@end macro
+
@ifhtml
+
@macro untranslated
UNTRANSLATED NODE: IGNORE ME
@end macro
+
@end ifhtml
@ifnothtml
+
@macro untranslated
@end macro
+
@end ifnothtml
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: 0b6448e57eeda9258410753c9b1a42ed0897fe2b
+ Translation of GIT committish: 17d84cfa9ddb152b05d1e17ab72109fb4eefa684
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@end itemize
-@seealso
+@seealso
Referencia de la notación:
@ref{Showing melody rhythms},
@ref{Instantiating new staves}.
instrumentos de percusión; para ver los detalles consulte
@ref{Percussion in MIDI}.
-@seealso
+@seealso
Referencia de la notación:
@ref{Percussion in MIDI},
@ref{Percussion notes}.
}
@end lilypond
-@seealso
+@seealso
Fragmentos de código:
@rlsr{Percussion}.
normales. Esto se estudia en otras secciones del manual.
@seealso
-
+@c
@c TODO: possibly link to an alternate section of NR 3.5, if
@c "percussion in MIDI" gets a separate subsubsection for
@c pitched percussion sounds. -gp
-
Referencia de la notación:
@ref{Percussion in MIDI}.
}
@end lilypond
-@seealso
+@seealso
Fragmentos de código:
@rlsr{Percussion}.
Observe, además, que debe añadir acordes (paréntesis en ángulo @code{<
>}) alrededor de cada una de las instrucciones @code{\parenthesize}.
-@seealso
+@seealso
Fragmentos de código:
@rlsr{Percussion}.
@c -*- coding: utf-8; mode: texinfo; -*-
@ignore
- Translation of GIT committish: 770ccfb9bd8536d7fb570a5c25ce874a461486f0
+ Translation of GIT committish: 17d84cfa9ddb152b05d1e17ab72109fb4eefa684
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
d,, d, d c
@end lilypond
-@seealso
+@seealso
Glosario musical:
@rglos{Pitch names}.
@seealso
-
Glosario musical:
@rglos{fifth},
@rglos{interval},
Referencia de funcionamiento interno:
@rinternals{RelativeOctaveMusic}.
+
@cindex relativo, modo, transposición y
@cindex transposición y modo relativo
@funindex \transpose
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{makam-example.ly}
-@seealso
+@seealso
Glosario musical:
@rglos{sharp},
@rglos{flat},
@rinternals{AccidentalCautionary},
@rinternals{accidental-interface}.
+
@cindex alteración de cuartos de tono
@cindex cuartos de tono, alteraciones
@end multitable
@end quotation
-@seealso
+@seealso
Glosario musical:
@rglos{Pitch names}.
@seealso
-
Fragmentos de código:
@rlsr{Pitches}.
Referencia de funcionamiento interno:
@rinternals{RelativeOctaveCheck}.
+
@node Transpose
@unnumberedsubsubsec Transpose
@seealso
-
Referencia de la notación:
@ref{Instrument transpositions}.
Referencia de funcionamiento interno:
@rinternals{TransposedMusic}.
+
@funindex \transpose
@funindex \chordmode
@funindex \relative
@seealso
-
Referencia de la notación:
@ref{Mensural clefs},
@ref{Gregorian clefs}.
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{non-traditional-key-signatures.ly}
-@seealso
+@seealso
Glosario musical:
@rglos{church mode},
@rglos{scordatura}.
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{ottava-text.ly}
-@seealso
+@seealso
Glosario musical:
@rglos{octavation}.
@rinternals{ottava-bracket-interface}.
-
@node Instrument transpositions
@unnumberedsubsubsec Instrument transpositions
c2 g
@end lilypond
-@seealso
+@seealso
Glosario musical:
@rglos{concert pitch},
@rglos{transposing instrument}.
@seealso
-
Fragmentos de código:
@rlsr{Pitches}.
@seealso
-
Glosario musical:
@rglos{ambitus}.
Para ver todos los estilos de cabeza de las notas, consulte @ref{Note
head styles}.
-@seealso
+@seealso
Fragmentos de código:
@rlsr{Pitches}.
@rinternals{note-head-interface},
@rinternals{ledger-line-spanner-interface}.
+
@node Easy notation note heads
@unnumberedsubsubsec Easy notation note heads
imprimir con un tamaño de tipografÃa mayor, consulte @ref{Setting the
staff size}.
-@predefined
+@predefined
@funindex \easyHeadsOn
+@code{\easyHeadsOn},
@funindex \easyHeadsOff
-@code{\easyHeadsOn}, @code{\easyHeadsOff}
+@code{\easyHeadsOff}.
+@endpredefined
-@seealso
+@seealso
Referencia de la notación:
@ref{Setting the staff size}.
Las formas se determinan en función del grado de la escala, donde la
tónica está determinada por la instrucción @code{\key}
-@predefined
+@predefined
@funindex \aikenHeads
+@code{\aikenHeads},
@funindex \sacredHarpHeads
-@code{\aikenHeads}, @code{\sacredHarpHeads}
+@code{\sacredHarpHeads}.
+@endpredefined
+
@snippets
Para ver todos los estilos de formas de cabeza de nota, consulte
@ref{Note head styles}.
-@seealso
+@seealso
Fragmentos de código:
@rlsr{Pitches}.
}
@end lilypond
-@predefined
+@predefined
@funindex \improvisationOn
+@code{\improvisationOn},
@funindex \improvisationOff
+@code{\improvisationOff}.
+@endpredefined
-@code{\improvisationOn}, @code{\improvisationOff}
@seealso
-
Fragmentos de código:
@rlsr{Pitches}.
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 336b8ddf5762402d58a90d7a9d9ed0310eed026a
+ Translation of GIT committish: 17d84cfa9ddb152b05d1e17ab72109fb4eefa684
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{adding-volta-brackets-to-additional-staves.ly}
-@seealso
+@seealso
Glosario musical:
@rglos{repeat},
@rglos{volta}.
@rinternals{VoltaRepeatedMusic},
@rinternals{UnfoldedRepeatedMusic}.
+
@knownissues
@cindex repetición ambigua
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{printing-a-repeat-sign-at-the-beginning-of-a-piece.ly}
-@seealso
-
+@seealso
Referencia de la notación:
@ref{Bar lines},
@ref{Formatting text}.
c1
@end lilypond
-@seealso
+@seealso
Fragmentos de código:
@rlsr{Repeats}.
@rinternals{RepeatedMusic},
@rinternals{UnfoldedRepeatedMusic}.
+
@node Short repeats
@subsection Short repeats
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{isolated-percent-repeats.ly}
-@seealso
+@seealso
Glosario musical:
@rglos{percent repeat},
@rglos{simile}.
@rinternals{PercentRepeatCounter},
@rinternals{PercentRepeatedMusic}.
+
@knownissues
Sólo están contempladas tres clases de repeticiones del tipo
c: c:
@end lilypond
-@seealso
+@seealso
Fragmentos de código:
@rlsr{Repeats}.
+
@cindex trémols de pentagrama cruzado
@cindex pentagrama cruzado, trémolo de
+
@knownissues
Los trémolos de pentagrama cruzado no funcionan bien.
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: f24b56a3274da3642348d075502ced7a2a84ecb5
+ Translation of GIT committish: 17d84cfa9ddb152b05d1e17ab72109fb4eefa684
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@predefined
-
@code{\autoBeamOff},
@code{\dotsUp},
@code{\dotsDown},
@code{\dotsNeutral}.
+@endpredefined
@seealso
-
Glosario musical:
@rglos{breve},
@rglos{longa},
Para modificar la duración de las notas sin imprimir un corchete de
grupo especial, véase @ref{Scaling durations}.
-@predefined
+@predefined
@code{\tupletUp},
@code{\tupletDown},
@code{\tupletNeutral}.
+@endpredefined
+
@snippets
@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{permitting-line-breaks-within-beamed-tuplets.ly}
-@seealso
+@seealso
Glosario musical:
@rglos{triplet},
@rglos{tuplet},
@rinternals{TupletNumber},
@rinternals{TimeScaledMusic}.
+
@knownissues
@cindex adorno, notas de, dentro de corchetes de grupo especial
Una aplicación de esta instrucción se encuentra en la notación
polimétrica, véase @ref{Polymetric notation}.
-@seealso
+@seealso
Referencia de la notación:
@ref{Tuplets},
@ref{Invisible rests},
Se pueden especificar ligaduras continuas, de puuntos o intermitentes,
véase la sección de instrucciones predefinidas.
-@predefined
+@predefined
@code{\tieUp},
@code{\tieDown},
@code{\tieNeutral},
@code{\tieDashed},
@code{\tieSolid},
@code{\repeatTie}.
+@endpredefined
+
@snippets
@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{engraving-ties-manually.ly}
-@seealso
+@seealso
Glosario musical:
@rglos{tie},
@rglos{laissez vibrer}.
@rinternals{TieColumn},
@rinternals{Tie}.
+
@knownissues
Un cambio de pentagrama cuando hay una ligadura activa no producirá
@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{rest-styles.ly}
-@seealso
+@seealso
Referencia de la notación:
@ref{Full measure rests}.
Referencia de funcionamiento interno:
@rinternals{Rest}.
+
@knownissues
@c Deliberately duplicated in Durations and Rests. -gp
\skip 1 \skip1 \skip 1
@end lilypond
-@seealso
+@seealso
Fragmentos de código:
@rlsr{Rhythms}.
de un compás parcial con @code{\partial}, es posible que no se emitan
las advertencias correspondientes de comprobación de compás.
+
@predefined
@code{\textLengthOn},
@code{\textLengthOff},
@code{\fermataMarkup},
@code{\compressFullBarRests},
@code{\expandFullBarRests}.
+@endpredefined
+
@snippets
@seealso
-
Glosario musical:
@rglos{multi-measure rest}.
Las indicaciones de compás de la música mensural se tratan en
@ref{Mensural time signatures}.
-@predefined
+@predefined
@code{\numericTimeSignature},
@code{\defaultTimeSignature}.
+@endpredefined
+
@snippets
@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{compound-time-signatures.ly}
-@seealso
+@seealso
Glosario musical:
@rglos{time signature}
@code{-4}, con el significado de @qq{queda un valor de negra en este
compás}.
-@seealso
+@seealso
Glosario musical:
@rglos{anacrusis}.
Referencia de funcionamiento interno:
@rinternals{Timing_translator}.
+
@knownissues
El uso de @code{\partial} está previsto solamente para el comienzo de
d4 e d c
@end lilypond
-@predefined
+@predefined
@code{\cadenzaOn},
@code{\cadenzaOff}.
+@endpredefined
-@seealso
+@seealso
Glosario musical:
@rglos{cadenza}.
Fragmentos de código:
@rlsr{Rhythms}.
+
@knownissues
LilyPond inserta saltos de lÃnea y de página solamente en las barras
@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{compound-time-signatures.ly}
-@seealso
+@seealso
Glosario musical:
@rglos{polymetric},
@rglos{polymetric time signature},
@rinternals{Default_bar_line_engraver},
@rinternals{Staff}.
+
@knownissues
Al usar distintos compases en paralelo, las notas que están en el
si los compases no están completos, las ligaduras mostrarán
exactamente cuánto le falta a cada compás.
-@seealso
+@seealso
Glosario musical:
@rglos{tie}
@rinternals{Completion_heads_engraver},
@rinternals{Forbid_line_break_engraver}.
+
@knownissues
No todas las duraciones (sobre todo las que contienen grupos
>>
@end lilypond
+
@predefined
@code{\improvisationOn},
@code{\improvisationOff}.
+@endpredefined
+
@snippets
@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{guitar-strum-rhythms.ly}
-@seealso
+@seealso
Fragmentos de código:
@rlsr{Rhythms}.
@rinternals{RhythmicStaff},
@rinternals{Pitch_squash_engraver}.
+
@node Beams
@subsection Beams
c16 c8
@end lilypond
+
@predefined
@code{\autoBeamOff},
@code{\autoBeamOn}.
+@endpredefined
+
@snippets
@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{changing-beam-knee-gap.ly}
-@seealso
+@seealso
Referencia de la notación:
@ref{Manual beams},
@ref{Setting automatic beam behavior}.
@predefined
-
@funindex \autoBeamOff
@code{\autoBeamOff},
@funindex \autoBeamOn
@code{\autoBeamOn}.
+@endpredefined
@knownissues
@code{<< @dots{} \\ @dots{} >>}. Si una voz polifónica termina
mientras una barra automática está aún aceptando notas, no se imprime.
-@seealso
+@seealso
Fragmentos de código:
@rlsr{Rhythms}.
musicales muy breves, y cuando los números de la fracción son
pequeños.
-@seealso
+@seealso
Fragmentos de código:
@rlsr{Rhythms}.
-
@node Bars
@subsection Bars
cualquier momento con @code{\set Timing.defaultBarType =
}@var{bartype}.
-@seealso
+@seealso
Referencia de la notación:
@ref{Line breaking},
@ref{Repeats},
}
@end lilypond
-@seealso
+@seealso
Fragmentos de código:
@rlsr{Rhythms}.
Referencia de funcionamiento interno:
@rinternals{BarNumber}.
+
@knownissues
Los números de compás pueden colisionar con el corchete
imprimirá una advertencia si el @code{currentBarNumber} (número del
compás actual) no es 123 cuando se procesa.
-@seealso
+@seealso
Fragmentos de código:
@rlsr{Rhythms}.
Para ver formas comunes de trucar la colocación de las letras de
ensayo, consulte @ref{Text marks}.
-@seealso
+@seealso
Referencia de la notación:
@ref{The Feta font},
@ref{Formatting text}.
@seealso
-
Glosario musical:
@rglos{grace notes},
@rglos{acciaccatura},
Referencia de funcionamiento interno:
@rinternals{GraceMusic}.
+
@knownissues
Una @i{acciaccatura} de varias notas con una barra se imprime sin
>>
@end lilypond
-@seealso
+@seealso
Glosario musical:
@rglos{cadenza}.
@code{ly:make-moment 1 8} es una duración de una corchea y
@code{ly:make-moment 7 16} es la duración de siete semicorcheas.
-@seealso
+@seealso
Referencia de la notación:
@ref{Bar numbers},
@ref{Unmetered music}.
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 0646758d26f727fc27fc13a87df2362388909e5d
+ Translation of GIT committish: 17d84cfa9ddb152b05d1e17ab72109fb4eefa684
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
Para ver más información sobre los acordes, consulte @ref{Chord
notation}.
-@seealso
+@seealso
Glosario musical:
@rglos{chord}.
Fragmentos de código:
@rlsr{Simultaneous notes}.
+
@node Simultaneous expressions
@unnumberedsubsubsec Simultaneous expressions
incluso al mismo tiempo. En tal caso, no se hace ningún intento de
evitar automáticamente las colisiones entre clusters y notas normales.
-@seealso
+@seealso
Glosario musical:
@rglos{cluster}.
@rinternals{ClusterSpannerBeacon},
@rinternals{Cluster_spanner_engraver}.
+
@knownissues
Los clusters sólo tienen un buen aspecto cuando abarcan un mÃnimo de
Este método conduce a barrados extraños y advertencias si los
fragmentos de música no tienen las mismas duraciones exactas.
-@predefined
+@predefined
@code{\voiceOne},
@code{\voiceTwo},
@code{\voiceThree},
@code{\voiceFour},
@code{\oneVoice}.
+@endpredefined
@seealso
-
Manual de aprendizaje:
@rlearning{Voices contain music},
@rlearning{Explicitly instantiating voices}.
Fragmentos de código:
@rlsr{Simultaneous notes}.
+
@node Voice styles
@unnumberedsubsubsec Voice styles
Para recuperar la presentación normal se utiliza la instrucción
@code{\voiceNeutralstyle}.
-@predefined
+@predefined
@code{\voiceOneStyle},
-
@code{\voiceTwoStyle},
@code{\voiceThreeStyle},
@code{\voiceFourStyle},
@code{\voiceNeutralStyle}.
-
-@seealso
+@endpredefined
+@seealso
Manual de aprendizaje:
@rlearning{I'm hearing Voices},
@rlearning{Other sources of information}.
@rlsr{Simultaneous notes}.
-
@node Collision resolution
@unnumberedsubsubsec Collision resolution
Sólo se combinan las notas si tienen la plica en direcciones opuestas
(por ejemplo, en las @code{Voice}s 1 y 2).
-@predefined
+@predefined
@code{\mergeDifferentlyDottedOn},
@code{\mergeDifferentlyDottedOff},
@code{\mergeDifferentlyHeadedOn},
@code{\shiftOnn},
@code{\shiftOnnn},
@code{\shiftOff}.
+@endpredefined
+
@snippets
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{forcing-horizontal-shift-of-notes.ly}
-@seealso
+@seealso
Glosario musical:
@rglos{polyphony}.
@rinternals{NoteCollision},
@rinternals{RestCollision}.
+
@knownissues
Cuando se emplea @code{\mergeDifferentlyHeadedOn} con una corchea (o
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{changing-partcombine-texts.ly}
-@seealso
+@seealso
Glosario musical:
@rglos{a due},
@rglos{part}.
@rinternals{PartCombineMusic},
@rinternals{Voice}.
+
@knownissues
@code{\partcombine} sólo admite dos voces.
}
@end lilypond
-@seealso
+@seealso
Manual de aprendizaje:
@rlearning{Organizing pieces with variables}
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: 336b8ddf5762402d58a90d7a9d9ed0310eed026a
+ Translation of GIT committish: 17d84cfa9ddb152b05d1e17ab72109fb4eefa684
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@seealso
-
Archivos instalados:
@file{scm/@/paper@/.scm}.
@seealso
-
Referencia de la notación:
@ref{Vertical spacing between systems}.
@seealso
-
Fragmentos de código:
@rlsr{Spacing}.
@seealso
-
Fragmentos de código:
@rlsr{Spacing}.
@seealso
-
Referencia de la notación:
@ref{Selecting notation font size}.
@seealso
-
Referencia de la notación:
@ref{Changing context default settings}.
@predefined
-
@funindex \break
@code{\break},
@funindex \noBreak
@code{\noBreak}.
+@endpredefined
@seealso
-
Referencia de funcionamiento interno:
@rinternals{LineBreakEvent}.
@}
@end example
-@predefined
+@predefined
@funindex \pageBreak
@code{\pageBreak},
@funindex \noPageBreak
@code{\noPageBreak}.
+@endpredefined
@seealso
-
Fragmentos de código:
@rlsr{Spacing}.
@seealso
-
Fragmentos de código:
@rlsr{Spacing}.
@predefined
-
@funindex \pageTurn
@code{\pageTurn},
@funindex \noPageTurn
@code{\noPageTurn},
@funindex \allowPageTurn
@code{\allowPageTurn}.
+@endpredefined
@seealso
-
Fragmentos de código:
@rlsr{Spacing}.
@seealso
-
Fragmentos de código:
@rlsr{Spacing}.
@seealso
-
Fragmentos de código:
@rlsr{Spacing}.
@seealso
-
Referencia de la notación:
@ref{Vertical spacing}.
@seealso
-
Fragmentos de código:
@rlsr{Spacing}.
@seealso
-
Fragmentos de código:
@rlsr{Spacing}.
@seealso
-
Fragmentos de código:
@rlsr{Spacing}.
@seealso
-
Fragmentos de código:
@rlsr{Spacing}.
@seealso
-
Fragmentos de código:
@rlsr{Spacing}.
@seealso
-
Fragmentos de código:
@rlsr{Spacing}.
@seealso
-
Fragmentos de código:
@rlsr{Spacing}.
@seealso
-
Fragmentos de código:
@rlsr{Spacing}.
@seealso
-
Fragmentos de código:
@rlsr{Spacing}.
extensión se dividan entre los sistemas y las páginas. Consulte las
partes respectivas del manual para ver estos ajustes relacionados.
-@seealso
+@seealso
Referencia de la notación:
@ref{New spacing area}.
@seealso
-
Fragmentos de código:
@rlsr{Spacing}.
@seealso
-
Referencia de la notación:
@ref{Page formatting},
@ref{Changing horizontal spacing}.
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 336b8ddf5762402d58a90d7a9d9ed0310eed026a
+ Translation of GIT committish: 17d84cfa9ddb152b05d1e17ab72109fb4eefa684
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@seealso
-
Glosario musical:
@rglos{staff},
@rglos{staves}.
{mensurstriche-layout-bar-lines-between-the-staves.ly}
@seealso
-
Glosario musical:
@rglos{brace},
@rglos{bracket},
@seealso
-
Referencia de la notación:
@ref{Grouping staves},
@ref{Instrument names},
e4 d c2
@end lilypond
-@predefined
+@predefined
@code{\startStaff},
@code{\stopStaff}.
+@endpredefined
+
@snippets
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{making-some-staff-lines-thicker-than-the-others.ly}
-@seealso
+@seealso
Glosario musical:
@rglos{line},
@rglos{ledger line},
@rinternals{StaffSymbol},
@rinternals{staff-symbol-interface}.
+
@knownissues
Al establecer manualmente las posiciones de las lÃneas de la pauta,
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{vertically-aligning-ossias-and-lyrics.ly}
-@seealso
+@seealso
Glosario musical:
@rglos{ossia},
@rglos{staff},
@code{\RemoveEmptyRhythmicStaffContext} para ocultar los contextos
@code{RhythmicStaff} vacÃos.
-@predefined
+@predefined
@code{\RemoveEmptyStaffContext},
@code{\AncientRemoveEmptyStaffContext},
@code{\RemoveEmptyRhythmicStaffContext}.
+@endpredefined
+
@snippets
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{removing-the-first-empty-line.ly}
-@seealso
+@seealso
Glosario musical:
@rglos{Frenched staff}.
@rinternals{VerticalAxisGroup},
@rinternals{Staff_symbol_engraver}.
+
@knownissues
La eliminación del grabador @code{Staff_symbol_engraver} también
Para ver más detalles, consulte @ref{Formatting text}.
-@seealso
+@seealso
Glosario musical:
@rglos{metronome},
@rglos{metronomic indication},
@seealso
-
Referencia de la notación:
@ref{Horizontal dimensions},
@ref{Modifying context plug-ins}.
@seealso
-
Referencia de la notación:
@ref{Instrument transpositions},
@ref{Using tags}.
que se puedan procesar de diversas formas. Para ver más detalles
sobre este procedimiento, consulte @ref{Using tags}.
-@seealso
+@seealso
Referencia de la notación:
@ref{Instrument transpositions},
@ref{Instrument names},
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 336b8ddf5762402d58a90d7a9d9ed0310eed026a
+ Translation of GIT committish: 17d84cfa9ddb152b05d1e17ab72109fb4eefa684
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
* Fonts::
@end menu
+@node Writing text
+@subsection Writing text
+
+Esta sección presenta las distintas formas de añadir texto a una
+partitura.
+
@cindex texto, en otros idiomas
@warning{Para escribir texto con caracteres acentuados y especiales
(como los de idiomas distintos del inglés), sencillamente inserte los
guardar como UTF-8. Para ver más información, consulte @ref{Text
encoding}.}
-@node Writing text
-@subsection Writing text
-
-Esta sección presenta las distintas formas de añadir texto a una
-partitura.
@menu
* Text scripts::
pentagrama utilizando la sintaxis que se describe en @ref{Direction
and placement}.
-@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
-d8^"pizz." e f g a4-"scherz." f
+@lilypond[quote,verbatim,relative=2]
+a8^"pizz." g f e a4-"scherz." f
@end lilypond
Esta sintaxis es en realidad una abreviatura; se puede añadir
utilizando un bloque @code{\markup}, como se describe bajo
@ref{Formatting text}.
-@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
-d8^\markup { \italic pizz. } e f g
+@lilypond[quote,verbatim,relative=2]
+a8^\markup { \italic pizz. } g f e
a4_\markup { \tiny scherz. \bold molto } f
@end lilypond
cuenta: en el siguiente ejemplo, la primera cadena de texto no afecta
al espaciado, pero la segunda sà afecta.
-@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
-d8^"pizz." e f g
+@lilypond[quote,verbatim,relative=2]
+a8^"pizz." g f e
\textLengthOn
a4_"scherzando" f
@end lilypond
-@predefined
+@predefined
@funindex \textLengthOn
@code{\textLengthOn},
@funindex \textLengthOff
-@code{\textLengthOff}
+@code{\textLengthOff}.
+@endpredefined
@seealso
-
Referencia de la notación:
@ref{Formatting text},
@ref{Direction and placement}.
Referencia de funcionamiento interno:
@rinternals{TextScript}.
+
@knownissues
La comprobación necesaria para asegurar que las inscripciones de texto
nombre de @q{spanners} u objetos de extensión, se pueden crear dede
una nota hasta otra usando la siguiente sintaxis:
-@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
+@lilypond[verbatim,quote,relative=2]
\override TextSpanner #'(bound-details left text) = "rit."
b1\startTextSpan
e,\stopTextSpan
se pueden conseguir distintos efectos de formato utilizando bloques
@code{\markup}, como se describe en @ref{Formatting text}.
-@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
+@lilypond[quote,relative=2,verbatim]
\override TextSpanner #'(bound-details left text) =
\markup { \upright "rit." }
b1\startTextSpan c
como una propiedad de objeto. Esta sintaxis se describe en @ref{Line
styles}.
-@predefined
+@predefined
@funindex textSpannerUp
@code{\textSpannerUp},
@funindex textSpannerDown
@code{\textSpannerDown},
@funindex textSpannerNeutral
-@code{\textSpannerNeutral}
+@code{\textSpannerNeutral}.
+@endpredefined
-@seealso
+@seealso
Referencia de la notación:
@ref{Line styles},
@ref{Dynamics}.
@c \mark needs to be placed on a separate line (it's not
@c attached to an object like \markup is). -vv
-@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
+@lilypond[verbatim,quote,relative=2]
c4
\mark "Allegro"
c c c
usando un bloque @code{\markup}, como está explicado en
@ref{Formatting text}:
-@lilypond[fragment,quote,ragged-right,verbatim,relative=1]
+@lilypond[quote,verbatim,relative=1]
<c e>1
\mark \markup { \italic { colla parte } }
<d f>2 <e g>
llamadas, segno o calderones, especificando el nombre del sÃmbolo
correspondiente como se esplica en @ref{Music notation inside markup}:
-@lilypond[fragment,quote,ragged-right,verbatim,relative=1]
-<f bes>2 <d aes'>
+@lilypond[quote,verbatim,relative=2]
+<bes f>2 <aes d>
\mark \markup { \musicglyph #"scripts.ufermata" }
<e g>1
@end lilypond
notas. Si se especifican en un salto de lÃnea, las llamadas se
imprimen al principio de la lÃnea siguiente.
-@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
\mark "Allegro"
c1 c
\mark "assai" \break
@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{printing-marks-on-every-staff.ly}
-@seealso
+@seealso
Referencia de la notación:
@ref{Rehearsal marks},
@ref{Formatting text},
Referencia de funcionamiento interno:
@rinternals{RehearsalMark}.
+
@knownissues
@c To be removed when Issue 69 in the tracker gets fixed. -vv
@cindex top-level text
@cindex text, standalone
@funindex \markup
-@funindex \markuplines
Un bloque @code{\markup} puede existir de forma independiente, fuera
de cualquier bloque @code{\score}, como una @qq{expresión de nivel
especialmente útil cuando el archivo de entrada contiene varias
piezas, tal y como se describe en @ref{Multiple scores in a book}.
-@lilypond[quote,ragged-right,verbatim]
+@lilypond[quote,verbatim]
\score {
c'1
}
Ãntegramente desde LilyPond. Esta funcionalidad y la sintaxis que
requiere se describen en @ref{Multi-page markup}.
-@predefined
+@predefined
+@funindex \markuplines
@code{\markup},
-@code{\markuplines}
+@code{\markuplines}.
+@endpredefined
+
-@ignore
@snippets
-TODO: add convenient snippets in input/new -vv
+@ignore
+@c TODO Replace following example with this snippet when available
+@c Submitted to LSR 30 Nov 08
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+{stand--alone-two--column-markup.ly}
@end ignore
-@seealso
+El texto independiente se puede disponer en varias columnas usando
+instrucciones @code{\markup}:
+
+@lilypond[verbatim,quote]
+\markup {
+ \fill-line {
+ \hspace #1.0
+ \column {
+ \line {"O sacrum convivium" }
+ \line {"in quo Christus sumitur," }
+ \line {"recolitur memoria passionis ejus," }
+ \line {"mens impletur gratia," }
+ \line {"futurae gloriae nobis pignus datur." }
+ \line {"Amen."}
+ }
+ \hspace #2
+ \column {
+ \line { \italic {"O sacred feast"} }
+ \line { \italic {"in which Christ is received,"} }
+ \line { \italic {"the memory of His Passion is renewed,"} }
+ \line { \italic {"the mind is filled with grace," } }
+ \line { \italic {"and a pledge of future glory is given to us." }}
+ \line { \italic {"Amen."}}
+ }
+ \hspace #1.0
+ }
+}
+@end lilypond
+@seealso
Referencia de la notación:
@ref{Formatting text},
@ref{File structure},
barra invertida @code{\} . Estas instrucciones sólo afectan a la
expresión que sigue inmediatamente.
-@lilypond[quote,verbatim,fragment,relative=1]
-e1-\markup intenso
+@lilypond[quote,verbatim,relative=2]
+a1-\markup intenso
a2^\markup { poco \italic più forte }
c e1
d2_\markup { \italic "string. assai" }
del texto. Se puede hacer que se impriman las propias comillas si se
les antepone una barra invertida.
-@lilypond[quote,verbatim,fragment,relative=1]
-d1^"\italic markup..."
-d_\markup { \italic "... prints \"italic\" letters!" }
-d d
+@lilypond[quote,verbatim,relative=2]
+a1^"\italic markup..."
+a_\markup { \italic "... prints \"italic\" letters!" }
+a a
@end lilypond
Para que se traten como una expresión distinta, es necesario que las
@seealso
-
Referencia de la notación:
@ref{Text markup commands}.
También es posible definir conjuntos personalizados de fuentes, tal y
como se explica en @ref{Fonts}.
-@predefined
+@predefined
@funindex \teeny
-@funindex \tiny
-@funindex \small
-@funindex \normalsize
-@funindex \large
-@funindex \huge
-@funindex \smaller
-@funindex \larger
@code{\teeny},
+@funindex \tiny
@code{\tiny},
+@funindex \small
@code{\small},
+@funindex \normalsize
@code{\normalsize},
+@funindex \large
@code{\large},
+@funindex \huge
@code{\huge},
+@funindex \smaller
@code{\smaller},
+@funindex \larger
@code{\larger}.
+@endpredefined
-@seealso
+@seealso
Referencia de la notación:
@ref{Font},
@ref{New dynamic marks},
izquierdo: en el ejemplo siguiente, no existe diferencia entre los
marcados primero y segundo.
-@lilypond[quote,verbatim,fragment,relative=1]
+@lilypond[quote,verbatim,relative=2]
d1-\markup { poco }
f
d-\markup { \left-align poco }
Se puede realizar un ajuste fino de la alineación horizontal usando un
valor numérico:
-@lilypond[quote,verbatim,fragment,relative=1]
+@lilypond[quote,verbatim,relative=2]
a1-\markup { \halign #-1 poco }
e'
a,-\markup { \halign #0 poco }
posibilidades; el último marcado en este ejemplo no tiene punto de
anclaje y por ello no resulta movido.
-@lilypond[quote,verbatim,fragment,relative=1]
+@lilypond[quote,verbatim,relative=1]
d2^\markup {
Acte I
\raise #2 { Scène 1 }
Cualquier objeto afectado por estas instrucciones se deben preceder de
un punto de anclaje:
-@lilypond[quote,verbatim,fragment,relative=1]
+@lilypond[quote,verbatim,relative=1]
d2^\markup {
Acte I
\translate #'(-1 . 2) "Scène 1"
Hay una lista exhaustiva de instrucciones de alineación de texto en
@ref{Align}.
-@seealso
+@seealso
Manual de aprendizaje:
@rlearning{Moving objects}.
nativo. En tal caso puede ser de utilidad la especificación explÃcita
del tamaño del dibujo, como se ejemplifica a continuación:
-@lilypond[quote,verbatim,fragment,relative=1]
+@lilypond[quote,verbatim,relative=1]
c1^\markup {
\combine
\epsfile #X #10 #"./context-example.eps"
Hay una lista exhaustiva de instrucciones especÃficas de gráficos en
@ref{Graphic}.
-@seealso
+@seealso
Referencia de la notación:
@ref{Graphic},
@ref{Editorial annotations}.
Las notas y las alteraciones se pueden escribir utilizando
instrucciones de marcado:
-@lilypond[quote,verbatim,fragment,relative=2]
+@lilypond[quote,verbatim,relative=2]
a2 a^\markup {
\note #"4" #1
=
Otros objetos de notación se pueden también imprimir en el modo de
marcado:
-@lilypond[quote,verbatim,fragment,relative=1]
+@lilypond[quote,verbatim,relative=1]
g1 bes
ees-\markup {
\finger 4
ejemplifica a continuación; hay una lista exhaustiva de estos sÃmbolos
y sus nombres en @ref{The Feta font}.
-@lilypond[quote,verbatim,fragment,relative=2]
+@lilypond[quote,verbatim,relative=2]
c2
c'^\markup { \musicglyph #"eight" }
c,4
c16
c2^\markup { \musicglyph #"timesig.neomensural94" }
@end lilypond
+
@c TODO: add \lookup here? -vv
+@c Probably better not to document \lookup, which is useful only for
+@c printing braces, and instead document \left-brace and \right-brace
+@c when these become available -td
@noindent
Otra forma de imprimir glifos que no son de texto se encuentra
El modo de marcado también contempla diagramas para instrumentos
especÃficos:
-@lilypond[quote,verbatim,fragment,relative=2]
+@lilypond[quote,verbatim,relative=2]
c1^\markup {
\fret-diagram-terse #"x;x;o;2;3;2;"
}
marcado. En tal caso, el bloque anidado @code{\score} debe contener
un bloque @code{\layout}, como se muestra aquÃ:
-@lilypond[quote,verbatim,fragment,relative=1]
+@lilypond[quote,verbatim,relative=1]
c4 d^\markup {
\score {
- \relative { c4 d e f }
+ \relative c' { c4 d e f }
\layout { }
}
}
Hay una lista exhaustiva de instrucciones relacionadas con la notación
musical en @ref{Music}.
-@seealso
+@seealso
Referencia de la notación:
@ref{Music},
@ref{The Feta font},
Un texto muy largo de lÃneas justificadas.
...
}
- \justified-lines {
+ \wordwrap-lines {
Otro párrafo muy largo.
...
}
Hay una lista exhaustiva de las instrucciones de lista de marcado en
@ref{Text markup list commands}.
-@seealso
+@seealso
Referencia de la notación:
@ref{Text markup list commands},
@ref{New markup list command definition}.
Archivos de inicio:
@file{scm/@/define@/-markup@/-commands@/.scm}.
+
@predefined
@funindex \markuplines
-@code{\markuplines}
+@code{\markuplines}.
+@endpredefined
@node Fonts
@code{feta} de LilyPond distintas a las de texto en el modo de
marcado:
-@lilypond[quote,verbatim,fragment,relative=2]
+@lilypond[quote,verbatim,relative=2]
a1^\markup {
\vcenter {
\override #'(font-encoding . fetaBraces)
Cada familia puede incluir distintas formas y series. El ejemplo
siguiente muestra la posibilidad de seleccionar familias, formas,
-series y tamaños alternativos:
-
-@lilypond[quote,verbatim,fragment,relative=2]
- \override Score.RehearsalMark #'font-family = #'typewriter
- \mark \markup "Ouverture"
- \key d \major
- \override Voice.TextScript #'font-shape = #'italic
- \override Voice.TextScript #'font-series = #'bold
- d'2.^\markup "Allegro"
- r4
+series y tamaños alternativos. El valor que se da a @code{font-size}
+es el cambio requerido a partir del tamaño predeterminado.
+
+@lilypond[quote,verbatim,relative=2]
+\override Score.RehearsalMark #'font-family = #'typewriter
+\mark \markup "Ouverture"
+\override Voice.TextScript #'font-shape = #'italic
+\override Voice.TextScript #'font-series = #'bold
+d2.^\markup "Allegro"
+\override Voice.TextScript #'font-size = #-3
+c4^smaller
@end lilypond
@noindent
}
@end lilypond
-@ignore
-@c FIXME: This needs an example -vv
+Aunque es fácil cambiar entre las fuentes tipográficas
+preconfiguradas, también es posible usar otras fuentes, como se
+explica en las siguientes secciones: @ref{Single entry fonts} y
+@ref{Entire document fonts}.
-The size of the font may be set with the @code{font-size}
-property. The resulting size is taken relative to the
-@code{text-font-size} as defined in the @code{\paper} block.
-@end ignore
@seealso
-
Referencia de la notación:
@ref{The Feta font},
@ref{Music notation inside markup},
instalada en el sistema operativo y reconocida por parte de
FontConfig, usando la siguiente sintaxis:
-@lilypond[quote,verbatim,fragment,relative=1]
+@lilypond[quote,verbatim,relative=2]
\override Staff.TimeSignature #'font-name = #"Charter"
\override Staff.TimeSignature #'font-size = #2
\time 3/4
-c1_\markup {
+a1_\markup {
\override #'(font-name . "Vera Bold")
{ Vera Bold }
}
El último argumento de la instrucción puede ser cualquiera, pero debe
estar presente.
-@seealso
+@seealso
Referencia de la notación:
@ref{Fonts explained},
@ref{Entire document fonts}.
Archivos de inicio:
@file{lily/@/font@/-config@/-scheme@/.cc}.
+
@node Entire document fonts
@unnumberedsubsubsec Entire document fonts
@c we don't do Helvetica / Courier, since GS incorrectly loads
@c Apple TTF fonts
-@seealso
+@seealso
Referencia de la notación:
@ref{Fonts explained},
@ref{Single entry fonts},
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c This file is part of lilypond-learning.tely
@ignore
- Translation of GIT committish: 0646758d26f727fc27fc13a87df2362388909e5d
+ Translation of GIT committish: 17d84cfa9ddb152b05d1e17ab72109fb4eefa684
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
(con igual anchura de lÃnea y todo), copie todo lo que está desde
@qq{Start cut-&-pastable section} hasta el final del archivo.
-@seealso
-
+@seealso
Podrá encontrar más consejos y trucos para la construcción de archivos
de entrada en @ref{Suggestions for writing LilyPond files}; pero quizá
sea mejor leer primero el resto del tutorial.
@ruser{Automatic accidentals} para ver ejemplos de cómo se pueden
imprimir las alteraciones de acuerdo a reglas diferentes.
-@seealso
+@seealso
Referencia de la notación:
@ruser{Note names in other languages},
@ruser{Accidentals},
c2~( c8 fis fis4 ~ fis2 g2)
@end lilypond
-@seealso
+@seealso
Referencia de la notación:
@ruser{Ties},
@ruser{Slurs},
c2\< c2\ff\> c2 c2\!
@end lilypond
-@seealso
+@seealso
Referencia de la notación:
@ruser{Articulations and ornamentations},
@ruser{Fingering instructions},
@seealso
-
Referencia de la notación:
@ruser{Writing text}.
a8 c b4 d8. c16 b4
@end lilypond
-@seealso
+@seealso
Referencia de la notación:
@ruser{Automatic beams},
@ruser{Manual beams}.
c2 \acciaccatura b16 c2
@end lilypond
-@seealso
+@seealso
Referencia de la notación:
@ruser{Grace notes},
@ruser{Tuplets},
que produce la llave a la izquierda y que también controla el alcance
de las lÃneas divisorias.
-@seealso
+@seealso
Referencia de la notación:
@ruser{Keyboard and other multi-staff instruments},
@ruser{Displaying staves}.
>>
@end lilypond
-@seealso
+@seealso
Referencia de la notación:
@ruser{Simultaneous notes}.
@seealso
-
Referencia de la notación:
@ruser{Vocal music}.
-
@node Lyrics to multiple staves
@subsection Lyrics to multiple staves
pentagramas mediante variables (expresiones con nombre). Éstas se
tratan en @ref{Organizing pieces with variables}.
-@seealso
+@seealso
Referencia de la notación:
@ruser{Vocal music}.
+
@node Final touches
@section Final touches
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: 336b8ddf5762402d58a90d7a9d9ed0310eed026a
+ Translation of GIT committish: 17d84cfa9ddb152b05d1e17ab72109fb4eefa684
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@cindex grupos especiales anidados
@cindex tresillos anidados
@cindex corchete del grupo especial
+@cindex corchete de tresillo
@cindex grupo especial, corchete de
@cindex tresillo, corchete de
}
@end lilypond
-@seealso
+@seealso
Referencia de la notación:
@ruser{The tweak command}.
escriba siempre espacios antes y después del punto que separa el
nombre del contexto y el nombre del objeto.}
-@seealso
+@seealso
Manual de aprendizaje:
@ref{Scheme tutorial}.
+
@node Types of properties
@subsection Types of properties
@tab @code{'#(#t #t #f)}
@end multitable
-@seealso
+@seealso
Manual de aprendizaje:
@ref{Scheme tutorial}.
+
@node Appearance of objects
@section Appearance of objects
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: 336b8ddf5762402d58a90d7a9d9ed0310eed026a
+ Translation of GIT committish: 17d84cfa9ddb152b05d1e17ab72109fb4eefa684
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@end itemize
-@seealso
+@seealso
Manual de aprendizaje:
@rlearning{String quartet}.
Fragmentos de código:
@rlsr{Unfretted strings}.
+
@node Bowing indications
@unnumberedsubsubsec Bowing indications
a2^\markup { \small "sul A" }
@end lilypond
+
@predefined
@code{\downbow},
@code{\upbow},
@code{\open}.
+@endpredefined
-@seealso
+@seealso
Referencia de la notación:
@ref{Articulations and ornamentations},
@ref{Slurs}.
+
@node Harmonics
@unnumberedsubsubsec Harmonics
<e a\harmonic>2 <c g'\harmonic>
@end lilypond
+
@seealso
Glosario musical:
@rglos{harmonics}.
@ref{Special note heads},
@ref{References for unfretted strings}.
+
@node Snap (Bartok) pizzicato
@unnumberedsubsubsec Snap (Bartók) pizzicato
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: 4d04795de53fd9253ccfd7a67742467b6d1e1c63
+ Translation of GIT committish: 17d84cfa9ddb152b05d1e17ab72109fb4eefa684
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{simple-lead-sheet.ly}
+
@seealso
Referencia de la notación:
@ref{Chord notation}.
@c Add "Printing both the ancient and the modern clef in vocal music" snippet,
@c and "Transcription of Ancient music with incipit" snippet. -vv
-@seealso
+@seealso
Referencia de la notación:
@ref{Ancient notation}.
consistente en la combinación de una barra invertida seguida por
@code{`}, @code{'}, @code{"} ó @code{^}.
+@c " to balance double quotes for not-so-bright context-sensitive editors
+
Para definir identificadores que contengan letra, se debe usar la
función @code{lyricmode}.
@seealso
-
Referencia de la notación:
@ref{Fonts}.
@rinternals{LyricText},
@rinternals{LyricSpace}.
+
@c FIXME: this title has to be changed (possible confusion with LM) -vv
@node Setting simple songs
@unnumberedsubsubsec Setting simple songs
>>
@end example
-@seealso
+@seealso
@c TODO: document \new Staff << Voice \lyricsto >> bug
Referencia de funcionamiento interno:
@rinternals{LyricCombineMusic},
@rinternals{Lyrics}.
+
@node Aligning lyrics to a melody
@subsection Aligning lyrics to a melody
} >>
@end lilypond
-@seealso
+@seealso
Referencia de funcionamiento interno:
@rinternals{Lyrics}.
\addlyrics { pu- ro~y~ho- nes- to }
@end lilypond
-@seealso
+@seealso
Referencia de funcionamiento interno: @rinternals{LyricCombineMusic}.
@c Here come the section which used to be "Melismata"
@predefined
-
+@funindex \melisma
@code{\melisma},
-@code{\melismaEnd}
@funindex \melismaEnd
-@funindex \melisma
+@code{\melismaEnd}.
+@endpredefined
-@seealso
+@seealso
@c @lsr{vocal,lyric@/-combine.ly}.
+
@knownissues
Los melismas no se detectan automáticamente, y las lÃneas de extensión
@code{minimum-length} (umbral por debajo del cual se suprimen los
guiones).
-@seealso
+@seealso
Referencia de funcionamiento interno:
@rinternals{LyricExtender},
-@rinternals{LyricHyphen}
+@rinternals{LyricHyphen}.
@node Lyrics and repeats
@seealso
-
Referencia de funcionamiento interno:
@rinternals{LyricText},
@rinternals{StanzaNumber}.
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: 85b54e04be6730bd0781f3135ee741010e099fd8
+ Translation of GIT committish: 17d84cfa9ddb152b05d1e17ab72109fb4eefa684
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{changing--flageolet-mark-size.ly}
-@seealso
+@seealso
Referencia de la notación:
@ref{Breath marks},
@ref{Slurs},
sol agudo piobaireachd se puede escribir @code{gflat} cuando aparece en música
ligera.
+
@seealso
Fragmentos de código:
@rlsr{Winds}.
+
@node Bagpipe example
@unnumberedsubsubsec Bagpipe example
}
@end lilypond
+
@seealso
Fragmentos de código:
@rlsr{Winds}.
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: 0646758d26f727fc27fc13a87df2362388909e5d
+ Translation of GIT committish: 17d84cfa9ddb152b05d1e17ab72109fb4eefa684
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@end itemize
-@seealso
+@seealso
Referencia de la notación:
@ref{Note names in other languages},
@ref{Key signature},
@seealso
-
Referencia de la notación:
@ref{Note names in other languages}.
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{non-traditional-key-signatures.ly}
-@seealso
+@seealso
Referencia de la notación:
@ref{Key signature}.
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{arabic-improvisation.ly}
-@seealso
+@seealso
Referencia de la notación:
@ref{Manual beams},
@ref{Automatic beams},
}
@end lilypond
-@seealso
+@seealso
Fragmentos de código:
@rlsr{World music}
-
@node Further reading
@unnumberedsubsubsec Further reading
- <p><i>Dernière mise à jour Sat Nov 22 19:18:39 UTC 2008
+ <p><i>Dernière mise à jour Mon Dec 1 12:06:59 UTC 2008
</i></p>
<html>
<!-- This page is automatically generated by translation-status.py from
<td>pré-GDP</td>
</tr>
<tr align="left">
- <td>4 Retouche de partition<br>(14578)</td>
+ <td>4 Retouche de partition<br>(14581)</td>
<td>Valentin Villenave<br>
Nicolas Klutchnikoff</td>
<td>Jean-Charles Malahieude<br>
John Mandereau</td>
- <td><span style="background-color: #dfef77">partiellement (23 %)</span></td>
+ <td><span style="background-color: #dfef77">partiellement (22 %)</span></td>
<td><span style="background-color: #ff6f57">partiellement</span></td>
<td>pré-GDP</td>
</tr>
<td>pré-GDP</td>
</tr>
<tr align="left">
- <td>1.1 Hauteurs<br>(3083)</td>
+ <td>1.1 Hauteurs<br>(3086)</td>
<td>Frédéric Chiasson</td>
<td>Valentin Villenave<br>
Jean-Charles Malahieude</td>
<td>pré-GDP</td>
</tr>
<tr align="left">
- <td>1.2 Rythme<br>(5005)</td>
+ <td>1.2 Rythme<br>(5013)</td>
<td>Frédéric Chiasson</td>
<td>Valentin Villenave<br>
Jean-Charles Malahieude</td>
<td>pré-GDP</td>
</tr>
<tr align="left">
- <td>1.3 Signes d'interprétation<br>(1110)</td>
+ <td>1.3 Signes d'interprétation<br>(1146)</td>
<td>Valentin Villenave</td>
<td>Jean-Charles Malahieude<br>
John Mandereau</td>
<td><span style="background-color: #1fff1f">oui</span></td>
- <td><span style="background-color: #ff7257">partiellement</span></td>
+ <td><span style="background-color: #ff6f57">partiellement</span></td>
<td>pré-GDP</td>
</tr>
<tr align="left">
<td>pré-GDP</td>
</tr>
<tr align="left">
- <td>1.5 Notes simultanées<br>(1452)</td>
+ <td>1.5 Notes simultanées<br>(1455)</td>
<td>Frédéric Chiasson<br>
Valentin Villenave</td>
<td>Jean-Charles Malahieude<br>
<td>pré-GDP</td>
</tr>
<tr align="left">
- <td>1.6 Notation sur la portée<br>(1633)</td>
+ <td>1.6 Notation sur la portée<br>(1635)</td>
<td>Valentin Villenave<br>
Jean-Charles Malahieude</td>
<td>John Mandereau</td>
<td>pré-GDP</td>
</tr>
<tr align="left">
- <td>1.7 Notation éditoriale<br>(902)</td>
+ <td>1.7 Notation éditoriale<br>(906)</td>
<td>Jean-Charles Malahieude</td>
<td></td>
<td><span style="background-color: #1fff1f">oui</span></td>
<td>pré-GDP</td>
</tr>
<tr align="left">
- <td>1.8 Texte<br>(2443)</td>
+ <td>1.8 Texte<br>(2472)</td>
<td>Jean-Charles Malahieude</td>
<td>Valentin Villenave<br>
John Mandereau</td>
- <td><span style="background-color: #dfef77">partiellement (85 %)</span></td>
+ <td><span style="background-color: #dfef77">partiellement (84 %)</span></td>
<td><span style="background-color: #ff6f57">partiellement</span></td>
<td>pré-GDP</td>
</tr>
<td>pré-GDP</td>
</tr>
<tr align="left">
- <td>2.1 Musique vocale<br>(2678)</td>
+ <td>2.1 Musique vocale<br>(2638)</td>
<td>Valentin Villenave</td>
<td>Jean-Charles Malahieude</td>
- <td><span style="background-color: #dfef77">partiellement (56 %)</span></td>
+ <td><span style="background-color: #dfef77">partiellement (57 %)</span></td>
<td><span style="background-color: #ff6d58">partiellement</span></td>
<td>pré-GDP</td>
</tr>
<tr align="left">
- <td>2.2 Instruments utilisant des portées multiples<br>(679)</td>
+ <td>2.2 Instruments utilisant des portées multiples<br>(680)</td>
<td>Valentin Villenave</td>
<td>Jean-Charles Malahieude<br>
John Mandereau</td>
<td>pré-GDP</td>
</tr>
<tr align="left">
- <td>2.3 Cordes non frettées<br>(234)</td>
+ <td>2.3 Cordes non frettées<br>(235)</td>
<td>Valentin Villenave</td>
<td>Jean-Charles Malahieude<br>
John Mandereau</td>
- <td><span style="background-color: #dfef77">partiellement (16 %)</span></td>
+ <td><span style="background-color: #dfef77">partiellement (17 %)</span></td>
<td><span style="background-color: #ff6d58">partiellement</span></td>
<td>pré-GDP</td>
</tr>
<tr align="left">
- <td>2.4 Instruments à cordes frettées<br>(1758)</td>
+ <td>2.4 Instruments à cordes frettées<br>(1759)</td>
<td>Valentin Villenave</td>
<td>Jean-Charles Malahieude<br>
John Mandereau</td>
<td>pré-GDP</td>
</tr>
<tr align="left">
- <td>2.7 Notation des accords<br>(1326)</td>
+ <td>2.7 Notation des accords<br>(1333)</td>
<td>Valentin Villenave</td>
<td>Jean-Charles Malahieude<br>
John Mandereau</td>
<td>pré-GDP</td>
</tr>
<tr align="left">
- <td>2.8 Notations anciennes<br>(4240)</td>
+ <td>2.8 Notations anciennes<br>(4486)</td>
<td>John Mandereau<br>
Jean-Charles Malahieude</td>
<td></td>
- <td><span style="background-color: #dfef77">partiellement (82 %)</span></td>
+ <td><span style="background-color: #dfef77">partiellement (79 %)</span></td>
<td><span style="background-color: #ff6d58">partiellement</span></td>
<td>pré-GDP</td>
</tr>
<td>pré-GDP</td>
</tr>
<tr align="left">
- <td>3 Généralités en matière d'entrée et sortie<br>(5803)</td>
+ <td>3 Généralités en matière d'entrée et sortie<br>(5805)</td>
<td>Jean-Charles Malahieude<br>
Valentin Villenave</td>
<td></td>
<td>pré-GDP</td>
</tr>
<tr align="left">
- <td>4 Gestion de l'espace<br>(8444)</td>
+ <td>4 Gestion de l'espace<br>(8447)</td>
<td>Frédéric Chiasson<br>
Jean-Charles Malahieude</td>
<td></td>
ligatures mensurales. Consultez la section @ref{Ligatures} pour savoir
comment fonctionnent les graveurs de ligature.
-@seealso
+@seealso
Pour un aperçu de toutes les possibilités,
consultez @ref{Note head styles}.
par la propriété @code{glyph-name-alist} de l'objet
@rinternals{KeySignature}.
-@seealso
+@seealso
Dans ce manuel : @ref{Pitches}, @ref{Accidentals}, et
@ref{Automatic accidentals}, pour les principes généraux d'utilisation
des altérations ; @ref{Key signature} pour les armures.
Les silences sont absents de la notation grégorienne ; par contre, cette
notation utilise des @ref{Divisiones}.
-@seealso
+@seealso
Dans ce manuel : les principes généraux sur l'utilisation des silences
sont exposés dans @ref{Rests}.
Les clés d'ut de Petrucci avaient une hampe gauche différente selon
leur ligne de rattachement.
-@seealso
+@seealso
Dans ce manuel : voir @ref{Clef}.
+
@knownissues
La clé de sol mensurale est calquée sur celle de Petrucci.
}
@end lilypond
-@seealso
+@seealso
Dans ce manuel : @ref{Time signature} expose les principes généraux sur
l'utilisation des indications de métrique.
+
@knownissues
Les équivalences de durées de note ne sont pas modifiées par un
}
@end lilypond
-@seealso
+@seealso
Référence du programme : @rinternals{Custos}.
Exemples : @rlsr{Ancient notation}.
@lilypondfile[quote,ragged-right]{divisiones.ly}
-@predefined
+@predefined
@funindex \virgula
@code{\virgula},
@funindex \caesura
@code{\divisioMaxima},
@funindex \finalis
@code{\finalis}.
+@endpredefined
-@seealso
+@seealso
Dans ce manuel : @ref{Breath marks}.
Référence du programme : @rinternals{BreathingSign}.
}
@end lilypond
-@predefined
+@predefined
LilyPond dispose des préfixes suivants :
-
@funindex \virga
@code{\virga},
@funindex \stropha
@code{\cavum},
@funindex \linea
@code{\linea}.
+@endpredefined
+
Les préfixes de note peuvent s'agglutiner, modulo quelques restrictions.
Par exemple, on peut appliquer un @code{\descendens} ou un
@rinternals{Engravers and Performers}.
@end ifhtml
@ifnothtml
-Program reference @expansion Translation @expansion{} Engravers.
+Program reference @expansion{} Translation @expansion{} Engravers.
@end ifnothtml
Chaque contexte mentionné dans
@ifhtml
@rinternals{Contexts}
@end ifhtml
@ifnothtml
-Program reference @expansion Translation @expansion{} Context.
+Program reference @expansion{} Translation @expansion{} Context.
@end ifnothtml
répertorie les graveurs mis en œuvre.
@seealso
-
Référence du programme : @rinternals{OverrideProperty}, @rinternals{RevertProperty},
@rinternals{PropertySet}, @rinternals{Backend}, et
@rinternals{All layout objects}.
Sur la page de la documentation relative aux doigtés, c'est-à -dire
@ref{Fingering instructions}, se trouve l'indication suivante :
-@quotation
-@seealso
+@seealso
Référence du programme : @rinternals{Fingering}.
-@end quotation
-
@c outdated info; probably will delete.
@ignore
notation Jazz alternative, et un modèle systématique appelé système
Banter. Pour la mise en œuvre de ces modèles, voir @ref{Chord name chart}.
-@predefined
+@predefined
@funindex \germanChords
@code{\germanChords},
@funindex \semiGermanChords
@code{\italianChords},
@funindex \frenchChords
@code{\frenchChords}.
+@endpredefined
-@seealso
+@seealso
Exemples : @rlsr{Chords}.
Fichiers internes : @file{scm/@/chords@/-ignatzek@/.scm}, et
@file{scm/@/chord@/-entry@/.scm}.
+
@knownissues
Les chiffrages d'accords ne sont déterminés que par la succession des
Ce problème peut être contourné en jouant sur l'empilement, avec la
propriété @code{stacking-dir} de l'objet @code{BassFigureAlignment}.
-@seealso
+@seealso
Référence du programme : les objets @rinternals{BassFigure},
@rinternals{BassFigureAlignment}, @rinternals{BassFigureLine},
@rinternals{BassFigureBracket} et
@rinternals{BassFigureContinuation}, ainsi que le contexte
@rinternals{FiguredBass}.
+
@node Entering figured bass
@unnumberedsubsubsec Entering figured bass
qui utilisent des polices, autrement dit ceux qui disposent de
l'interface de rendu @rinternals{font-interface}.
-@predefined
+@predefined
Les commandes suivantes définissent @code{fontSize} pour la voix en
cours :
-
@funindex \tiny
@code{\tiny},
@funindex \small
@code{\small},
@funindex \normalsize
@code{\normalsize}.
-
+@endpredefined
@node Fingering instructions
@seealso
-
Référence du programme : @rinternals{Fingering}.
Exemples : @rlsr{Editorial annotations}.
@seealso
-
Annexes : @ref{List of colors}.
automatiquement. Pour les rondes et les silences, ils sont aussi
créés, mais en mode invisible.
-@predefined
+@predefined
@funindex \stemUp
@code{\stemUp},
@funindex \stemDown
@code{\stemDown},
@funindex \stemNeutral
@code{\stemNeutral}.
+@endpredefined
@commonprop
@cindex bulles
@cindex notation, expliquer
-@seealso
+@seealso
Référence du programme : @rinternals{balloon-interface}.
}}}
@end lilypond
-@seealso
+@seealso
Référence du programme : @rinternals{HorizontalBracket}.
@seealso
-
Référence du programme : @rinternals{Script}.
@predefined
-
@funindex \dynamicUp
@code{\dynamicUp},
@funindex \dynamicDown
@code{\dynamicDown},
@funindex \dynamicNeutral
@code{\dynamicNeutral}.
+@endpredefined
@seealso
-
Référence du programme : @rinternals{DynamicText}, @rinternals{Hairpin}.
Le placement vertical de ces éléments graphiques est géré par le
@predefined
-
@funindex \slurUp
@code{\slurUp},
@funindex \slurDown
@code{\slurDotted},
@funindex \slurSolid
@code{\slurSolid}.
+@endpredefined
-@seealso
+@seealso
Référence du programme : @rinternals{Slur}.
@predefined
-
@funindex \phrasingSlurUp
@code{\phrasingSlurUp},
@funindex \phrasingSlurDown
@code{\phrasingSlurDown},
@funindex \phrasingSlurNeutral
@code{\phrasingSlurNeutral}.
+@endpredefined
@seealso
-
Référence du programme : @rinternals{PhrasingSlur}.
d4
@end lilypond
-@seealso
+@seealso
Référence du programme : @rinternals{BreathingSign}.
Exemples : @rlsr{Winds}.
@seealso
-
Référence du programme : @rinternals{Glissando}.
Exemples : @rlsr{Expressive marks}.
@predefined
-
@code{\arpeggio},
@funindex \arpeggioArrowUp
@code{\arpeggioArrowUp},
@code{\arpeggioNormal},
@funindex \arpeggioBracket
@code{\arpeggioBracket}.
+@endpredefined
@seealso
-
Dans ce même manuel : @ref{Ties}, pour noter explicitement des arpèges.
Référence du programme : @rinternals{Arpeggio}.
@predefined
-
-@code{\startTrillSpan},
@funindex \startTrillSpan
-@code{\stopTrillSpan}.
+@code{\startTrillSpan},
@funindex \stopTrillSpan
+@code{\stopTrillSpan}.
+@endpredefined
@seealso
-
Référence du programme : @rinternals{TrillSpanner}.
<c\1 e\2 g\3>
@end lilypond
-@seealso
+@seealso
Référence du programme : @rinternals{StringNumber}.
Exemples : @rlsr{Fretted strings}.
+
@node Default tablatures
@unnumberedsubsubsec Default tablatures
\override Beam #'damping = #100000
@end example
-@seealso
+@seealso
Référence du programme : @rinternals{TabStaff}, @rinternals{TabVoice}.
+
@knownissues
Les accords ne subsissent ausun traitement particulier ; de ce fait, la
sont @code{guitar-open-g-tuning}, @code{mandolin-tuning} et
@code{banjo-open-g-tuning}.
-@seealso
+@seealso
Vous trouverez une liste complète des jeux prédéfinis dans le fichier
@file{scm/@/output@/-lib@/.scm}.
Référence du programme : @rinternals{Tab_note_heads_engraver}.
+
@knownissues
Aucun effet spécial de guitare n'a été implémenté à ce jour.
à votre convenance. Vous en trouverez les détails dans
@rinternals{fret-diagram-interface}.
-@seealso
+@seealso
Exemples : @rlsr{Fretted strings}.
+
@node Right-hand fingerings
@unnumberedsubsubsec Right-hand fingerings
}
@end lilypond
-@seealso
+@seealso
Référence du programme : @rinternals{StrokeFinger}
+
@node Guitar
@subsection Guitar
}
@end lilypond
-@seealso
+@seealso
Référence du programme : @rinternals{StrokeFinger}
+
@node Indicating harmonics and dampened notes
@unnumberedsubsubsec Indicating harmonics and dampened notes
\set TabStaff.stringTunings = #(four-string-banjo banjo-c-tuning)
@end example
-@seealso
+@seealso
Vous trouverez une liste complète des jeux de cordes prédéfinis pour le banjo
dans le fichier @file{scm/@/output@/-lib@/.scm}.
@example
@{
- \new GrandStaff <<
+ \new StaffGroup <<
@var{...collez ici la partition complète d'un opéra de Wagner...}
>>
@}
@cindex mise en forme
@cindex midi
+@noindent
Gardez à l'esprit que ces trois commandes -- @code{\header},
-@code{\layout} et @code{\midi} -- sont spécifiques : à l'inverse de
-toutes les commandes débutant par une oblique inversée (@emph{backslash}
-pour @code{\}), @strong{elles ne constituent pas} des expressions
-musicales et ne seront donc pas interprétées comme telles. Elles
-peuvent de ce fait être mentionnées à l'intérieur du bloc @code{\score},
-tout comme à l'extérieur. En réalité, ces commandes sont la plupart du
-temps indépendantes du bloc @code{\score} -- par exemple, la commande
-@code{\header} intervient bien souvent avant le bloc @code{\score} tout
-simplement parce que les en-têtes apparaissent au début de la partition.
-C'est donc l'un des raccourcis que LilyPond prendra en considération.
+@code{\layout} et @code{\midi} -- sont spécifiques : à l'inverse de
+toutes les commandes débutant par une oblique inversée @code{\}
+(@emph{backslash} en anglais), @strong{elles ne constituent pas} des
+expressions musicales et ne peuvent pas faire partie d'expressions
+musicales. Elles peuvent de ce fait être placées à l'intérieur du
+bloc @code{\score}, ou bien à l'extérieur. En réalité, ces commandes
+sont la plupart du temps indépendantes du bloc @code{\score} -- par
+exemple, la commande @code{\header} intervient souvent avant le bloc
+@code{\score}, comme le montre l'exemple ci-dessus.
Les deux autres commandes -- @code{\layout @{ @}} et @code{\midi @{@}}
-que nous n'avons pas détaillées pour l'instant -- auront respectivement
+-- que nous n'avons pas détaillées pour l'instant, auront respectivement
pour effet, lorsqu'elles interviennent, de produire une sortie
imprimable et un fichier MIDI. Nous nous y intéressons plus
particulièrement dans le manuel de notation, aux chapitres
@code{laTeteAToto}, tant qu'il ne s'agit pas de @qq{mot réservé}. Pour
plus de détails, voir @ref{Saving typing with variables and functions}.
-@seealso
+@seealso
Pour une description complète du format des fichiers d'entrée, voir
@ruser{File structure}.
@example
\score @{
@{ % cette accolade marque le début de l'expression musicale
- \new GrandStaff <<
+ \new StaffGroup <<
@var{...insérez ici l'intégralité d'un opéra de Wagner...}
>>
@} % cette accolade marque la fin de l'expression musicale
@end example
Un opéra de Wagner multiplierait facilement la longueur de ce manuel
-par deux ou trois, alors faisons-le en version chant/piano. On n'a
-plus besoin d'une partition d'orchestre --- @code{GrandStaff}, qui sert
-à regrouper les portées au moyen d'une accolade sur la gauche --- donc
-laissons cela de côté. Par contre, un chanteur et un piano
-@emph{pourraient} nous être utiles.
+par deux ou trois, alors contentons-nous d'une voix et d'un piano. On
+n'a plus besoin d'une partition d'orchestre --- @emph{i.e.} des
+portées regroupées en @code{StaffGroup} --- donc laissons cela de
+côté. Par contre, nous voulons bien une voix et un piano.
@example
\score @{
assurez-vous que chaque élément d'un même niveau a le même décalage
horizontal dans votre éditeur de texte !
-@seealso
+@seealso
Manuel de notation : @ruser{Structure of a score}.
D'autres constructions permettent d'obtenir des lignes regroupant ou en
travers des notes : les liaisons de prolongation indiquées par un
tilde (@code{~}), les marques de nolet avec
-@code{\times@tie{}x/y@tie{}@{..@}} ou
+@code{\times@tie{}x/y@tie{}@{..@}}, ou
encore les notes d'ornement avec @code{\grace@{..@}}.
En dehors de LilyPond, l'imbrication correcte de différents types de
}
@end lilypond
-Ces voix sont séparées de la voix principale laquelle contient les notes en
+Ces voix sont séparées de la voix principale, laquelle contient les notes en
dehors de la construction @code{<< .. >>} -- que nous appellerons
@emph{construction simultanée}. Les liaisons, de prolongation ou non,
ne peuvent relier des notes que si elles appartiennent à la même voix ;
moyens d'ajuster le positionnement horizontal des notes. Nous ne sommes
pas encore tout à fait prêts pour voir comment corriger cela, aussi nous
examinerons ce problème dans un autre chapitre (voir la propriété
-@code{force-hshift} dans @ref{Fixing overlapping notation}).
+@code{force-hshift} dans @ref{Fixing overlapping notation}).
-@seealso
+@seealso
Manuel de notation : @ruser{Multiple voices}.
l'attribution d'un décalage à une voix en particulier s'appliquera Ã
l'empilement en question s'il y avait risque de collision.
Nous en avons une illustration à la deuxième mesure de l'exemple
-ci-dessus : le do de la deuxième voix est décalé à droite du ré de la
+ci-dessus : le do de la deuxième voix est décalé à droite du ré de la
première voix et, dans l'accord final, le do de la troisième voix est
lui aussi décalé à droite des autres notes.
identiques, LilyPond vous le signalera par le message @qq{Trop
d'empilements en conflit}.
-@seealso
+@seealso
Manuel de notation : @ruser{Multiple voices}.
Nous allons reprendre un extrait de Judas Maccabæus pour illustrer ce
que cette technique apporte en flexibilité. Nous commençons par
-utiliser des variables afin de séparer de la structure d'une portée
+utiliser des variables afin de séparer de la structure de la portée
aussi bien la musique que les paroles. Nous ajoutons par la même
occasion un crochet spécifique aux portées pour chœur
(@code{ChoirStaff}). Quant aux blocs de paroles, nous les faisons
}
@end lilypond
-@seealso
+@seealso
Manuel de notation : @ruser{Vocal music}.
En plus des contextes @code{Score,} @code{Staff} et @code{Voice} sont
disponibles d'autres contextes intermédiaires entre les niveaux
partition et portée, chargés de gérer certains regroupement, tels que
-@code{PianoStaff} ou @code{ChoirStaff}. Sont aussi disponibles d'autres
+@code{PianoStaff} ou @code{ChoirStaff}. Vous disposez aussi d'autres
contextes de portée ou de voix alternatifs, ainsi que des contextes
spécifiques pour les paroles, les percussions, les tablatures
d'instruments frettés, la basse chiffrée, etc.
initiales en majuscule et directement accolés les uns aux autres sans
ponctuation, comme par exemple @code{GregorianTranscriptionStaff}.
-@seealso
+@seealso
Manuel de notation : @ruser{Contexts explained}.
marque de fermeture. Bien que ceci ne soit pas obligatoire, nous vous
invitons à adopter cette pratique qui vous évitera nombre d'erreurs
@qq{accolades non appariées}. La structure de la musique apparaît ainsi
-au premier coup d'œil, et les défauts de parité seront plus facilement
+au premier coup d'œil, et les défauts de parité plus facilement
repérables. Vous remarquerez que la portée MG est créée à l'aide d'un
double chevron gauche -- nécessaire pour gérer ses deux voix -- alors que la
portée MD ne contient qu'une seule expression musicale -- il n'y a
Nous verrons plus avant comment le résultat de LilyPond peut changer
lorsqu'on modifie l'action des graveurs.
-@seealso
+@seealso
Références internes : @rinternals{Engravers and Performers}.
chacun des contextes en particulier grâce à un bloc @code{\with} ou bien
une commande @code{\set} au fil des notes.
-@seealso
+@seealso
Manuel de notation : @ruser{Changing context default settings},
@ruser{The set command}.
Références internes : @rinternals{Contexts},
@rinternals{Tunable context properties}.
+
@node Adding and removing engravers
@subsection Adding and removing engravers
d'un type particulier si vous insérez les commandes @code{\set} dans un
bloc @code{\context}.
-@seealso
+@seealso
Manuel de notation : @ruser{Modifying context plug-ins},
@ruser{Changing context default settings}.
Commencez par le modèle qui vous semblera le plus proche de ce à quoi
vous voulez aboutir. Disons par exemple que vous voulez écrire une pièce
-pour soprano et violoncelle : dans ce cas, l'on pourrait commencer par les
+pour soprano et violoncelle : dans ce cas, on pourrait commencer par les
@qq{notes et paroles}, pour la partie de soprano.
@example
@end example
On n'a pas besoin de deux commandes @code{\version}. Ce dont on a besoin,
-c'est dela section @code{melodie}. De même, on n'a pas besoin de deux
-sections @code{\score} --- si nous les gardions toutes les deux, on
-obtiendrait deux parties séparées ; mais nous voulons un vrai duo, avec
-les deux parties ensemble. Dans la section @code{\score}, on n'a pas
-besoin non plus de deux @code{\layout} ni de deux @code{\midi}.
+c'est de la section @code{melodie}. De même, on n'a pas besoin de deux sections
+@code{\score} --- si nous les gardions toutes les deux, on obtiendrait deux
+parties séparées ; mais nous voulons un vrai duo, avec les deux
+parties ensemble. Dans la section @code{\score}, on n'a pas besoin
+non plus de deux @code{\layout} ni de deux @code{\midi}.
Si on se contente de couper et coller les sections @code{melodie}, on se
retrouvera avec deux sections de ce nom ; il nous faut donc les renommer.
}
@end lilypond
-@seealso
+@seealso
Les patrons originaux sont disponibles à l'annexe @qq{Modèles}, voir
@ref{Single staff}.
saisissant plusieurs @code{\tag}.
@example
- \tag #'original-part \tag #'transposed-part @dots{}
+\tag #'original-part \tag #'transposed-part @dots{}
@end example
@ignore
FIXME
@seealso
-
Exemples : @lsr{parts,tag@/-filter@/.ly}
@end ignore
+
@knownissues
Lorsqu'elles comportent des silences, ceux-ci ne seront pas fusionnés
contexte de Partition. Le contexte de Partition est le contexte de
notation de plus haut niveau.
-@seealso
+@seealso
Référence du programme: @rinternals{Contexts}.
+
@lilypond[quote,ragged-right]
\include "engraver-example.ily"
\score {
@seealso
-
Dans ce même manuel : @ref{Changing staff manually}.
Référence du programme : @rinternals{AutoChangeMusic}.
-
@knownissues
Les changements de portée automatiques n'interviennent pas toujours Ã
>>
@end lilypond
-@seealso
+@seealso
Référence du programme : @rinternals{VoiceFollower}.
-@predefined
+@predefined
@funindex \showStaffSwitch
@code{\showStaffSwitch},
@funindex \hideStaffSwitch
@code{\hideStaffSwitch}.
+@endpredefined
@node Cross-staff stems
c\sostenutoOn d e c, f g a\sostenutoOff
@end lilypond
-@seealso
+@seealso
Dans ce manuel : @ref{Ties} @qq{laissez vibrer}.
version that you are working on. See TRANSLATION for details.
@end ignore
+
@include version.itexi
-@c don't replace quotes with directed quotes
+
+@c Don't replace quotes with directed quotes.
+
@set txicodequoteundirected
@set txicodequotebacktick
+
+
@c ***** Displaying text *****
-@c we need this since @q{\} doesn't work with makeinfo 4.11 --
-@c say @q{@bs} instead
+@c We need this since @q{\} doesn't work with makeinfo 4.11 --
+@c say @q{@bs{}} instead.
+
@macro bs
\\
@end macro
-@c to get decent quotes in `foo' and ``foo''
-@c FIXME: use thin spaces for @qq
+@c To get decent quotes in `foo' and ``foo''.
+@c FIXME: Use thin spaces for @qq.
+
@ifnotinfo
+
@macro q{TEXT}
@quoteleft{}\TEXT\@quoteright{}
@end macro
@macro qq{TEXT}
@guillemetleft{}@tie{}\TEXT\@tie{}@guillemetright{}
@end macro
+
@end ifnotinfo
@ifinfo
+
@macro q{TEXT}
`\TEXT\'
@end macro
@macro qq{TEXT}
« \TEXT\ »
@end macro
+
@end ifinfo
@ifhtml
+
@macro warning{TEXT}
@cartouche
@b{Note :} \TEXT\
@end cartouche
@end macro
+
@end ifhtml
@ifnothtml
+
@macro warning{TEXT}
@quotation
@quotation
@end quotation
@end quotation
@end macro
+
@end ifnothtml
+
@ifnotinfo
+
@macro notation{TEXT}
@var{\TEXT\}
@end macro
+
@end ifnotinfo
@ifinfo
+
@macro notation{TEXT}
\TEXT\
@end macro
+
@end ifinfo
+
@macro smallspace
@sp 1
@end macro
-@c **** Displaying images not generated by lilypond-book
-@c current installation setup of Info docs requires that all images are
-@c expected to be found in lilypond/ subdirectory. lilypond-book already
-@c generates proper @image commands for images of music; these macros
-@c definitions do the same for other images.
+@c ***** Displaying images not generated by lilypond-book *****
+
+@c Current installation setup of Info docs requires that all images are
+@c expected to be found in the `lilypond/' subdirectory. `lilypond-book'
+@c already generates proper @image commands for images of music; these
+@c macro definitions do the same for other images.
@ifnotinfo
+
@macro sourceimage{FILENAME,WIDTH,HEIGHT,ALTTEXT}
@image{\FILENAME\,\WIDTH\,\HEIGHT\,\ALTTEXT\}
@end macro
+
@end ifnotinfo
@ifinfo
+
@macro sourceimage{FILENAME,WIDTH,HEIGHT,ALTTEXT}
@image{lilypond/\FILENAME\,\WIDTH\,\HEIGHT\,\ALTTEXT\}
@end macro
+
@end ifinfo
-@c **** Headings in a doc subsection ****
+@c ***** Headings in a doc subsection *****
+
+@c Don't insert an empty line after @predefined! Right now
+@c it doesn't matter, but a future implementation will probably
+@c add some code which needs this restriction.
@macro predefined
@noindent
@subsubheading Predefined commands
+@end macro
+
+@c The next macro is a dummy currently since texinfo doesn't
+@c provide a real ragged-right environment yet.
+@c
+@c Due to a bug in texi2html (texi2html.pl CVS versions <= 1.245)
+@c the macro must not be empty.
+@macro endpredefined
+@c
@end macro
+
@macro snippets
@noindent
@subsubheading Selected Snippets
-
@end macro
+
@c obsolete, remove when translation is fully updated
@macro commonprop
@noindent
@subsubheading Commonly tweaked properties
-
@end macro
+
+@c Don't insert an empty line after @seealso! Otherwise we get
+@c unwanted extra vertical space in the PDF output.
+
@macro seealso
@noindent
@subsubheading See also
-
+@indent
@end macro
+
@macro knownissues
@noindent
@subsubheading Known issues and warnings
-
@end macro
+
@macro lydoctitle {TEXT}
@emph{\TEXT\}
-
@end macro
+
+@c Don't remove the `@c' within the macro definition! See section 19.3,
+@c `Macro Details and Caveats', in the texinfo info file for explanation.
+
@macro funindex {TEXT}
@findex \TEXT\
@kindex \TEXT\
+@c
@end macro
-@c **** Links and references ****
+@c ***** Links and references *****
@c Definitions for references:
+@c
@c @rglos
@c @rlearning
@c @ruser
@c @rprogram
@c @rlsr
@c @rinternals
-@c all these also have a @...named version, which allows to specify the
-@c displayed text for the reference as second argument
+@c
+@c All these also have a @...named version which allows to specify the
+@c displayed text for the reference as second argument.
+@c
+@c ***** HTML + bigpage is a special case (other manual names); all other
+@c formats are treated similarly.
-@c ***** HTML + bigpage is a special case (other manual names), all other
-@c formats are treated similarly
+@c *** not TeX ***
@ifnottex
+@c ** bigpage **
+
@ifset bigpage
@macro rglos{TEXT}
@end ifset
+@c ** not bigpage **
+
@ifclear bigpage
@macro rglos{TEXT}
@end ifnottex
-@c **** TEX ****
+@c *** TeX ***
+
@iftex
@macro rglos{TEXT}
@end iftex
-@c **** Macros specific to translated docs ****
+
+@c ***** Macros specific to translated docs *****
@c ugh, cannot set/define global variable 'translationof' in some way?
+
@iftex
+
@macro translationof{TEXT}
@end macro
+
@end iftex
@ifinfo
-@macro
+
@macro translationof{TEXT}
@set translationof \TEXT\
@end macro
+
@end ifinfo
-@c TODO when @translationof is used in translated docs
-@c see if it's feasible to say @value{translationof}
+
+@c TODO: If @translationof is used in translated docs
+@c see whether it is feasible to say @value{translationof}.
+
@macro englishref
Cette section n'est pas encore encore traduite, veuillez
vous reporter à la documentation correspondante en anglais.
@end macro
+
@ifhtml
+
@macro untranslated
UNTRANSLATED NODE: IGNORE ME
@end macro
+
@end ifhtml
@ifnothtml
+
@macro untranslated
@end macro
+
@end ifnothtml
@file{ly/@/drumpitch@/-init@/.ly}.
@c TODO: properly document this.
-@seealso
+@seealso
Référence du Programme : @rinternals{note-event}.
-
@node Percussion staves
@unnumberedsubsubsec Percussion staves
@seealso
-
Fichier d'initialisation : @file{ly/@/drumpitch@/-init@/.ly}.
Référence du programme : @rinternals{DrumStaff}, @rinternals{DrumVoice}.
+
@knownissues
La bibliothèque MIDI générale ne contient pas les @emph{rimshots} --- coups
@seealso
-
Référence du programme : @rinternals{LedgerLineSpanner},
@rinternals{NoteHead}.
@seealso
-
Référence du programme : @rinternals{TransposedMusic}.
Exemples : @rlsr{Pitches}.
@seealso
-
Dans ce manuel : @ref{Grace notes}.
Référence du programme : @rinternals{Clef}.
@seealso
-
Référence du programme : @rinternals{KeyCancellation},
@rinternals{KeySignature}.
@seealso
-
Référence du programme : @rinternals{OttavaBracket}.
@seealso
-
Référence du programme : @rinternals{Accidental_engraver},
@rinternals{Accidental}, @rinternals{AccidentalSuggestion} et @rinternals{AccidentalPlacement}.
forme n'aurait pas attribué d'espace supplémentaire pour l'objet
déplacé.
-@seealso
+@seealso
Référence du programme : @rinternals{Ambitus},
@rinternals{AmbitusLine}, @rinternals{AmbitusNoteHead},
@rinternals{AmbitusAccidental}.
Exemples : @rlsr{Pitches}, @rlsr{Vocal music}.
+
@knownissues
LilyPond ne gère pas les collisions entre plusieurs ambitus présents sur
@seealso
-
Référence du programme : @rinternals{NoteHead}.
taille, afin que les lettres soient lisibles. Voir à ce propos
@ref{Setting the staff size}.
-@predefined
+@predefined
@funindex \easyHeadsOn
-@code{\easyHeadsOn}
+@code{\easyHeadsOn}.
+@endpredefined
@node Shape note heads
Consultez @ref{Bar lines} pour plus d'informations.
-@seealso
+@seealso
Program reference: @rinternals{VoltaBracket},
@rinternals{RepeatedMusic},
@rinternals{VoltaRepeatedMusic}, et
@seealso
-
Référence du programme : @rinternals{VoltaBracket},
@rinternals{RepeatedMusic},
@rinternals{VoltaRepeatedMusic}, et
@seealso
-
Dans ce manuel : @ref{Tremolo subdivisions}, @ref{Repeats}.
Référence du programme : @rinternals{Beam}, @rinternals{StemTremolo}.
@seealso
-
Dans ce manuel : @ref{Tremolo repeats}.
Référence du programme : @rinternals{StemTremolo}.
@seealso
-
Référence du programme : @rinternals{RepeatSlash},
@rinternals{PercentRepeat}, @rinternals{DoublePercentRepeat},
@rinternals{DoublePercentRepeatCounter},
a'4 b' c''4. b'8 a'4. b'4.. c''8.
@end lilypond
-@predefined
+@predefined
Les points sont normalement haussés pour éviter les lignes de portées,
sauf dans certaines polyphonies. Les commandes suivantes peuvent être
utilisées pour demander manuellement une orientation particulière des
@code{\dotsDown},
@funindex \dotsNeutral
@code{\dotsNeutral}.
+@endpredefined
-@seealso
+@seealso
Référence du programme : @rinternals{Dots}, @rinternals{DotColumn}.
}
@end lilypond
-@predefined
+@predefined
@funindex \tupletUp
@code{\tupletUp},
@funindex \tupletDown
@code{\tupletDown},
@funindex \tupletNeutral
@code{\tupletNeutral}.
+@endpredefined
@commonprop
@seealso
-
Référence du programme : @rinternals{TupletBracket},
@rinternals{TupletNumber}, @rinternals{TimeScaledMusic}.
-
@node Scaling durations
@unnumberedsubsubsec Scaling durations
@seealso
-
Dans ce manuel : @ref{Tuplets}.
@predefined
-
@funindex \tieUp
@code{\tieUp},
@funindex \tieDown
@code{\tieDashed},
@funindex \tieSolid
@code{\tieSolid}.
+@endpredefined
@seealso
-
Glossaire musical :
@rglos{tie},
@rglos{laissez vibrer}.
puisque le formateur automatique de collision des silences laissera ces
silences tranquilles.
-@seealso
+@seealso
Référence du programme : @rinternals{Rest}.
Le fragment @code{@{ \skip 4 @} } produirait une page vide.
-@seealso
+@seealso
Référence du programme : @rinternals{SkipMusic}.
@seealso
-
Référence du programme : @rinternals{MultiMeasureRestMusic},
@rinternals{MultiMeasureRest}.
@seealso
-
Référence du programme : @rinternals{TimeSignature} et
@rinternals{Timing_translator}.
>> }
@end lilypond
-@seealso
+@seealso
Exemples : @rlsr{Rhythms}.
+
@knownissues
L'utilisation de métriques différentes en parallèle entraine un
divise pas les silences.
@seealso
-
Référence du programme : @rinternals{Completion_heads_engraver}.
+
@node Showing melody rhythms
@unnumberedsubsubsec Showing melody rhythms
}
@end lilypond
-@seealso
+@seealso
Référence du programme : @rinternals{RhythmicStaff}.
+
@node Beams
@subsection Beams
@seealso
-
Référence du programme : @rinternals{Beam}.
@predefined
-
@funindex \autoBeamOff
@code{\autoBeamOff},
@funindex \autoBeamOn
@code{\autoBeamOn}.
+@endpredefined
+
@commonprop
@seealso
-
Dans ce manuel : @ref{Repeats}, @ref{Grouping staves}.
Référence du programme : @rinternals{BarLine} (faisant partie du
@seealso
-
Référence du programme : @rinternals{BarNumber}.
Exemples : @rlsr{Staff notation}.
Pour affiner le positionnement des repères, veuillez vous référer Ã
@ref{Text marks}.
-@seealso
+@seealso
Dans ce manuel : @ref{Text marks}.
Référence du programme : @rinternals{RehearsalMark}.
@seealso
-
Référence du programme : @rinternals{GraceMusic}.
portée, y compris simultanément --- en pareil cas, rien ne sera fait
pour tenter d'empécher les chevauchements entre notes et clusters.
-@seealso
+@seealso
Référence du programme : @rinternals{ClusterSpanner},
@rinternals{ClusterSpannerBeacon},
@rinternals{Cluster_spanner_engraver}.
Exemples : @rlsr{Simultaneous notes}.
+
@knownissues
Les expressions musicales du type @code{<< @{ g8 e8 @} a4 >>} ne
@predefined
-
@funindex \oneVoice
@code{\oneVoice},
@funindex \voiceOne
les voix une et deux --- ont @code{\shiftOff}, alors que les voix
internes --- trois et quatre --- ont @code{\shiftOn}. @code{\shiftOnn}
et @code{\shiftOnnn} sont des niveaux supplémentaires de décalage.
+@endpredefined
+
Quand LilyPond est dépassé, la propriété @code{force-hshift} de l'objet
@rinternals{NoteColumn}, et des silences à hauteur déterminée, peuvent
Une section @code{\relative} en dehors de @code{\partcombine} sera
sans effet sur les hauteurs de @var{musicexpr1} et @var{musicexpr2}.
-@seealso
+@seealso
Référence du programme : @rinternals{PartCombineMusic}.
+
@knownissues
Lorsque @code{printPartCombineTexts} est actif et que les deux voix
@item Les affinages optiques se règlent en assignant @emph{vrai} à la
propriété @code{uniform-stretching} du @rinternals{SpacingSpanner}.
-
@end itemize
-@seealso
+@seealso
Exemples : @rlsr{Spacing}.
Le fichier @file{input/proportional.ly} illustre la notation
proportionnelle stricte.
-
@node Fitting music onto fewer pages
@section Fitting music onto fewer pages
@seealso
-
Les barres de mesure au début de chaque système prennent l'un des styles
@rinternals{SystemStartBar}, @rinternals{SystemStartBrace},
@rinternals{SystemStartBracket}. Dans chaque contexte, seul l'un de
ces styles est utilisé, et c'est la propriété
@code{systemStartDelimiter} qui détermine lequel.
+
@commonprop
Les accolades et crochets délimitant les systèmes peuvent être imbriqués
@cindex épaisseur des lignes de portées
@cindex nombre de lignes de portée
-@seealso
+@seealso
Référence du programme : @rinternals{StaffSymbol}.
Exemples : @rlsr{Staff notation}.
@seealso
-
Référence du programme : @rinternals{MetronomeMark}.
@seealso
-
Référence du programme : @rinternals{InstrumentName}.
@seealso
-
Dans ce manuel : @ref{Instrument transpositions}.
Exemples : @rlsr{Staff notation}.
@predefined
-
@funindex \textLengthOn
@code{\textLengthOn},
@funindex \textLengthOff
@code{\textLengthOff}.
+@endpredefined
@commonprop
@seealso
-
Dans ce manuel : @ref{Formatting text}.
Référence du programme : @rinternals{TextScript}.
@end table
-@seealso
+@seealso
Référence du programme : @rinternals{TextSpanner},
@rinternals{Glissando}, @rinternals{VoiceFollower},
@rinternals{TrillSpanner}, @rinternals{line-spanner-interface}.
c2\startTextSpan b c\stopTextSpan a
@end lilypond
-@predefined
+@predefined
@funindex textSpannerUp
@code{\textSpannerUp},
@funindex textSpannerDown
@code{\textSpannerDown},
@funindex textSpannerNeutral
@code{\textSpannerNeutral}.
+@endpredefined
@commonprop
@seealso
-
Référence du programme : @rinternals{TextSpanner}.
@seealso
-
Référence du programme : @rinternals{RehearsalMark}.
@seealso
-
Dans ce manuel : @ref{Text markup commands}.
Référence du programme : @rinternals{TextScript}.
Les différentes commandes permettant de générer des listes de lignes
se trouve dans @ref{Text markup list commands}.
-@seealso
+@seealso
Dans ce manuel : @ref{Text markup list commands},
@ref{New markup list command definition}.
-@predefined
+@predefined
@funindex \markuplines
-@code{\markuplines}
+@code{\markuplines}.
+@endpredefined
@node Fonts
@c Apple TTF fonts
-
@seealso
-
Exemples : @rlsr{Text}.
}
@end lilypond
-@seealso
+@seealso
Manuel de notation : @ruser{Writing pitches},
@ruser{Writing rhythms}, @ruser{Writing rests},
@ruser{Time signature}, @ruser{Clef}.
qui répertorie les commandes usuelles pour une consultation rapide.
@end ignore
-@seealso
+@seealso
Vous trouverez plus de conseils pour construire des fichiers source
dans @ref{Suggestions for writing LilyPond input files}. Cependant,
lors d'une première lecture il est préférable de terminer d'abord la
connaître les différentes manières dont les altérations accidentelles
peuvent être imprimées, consultez @ruser{Automatic accidentals}.
-@seealso
+@seealso
Manuel de notation : @ruser{Note names in other languages},
@ruser{Accidentals}, @ruser{Automatic accidentals},
@ruser{Key signature}.
Glossaire musical : @rglos{Pitch names}.
+
@node Ties and slurs
@subsection Ties and slurs
c2~( c8 fis fis4 ~ fis2 g2)
@end lilypond
-@seealso
+@seealso
Manuel de notation : @ruser{Ties}, @ruser{Slurs},
@ruser{Phrasing slurs}.
+
@node Articulation and dynamics
@subsection Articulation and dynamics
c2\< c2\ff\> c2 c2\!
@end lilypond
-@seealso
+@seealso
Manuel de notation : @ruser{Articulations and ornamentations},
@ruser{Fingering instructions}, @ruser{Dynamics}.
}
@end lilypond
-@seealso
+@seealso
Manuel de notation : @ruser{Writing text}.
a8 c b4 d8. c16 b4
@end lilypond
-@seealso
+@seealso
Manuel de notation : @ruser{Automatic beams}, @ruser{Manual beams}.
c2 \acciaccatura b16 c2
@end lilypond
-@seealso
+@seealso
Manuel de notation : @ruser{Grace notes}, @ruser{Tuplets},
@ruser{Upbeats}.
}
@end lilypond
-@seealso
+@seealso
Manuel de notation : @ruser{Keyboard and other multi-staff instruments},
@ruser{Displaying staves}.
>>
@end lilypond
-@seealso
+@seealso
Manuel de notation : @ruser{Simultaneous notes}.
>>
@end lilypond
-@seealso
+@seealso
Manuel de notation : @ruser{Vocal music}.
la partition des notes et paroles, grâce à des variables. Ceci sera
détaillé plus loin dans @ref{Organizing pieces with variables}.
-@seealso
+@seealso
Manuel de notation : @ruser{Vocal music}.
+
@node Final touches
@section Final touches
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: 964d024dd4f022ba7cd66adc13c0169035d4c4e5
+ Translation of GIT committish: 90a367b11c50bd1fe242656715f807d1445225d7
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@c \version "2.11.61"
-@c Translators: Valentin Villenave, Nicolas Klutchnikoff
+@c Translators: Valentin Villenave, Nicolas Klutchnikoff, Damien Heurtebise
@c Translation checkers: Jean-Charles Malahieude, John Mandereau
@node Tweaking output
@chapter Tweaking output
-Ce chapitre indique comment modifier le résultat que vous obtiendrez.
-LilyPond offre de nombreuses possibilités de réglages, permettant de modifier
-quasiment chaque élément de votre partition.
+Ce chapitre indique comment modifier le résultat obtenu.
+LilyPond offre de nombreuses possibilités de réglages, permettant
+théoriquement de modifier chaque élément de votre partition.
@menu
* Tweaking basics::
@node Tweaking basics
@section Tweaking basics
-@untranslated
-
@menu
* Introduction to tweaks::
* Objects and interfaces::
@node Introduction to tweaks
@subsection Introduction to tweaks
-@untranslated
+LilyPond regroupe sous le terme de @qq{retouches} (@emph{tweaks} en
+anglais) les différents moyens dont dispose l'utilisateur pour
+intervenir sur l'interprétation du fichier d'entrée et pour modifier
+l'apparence du fichier de sortie. Certaines retouches sont très
+simples à mettre en œuvre ; d'autres sont plus complexes. Mais
+à elles toutes, elles permettent d'obtenir tout ce qu'on veut en matière
+de musique imprimée.
+
+Dans ce chapitre, nous traitons des concepts de base nécessaires
+pour comprendre l'art de la retouche. Puis nous présentons de
+nombreuses commandes déjà prêtes, qu'il suffit de recopier pour
+obtenir un résultat identique dans vos partitions ; nous en profitons
+pour expliquer comment ces commandes ont été construites, si bien
+que vous pouvez apprendre par la même occasion à développer
+vos propres retouches.
+
+Avant de vous lancer dans ce chapitre, il peut être utile de revoir la
+section @ref{Contexts and engravers}, dans la mesure où les contextes,
+graveurs et autres propriétés qui y sont décrits, sont indispensables
+pour comprendre et construire les retouches.
@node Objects and interfaces
@subsection Objects and interfaces
-@untranslated
+@cindex objet
+@cindex grob
+@cindex spanner
+@cindex extenseur
+@cindex interface
+@cindex propriétés des objets
+@cindex objet, propriétés
+@cindex objet de rendu
+@cindex rendu, objets de
+
+Toute retouche implique que l'on modifie les opérations internes
+et les structures du programme LilyPond. Nous allons donc, pour
+commencer, présenter certains termes qui servent à décrire ces
+opérations internes et ces structures.
+
+Le terme d'@qq{Objet} est un terme générique qui fait référence Ã
+une multitude de structures internes mises en place par LilyPond
+durant la compilation d'un fichier d'entrée. Ainsi, quand une
+commande du type @code{\new Staff} apparaît, un nouvel objet
+du type @code{Staff} est créé. Cet objet @code{Staff} contient
+alors toutes les propriétés associées à cette portée, par exemple son
+nom et son armure, ainsi que le détail des graveurs qui ont été
+désignés pour fonctionner dans ce contexte de portée.
+Certains objets peuvent contenir les propriétés de tous les autres
+contextes, comme les objets @code{Voice}, les objets @code{Score},
+les objets @code{Lyrics} ; d'autres se rapportent à tous les éléments de
+notation, comme les barres de mesure, les liaisons, les nuances, etc.
+Chaque objet dispose de son propre échantillon de valeurs pour le
+réglage des propriétés.
+
+Certains types d'objet portent des noms spécifiques. Les objets qui se
+rapportent à des éléments de notation sur le fichier de sortie, comme les
+notes, les hampes, les liaisons de phrasé ou de prolongation, les doigtés,
+les clefs, etc. sont appelés @qq{Objets de rendu} ; ils sont aussi connus
+sous le nom d'@qq{Objets graphiques} (en anglais : @emph{Graphical
+objects} ou @emph{Grobs} pour faire court). Ce sont bien des objets au
+sens générique ci-dessus, et, en tant que tels, ils reçoivent des
+propriétés qui leur sont associées, comme leur position, leur taille,
+leur couleur, etc.
+
+Certains objets de rendu, comme les liaisons de phrasé, les soufflets
+de crescendo, les marques d'octaviation et beaucoup d'autres @emph{grobs},
+ont pour particularité de ne pas se situer à un seul et unique endroit
+-- ils ont un point de départ, un point d'arrivée, et éventuellement
+d'autres propriétés relatives à leur forme. Ces objets avec une forme
+étendue sont appelés des bandeaux (@emph{Spanners} en anglais).
+
+Il reste à expliquer ce que sont les @qq{interfaces}. De nombreux objets,
+qui peuvent être très différents les uns des autres, ont pour point commun
+de devoir être compilés simultanément. Par exemple, tous les
+@emph{grobs} ont une couleur, une taille, une position, etc., et toutes
+ces propriétés sont compilées simultanément durant l'interprétation du
+fichier d'entrée par LilyPond. Pour alléger ces opérations internes,
+ces actions et propriétés communes sont regroupées en un objet appelé
+@code{grob-interface}. Il existe beaucoup d'autres regroupements de
+propriétés communes dans le genre de celui-ci, chacun portant un nom qui
+se termine par @code{interface}. En tout, on en compte plus d'une
+centaine. Nous verrons plus loin en quoi c'est intéressant et utile
+pour l'utilisateur.
+
+Ainsi s'achève le tour des principaux termes relatifs aux objets et
+que nous serons amenés à utiliser dans ce chapitre.
@node Naming conventions of objects and properties
@subsection Naming conventions of objects and properties
-@untranslated
+@cindex conventions de nommage des objets
+@cindex conventions de nommage des propriétés
+@cindex objets, conventions de nommage des
+@cindex propriétés, conventions de nommage des
+
+Nous avons eu un aperçu, dans @ref{Contexts and engravers}, de
+la façon de nommer les objets. Voici maintenant une liste de
+référence des types d'objets et de propriétés les plus courants,
+avec leur convention de nommage et quelques exemples
+de cas concrets. La lettre @code{A} représente n'importe quel
+caractère alphabétique majuscule, et les lettres @code{aaa}
+un nombre indéterminé de caractères alphabétiques minuscules.
+Les autres caractères sont à prendre comme ils se présentent.
+
+@multitable @columnfractions .33 .33 .33
+@headitem Type d'objet/propriété
+ @tab Convention de désignation
+ @tab Exemples
+@item Contextes
+ @tab Aaaa ou AaaaAaaaAaaa
+ @tab Staff, GrandStaff
+@item Objets de rendu
+ @tab Aaaa ou AaaaAaaaAaaa
+ @tab Slur, NoteHead
+@item Graveurs
+ @tab Aaaa_aaa_engraver
+ @tab Clef_engraver, Note_heads_engraver
+@item Interfaces
+ @tab aaa-aaa-interface
+ @tab grob-interface, break-aligned-interface
+@item Propriétés de contexte
+ @tab aaa ou aaaAaaaAaaa
+ @tab alignAboveContext, skipBars
+@item Propriétés d'objet de rendu
+ @tab aaa ou aaa-aaa-aaa
+ @tab direction, beam-thickness
+@end multitable
+
+Comme nous le verrons bientôt, les propriétés des différents
+types d'objets sont modifiées par des commandes différentes, si bien
+qu'il est bon de savoir reconnaître le type d'objet en fonction du nom
+de ses propriétés.
@node Tweaking methods
@subsection Tweaking methods
-@untranslated
-
-@node The Internals Reference manual
-@section The Internals Reference manual
+@cindex retouches, méthodologie
+@cindex méthodes de retouche
-@untranslated
+@strong{La commande \override}
-@menu
-* Properties of layout objects::
-* Properties found in interfaces::
-* Types of properties::
-@end menu
+@cindex override, commande
+@cindex override, syntaxe
-@node Properties of layout objects
-@subsection Properties of layout objects
+@funindex \override
+@funindex override
-@untranslated
+Dans @ref{Modifying context properties} et dans
+@ref{Adding and removing engravers}, nous avons déjà rencontré les
+commandes @code{\set} et @code{\with}, qui servent à changer les
+propriétés des @strong{contextes} et à supprimer ou ajouter des
+@strong{graveurs}. Voici maintenant d'autres commandes plus
+importantes.
-@node Properties found in interfaces
-@subsection Properties found in interfaces
+La commande pour changer les propriétés des @strong{objets de rendu}
+est @code{\override}. Du fait que cette commande modifie en profondeur
+les propriétés internes de LilyPond, sa syntaxe n'est pas aussi simple que
+pour les commandes vues précédemment. Elle a besoin de savoir avec
+précision quelle est la propriété à modifier, pour quel objet et dans
+quel contexte, et quelle doit être sa nouvelle valeur. Voyons de quoi
+il retourne.
-@untranslated
+La syntaxe générale de cette commande est :
-@node Types of properties
-@subsection Types of properties
+@example
+\override @var{Contexte}.@var{ObjetDeRendu} #'@var{propriété-rendu} = #@var{valeur}
+@end example
-@untranslated
+@noindent
+Elle attribue à la propriété appelée @var{propriété-rendu}, associée Ã
+l'objet @var{ObjetDeRendu}, appartenant lui-même au contexte
+@var{Contexte}, une valeur @var{valeur}.
+
+Le contexte @var{Contexte} peut être omis (c'est généralement
+le cas) quand il n'y a pas d'ambiguïté et qu'il s'agit d'un contexte
+de très bas niveau, comme @code{Voice}, @code{ChordNames}
+ou @code{Lyrics}. Dans les exemples qui suivent, le contexte sera
+très souvent omis. Nous verrons plus tard dans quelles
+circonstances il doit impérativement être indiqué.
+
+Les sections ci-dessous traitent largement des propriétés et de leurs
+valeurs mais, pour illustrer la mise en forme et l'utilisation de ces
+commandes, nous nous limiterons à n'employer que quelques propriétés et
+valeurs simples, facilement compréhensibles.
+
+Nous ne parlerons dans l'immédiat ni du @code{#'}, qui précède
+toujours la propriété, ni du @code{#}, qui précède toujours la
+valeur. Ces deux éléments doivent obligatoirement être
+présents sous cette forme. Voici la commande la plus fréquente
+pour faire des retouches, et pratiquement tout le reste de ce
+chapitre aura pour but montrer, Ã travers des exemples, comment
+l'utiliser. L'exemple ci-dessous change la couleur des têtes de
+notes :
+
+@cindex couleur,exemple de propriété
+@cindex NoteHead, exemple de dérogation
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+c d
+\override NoteHead #'color = #red
+e f g
+\override NoteHead #'color = #green
+a b c
+@end lilypond
-@node Appearance of objects
-@section Appearance of objects
+@strong{La commande \revert}
-@untranslated
+@cindex revert, commande
-@menu
-* Visibility and color of objects::
-* Size of objects::
-* Length and thickness of objects::
-@end menu
+@funindex \revert
+@funindex revert
-@node Visibility and color of objects
-@subsection Visibility and color of objects
+Une fois qu'elle a été modifiée, la propriété conserve sa nouvelle valeur
+jusqu'à ce qu'elle soit à nouveau modifiée ou qu'elle rencontre la
+commande @code{\revert}. La commande @code{\revert} obéit Ã
+la syntaxe ci-dessous et ramène la valeur de la propriété à sa valeur
+d'origine. Attention : dans le cas où plusieurs @code{\override} ont
+été employés, il ne s'agit pas de la valeur précédente mais bien de la
+valeur par défaut.
-@untranslated
+@example
+\revert @var{Contexte}.@var{ObjetDeRendu} #'@var{propriété-de-rendu}
+@end example
-@node Size of objects
-@subsection Size of objects
+Tout comme pour la commande @code{\override}, la mention du
+@var{Contexte} est souvent facultative. Elle sera omise dans de
+nombreux exemples ci-dessous. Voici un exemple qui ramène la
+couleur des deux dernières notes à leur valeur par défaut :
+
+@cindex couleur,exemple de propriété
+@cindex NoteHead, exemple de dérogation
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+c d
+\override NoteHead #'color = #red
+e f g
+\override NoteHead #'color = #green
+a
+\revert NoteHead #'color
+b c
+@end lilypond
-@untranslated
+@strong{Le préfixe \once}
-@node Length and thickness of objects
-@subsection Length and thickness of objects
+@funindex \once
+@funindex once
-@untranslated
+Les commandes @code{\override} et @code{\set} peuvent supporter
+toutes les deux le préfixe @code{\once}. Celui-ci a pour fonction de
+n'appliquer la commande @code{\override} ou @code{\set} qu'Ã
+l'instant musical en cours, avant que la propriété ne reprenne
+sa valeur par défaut. Toujours à partir du même exemple, il est
+possible de ne changer la couleur que d'une seule note :
-@node Placement of objects
-@section Placement of objects
+@cindex couleur,exemple de propriété
+@cindex NoteHead, exemple de dérogation
-@untranslated
+@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+c d
+\once \override NoteHead #'color = #red
+e f g
+\once \override NoteHead #'color = #green
+a b c
+@end lilypond
-@menu
-* Automatic behavior::
-* Within-staff objects::
-* Outside staff objects::
-@end menu
+@strong{La commande \overrideProperty}
-@node Automatic behavior
-@subsection Automatic behavior
+@cindex overrideProperty, commande
-@untranslated
+@funindex \overrideProperty
+@funindex overrideProperty
-@node Within-staff objects
-@subsection Within-staff objects
+Il existe une autre forme de commande @code{\override},
+@code{\overrideProperty}, qui est parfois utile. Nous la mentionnons
+ici par souci d'exhaustivité ; pour le détail, voir @ruser{Difficult tweaks}.
-@untranslated
+@c Maybe explain in a later iteration -td
-@node Outside staff objects
-@subsection Outside staff objects
+@strong{La commande \tweak}
-@untranslated
+@cindex tweak, commande
+@funindex \tweak
+@funindex tweak
-@node Collisions of objects
-@section Collisions of objects
+La dernière commande disponible pour les retouches est
+@code{\tweak}. Elle sert à changer les propriétés d'objets qui
+surviennent simultanément dans la musique, comme par exemple les
+notes d'un accord. La commande @code{\override} modifierait toutes
+les notes de l'accord, tandis que @code{\tweak} ne modifie que
+l'élément suivant dans la chaîne de saisie.
+Voici un exemple. Supposons que nous voulions changer la taille de
+la tête de note du milieu (le mi) dans un accord de do majeur. Voyons
+d'abord ce que donnerait @code{\once \override} :
-@menu
-* Moving objects::
-* Fixing overlapping notation::
-* Real music example::
-@end menu
+@cindex font-size, exemple de propriété
+@cindex NoteHead, exemple de dérogation
-@node Moving objects
-@subsection Moving objects
+@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+<c e g>4
+\once \override NoteHead #'font-size = #-3
+<c e g>
+<c e g>
+@end lilypond
-Aussi surprenant que cela puisse paraître, LilyPond n'est pas parfait.
-Certains éléments sur la partition peuvent se chevaucher, ce qui est
-regrettable mais, le plus souvent, facile à corriger.
+Nous voyons que @code{\override} modifie @emph{toutes} les têtes
+de notes de l'accord, car toutes les notes de l'accord surviennent au
+même @emph{instant musical} et que la fonction de @code{\once}
+est de faire porter la modification sur tous les objets du type spécifié
+qui surviennent au même instant musical, comme le fait la commande
+@code{\override} elle-même.
+
+La commande @code{\tweak} opère différemment. Elle agit
+sur l'élément immédiatement suivant dans la chaîne de saisie. Elle ne
+fonctionne toutefois que sur des objets créés directement à partir de
+la chaîne de saisie, c'est-à -dire essentiellement des têtes de notes et
+des articulations ; des objets comme les hampes ou les
+altérations accidentelles sont créés ultérieurement et ne peuvent
+être retouchés de cette manière. En outre, quand la retouche porte
+sur une tête de note, celle-ci @emph{doit} appartenir à un accord,
+c'est-à -dire être comprise à l'intérieur de chevrons gauche/droite. Pour
+retoucher une note isolée, il faut donc placer la commande
+@code{\tweak} avec la note à l'intérieur des chevrons gauche/droite.
+
+Pour reprendre notre exemple, la taille de la note du milieu d'un
+accord peut être modifiée de cette manière :
+
+@cindex font-size, exemple de propriété
+@cindex @code{\tweak}, exemple
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+<c e g>4
+<c \tweak #'font-size #-3 e g>4
+@end lilypond
-@c FIXME: find a better example for 5.1 Moving Objects. -gp
-@c yes, I want this TODO to be visible to end-users. It's better
-@c than having nothing at all.
-À FAIRE : les modifications de la gestion des espacements de la version 2.12
-feront perdre leur pertinence aux exemples suivants. Ils démontrent cependant
-la puissance de LilyPond, et justifient à ce titre leur présence dans
-ces lignes, tant que d'autres exemples n'auront pas été proposés.
+Vous noterez que la syntaxe de @code{\tweak} est différente de
+celle de la commande @code{\override}. Ni le contexte,
+ni l'objet n'ont besoin d'être spécifiés ; au contraire, cela
+produirait une erreur si on le faisait. Tous deux sont sous-entendus
+par l'élément suivant dans la chaîne de saisie. La syntaxe générale
+de la commande @code{\tweak} est donc, tout simplement :
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
- % temporary code to break this example:
- \override TextScript #'outside-staff-priority = ##f
-e4^\markup{ \italic ritenuto } g b e
-@end lilypond
+@example
+\tweak #'@var{propriété-de-rendu} = #@var{valeur}
+@end example
-@cindex padding
+La commande @code{\tweak} est aussi utilisée quand on veut, dans
+une série d'articulations, n'en modifier qu'une seule. Ainsi :
-Le plus simple est ici d'augmenter la distance entre l'objet (du
-texte comme ici, ou bien des nuances ou des doigtés) et la note.
-Dans LilyPond, il s'agit de la propriété @code{padding}, qui
-se mesure en espaces relatifs à la taille de la portée. Pour la plupart
-des objets (chacun ayant sa propre valeur), elle est définie à 1.0, ou
-un peu moins. Nous voulons ici l'augmenter : essayons 1.5.
+@cindex couleur, exemple de propriété
+@cindex @code{\tweak}, exemple
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
- % temporary code to break this example:
- \override TextScript #'outside-staff-priority = ##f
-\once \override TextScript #'padding = #1.5
-e4^\markup{ \italic ritenuto } g b e
+a ^Black
+ -\tweak #'color #red ^Red
+ -\tweak #'color #green _Green
@end lilypond
+@noindent
+Attention : la commande @code{\tweak} doit être précédée d'une
+marque d'articulation, comme si elle-même était une articulation.
+
+@cindex nolets imbriqués
+@cindex triolets imbriqués
+@cindex crochet de nolet
+@cindex nolet, crochet
+@cindex triolet, crochet
+
+@funindex TupletBracket
+
+Quand plusieurs nolets sont imbriqués et commencent au même instant
+musical, c'est encore la commande @code{\tweak} qui est utilisée pour
+changer l'apparence de l'un d'entre eux. Dans l'exemple suivant, le
+long crochet de nolet et le premier des trois crochets courts commencent
+au même instant musical ; une commande @code{\override} s'appliquerait
+donc à la fois aux deux. En revanche, @code{\tweak} permet
+de les dissocier. La première commande @code{\tweak} indique que
+le long crochet doit être placé au-dessus des notes, et la seconde
+indique que le coefficient de nolet doit être imprimé en rouge sur le
+premier crochet de triolet court.
+
+@cindex @code{\tweak}, exemple
+@cindex direction, exemple de propriété
+@cindex couleur, exemple de propriété
+
+@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
+\tweak #'direction #up
+\times 4/3 {
+ \tweak #'color #red
+ \times 2/3 { c8[ c8 c8] }
+ \times 2/3 { c8[ c8 c8] }
+ \times 2/3 { c8[ c8 c8] }
+}
+@end lilypond
-C'est déjà mieux ! Mais on peut certainement encore améliorer le résultat.
-Il nous semble, après plusieurs essais, que la meilleure valeur
-dans ce cas soit 2.3. Toutefois, ce constat est le fruit
-d'expérimentations et de goût personnel en matière de notation.
-Essayez le même exemple avec 2.3... mais également avec
-des valeurs plus grandes (ou plus petites).
-À votre avis, quelle est la meilleure version ?
+Si les nolets imbriqués ne commencent pas au même moment,
+leur apparence peut alors être modifiée de la façon habituelle,
+avec la commande @code{\override} :
+
+@cindex texte, exemple de propriété
+@cindex tuplet-number, example de fonction
+@cindex transparence, example de propriété
+@cindex TupletNumber, exemple de dérogation
+
+@c NOTE Tuplet brackets collide if notes are high on staff
+@c See issue 509
+@lilypond[quote,ragged-right,verbatim,fragment,relative=1]
+\times 2/3 { c8[ c c]}
+\once \override TupletNumber
+ #'text = #tuplet-number::calc-fraction-text
+\times 2/3 {
+ c[ c]
+ c[ c]
+ \once \override TupletNumber #'transparent = ##t
+ \times 2/3 { c8[ c c] }
+\times 2/3 { c8[ c c]}
+}
+@end lilypond
+@seealso
+Manuel de notation :
+@ruser{The tweak command}.
-La propriété @code{staff-padding} est de nature similaire.
-@code{padding} détermine l'espace minimum entre un objet et l'objet
-le plus proche (le plus souvent une note ou les lignes de la portée) ;
-@code{staff-padding} détermine pour sa part l'espace minimum entre
-un objet et la portée. La différence est subtile, mais vous apparaîtra
-clairement ici :
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
- % temporary code to break this example:
- \override TextScript #'outside-staff-priority = ##f
-c4^"piu mosso" b a b
-\once \override TextScript #'padding = #4.6
-c4^"piu mosso" d e f
-\once \override TextScript #'staff-padding = #4.6
-c4^"piu mosso" fis a g
-\break
-c'4^"piu mosso" b a b
-\once \override TextScript #'padding = #4.6
-c4^"piu mosso" d e f
-\once \override TextScript #'staff-padding = #4.6
-c4^"piu mosso" fis a g
-@end lilypond
-
-@cindex extra-offset
-
-Une autre démarche permet de contrôler totalement la position d'un
-objet --- on peut le déplacer horizontalement ou verticalement. Il
-suffit d'avoir recours à la propriété @code{extra-offset}. En fait
-c'est une méthode plus complexe, qui peut en outre poser des
-problèmes. Quand on déplace un objet à l'aide de @code{extra-offset},
-le déplacement est effectué après que LilyPond a placé tous les autres
-objets. Par conséquent, l'objet ainsi déplacé peut venir
-recouvrir d'autres objets déjà placés.
+@node The Internals Reference manual
+@section The Internals Reference manual
+@cindex Références internes
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
- % temporary code to break this example:
- \override TextScript #'outside-staff-priority = ##f
-\once \override TextScript #'extra-offset = #'( 1.0 . -1.0 )
-e4^\markup{ \italic ritenuto } g b e
-@end lilypond
+@menu
+* Properties of layout objects::
+* Properties found in interfaces::
+* Types of properties::
+@end menu
-Lorsqu'on utilise @code{extra-offset}, le premier nombre décrit le
-déplacement horizontal (négatif pour un déplacement vers la gauche)
-tandis que le deuxième décrit un déplacement vertical (positif
-pour le haut). Après quelques essais, on peut choisir les valeurs suivantes
-qui semblent donner un résultat satisfaisant.
+@node Properties of layout objects
+@subsection Properties of layout objects
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
- % temporary code to break this example:
- \override TextScript #'outside-staff-priority = ##f
-\once \override TextScript #'extra-offset = #'( -1.6 . 1.0 )
-e4^\markup{ \italic ritenuto } g b e
+@cindex propriétés des objets de rendu
+@cindex propriétés des objets graphiques (grobs)
+@cindex grobs, propriétés
+@cindex objets de rendu, propriétés
+@cindex Manuel des références internes
+
+Imaginons que votre partition contienne une liaison trop fine à votre
+goût et que vous vouliez la rendre plus épaisse. Comment vous y
+prendre ? Vous êtes convaincu, avec tout ce qui a été dit sur la
+souplesse de LilyPond, qu'une telle retouche est réalisable et
+vous vous dites qu'elle fera sans doute intervenir la commande
+@code{\override}. Mais existe-t-il une propriété lourde qui s'applique
+Ã une liaison et, dans l'affirmative, comment faire pour la modifier ?
+C'est là qu'intervient la Référence des propriétés internes.
+Elle contient toutes les informations dont vous avez besoin pour
+construire n'importe quelle commande @code{\override}.
+
+Avant de nous plonger dans la Référence des propriétés
+internes, un mot d'avertissement. Il s'agit d'un document de
+@strong{références}, de sorte qu'il ne contient pas ou peu
+d'explications : son but est de présenter les informations de
+façon précise et concise. Cela peut paraître décourageant
+à première vue. Pas d'inquiétude ! Les conseils et les explications
+fournis ici vous permettent de retrouver par vous-même les
+informations dans la Référence des propriétés internes. Il
+suffit d'un peu de pratique.
+
+@cindex override, exemple
+@cindex dérogation, exemple
+@cindex Références internes, exemple d'utilisation
+@cindex @code{\addlyrics} -- exemple
+
+Prenons un exemple concret tiré d'un morceau de musique connu :
+
+@lilypond[quote,verbatim,relative=2]
+{
+ \time 6/8
+ {
+ r4 b8 b[( g]) g |
+ g[( e]) e d[( f]) a |
+ a g
+ }
+ \addlyrics {
+ The man who feels love's sweet e -- mo -- tion
+ }
+}
@end lilypond
-@noindent
+Admettons que nous voulions rendre les traits de liaison plus épais.
+Est-ce possible ? Une liaison est assurément un objet de rendu, si bien
+que la question est @qq{Existe-t-il une propriété attachée aux liaisons
+et qui en contrôle l'épaisseur ? } Pour y répondre, nous consultons la
+Référence des propriétés internes (ou RPI pour faire court).
+
+Vous trouverez sur le site de LilyPond @uref{http://lilypond.org} la
+RPI correspondant à votre version du programme. Allez sur la page
+Documentation et cliquez sur Référence des propriétés internes.
+Pour l'apprentissage, mieux vaut utiliser la version HTML standard,
+et non la @q{page unique en anglais} ou le PDF. Durant la lecture
+des prochains paragraphes, il vous est conseillé de vous y reporter
+réellement afin que les explications prennent tout leur sens.
+
+En dessous du bandeau d'en-tête figurent cinq liens. Cliquez sur le lien
+vers le @emph{Backend}, où se trouvent les informations sur les
+objets de rendu. En dessous du titre @strong{Backend}, choisissez
+alors le lien vers @emph{Tous les objets de rendu}. La page qui s'ouvre
+énumère, dans l'ordre alphabétique, tous les objets utilisés dans votre
+version de LilyPond. Cliquez sur Liaisons (@emph{Slurs} en anglais),
+et les propriétés des liaisons apparaîtront.
+
+Il existe un autre moyen de trouver cette page, Ã partir du Manuel de
+notation. Une des pages qui traitent des liaisons contient un lien vers
+la Référence des propriétés internes, qui mène directement à cette
+page. Mais lorsque vous connaissez le nom de l'objet à retoucher, le
+plus simple est de consulter la RPI.
+
+La page de la RPI sur les liaisons commence par préciser que les objets
+Liaison sont créés par le graveur Slur_engraver. Vient ensuite la liste
+des réglages standard. Attention : ceux-ci @strong{ne suivent pas} l'ordre
+alphabétique. Il faut donc les parcourir en entier pour trouver la propriété
+susceptible de contrôler l'épaisseur des traits de liaison.
-Une fois encore, c'est après quelques tâtonnements que l'on a abouti Ã
-ces nombres, au regard du résultat final. Si vous souhaitez que
-le texte soit plus haut, plus à gauche, etc. essayez vous-même et choisissez
-aprés avoir regardé le résultat.
+@example
+@code{thickness} (number)
+ @code{1.2}
+ Épaisseur de ligne, généralement mesurée en @code{line-thickness}
+@end example
-Une dernière mise en garde : dans cette section, nous avons eu recours Ã
+Voilà qui semble approprié pour changer l'épaisseur (@emph{thickness} en
+anglais). On apprend que la valeur de @code{thickness}
+est un simple nombre (@emph{number}), qu'elle est par défaut
+à 1,2 et que l'unité de mesure est fixée par une autre propriété
+appelée @code{line-thickness}.
+
+Comme il a été indiqué, on ne trouve que peu, voire pas du tout
+d'explications dans la RPI, mais nous en savons assez pour essayer
+de changer l'épaisseur de la liaison. Comme nous l'avons vu, le
+nom de l'objet est @code{Slur}, le nom de la propriété à changer
+est @code{thickness} et la nouvelle valeur sera un nombre supérieur
+à 1.2 si l'on veut augmenter l'épaisseur du trait.
+
+Pour construire la commande @code{\override}, il suffit donc de
+remplacer les valeurs que nous avons trouvées en guise de noms, en
+laissant de côté le contexte. Commençons par une valeur très élevée
+dans un premier temps, pour nous assurer que la commande fonctionne.
+Nous obtenons :
@example
-\once \override TextScript @dots{}
+\override Slur #'thickness = #5.0
@end example
-ce qui permet de régler le placement du texte pour la note suivante.
-Mais si cette note n'a pas de texte, le réglage ne s'appliquera pas
-et n'attendra @strong{pas} le prochain texte. Pour que ce comportement
-persiste après la commande, ne mettez pas @code{\once}. Votre réglage
-s'appliquera alors partout, jusqu'Ã ce que vous l'annuliez au moyen de
-la commande @code{\revert}. Ceci est expliqué en détail dans
-@ruser{The \override command}.
+N'oublions pas le @code{#'} qui doit précéder le nom de la propriété et
+le @code{#} qui doit précéder la nouvelle valeur.
+
+La dernière question est : @qq{Où placer cette commande ?}
+Tant qu'on n'est pas sûr de soi, la meilleure réponse est @qq{À
+l'intérieur de l'expression musicale, avant la première liaison et
+proche d'elle.} Essayons :
+
+@cindex Slur, exemple de dérogation
+@cindex thickness, exemple de propriété
+
+@lilypond[quote,verbatim,relative=2]
+{
+ \time 6/8
+ {
+ % Increase thickness of all following slurs from 1.2 to 5.0
+ \override Slur #'thickness = #5.0
+ r4 b8 b[( g]) g |
+ g[( e]) e d[( f]) a |
+ a g
+ }
+ \addlyrics {
+ The man who feels love's sweet e -- mo -- tion
+ }
+}
+@end lilypond
-@lilypond[quote,fragment,ragged-right,verbatim,relative=3]
- % temporary code to break this example:
- \override TextScript #'outside-staff-priority = ##f
-c4^"piu mosso" b
-\once \override TextScript #'padding = #4.6
- a4 b
-c4^"piu mosso" d e f
-\once \override TextScript #'padding = #4.6
-c4^"piu mosso" d e f
-c4^"piu mosso" d e f
-\break
-\override TextScript #'padding = #4.6
-c4^"piu mosso" d e f
-c4^"piu mosso" d e f
-\revert TextScript #'padding
-c4^"piu mosso" d e f
-@end lilypond
+@noindent
+et nous constatons que le trait de liaison est beaucoup plus épais.
+
+Telle est la façon normale de construire les commandes
+@code{\override}. Comme nous aurons l'occasion de le voir
+par la suite, le problème est parfois plus complexe. Dans
+l'immédiat, nous en savons assez pour construire nos propres
+commandes -- mais il faut encore s'exercer. Les exemples
+suivants sont là dans cette intention.
+
+@subheading Finding the context
+
+@cindex contexte, détermination du
+@cindex contexte, identification correcte du
+
+Tout d'abord, de quoi avions-nous besoin pour préciser le
+contexte ? À quoi devait-il ressembler ? Gageons que les
+liaisons appartiennent au contexte Voix, dans la mesure où
+elles sont étroitement liées à une ligne mélodique, mais
+comment en être sûr ? Pour répondre à cette question,
+revenons en haut de la page de la RPI consacrée aux liaisons ;
+il est écrit : @q{Les objets Liaison sont créés par le graveur
+Slur_engraver}. Ainsi les liaisons seront créées dans n'importe
+quel contexte où se trouve le @code{Slur_engraver}. Suivons
+le lien vers la page @code{Slur_engraver}. Tout en bas, on
+lit que le @code{Slur_engraver} est un élément appartenant
+Ã cinq contextes Voix, dont le contexte de voix
+standard, @code{Voice}. Notre hypothèse était donc juste.
+Et parce que @code{Voice} est un contexte de très bas
+niveau, qu'il est activé sans ambiguïté par le fait que l'on est
+en train de saisir des notes, on peut ici ne pas le mentionner.
+
+@subheading Overriding once only
+
+@cindex dérogation pour une seule fois
+@cindex usage unique, dérogation Ã
+
+@funindex \once
+@funindex once
+
+Dans le dernier exemple ci-dessus, @emph{toutes} les liaisons étaient plus
+épaisses. Et si on veut épaissir uniquement la première liaison ? On
+recourt alors à la commande @code{\once}. Placée juste avant la commande
+@code{\override}, elle lui indique de ne changer que la liaison commençant
+avec la note @strong{juste après}. Si la note juste après n'ouvre pas une
+liaison, la commande sera sans aucun effet -- elle ne reste pas en mémoire
+jusqu'à la prochaine liaison, elle est purement et simplement ignorée.
+Il faut donc que la commande introduite par @code{\once} soit insérée
+comme suit :
+
+
+@cindex Slur, exemple de dérogation
+@cindex thickness, exemple de propriété
+@cindex Liaison, exemple de dérogation
+@cindex Épaisseur, exemple de propriété
+
+@lilypond[quote,verbatim,relative=2]
+{
+ \time 6/8
+ {
+ r4 b8
+ % Increase thickness of immediately following slur only
+ \once \override Slur #'thickness = #5.0
+ b[( g]) g |
+ g[( e]) e d[( f]) a |
+ a g
+ }
+ \addlyrics {
+ The man who feels love's sweet e -- mo -- tion
+ }
+}
+@end lilypond
-@seealso
+@noindent
+Alors seule la première liaison est rendue plus épaisse.
+
+La commande @code{\once} peut aussi être utilisée devant la commande
+@code{\set}.
+
+
+@subheading Reverting
+
+@cindex revert
+@cindex retour
+@cindex défaut, retour aux propriétés par
+
+@funindex \revert
+@funindex revert
+
+Et si l'on voulait que les deux premières liaisons soient plus épaisses ?
+On pourrait bien sûr utiliser deux commandes, chacune précédée de
+@code{\once}, et placées juste avant la note par laquelle débute la
+liaison :
+
+
+@cindex Slur, exemple de dérogation
+@cindex thickness, exemple de propriété
+@cindex Liaison, exemple de dérogation
+@cindex Épaisseur, exemple de propriété
+
+@lilypond[quote,verbatim,relative=2]
+{
+ \time 6/8
+ {
+ r4 b8
+ % Increase thickness of immediately following slur only
+ \once \override Slur #'thickness = #5.0
+ b[( g]) g |
+ % Increase thickness of immediately following slur only
+ \once \override Slur #'thickness = #5.0
+ g[( e]) e d[( f]) a |
+ a g
+ }
+ \addlyrics {
+ The man who feels love's sweet e -- mo -- tion
+ }
+}
+@end lilypond
-Dans ce même manuel : @ruser{The \override command}, @ref{Common tweaks}.
+@noindent
+mais on peut aussi, au lieu de la commande @code{\once}, utiliser après
+la seconde liaison la commande @code{\revert}, qui ramène la propriété
+@code{thickness} à sa valeur par défaut .
+
+@cindex Slur, exemple de dérogation
+@cindex thickness, exemple de propriété
+@cindex Liaison, exemple de dérogation
+@cindex Épaisseur, exemple de propriété
+
+@lilypond[quote,verbatim,relative=2]
+{
+ \time 6/8
+ {
+ r4 b8
+ % Increase thickness of all following slurs from 1.2 to 5.0
+ \override Slur #'thickness = #5.0
+ b[( g]) g |
+ g[( e])
+ % Revert thickness of all following slurs to default of 1.2
+ \revert Slur #'thickness
+ e d[( f]) a |
+ a g
+ }
+ \addlyrics {
+ The man who feels love's sweet e -- mo -- tion
+ }
+}
+@end lilypond
+@noindent
+N'importe quelle propriété modifiée par @code{\override} peut ainsi
+être ramenée, grâce à la commande @code{\revert}, à sa valeur par
+défaut.
+
+Ici s'achève notre introduction à la RPI et aux retouches
+simples. Vous trouverez d'autres exemples dans les prochaines
+sections de ce chapitre ; ils vous permettront, d'une part,
+d'apprendre à connaître un peu mieux la RPI et, d'autre part, de
+vous entraîner un peu plus à y chercher les informations. Ces
+exemples seront progressivement accompagnés d'explications et
+introduiront des termes nouveaux.
+
+@node Properties found in interfaces
+@subsection Properties found in interfaces
-@node Fixing overlapping notation
-@subsection Fixing overlapping notation
+@cindex interface
+@cindex interfaces, propriétés des
+@cindex propriétés des interfaces
+
+Supposons maintenant que nous voulions imprimer des paroles en italique.
+Quelle formulation de la commande @code{\override} allons-nous utiliser ?
+Nous consultons en premier lieu, comme précédemment, la page de la RPI
+qui contient la liste @q{Tous les objets de rendu}, et recherchons
+un objet qui contrôle les paroles. Nous trouvons @code{LyricText}, qui
+semble approprié. Nous cliquons dessus et nous voyons apparaître les
+différentes propriétés des paroles, parmi lesquelles @code{font-series}
+et @code{font-size}. Mais aucune ne propose l'italique. Car la mise
+en forme des caractères est une propriété commune à tous les objets
+d'écriture, si bien que, au lieu de figurer dans tous les objets de rendu,
+elle est regroupée avec d'autres propriétés semblables et placée dans une
+@strong{Interface}, la @code{font-interface}.
+
+Il nous faut donc apprendre à trouver les propriétés des interfaces
+et découvrir les objets qui utilisent les propriétés de ces interfaces.
+
+Retournons à la page de la RPI qui traite des paroles
+(@emph{LyricText}). En bas de la page est dressée sous forme de liens
+la liste des interfaces qui concernent LyricText. Cette liste comporte
+plusieurs entrées, dont @code{font-interface}. En cliquant dessus, nous
+voyons apparaître les différentes propriétés associées à cette
+interface, qui sont en même temps les propriétés de tous les objets qui
+s'y rapportent, parmi lesquels LyricText.
+
+Nous avons alors sous les yeux tous les réglages de propriétés qui
+contrôlent les polices de caractères, et notamment
+@code{font-shape(symbole)}, où @code{symbole} peut prendre la valeur
+@code{upright}, @code{italics} ou @code{caps}.
+
+Vous remarquerez que @code{font-series} et @code{font-size} figurent
+aussi dans la liste. La question qui ne manque pas de se poser est :
+@qq{Comment se fait-il que les propriétés @code{font-series} et
+@code{font-size} se retrouvent à la fois dans @code{LyricText} et dans
+l'interface @code{font-interface} alors que ce n'est pas le cas pour
+@code{font-shape} ?} La réponse est que lorsqu'un objet @code{LyricText}
+est créé, les valeurs globales par défaut de @code{font-series} et
+@code{font-size} sont modifiées, mais pas celles de @code{font-shape}.
+Les possibilités de modification dans @code{LyricText} ne concernent
+donc que les valeurs à appliquer à @code{LyricText}. Les autres objets qui
+dépendent de @code{font-interface} fixeront leurs propriétés différemment
+lorsqu'ils seront créés.
+
+Voyons maintenant si nous sommes en mesure de formuler la commande
+@code{\override} pour mettre les paroles en italique. L'objet est
+@code{LyricText}, la propriété est @code{font-shape} et la valeur est
+@code{italic}. Comme auparavant, nous laissons de côté le contexte.
+
+Signalons rapidement -- même si cette remarque est importante -- que,
+puisque les valeurs de @code{font-shape} se présentent sous forme de
+symboles, elles doivent être précédées d'une simple apostrophe,
+@code{'}. C'est pour cette raison qu'il fallait une apostrophe devant
+@code{thickness} dans l'exemple précédent, et qu'il en faut une devant
+@code{font-shape}. Ce sont à chaque fois des symboles, qui sont
+interprétés comme tels par LilyPond. Certains symboles peuvent être des
+noms de propriété, comme @code{thickness} ou @code{font-shape},
+d'autres sont des valeurs à attribuer aux propriétés, comme
+@code{italic}. À ne pas confondre avec les chaînes de caractères libres,
+qui se présentent comme @code{"un texte libre"} ; pour plus de détails
+sur les symboles et les chaînes de caractères, voir @ref{Scheme
+tutorial}.
+
+Ainsi, la commande @code{\override} pour mettre les paroles en italique
+est :
-Dans la section @ref{Moving objects}, nous avons vu comment
-déplacer un objet @code{TextScript}. Ce même procédé peut être
-appliqué à d'autres types d'objet : il vous suffira de remplacer
-@code{TextScript} par le nom de l'objet en question.
+@example
+\override LyricText #'font-shape = #'italic
+@end example
-Pour trouver cette dénomination, regardez les liens @q{@strong{Voir aussi}}
-en bas des pages de la documentation. Par exemple, en bas de la page
-@ruser{Dynamics}, nous trouvons
+@noindent
+et elle doit être placée juste devant et tout près des paroles à modifier,
+comme ceci :
-@quotation
-@seealso
+@cindex font-shape, exemple de propriété
+@cindex italic, exemple
+@cindex LyricText, exemple de dérogation
+@cindex @code{\addlyrics}, exemple
-Référence du programme : @rinternals{DynamicText}, @rinternals{Hairpin}.
-Le placement vertical de ces symboles est contrôlé par
-@rinternals{DynamicLineSpanner}.
-@end quotation
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+ \time 6/8
+ {
+ r4 b8 b[( g]) g |
+ g[( e]) e d[( f]) a |
+ a g
+ }
+ \addlyrics {
+ \override LyricText #'font-shape = #'italic
+ The man who feels love's sweet e -- mo -- tion
+ }
+}
+@end lilypond
@noindent
+et voilà les paroles en italiques.
+
+@subheading Specifying the context in lyric mode
-Ce qui implique que, pour modifier la hauteur d'une nuance, nous utiliserons
+@cindex contexte, spécification en mode lyrique
+@cindex mode lyrique, spécification de contexte en
+
+Lorsqu'il s'agit de paroles et qu'on cherche à préciser le contexte
+sur le modèle de ce qui a été fait précédemment, la commande échoue.
+Car une syllabe saisie en mode Paroles (lyricmode) se termine
+obligatoirement par une espace, un saut de ligne ou un nombre. Tout
+autre caractère compte comme un élément de la syllabe. C'est pourquoi
+il faut une espace ou un saut de ligne avant le @code{@}} final, pour
+éviter qu'il ne soit assimilé à la dernière syllabe. De même, il faut insérer
+des espaces avant et après le point, @q{.}, qui sépare le nom de
+contexte du nom de l'objet, faute de quoi les deux noms seront joints et
+l'interpréteur ne pourra pas les reconnaître. La formulation correcte est
+donc :
@example
-\override DynamicLineSpanner #'padding = #2.0
+\override Lyrics . LyricText #'font-shape = #'italic
@end example
-Nous ne listerons pas ici tous les types d'objets, mais seulement
-les plus communs :
-
-@multitable @columnfractions .33 .66
-@headitem Type d'objet @tab Nom de l'objet
-@item Nuances (verticalement) @tab @code{DynamicLineSpanner}
-@item Nuances (horizontalement) @tab @code{DynamicText}
-@item Laisons de tenue @tab @code{Tie}
-@item Liaisons @tab @code{Slur}
-@item Indications d'articulation @tab @code{Script}
-@item Doigtés @tab @code{Fingering}
-@item Textes (@code{^"texte"}) @tab @code{TextScript}
-@item Repères @tab @code{RehearsalMark}
-@end multitable
+@warning{Dans la saisie des paroles, pensez à toujours laisser une
+espace entre la dernière syllabe et l'accolade fermante.}
+@warning{Lorsqu'on retouche des paroles, toujours placer des espaces
+autour du point qui sépare le nom de contexte du nom d'objet.}
-@node Real music example
-@subsection Real music example
+@seealso
+Manuel d'initiation : @ref{Scheme tutorial}.
-@untranslated
+@node Types of properties
+@subsection Types of properties
-@c DEPRECATED SECTION
-@node Common tweaks
-@section Common tweaks
-Certains réglages sont si courants que des raccourcis sont fournis
-sous forme de commandes telles que @code{\slurUp} ou @code{\stemDown}.
-Toutes ces commandes sont décrites dans les différentes sections
-de la Référence de notation.
+@cindex propriété, types de
+
+Nous avons vu jusqu'à maintenant deux types de propriétés :
+@code{nombre} et @code{symbol}. Pour pouvoir fonctionner, la valeur
+associée à une propriété doit correspondre au type attendu et suivre les
+règles liées à ce type. Le type de propriété est toujours donné entre
+parenthèses après le nom de propriété dans la RPI. Voici une liste des
+différents types de propriétés, avec les règles qui les régissent et
+quelques exemples d'utilisation. Il faut, bien sûr, toujours ajouter un
+symbole hash, @code{#}, devant ces valeurs lors de la saisie de la
+commande @code{\override}.
+
+@multitable @columnfractions .2 .45 .35
+@headitem Type de propriété
+ @tab Règles
+ @tab Exemples
+@item Booléenne (anglais @emph{Boolean})
+ @tab Vrai (@emph{true} en anglais) ou Faux (@emph{false} en anglais),
+sous la forme #t ou #f
+ @tab @code{#t}, @code{#f}
+@item Dimension (en lignes de portée)
+ @tab Un nombre positif décimal (en unités de lignes de portée)
+ @tab @code{2.5}, @code{0.34}
+@item Direction
+ @tab Une direction valide ou son équivalent numérique (valeur décimale
+comprise entre -1 et 1 seulement)
+ @tab @code{LEFT}, @code{CENTER}, @code{UP}, @code{1}, @code{-1}
+@item Durée (@emph{Moment} en anglais)
+ @tab Une durée de note construite avec la fonction make-moment
+ @tab @code{(ly:make-moment 1 4)}, @code{(ly:make-moment 3 8)}
+@item Entier (@emph{Integer} en anglais)
+ @tab Un nombre entier positif
+ @tab @code{3}, @code{1}
+@item Inconnu (@emph{Unknown} en anglais)
+ @tab Un processus, ou @code{#f} pour empêcher toute action
+ @tab @code{bend::print}, @code{ly:text-interface::print}, @code{#f}
+@item Liste
+ @tab Plusieurs valeurs séparées par une espace, encadrées par des
+parenthèses et prédédées par une apostrophe
+ @tab @code{'(left-edge staff-bar)}, @code{'(1)}, @code{'(1.0 0.25 0.5)}
+@item Markup (ou étiquette)
+ @tab Toute commande @code{\markup} valide
+ @tab @code{\markup @{ \italic "cresc." @}}
+@item Nombre
+ @tab Une valeur décimale positive ou négative
+ @tab @code{3.5}, @code{-2.45}
+@item Paire (de nombres)
+ @tab Deux nombres séparées par @q{espace . espace}, encadrés
+par des parenthèses et précédés par une apostrophe
+ @tab @code{'(2 . 3.5)}, @code{'(0.1 . -3.2)}
+@item Symbole
+ @tab L'un des symboles autorisés pour cette propriété, précédé par une
+apostrophe
+ @tab @code{'italic}, @code{'inside}
+@item Vecteur
+ @tab Une liste de trois éléments encadrés par des parenthèses et
+précédés par apostrophe-hash, @code{'#}
+ @tab @code{'#(#t #t #f)}
+@end multitable
-La liste complète des modifications possibles pour chaque type d'objet
-(tel que liaison ou ligature) se trouve dans la Référence du
-programme. Cependant, certaines propriétés sont communes à de nombreux
-objets, et on peut de ce fait définir quelques réglages génériques.
+@seealso
+Manuel d'initiation : @ref{Scheme tutorial}.
-@itemize @bullet
+@node Appearance of objects
+@section Appearance of objects
-@cindex padding
+Il est temps de mettre en pratique les notions apprises précédemment
+pour modifier l'allure de la partition ; les exemples qui suivent
+montrent l'utilisation des différentes méthodes de retouche.
-@item
-La propriété @code{padding} peut être définie de manière Ã
-accroître (ou décroître) la distance entre les symboles qui se
-placent au-dessus ou au-dessous des notes. Ce qui s'applique Ã
-tous les objets régis par @code{side-position-interface}.
+@menu
+* Visibility and color of objects::
+* Size of objects::
+* Length and thickness of objects::
+@end menu
-@lilypond[quote,fragment,relative=1,verbatim]
-c2\fermata
-\override Script #'padding = #3
-b2\fermata
+
+@node Visibility and color of objects
+@subsection Visibility and color of objects
+
+Dans un but pédagogique, on peut être amené à masquer certains éléments
+d'une partition, que les élèves doivent ensuite compléter. Imaginons,
+par exemple, un exercice dans lequel il faudrait rétablir les barres de
+mesure dans un morceau de musique. En temps normal, les barres de mesure
+s'insèrent automatiquement. Comment faire pour les effacer de la
+partition ?
+
+Avant de nous y attaquer, souvenons-nous que les propriétés d'objets
+sont parfois groupées dans ce qu'on appelle des @emph{interfaces} --
+voir @ref{Properties found in interfaces}. Cela permet de rapprocher
+toutes les propriétés susceptibles d'être utilisées ensemble pour
+modifier un objet graphique -- si l'une d'elles est choisie pour un
+objet, elle s'appliquera à tous les autres. Certains objets tirent
+alors leurs propriétés de telle ou telle interface, d'autres objets de
+telle ou telle autre interface. La liste des interfaces qui contiennent
+les propriétés liées à un objet graphique (@emph{grob}) figure dans la
+RPI, en bas de la page de description du @emph{grob} ; pour voir ces
+propriétés, il faut aller voir ces interfaces.
+
+Nous avons vu, dans @ref{Properties of layout objects}, comment trouver
+les informations sur les @emph{grobs}. Nous procédons de la même manière
+et consultons la RPI pour connaître l'objet chargé d'imprimer les barres
+de mesure. En cliquant sur @emph{Backend} puis sur @emph{Tous les
+objets de rendu}, nous trouvons un objet appelé @code{BarLine}. Parmi
+ses propriétés, deux d'entre elles déterminent son aspect visuel :
+@code{break-visibility} et @code{stencil}. L'objet @code{BarLine}
+est également lié à plusieurs interfaces, dont la @code{grob-interface}
+où figurent les propriétés @code{transparent} et @code{color}. Toutes
+peuvent modifier l'aspect visuel des barres de mesure -- et de beaucoup
+d'autres objets, bien sûr. Examinons chacune d'elles tour à tour.
+
+@subheading stencil
+
+@cindex stencil, propriété
+
+Cette propriété contrôle l'apparence des barres de mesure en précisant
+le type de symbole (glyphe) Ã imprimer. Comme pour de nombreuses
+autres propriétés, on peut lui indiquer de ne rien imprimer en lui
+attribuant la valeur @code{#f}. Essayons en laissant de côté, une fois
+encore, le contexte concerné (@code{Voice} en l'occurrence) :
+
+@cindex BarLine, exemple de dérogation
+@cindex stencil, exemple de propriété
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+ \time 12/16
+ \override BarLine #'stencil = ##f
+ c4 b8 c d16 c d8 |
+ g, a16 b8 c d4 e16 |
+ e8
+}
@end lilypond
-@lilypond[quote,fragment,relative=1,verbatim]
-% This will not work, see below:
-\override MetronomeMark #'padding = #3
-\tempo 4=120
-c1
-% This works:
-\override Score.MetronomeMark #'padding = #3
-\tempo 4=80
-d1
+Les barres de mesure sont encore là ! Pourquoi ? Retournons à la RPI
+et regardons de nouveau la page qui traite des propriétés de BarLine.
+En haut de la page, il est précisé que @qq{Les objets BarLine sont créés
+par le graveur Bar_engraver}. Allons à la page de @code{Bar_engraver}.
+Tout en bas se trouve la liste des contextes dans lesquels fonctionne ce
+graveur. Tous sont du type @code{Staff}, de sorte que, si la commande
+@code{\override} n'a pas fonctionné comme prévu, c'est parce que
+@code{Barline} n'appartient pas au contexte par défaut, @code{Voice}.
+Si le contexte spécifié est erroné, la commande ne fonctionne pas. Cela
+n'entraîne pas de message d'erreur, et rien n'apparaît sur le fichier log.
+Essayons de corriger en mentionnant le bon contexte :
+
+@cindex BarLine, exemple de dérogation
+@cindex stencil, exemple de propriété
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+ \time 12/16
+ \override Staff.BarLine #'stencil = ##f
+ c4 b8 c d16 c d8 |
+ g, a16 b8 c d4 e16 |
+ e8
+}
@end lilypond
-Notez, dans le second exemple, l'importance de savoir à quel contexte
-correspond l'objet. Dans la mesure où l'objet @code{MetronomeMark}
-appartient au contexte @code{Score}, ses modifications affectées au
-contexte @code{Voice} ne l'affecteront pas. Pour plus de détails, voir
-@ruser{Constructing a tweak}.
+Cette fois, les barres de mesure ont disparu.
-@cindex extra-offset
+@subheading break-visibility
-@item
-La propriété @code{extra-offset} permet de déplacer latéralement et
-verticalement ; c'est pourquoi elle requiert deux nombres. Le premier
-affecte le placement horizontal (un nombre positif déplace l'objet
-vers la droite) ; le second le placement vertical (un nombre positif
-déplace l'objet vers le haut). Cette propriété est de bas niveau : le
-moteur de formatage ne tient aucun compte des placements qu'elle induit.
+@cindex break-visibility, propriété
-Dans l'exemple suivant, le second doigté est déplacé un peu vers la gauche, et
-plus bas de 1.8 espaces :
+La RPI mentionne, à la page sur @code{BarLine}, que la propriété
+@code{break-visibility} attend comme argument un vecteur de trois
+boléens. Ceux-ci indiquent respectivement si les barres de mesure
+doivent être imprimées ou non à la fin de la ligne, à l'intérieur de la
+ligne et au début de la ligne. Dans notre cas, nous voulons que toutes
+les barres soient supprimées, si bien que la valeur dont nous avons
+besoin est @code{'#(#f@tie{}#f@tie{}#f)}. Essayons, sans oublier
+d'ajouter le contexte @code{Staff}. Vous remarquerez que, en plus de
+cette valeur, nous ajoutons @code{#'#} devant la parenthèse ouvrante.
+Le @code{'#} est nécessaire car il fait partie intégrante de la valeur
+contenant un vecteur, et le premier @code{#} est là , comme toujours avec
+la commande @code{\override}, pour introduire la valeur elle-même.
-@lilypond[quote,fragment,relative=1,verbatim]
-\stemUp
-f-5
-\once \override Fingering
- #'extra-offset = #'(-0.3 . -1.8)
-f-5
+@cindex BarLine, example of overriding
+@cindex break-visibility property, example
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+ \time 12/16
+ \override Staff.BarLine #'break-visibility = #'#(#f #f #f)
+ c4 b8 c d16 c d8 |
+ g, a16 b8 c d4 e16 |
+ e8
+}
@end lilypond
-@item
-La propriété @code{transparent} imprime les objets avec de
-l'@q{encre invisible} : l'objet n'est pas visible, mais tous
-les comportement le concernant s'appliquent quand même. Il occupe
-une certaine place, intervient dans la gestion des collisions, et on
-peut lui attacher des liaisons ou des ligatures.
-
-@cindex transparents, objets
-@cindex suppression d'objets
-@cindex masquage d'objets
-@cindex invisibles, objets
-
-L'exemple suivant montre comment tenir des notes entre différentes voix,
-au moyen de liaisons. Ces liaisons de tenue, en principe, ne peuvent relier
-que deux notes d'une même voix. On introduit donc la liaison dans une
-autre voix :
+Comme on peut le constater, cette solution-là aussi supprime les barres
+de mesure.
-@lilypond[quote,fragment,relative=2]
-<< {
- b8~ b8\noBeam
-} \\ {
- b[ g8]
-} >>
+@subheading transparent
+
+@cindex transparent, propriété
+@cindex transparence
+
+La RPI mentionne, à la page sur @code{grob-interface}, que la propriété
+@code{transparent} attend comme argument un boléen. Il faudrait donc
+mettre @code{#t} pour rendre l'objet transparent. Dans cet exemple,
+essayons de rendre transparente la métrique (@emph{time signature} en
+anglais) plutôt que les barres de mesure. Pour cela, il nous faut
+trouver le nom du @emph{grob} chargé de l'indication de mesure. De
+retour sur la page @q{Tous les objets de rendu} de la RPI, nous
+cherchons les propriétés de l'objet @code{TimeSignature}. Celui-ci est
+géré par le graveur @code{Time_signature_engraver} qui, comme vous
+pouvez le constater, appartient au contexte @code{Staff} et peut se
+rattacher à la @code{grob-interface}. Dans ces conditions, la commande
+pour rendre la métrique transparente est :
+
+@cindex TimeSignature, exemple de dérogation
+@cindex transparent, exemple de propriété
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+ \time 12/16
+ \override Staff.TimeSignature #'transparent = ##t
+ c4 b8 c d16 c d8 |
+ g, a16 b8 c d4 e16 |
+ e8
+}
@end lilypond
@noindent
-et on efface la première croche (hampe vers le haut) de ladite voix ;
-maintenant la liaison semble passer d'une voix à l'autre :
+La métrique a bien disparu mais la commande a laissé un blanc en lieu et
+place du chiffrage. Ce peut être souhaitable dans le cadre d'un
+exercice, afin que les élèves aient la place à compléter, mais dans
+d'autres circonstances, ce peut être gênant. Pour y remédier,
+attribuons plutôt au stencil des métriques la valeur @code{#f} :
+@cindex TimeSignature, exemple de dérogation
+@cindex stencil, exemple de propriété
-@lilypond[quote,fragment,relative=2,verbatim]
-<< {
- \once \override Stem #'transparent = ##t
- b8~ b8\noBeam
-} \\ {
- b[ g8]
-} >>
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+ \time 12/16
+ \override Staff.TimeSignature #'stencil = ##f
+ c4 b8 c d16 c d8 |
+ g, a16 b8 c d4 e16 |
+ e8
+}
@end lilypond
-Pour s'assurer que le crochet de la hampe que nous avons effacée ne
-raccourcira pas la liaison, nous allons également rallonger cette hampe,
-en attribuant à la propriété @code{length} la valeur @code{8} :
+@noindent
+La différence est flagrante : le fait d'attribuer au stencil la valeur
+@code{#f} supprime totalement l'objet, tandis que le fait de le rendre
+@code{transparent} le laisse en place, mais de façon invisible.
+
+@subheading color
+
+@cindex color, propriété
+
+Essayons enfin de rendre les barres de mesure invisibles en les colorant
+en blanc. La difficulté est de savoir si les barres blanches vont
+couper ou non les lignes de la portée aux endroits où elles se
+croisent. Vous verrez dans les exemples ci-dessous que cela peut se
+produire, sans qu'on le sache à l'avance. Les explications de ce
+phénomène et les solutions pour y remédier sont exposées dans
+@ruser{Painting objects white}. Pour le moment, acceptons cet
+inconvénient et concentrons-nous sur l'apprentissage de la gestion des
+couleurs.
+
+La @code{grob-interface} indique que la valeur de la propriété
+@code{color} est une liste, sans plus d'explication. En fait, cette
+liste est une liste de valeurs en unités internes ; pour éviter d'avoir
+à chercher ce qu'il faut y mettre, il existe différents moyens
+d'indiquer la couleur. Le premier moyen consiste à utiliser l'une des
+couleurs @emph{normales} de la première @ruser{List of colors}. Pour
+mettre les barres de mesure en blanc, on écrit :
+
+@cindex BarLine, exemple de dérogation
+@cindex color, exemple de propriété
-@lilypond[quote,fragment,relative=2,verbatim]
-<< {
- \once \override Stem #'transparent = ##t
- \once \override Stem #'length = #8
- b8~ b8\noBeam
-} \\ {
- b[ g8]
-} >>
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+ \time 12/16
+ \override Staff.BarLine #'color = #white
+ c4 b8 c d16 c d8 |
+ g, a16 b8 c d4 e16 |
+ e8
+}
@end lilypond
-@end itemize
+@noindent
+et nous constatons que les barres de mesure sont une fois de plus
+invisibles. Attention : aucune apostrophe ne précède @code{white} -- il
+ne s'agit pas d'un symbole mais d'une @emph{fonction}. Quand on
+l'invoque, elle fournit une liste de valeurs internes requises pour
+changer la couleur en blanc. Les autres couleurs aussi, dans la
+@qq{liste normale}, sont des fonctions. Pour en être certain, vous
+pouvez faire l'essai en choisissant une autre fonction de la liste en
+guise de couleur.
-@cindex retouches, distances
-@cindex distances
+@cindex couleur X11
+@cindex X11, couleurs
-Les distances dans LilyPond sont mesurées dans l'unité staff-space
-(espace de portée) tandis que la plupart des propriétés relatives aux
-épaisseurs sont mesurées à l'aide de l'unité line-thickness (épaiseur
-de ligne). Toutefois, certaines d'entre-elles échappent à cette règle
-: par exemple l'épaisseur des liens de croches est mesurée à l'aide de
-l'unité staff-space. Pour de plus amples informations,
-consultez les sections correspondantes de la Référence du programme.
+@funindex x11-color
+Le deuxième moyen de changer la couleur consiste à utiliser la deuxième
+@ruser{List of colors}, dite noms de couleurs X11. Ceux-ci doivent
+obligatoirement être précédés d'une autre fonction, qui convertit les
+noms de couleurs X11 en une liste de valeurs internes, @code{x11-color},
+comme ceci :
-@node Further tweaking
-@section Further tweaking
+@cindex BarLine, exemple de dérogation
+@cindex color, exemple de propriété
-@menu
-* Other uses for tweaks::
-* Using variables for tweaks::
-* Other sources of information::
-* Avoiding tweaks with slower processing::
-* Advanced tweaks with Scheme::
-@end menu
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+ \time 12/16
+ \override Staff.BarLine #'color = #(x11-color 'white)
+ c4 b8 c d16 c d8 |
+ g, a16 b8 c d4 e16 |
+ e8
+}
+@end lilypond
-@node Other uses for tweaks
-@subsection Other uses for tweaks
+@noindent
+Vous noterez que, dans ce cas, la fonction @code{x11-color} admet un
+symbole comme argument ; il faut donc placer une apostrophe devant le
+symbole et insérer les deux à l'intérieur de parenthèses.
-@untranslated
+@cindex rgb, couleur
+@cindex couleurs rgb
-@node Using variables for tweaks
-@subsection Using variables for tweaks
+@funindex rgb-color
-@untranslated
+Il existe une troisième fonction, écrite pour convertir les valeurs RGB
+en couleurs internes -- la fonction @code{rgb-color}. Elle comporte
+trois arguments, donnant respectivement l'intensité du rouge, du vert et
+du bleu. Ces arguments prennent des valeurs comprises entre 0 et 1.
+Ainsi, pour choisir la couleur rouge, la valeur serait
+@code{(rgb-color1 0 0)} ; pour le blanc, ce serait
+@code{(rgb-color 1 1 1)} :
-@node Other sources of information
-@subsection Other sources of information
+@cindex BarLine, exemple de dérogation
+@cindex color, exemple de propriété
-La Référence du programme contient
-beaucoup d'informations sur LilyPond. Cependant vous pouvez en découvrir
-encore plus en consultant les fichiers internes de LilyPond.
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+ \time 12/16
+ \override Staff.BarLine #'color = #(rgb-color 1 1 1)
+ c4 b8 c d16 c d8 |
+ g, a16 b8 c d4 e16 |
+ e8
+}
+@end lilypond
-Des réglages par défaut (tels que les définitions des blocs
-@code{\header@{@}}) sont contenus dans des fichiers @code{.ly}. D'autres
-(comme les définitions des commandes @qq{markup} ) sont contenus dans
-des fichiers @code{.scm} (Scheme). Malheureusement, des explications
-plus complètes dépassent le cadre de ce manuel.
-Les utilisateurs qui souhaiteraient comprendre le fonctionnement de
-ces fichiers de configuration doivent être avertis que des
-connaissances techniques substantielles et beaucoup de temps sont nécessaires.
+Enfin, il existe une échelle de gris parmi les possibilités de couleurs
+X11. Elle va du noir, @code{'grey0}, au blanc, @code{'grey100}, avec
+un pas de 1. Essayons de l'utiliser en attribuant à tous les objets de
+notre exemple différentes nuances de gris :
-@itemize @bullet
+@cindex StaffSymbol, exemple de dérogation
+@cindex TimeSignature, exemple de dérogation
+@cindex Clef, exemple de dérogation
+@cindex NoteHead, exemple de dérogation
+@cindex Stem, exemple de dérogation
+@cindex BarLine, exemple de dérogation
+@cindex color, exemple de propriété
+@cindex x11-color, exemple d'utilisation
-@item Linux : @file{@var{dossierduprogramme}/lilypond/usr/share/lilypond/current/}
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+ \time 12/16
+ \override Staff.StaffSymbol #'color = #(x11-color 'grey30)
+ \override Staff.TimeSignature #'color = #(x11-color 'grey60)
+ \override Staff.Clef #'color = #(x11-color 'grey60)
+ \override Voice.NoteHead #'color = #(x11-color 'grey85)
+ \override Voice.Stem #'color = #(x11-color 'grey85)
+ \override Staff.BarLine #'color = #(x11-color 'grey10)
+ c4 b8 c d16 c d8 |
+ g, a16 b8 c d4 e16 |
+ e8
+}
+@end lilypond
-@item Mac OS X :
-@file{@var{dossierduprogramme}/LilyPond.app/Contents/Resources/share/lilypond/current/}.
-Pour accéder à ce dossier, deux possibilités : soit, dans un Terminal,
-taper @code{cd} suivi du chemin complet ci-dessus ; soit
-Control-cliquer (ou clic droit) sur l'application LilyPond
-et sélectionner @q{Afficher le contenu du paquet}.
+@noindent
+Vous remarquerez le contexte associé à chacun des objets. Une erreur
+sur ce point empêcherait la commande de fonctionner. Souvenez-vous que
+le contexte est celui dans lequel est placé le graveur approprié. Pour
+chaque graveur, on peut trouver son contexte par défaut en partant de
+l'objet lui-même, puis en cherchant le graveur qui le produit ; la page
+du graveur dans la RPI nous indique alors le contexte dans lequel le
+graveur se trouve normalement.
-@item Windows : @file{@var{dossierduprogramme}/LilyPond/usr/share/lilypond/current/}
+@node Size of objects
+@subsection Size of objects
-@end itemize
+@cindex modification de la taille des objets
+@cindex taille d'objets
+@cindex objets, taille
+@cindex objets, modification de taille
-Les répertoires @file{ly/} et @file{scm/} sont tout particulièrement
-intéressants. En effet les fichiers du type
-@file{ly/property-init.ly} ou encore @file{ly/declarations-init.ly}
-déterminent toutes les définitions avancées communes.
+Pour commencer, reprenons l'exemple qui se trouvait dans
+@ref{Nesting music expressions}, qui montrait comment créer une nouvelle
+portée temporaire, du type @rglos{ossia}.
-@node Avoiding tweaks with slower processing
-@subsection Avoiding tweaks with slower processing
+@cindex alignAboveContext, exemple de propriété
+@cindex @code{\with}, exemple
-LilyPond peut effectuer des vérifications supplémentaires lors du
-traitement des fichiers, cependant le rendu nécessitera alors plus de
-temps. En contrepartie, il y aura moins d'ajustements manuels à réaliser.
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\new Staff ="main" {
+ \relative g' {
+ r4 g8 g c4 c8 d |
+ e4 r8
+ <<
+ { f c c }
+ \new Staff \with {
+ alignAboveContext = "main" }
+ { f8 f c }
+ >>
+ r4 |
+ }
+}
+@end lilypond
+
+Normalement, les ossia ne comportent ni clef ni indication de mesure, et
+elles sont imprimées légèrement plus petit que la portée principale.
+Nous avons déjà appris à enlever la clef et la métrique -- il suffit de
+régler le stencil de chacun sur @code{#f}, comme ceci :
+
+@cindex alignAboveContext, exemple de propriété
+@cindex @code{\with}, exemple
+@cindex stencil, exemple de propriété
+@cindex Clef, exemple de dérogation
+@cindex TimeSignature, exemple de dérogation
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\new Staff ="main" {
+ \relative g' {
+ r4 g8 g c4 c8 d |
+ e4 r8
+ <<
+ { f c c }
+ \new Staff \with {
+ alignAboveContext = "main"
+ }
+ {
+ \override Staff.Clef #'stencil = ##f
+ \override Staff.TimeSignature #'stencil = ##f
+ { f8 f c }
+ }
+ >>
+ r4 |
+ }
+}
+@end lilypond
+
+@noindent
+La paire d'accolades ajoutée après la clause @code{\with} est nécessaire
+pour être sûr que les retouches (@code{\override}) ainsi que la musique
+qui se trouvent à l'intérieur soient bien appliquées à la portée
+d'ossia.
+
+Mais alors, quelle différence y a-t-il à modifier le contexte de portée
+au moyen de @code{\with} ou à modifier les stencils de la clef et de la
+métrique avec @code{\override} ? La principale différence est que les
+changements opérés dans une clause @code{\with} sont réalisés au moment
+où le contexte est créé et restent par la suite les valeurs @strong{par
+défaut} aussi longtemps que ce contexte existe, tandis que les commandes
+@code{\set} ou @code{\override} insérées dans la musique sont dynamiques
+-- elles provoquent des changements synchronisés avec un point
+particulier de la musique. Si les changements sont annulés ou
+désactivés par @code{\unset} ou@code{\revert}, les réglages reprennent
+les valeurs par défaut, c'est-à -dire celles qui ont été fixées dans la
+clause @code{\with}, ou, en l'absence de celle-ci, les valeurs par
+défaut normales.
+
+Certaines propriétés de contexte ne peuvent être modifiées que dans une
+clause @code{\with}. Il s'agit des propriétés qu'on ne peut évidemment
+plus changer après que le contexte a été créé. C'est le cas de
+@code{alignAboveContext} et de son pendant, @code{alignBelowContext}
+-- une fois que la portée a été créée, son alignement est décidé et cela
+n'aurait aucun sens de vouloir le modifier par la suite.
+
+Dans une clause @code{\with}, on peut aussi régler les valeurs par
+défaut des propriétés d'un objet. Il suffit d'utiliser la commande
+@code{\override} normale, sans s'occuper du nom de contexte
+puisqu'il ne fait pas de doute qu'il s'agit du contexte en cours de
+modification par la clause @code{\with}. Il se produirait même une
+erreur si le contexte était précisé.
+
+Remplaçons donc l'exemple ci-dessus par celui-ci :
+
+@cindex alignAboveContext, exemple de propriété
+@cindex @code{\with}, exemple
+@cindex Clef, exemple de dérogation
+@cindex TimeSignature, exemple dérogation
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\new Staff ="main" {
+ \relative g' {
+ r4 g8 g c4 c8 d |
+ e4 r8
+ <<
+ { f c c }
+ \new Staff \with {
+ alignAboveContext = "main"
+ % Don't print clefs in this staff
+ \override Clef #'stencil = ##f
+ % Don't print time signatures in this staff
+ \override TimeSignature #'stencil = ##f
+ }
+ { f8 f c }
+ >>
+ r4 |
+ }
+}
+@end lilypond
+
+Venons-en finalement au changement de taille des objets.
+
+Certains objets sont créés comme des glyphes choisis dans une police de
+caractères. C'est le cas des têtes de notes, des altérations, des
+@emph{markup}, des clefs, des métriques, des nuances et des paroles.
+Pour changer leur taille, on modifie la propriété @code{font-size},
+comme nous le verrons rapidement. D'autres objets, comme les liaisons
+de phrasé ou de prolongation -- en général les objets étendus -- sont
+dessinés à la demande, si bien qu'aucune @code{font-size} ne leur est
+associée. Ces objets tirent généralement leur dimension des objets
+auxquels ils sont rattachés, de sorte qu'on ne doit pas avoir à les
+redimensionner à la main. D'autres propriétés, comme la hauteur des
+hampes et des barres de mesure, l'épaisseur des ligatures et d'autres
+lignes, et l'écartement des lignes de portée, doivent encore être
+modifiées de façon particulière.
+
+Si l'on revient à l'exemple d'ossia, commençons par changer la taille de
+police. Nous pouvons employer deux méthodes. Soit nous changeons la
+taille de police de chaque type d'objet avec des commandes comme
+celle-ci pour les têtes de notes (@code{NoteHead}) :
-
@example
-%% Ceci sert à s'assurer que les indications textuelles resteront à l'intérieur des marges de la page.
-\override Score.PaperColumn #'keep-inside-line = ##t
+\override NoteHead #'font-size = #-2
@end example
+soit nous changeons la taille de toutes les polices à la fois grâce à la
+propriété @code{fontSize}, en utilisant @code{\set} ou en l'insérant
+dans une clause @code{\with} (mais alors sans le @code{\set}).
-@node Advanced tweaks with Scheme
-@subsection Advanced tweaks with Scheme
+@example
+\set fontSize = #-2
+@end example
-Nous avons déjà vu comment le résultat obtenu avec LilyPond peut être
-largement personnalisé à l'aide de commandes comme
-@code{\override TextScript #'extra-offset = ( 1 . -1)}. Cependant,
-l'utilisation de Scheme ouvre des possibilités encore plus grandes.
-Pour des explications complètes là -dessus, consultez le
-@ref{Scheme tutorial} et les @ruser{Interfaces for programmers}.
+Chacune de ces méthodes réduira la taille de police de deux points par
+rapport à sa valeur précédente, sachant que chaque point réduit ou
+augmente la taille d'environ 12 %.
-On peut utiliser Scheme simplement à l'aide des commandes @code{\override}.
+Essayons sur l'exemple d'ossia :
-@lilypond[quote,verbatim,ragged-right]
-padText = #(define-music-function (parser location padding) (number?)
-#{
- \once \override TextScript #'padding = #$padding
-#})
+@cindex alignAboveContext, exemple de propriété
+@cindex @code{\with}, exemple
+@cindex Clef, exemple de dérogation
+@cindex TimeSignature, exemple de dérogation
+@cindex fontSize, exemple de propriété
-\relative c''' {
- c4^"piu mosso" b a b
- \padText #1.8
- c4^"piu mosso" d e f
- \padText #2.6
- c4^"piu mosso" fis a g
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\new Staff ="main" {
+ \relative g' {
+ r4 g8 g c4 c8 d |
+ e4 r8
+ <<
+ { f c c }
+ \new Staff \with {
+ alignAboveContext = "main"
+ \override Clef #'stencil = ##f
+ \override TimeSignature #'stencil = ##f
+ % Reduce all font sizes by ~24%
+ fontSize = #-2
+ }
+ { f8 f c }
+ >>
+ r4 |
+ }
}
@end lilypond
-On peut s'en servir pour créer de nouvelles commandes :
-@lilypond[quote,verbatim,ragged-right]
-tempoMark = #(define-music-function (parser location padding marktext)
- (number? string?)
-#{
- \once \override Score . RehearsalMark #'padding = $padding
- \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
- \mark \markup { \bold $marktext }
-#})
+Ce n'est pas encore parfait. Les têtes de notes et les crochets sont
+plus petits mais, proportionnellement, les hampes sont trop longues et
+les lignes de portée trop espacées. Il faut donc les réduire dans les
+mêmes proportions que les polices de caractères. La prochaine
+sous-section montrera comment faire.
-\relative c'' {
- c2 e
- \tempoMark #3.0 #"Allegro"
- g c
+@node Length and thickness of objects
+@subsection Length and thickness of objects
+
+@cindex distance
+@cindex épaisseur
+@cindex longueur
+@cindex magstep
+@cindex taille, modification
+@cindex hampe, modification de longueur
+@cindex écartement des lignes, modification
+
+Dans LilyPond, les écartements et longueurs sont généralement mesurés en
+@qq{intervalles de lignes} (@emph{staff-spaces} en anglais),
+c'est-à -dire l'écartement qui sépare deux lignes adjacentes dans la
+portée -- plus rarement, il est question de demi-intervalles de lignes.
+Les propriétés d'épaisseur (@code{thickness}), quant à elles, sont
+généralement mesurées en unités d'une propriété interne appelée
+@qq{épaisseur de ligne} (@code{line-thickness}). Par exemple, les
+lignes de crescendo/decrescendo présentent par défaut une épaisseur de 1
+unité de @code{line-thickness}, alors que l'épaisseur d'une hampe est de
+1,3. Toutefois, certaines propriétés d'épaisseur sont différentes : par
+exemple, l'épaisseur des ligature se mesure en espaces de portée.
+
+Dans ces conditions, comment ajuster les longueurs à la taille des
+polices de caractères ? La solution consiste à utiliser une fonction
+spéciale appelée @code{magstep} -- pseudo facteur de zoom --, créée
+précisément dans ce but. Elle comporte un argument, le changement de
+taille de police (#-2 dans l'exemple précédent), à partir duquel elle
+applique un facteur de mise à l'échelle qui réduit, ou augmente, les
+objets en proportion. Voici comment elle s'utilise :
+
+@cindex alignAboveContext, exemple de propriété
+@cindex @code{\with}, exemple
+@cindex Clef, exemple de dérogation
+@cindex TimeSignature, exemple de dérogation
+@cindex fontSize , exemple de propriété
+@cindex StaffSymbol, exemple de dérogation
+@cindex magstep, exemple d'utilisation de la fonction
+@cindex staff-space, exemple de propriété
+@cindex stencil, exemple de propriété
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\new Staff ="main" {
+ \relative g' {
+ r4 g8 g c4 c8 d |
+ e4 r8
+ <<
+ { f c c }
+ \new Staff \with {
+ alignAboveContext = "main"
+ \override Clef #'stencil = ##f
+ \override TimeSignature #'stencil = ##f
+ fontSize = #-2
+ % Reduce stem length and line spacing to match
+ \override StaffSymbol #'staff-space = #(magstep -2)
+ }
+ { f8 f c }
+ >>
+ r4 |
+ }
}
@end lilypond
-On peut même y inclure des expressions musicales :
+@noindent
+Puisque la longueur des hampes et plusieurs autres propriétés de
+longueur sont calculées par rapport à la valeur de la propriété
+@code{staff-space}, elles sont automatiquement mises à l'échelle. Vous
+remarquerez que cela n'affecte que la dimension verticale de l'ossia --
+la dimension horizontale étant déterminée par les objets de la portée
+principale de façon à rester synchronisée vis-à -vis d'elle, elle n'est
+pas affectée par tous ces changements de taille. Bien sûr, si l'échelle
+de toute la portée principale était modifiée, tout le placement
+horizontal s'en trouverait affecté. Il en sera question plus bas dans
+cette section.
+
+Voilà qui complète la création d'une ossia. Les tailles et longueurs de tous
+les objets peuvent être modifiées de manière analogue.
+
+Pour de petits changements d'échelle, comme dans l'exemple ci-dessus, il
+n'est généralement pas utile d'ajuster l'épaisseur des différentes
+lignes telles que les barres de mesure, les ligatures, les soufflets de
+crescendo/decrescendo, les liaisons, etc. Si l'épaisseur d'un objet en
+particulier doit être ajustée, le mieux est de modifier sa propriété
+@code{thickness}. Nous avons vu plus haut, dans
+@ref{Properties of layout objects}, un exemple de modification de
+l'épaisseur des liaisons. L'épaisseur de tous les objets tracés
+(c'est-à -dire ceux qui ne proviennent pas d'une police de caractère)
+peut être changée de la même manière.
-@lilypond[quote,verbatim,ragged-right]
-pattern = #(define-music-function (parser location x y) (ly:music? ly:music?)
-#{
- $x e8 a b $y b a e
-#})
+@node Placement of objects
+@section Placement of objects
-\relative c''{
- \pattern c8 c8\f
- \pattern {d16 dis} { ais16-> b\p }
-}
+ @menu
+* Automatic behavior::
+* Within-staff objects::
+* Outside staff objects::
+@end menu
+
+@node Automatic behavior
+@subsection Automatic behavior
+
+@cindex within-staff objects
+@cindex outside-staff objects
+@cindex objects, within-staff
+@cindex objects, outside-staff
+
+Dans la notation musicale, il y a des objets qui appartiennent à la
+portée et d'autres qui sont placés à l'extérieur de la portée. On les
+appelle respectivement les @q{objets de la portée} (@emph{within-staff
+objects} en anglais) et les @q{objets extérieurs à la portée}
+(@emph{outside-staff objects}en anglais).
+
+Les objets de la portée sont ceux qui sont placés sur la portée
+-- les têtes de notes et les hampes, les altérations, etc. Leur
+position est généralement déterminée par la musique elle-même -- ils
+sont placés verticalement sur des lignes spécifiques ou sont liés Ã
+d'autres objets placés de cette manière. Normalement, les collisions
+entre les têtes et queues de notes et les altérations dans des accords
+proches sont évitées automatiquement. Comme nous le verrons rapidement,
+il existe des commandes et des possibilités de retouches qui permettent
+de modifier ce comportement automatique.
+
+Parmi les objets extérieurs à la portée, on compte des éléments comme
+les marques de reprise, les indications de texte ou de nuances. Dans
+LilyPond, la règle est de placer verticalement ces objets extérieurs Ã
+la portée le plus près possible de la portée, tout en évitant la
+collision avec d'autres objets. LilyPond utilise la propriété
+@code{outside-staff-priority} pour déterminer l'ordre selon lequel
+placer ces objets, de la manière suivante :
+
+D'abord, LilyPond dresse la liste de tous les objets extérieurs à la
+portée. Puis ceux-ci sont classés suivant leur
+@code{outside-staff-priority}. Enfin, ils sont pris un par un, en
+commençant par les objets avec la @code{outside-staff-priority} la plus
+basse, et placés de façon à ne pas entrer en collision avec d'autres
+objets déjà placés. Cela signifie que, si deux @emph{grobs} extérieurs
+à la portée doivent occuper la même place, c'est celui qui a la
+@code{outside-staff-priority} la plus basse qui est placé le plus près
+de la portée. Et si deux objets ont la même
+@code{outside-staff-priority}, le premier rencontré sera placé le plus
+près de la portée.
+
+Dans l'exemple suivant, tous les @emph{markup} ont la même priorité,
+dans la mesure où rien n'est indiqué explicitement. Vous remarquerez
+que @code{Text3} est également positionné près de la portée, juste
+en-dessous de @code{Text2}.
+
+@cindex markup, exemple
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+c2^"Text1"
+c^"Text2"
+c^"Text3"
+c^"Text4"
+@end lilypond
+
+Les portées aussi sont positionnées, par défaut, le plus près possible
+les unes des autres, en ménageant tout de même une certaine séparation.
+Si des notes se rapprochent nettement d'une portée adjacente, elles ne
+forceront les portées à s'écarter que s'il y a un risque de
+chevauchement.
+
+@lilypond[quote,ragged-right,verbatim]
+<<
+ \new Staff {
+ \relative c' { c a, }
+ }
+ \new Staff {
+ \relative c'''' { c a, }
+ }
+>>
+@end lilypond
+
+
+@node Within-staff objects
+@subsection Within-staff objects
+
+Nous avons vu que les commandes @code{\voiceXXX} jouent sur la
+direction des liaisons, des doigtés et sur toute autre chose liée Ã
+l'orientation des queues de notes. Ces commandes sont essentielles dans
+la musique polyphonique pour distinguer des lignes mélodiques
+entremêlées. Mais il arrive qu'on ait besoin de modifier ce comportement
+automatique. On peut le faire pour toutes les parties de la musique ou
+juste pour une note. La propriété qui contrôle ce comportement est la
+propriété @code{direction} de chaque objet. Expliquons d'abord ce
+qu'elle fait, puis nous présenterons un certain nombre de commandes
+déjà prêtes qui évitent, pour les modifications les plus courantes,
+d'avoir à encoder les retouches.
+
+Certains objets comme les traits des liaisons se recourbent tantôt
+vers le haut, tantôt vers le bas ; d'autres encore, comme les hampes
+et les crochets, peuvent se décaler vers la gauche ou vers la droite
+selon qu'ils pointent vers le haut ou vers le bas. Ce comportement est
+géré automatiquement dès lors que @code{direction} est activé.
+
+@cindex down
+@cindex up
+@cindex center
+@cindex neutral
+
+L'exemple ci-dessous montre dans la première mesure le comportement par
+défaut des hampes -- celles des notes les plus hautes pointant vers le
+bas et celles des notes les plus basses pointant vers le haut ; viennent
+ensuite quatre notes avec les hampes forcées vers le bas, puis quatre
+autres avec les hampes forcées vers le haut, et pour finir quatre notes
+de nouveau avec le comportement par défaut.
+
+@cindex Stem, exemple de dérogation
+@cindex direction, exemple de propriété
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+a4 g c a
+\override Stem #'direction = #DOWN
+a g c a
+\override Stem #'direction = #UP
+a g c a
+\revert Stem #'direction
+a g c a
+@end lilypond
+
+Nous utilisons ici les directions @code{DOWN} et @code{UP}. Elles
+correspondent respectivement aux valeurs @code{-1} et @code{+1},
+que l'on peut utiliser à la place. La valeur @code{0} peut aussi être
+utilisée dans certains cas. Elle est interprétée comme un @code{UP}
+pour les hampes, et comme un @q{centré} pour d'autres objets. Il
+existe une direction, @code{CENTER}, qui correspond à la valeur
+@code{0}.
+
+Quoi qu'il en soit, ces retouches manuelles sont rarement utilisées car
+il existe des équivalents sous forme de commandes prédéfinies. Voici un
+tableau des plus courantes. Lorsque ce n'est pas évident, leur
+signification est précisée.
+
+@multitable @columnfractions .2 .2 .25 .35
+@headitem Bas/Gauche
+ @tab Haut/Droite
+ @tab Annulation
+ @tab Effet
+@item @code{\arpeggioArrowDown}
+ @tab @code{\arpeggioArrowUp}
+ @tab @code{\arpeggioNormal}
+ @tab Flèche en bas, en haut, ou pas de flèche
+@item @code{\dotsDown}
+ @tab @code{\dotsUp}
+ @tab @code{\dotsNeutral}
+ @tab Déplacement des points pour éviter les lignes de portée
+@item @code{\dynamicDown}
+ @tab @code{\dynamicUp}
+ @tab @code{\dynamicNeutral}
+ @tab
+@item @code{\phrasingSlurDown}
+ @tab @code{\phrasingSlurUp}
+ @tab @code{\phrasingSlurNeutral}
+ @tab Attention : Ã distinguer des commandes de liaison ci-dessous
+@item @code{\slurDown}
+ @tab @code{\slurUp}
+ @tab @code{\slurNeutral}
+ @tab
+@item @code{\stemDown}
+ @tab @code{\stemUp}
+ @tab @code{\stemNeutral}
+ @tab
+@item @code{\textSpannerDown}
+ @tab @code{\textSpannerUp}
+ @tab @code{\textSpannerNeutral}
+ @tab Le texte saisi en tant qu'extension est au-dessous/au-dessus de la portée
+@item @code{\tieDown}
+ @tab @code{\tieUp}
+ @tab @code{\tieNeutral}
+ @tab
+@item @code{\tupletDown}
+ @tab @code{\tupletUp}
+ @tab @code{\tupletNeutral}
+ @tab Les nolets sont au-dessous/au-dessus des notes
+@end multitable
+
+Attention : ces commandes prédéfinies @strong{ne doivent pas} être
+précédées de @code{\once}. Pour limiter l'effet à une seule note, il
+faut soit utiliser la commande équivalente @code{\once \override}, soit
+utiliser la commande prédéfinie, suivie, après la note à modifier, de la
+commande @code{\xxxNeutral} correspondante.
+
+@subheading Fingering
+
+@cindex doigtés, positionnement
+@cindex doigtés, accords
+
+Le placement des doigtés sur des notes simples peut aussi être contrôlé
+par la propriété @code{direction}, mais le changement de
+@code{direction} n'a pas d'effet sur les accords. Comme nous le
+verrons, il existe des commandes qui permettent de contrôler le doigté
+sur chaque note d'un accord, en plaçant l'indication de doigté
+au-dessus, en dessous, à gauche ou à droite de chaque note.
+
+Tout d'abord, voici l'effet de @code{direction} sur le doigté lié à une
+note simple. La première mesure montre le comportement par défaut, et
+les deux suivantes montrent l'effet lorsqu'on indique @code{DOWN} et
+@code{UP} :
+
+@cindex doigtés, exemple de dérogation
+@cindex direction, exemple de propriété
+
+@lilypond[quote,verbatim,relative=2]
+c-5 a-3 f-1 c'-5
+\override Fingering #'direction = #DOWN
+c-5 a-3 f-1 c'-5
+\override Fingering #'direction = #UP
+c-5 a-3 f-1 c'-5
+@end lilypond
+
+Le fait d'intervenir sur la propriété @code{direction} n'est sûrement
+pas la façon la plus simple de placer manuellement les doigtés au-dessus
+ou en dessous des notes ; mieux vaut utiliser @code{_} ou @code{^}
+devant le chiffre de doigté plutôt que @code{-}. Voici ce que donne
+l'exemple précédent avec cette méthode :
+
+@cindex doigtés, exemple
+
+@lilypond[quote,verbatim,relative=2]
+c-5 a-3 f-1 c'-5
+c_5 a_3 f_1 c'_5
+c^5 a^3 f^1 c'^5
+@end lilypond
+
+La propriété @code{direction} ne fonctionne pas pour les accords alors
+que les préfixes de direction, @code{_} et @code{^}, fonctionnent. Par
+défaut, le doigté est placé automatiquement à la fois au-dessus et
+au-dessous des notes d'un accord, comme ceci :
+
+@cindex doigtés, exemple
+
+@lilypond[quote,verbatim,relative=2]
+<c-5 g-3>
+<c-5 g-3 e-2>
+<c-5 g-3 e-2 c-1>
+@end lilypond
+
+@noindent
+mais il est possible de forcer manuellement vers le haut ou vers le bas le
+placement de tous ou certains chiffres de doigté, comme ceci :
+
+@cindex doigtés, exemple
+
+@lilypond[quote,verbatim,relative=2]
+<c-5 g-3 e-2 c-1>
+<c^5 g_3 e_2 c_1>
+<c^5 g^3 e^2 c_1>
+@end lilypond
+
+On peut aller encore plus loin dans le positionnement des doigtés pour
+chacune des notes d'un accord grâce à la commande @code{\set
+fingeringOrientations}. La syntaxe de cette commande est :
+
+@example
+@code{\set fingeringOrientations = #'([up] [left/right] [down])}
+@end example
+
+@noindent
+On utilise @code{\set} car @code{fingeringOrientations} est une propriété
+du contexte @code{Voice}, créée et utilisée par le graveur
+@code{New_fingering_engraver}.
+
+On peut attribuer à cette propriété une liste composée de une à trois
+valeurs. Celles-ci déterminent si l'indication de doigté doit être
+placée au-dessus (lorsque @code{up} apparaît dans la liste), au-dessous
+(lorsque @code{down} apparaît), à gauche (lorsque @code{left} apparaît)
+ou à droite (lorsque @code{right} apparaît). En revanche, si une valeur
+n'est pas sur la liste, aucun doigté n'ira à cet emplacement. LilyPond
+garde ces contraintes en mémoire et recherche le meilleur emplacement
+pour le doigté des notes des accords suivants. Vous remarquerez que
+@code{left} et @code{right} s'excluent l'un l'autre -- l'indication de
+doigté ne peut être placée que d'un côté ou de l'autre, pas des deux.
+
+@warning{Ppour contrôler à l'aide de cette commande le placement du
+doigté sur une note simple, il faut la saisir comme un accord composé
+d'une note unique, en l'encadrant de chevrons.}
+
+Voici quelques exemples :
+
+@cindex doigtés, exemple
+@cindex @code{\set}, exemple d'utilisation
+@cindex fingeringOrientations, exemple de propriété
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+\set fingeringOrientations = #'(left)
+<f-2>
+< c-1 e-2 g-3 b-5 > 4
+\set fingeringOrientations = #'(left)
+<f-2>
+< c-1 e-2 g-3 b-5 > 4
+\set fingeringOrientations = #'(up left down)
+<f-2>
+< c-1 e-2 g-3 b-5 > 4
+\set fingeringOrientations = #'(up left)
+<f-2>
+< c-1 e-2 g-3 b-5 > 4
+\set fingeringOrientations = #'(right)
+<f-2>
+< c-1 e-2 g-3 b-5 > 4
+@end lilypond
+
+@noindent
+Si les indications de doigtés paraissent un peu serrées, on peut
+toujours réduire la taille de police (@code{font-size}). La valeur
+par défaut donnée dans la RPI à la page de l'objet
+@code{Fingering} étant @code{-5}, essayons @code{-7} :
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+\override Fingering #'font-size = #-7
+\set fingeringOrientations = #'(left)
+<f-2>
+< c-1 e-2 g-3 b-5 > 4
+\set fingeringOrientations = #'(left)
+<f-2>
+< c-1 e-2 g-3 b-5 > 4
+\set fingeringOrientations = #'(up left down)
+<f-2>
+< c-1 e-2 g-3 b-5 > 4
+\set fingeringOrientations = #'(up left)
+<f-2>
+< c-1 e-2 g-3 b-5 > 4
+\set fingeringOrientations = #'(right)
+<f-2>
+< c-1 e-2 g-3 b-5 > 4
+@end lilypond
+
+
+@node Outside staff objects
+@subsection Outside staff objects
+
+Les objets extérieurs à la portée sont placés automatiquement de façon Ã
+éviter les collisions. Les objets avec la plus petite valeur de la
+propriété @code{outside-staff-priority} sont placés au plus près de la
+portée, tandis que les autres sont écartés autant qu'il faut pour éviter
+les collisions. La @code{outside-staff-priority} est définie dans la
+@code{grob-interface} ; elle est donc une propriété commune à tous les
+objets de rendu. Par défaut, elle est réglée sur @code{#f} pour tous
+les objets de la portée, et porte une valeur numérique appropriée Ã
+chacun des objets extérieurs à la portée, à mesure qu'ils sont créés.
+Le tableau suivant montre la valeur numérique par défaut pour
+quelques-uns des objets extérieurs à la portée les plus courants qui
+sont placés, par défaut, dans les contextes @code{Staff} ou
+@code{Voice}.
+
+@multitable @columnfractions .3 .3 .3
+@headitem Objet de rendu
+ @tab Priorité
+ @tab Contrôle la position de :
+@item @code{MultiMeasureRestText}
+ @tab @code{450}
+ @tab Texte sur les silences qui couvrent des mesures entières
+@item @code{TextScript}
+ @tab @code{450}
+ @tab Texte des @emph{markup} (ou étiquettes)
+@item @code{OttavaBracket}
+ @tab @code{400}
+ @tab Indication d'octaviation
+@item @code{TextSpanner}
+ @tab @code{350}
+ @tab Bandeau ou extension de texte
+@item @code{DynamicLineSpanner}
+ @tab @code{250}
+ @tab Toutes les marques de nuances
+@item @code{VoltaBracketSpanner}
+ @tab @code{100}
+ @tab Bandeau de répétition
+@item @code{TrillSpanner}
+ @tab @code{50}
+ @tab Bandeau de trille
+@end multitable
+
+Voici un exemple qui montre le placement par défaut de certains
+d'entre eux.
+
+@cindex text spanner
+@cindex ottava bracket
+
+@funindex \startTextSpan
+@funindex startTextSpan
+@funindex \stopTextSpan
+@funindex stopTextSpan
+
+@cindex TextSpanner, exemple de dérogation
+@cindex bound-details, exemple de propriété
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+% Set details for later Text Spanner
+\override TextSpanner #'bound-details #'left #'text
+ = \markup { \small \bold Slower }
+% Place dynamics above staff
+\dynamicUp
+% Start Ottava Bracket
+\ottava #1
+c' \startTextSpan
+% Add Dynamic Text
+c\pp
+% Add Dynamic Line Spanner
+c\<
+% Add Text Script
+c^Text
+c c
+% Add Dynamic Text
+c\ff c \stopTextSpan
+% Stop Ottava Bracket
+\ottava #0
+c, c c c
+@end lilypond
+
+Cet exemple montre comment créer des extensions de texte (@emph{Text
+Spanners} en anglais ) -- texte avec des longues lignes au-dessus d'un
+passage musical. L'extension s'étend depuis la commande
+@code{\startTextSpan} jusqu'Ã la commande @code{\stopTextSpan} et le
+format de texte est défini par la commande @code{\override TextSpanner}.
+Pour de plus amples détails, voir @ruser{Text spanners}.
+
+Il montre aussi comment créer des marques d'octaviation.
+
+@cindex modification du positionnement des numéros de mesure
+@cindex numéros de mesure, modification du positionnement
+@cindex modification du positionnement des indications métronomiques
+@cindex indications métronomiques, modification du positionnement
+@cindex modification du positionnement des marques de repère
+@cindex marques de repère, modification du positionnement
+
+Vous aurez remarqué que les numéros de mesure, l'indication métronomique
+et les marques de répétition n'apparaissent pas. Par défaut, ils sont
+créés dans le contexte @code{Score} et leur
+@code{outside-staff-priority} est ignorée face aux objets qui sont créés
+dans le contexte @code{Staff}. Si vous voulez faire apparaître les
+numéros de mesure, l'indication métronomique ou les marques de
+répétition conformément à la valeur de leur
+@code{outside-staff-priority}, il vous faudra retirer respectivement le
+@code{Bar_number_engraver}, le @code{Metronome_mark_engraver} oule
+@code{Mark_engraver} du contexte @code{Score} et les placer en haut du
+contexte @code{Staff}. Après quoi ces marques porteront les valeurs de
+@code{outside-staff-priority} par défaut suivantes :
+
+@multitable @columnfractions .3 .3
+@headitem Objet de rendu @tab Priorité
+@item @code{RehearsalMark} @tab @code{1500}
+@item @code{MetronomeMark} @tab @code{1000}
+@item @code{BarNumber} @tab @code{ 100}
+@end multitable
+
+Si les valeurs de @code{outside-staff-priority} par défaut ne donnent
+pas les résultats que vous attendez, il suffit de modifier la priorité
+de l'un de ces objets. Supposons que vous vouliez placer l'indication
+d'octaviation sous le bandeau de texte, dans l'exemple précédent. Tout
+ce que nous devons faire, c'est regarder la priorité de
+@code{OttavaBracket} dans la RPI ou dans le tableau plus haut, et la
+ramener à une valeur plus basse que celle de @code{TextSpanner}, en
+gardant à l'esprit que @code{OttavaBracket} est créé dans le contexte
+@code{Staff} :
+
+@cindex TextSpanner, exemple de dérogation
+@cindex bound-details, exemple de propriété
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+% Set details for later Text Spanner
+\override TextSpanner #'bound-details #'left #'text
+ = \markup { \small \bold Slower }
+% Place dynamics above staff
+\dynamicUp
+%Place following Ottava Bracket below Text Spanners
+\once \override Staff.OttavaBracket #'outside-staff-priority = #340
+% Start Ottava Bracket
+\ottava #1
+c' \startTextSpan
+% Add Dynamic Text
+c\pp
+% Add Dynamic Line Spanner
+c\<
+% Add Text Script
+c^Text
+c c
+% Add Dynamic Text
+c\ff c \stopTextSpan
+% Stop Ottava Bracket
+\ottava #0
+c, c c c
+@end lilypond
+
+Le fait de changer la @code{outside-staff-priority} peut aussi servir Ã
+contrôler le positionnement vertical des objets individuels, quoique le
+résultat ne soit pas toujours formidable. Imaginons que nous voulions
+placer @qq{Text3} au-dessus de @qq{Text4} dans l'exemple de la section
+Comportement automatique, plus haut (voir @ref{Automatic behavior}). Il
+nous suffit pour cela de regarder dans la RPI ou dans le tableau plus
+haut la priorité de @code{TextScript}, et d'augmenter la priorité de
+@qq{Text3} jusqu'à une valeur très haute :
+
+@cindex TextScript, exemple de dérogation
+@cindex outside-staff-priority, exemple de propriété
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+c2^"Text1"
+c^"Text2"
+\once \override TextScript #'outside-staff-priority = #500
+c^"Text3"
+c^"Text4"
+@end lilypond
+
+S'il est vrai que cela place @qq{Text3} au-dessus de @qq{Text4}, ça le
+place aussi plus haut que @qq{Text2} tandis que @qq{Text4} dégringole.
+Ce n'est peut-être pas si bien que ça. En fait, ce que nous aimerions
+faire, c'est placer toutes les annotations à égale distance de la
+portée. Pour cela, nous avons besoin d'espacer horizontalement les
+notes pour laisser plus de place au texte. C'est possible grâce à la
+commande @code{textLengthOn}.
+
+@subheading \textLengthOn
+
+@cindex notes, répartition selon le texte
+
+@funindex \textLengthOn
+@funindex textLengthOn
+@funindex \textLengthOff
+@funindex textLengthOff
+
+Par défaut, l'espacement horizontal d'un texte produit sous forme de
+@emph{markup} (ou d'étiquette) n'est pas pris en compte, dans la mesure
+où ce qui est concerné n'entre pas dans la musique. La commande
+@code{\textLengthOn} inverse ce comportement, faisant en sorte que les
+notes soient espacées autant qu'il faut pour s'adapter au texte :
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\textLengthOn % Cause notes to space out to accommodate text
+c2^"Text1"
+c^"Text2"
+c^"Text3"
+c^"Text4"
+@end lilypond
+
+La commande qui permet de revenir au comportement par défaut est
+@code{\textLengthOff}. Rappelez-vous que @code{\once} ne
+fonctionne qu'avec @code{\override}, @code{\set}, @code{\revert} ou
+@code{\unset}, et donc ne peut pas être utilisé avec
+@code{\textLengthOn}.
+
+@cindex markup text, allowing collisions
+
+Les textes des @emph{markup} éviteront également les notes qui
+s'échappent au-dessus de la portée. Si ce n'est pas notre souhait, il
+est possible de supprimer ce déplacement automatique vers le haut en
+attribuant à la priorité la valeur @code{#f}. Voici un exemple qui
+montre comment les textes des @emph{markup} interagissent avec ces types
+de notes.
+
+@cindex TextScript, exemple de dérogation
+@cindex outside-staff-priority, exemple de propriété
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+% This markup is short enough to fit without collision
+c2^"Tex"
+c''2
+R1
+% This is too long to fit, so it is displaced upwards
+c,,2^"Text"
+c''2
+R1
+% Turn off collision avoidance
+\once \override TextScript #'outside-staff-priority = ##f
+c,,2^"Long Text "
+c''2
+R1
+% Turn off collision avoidance
+\once \override TextScript #'outside-staff-priority = ##f
+\textLengthOn % and turn on textLengthOn
+c,,2^"Long Text " % Spaces at end are honored
+c''2
+@end lilypond
+
+
+@subheading Dynamics
+
+@cindex modifier le positionnement des nuances
+@cindex nuances, modifier le positionnement
+
+Les indications de nuances se placent normalement sous la portée mais on
+peut les placer au-dessus avec la commande @code{dynamicUp}. Elles se
+positionnent verticalement par rapport à la note à laquelle elles sont
+liées et se décalent vers le bas (ou le haut) en fonction des objets de
+la portée comme les liaisons de phrasé ou les numéros de mesure. Cela
+peut donner d'assez bons résultats, comme le montre cet exemple :
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+\clef "bass"
+\key aes \major
+\time 9/8
+\dynamicUp
+bes4.~\f\< \( bes4 bes8 des4\ff\> c16 bes\! |
+ees,2.~\)\mf ees4 r8 |
+@end lilypond
+
+De toute façon, si les notes et les nuances qui leur sont liées sont
+trop proches, le positionnement automatique évitera les collisions en
+déplaçant davantage les nuances suivantes, mais le résultat peut ne
+pas être très satisfaisant, comme le montre cet exemple artificiel :
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\dynamicUp
+a4\f b\mf c\mp b\p
+@end lilypond
+
+@noindent
+Si une telle situation devait survenir dans de la musique @qq{réelle},
+il serait préférable d'espacer un peu plus les notes, de façon que les
+indications de nuance puissent toutes se situer à la même distance de la
+portée. Il était possible de faire cela pour les textes de
+@emph{markup} grâce à la commande @code{\textLengthOn} mais il n'existe
+pas d'équivalent pour les indications de nuance. Il nous faut donc
+chercher à faire cela avec la commande @code{\override}.
+
+@subheading Grob sizing
+
+@cindex grob, dimensionnement
+@cindex dimensionnement des grobs
+
+Tout d'abord, nous devons apprendre ce qui détermine la dimension des
+grobs. Tous les grobs portent en eux un point de référence qui est
+utilisé pour les positionner par rapport à leur objet parent. Ce point du
+grob est placé à une distance horizontale, @code{X-offset},
+et à une distance verticale, @code{Y-offset}, de son parent.
+L'étendue horizontale de l'objet est fixée par une paire de
+nombres, @code{X-extent}, qui donnent la position du coin
+gauche et du coin droit par rapport au point de référence. De
+même, l'étendue verticale est fixée par une paire de nombre,
+@code{Y-extent}. Ce sont des propriétés communes à tous les
+grobs et que gère la @code{grob-interface}.
+
+@cindex @code{extra-spacing-width}
+
+Par défaut, la largeur des objets extérieurs à la portée est donnée
+comme étant nulle, si bien qu'ils peuvent se chevaucher
+horizontalement. Pour arriver à cela, on a ajouté l'infini Ã
+l'extension gauche et moins l'infini à l'extension droite, en
+attribuant à @code{extra-spacing-width} la valeur
+ @code{'(+inf.0 . -inf.0)}. Pour être sûr que les objets ne se
+chevaucheront pas horizontalement, nous devons donc corriger
+cette valeur de @code{extra-spacing-width} en @code{'(0 . 0)},
+afin que leur vraie largeur se manifeste. La commande pour y
+parvenir avec des indications de nuances est :
+
+@example
+\override DynamicText #'extra-spacing-width = #'(0 . 0)
+@end example
+
+@noindent
+Voyons si ça marche sur notre exemple précédent :
+
+@cindex DynamicText, example of overriding
+@cindex extra-spacing-width property, example
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\dynamicUp
+\override DynamicText #'extra-spacing-width = #'(0 . 0)
+a4\f b\mf c\mp b\p
+@end lilypond
+
+@noindent
+Bon, cela a mis un terme aux déplacements verticaux des
+nuances mais il reste deux problèmes. Il faudrait que les
+nuances soient un peu plus écartées et ce serait mieux si
+elles étaient toutes à la même distance de la portée. Le
+premier problème est simple à résoudre. Au lieu d'attribuer
+à @code{extra-spacing-width} la valeur zéro, nous pourrions
+mettre un peu plus. L'unité est la distance entre deux lignes
+de portée, donc en écartant le bord gauche d'une demi-unité
+et le bord droit d'une demi-unité, on obtient :
+
+@cindex DynamicText, example of overriding
+@cindex extra-spacing-width property, example
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\dynamicUp
+% Extend width by 1 staff space
+\override DynamicText #'extra-spacing-width = #'(-0.5 . 0.5)
+a4\f b\mf c\mp b\p
+@end lilypond
+
+@noindent
+C'est mieux mais nous voulons peut-être aligner les indications de
+nuances sur une même ligne plutôt que de les voir monter et
+descendre avec les notes. La propriété qui gère cela est
+@code{staff-padding} ; la section suivante lui est consacrée.
+
+
+@node Collisions of objects
+@section Collisions of objects
+
+
+@menu
+* Moving objects::
+* Fixing overlapping notation::
+* Real music example::
+@end menu
+
+@node Moving objects
+@subsection Moving objects
+
+Aussi surprenant que cela puisse paraître, LilyPond n'est pas parfait.
+Certains éléments sur la partition peuvent se chevaucher, ce qui est
+regrettable mais, le plus souvent, facile à corriger. En général, quand
+on déplace des objets, c'est pour des raisons de lisibilité ou
+d'esthétique -- ils rendraient mieux avec un peu plus ou un peu moins
+d'espace autour d'eux.
+
+Il y a trois façons de résoudre les problèmes de chevauchement. Il est
+préférable de les aborder dans l'ordre suivant :
+
+@enumerate
+@item
+L'@strong{orientation} d'un objet qui en chevauche un autre peut être
+changée grâce aux commandes prédéfinies dont la liste a été donnée
+plus haut à propos des objets de portée (voir @ref{Within-staff objects}).
+Les queues de notes, les liaisons de phrasé et de prolongation, les
+crochets, les nuances et les nolets peuvent facilement être repositionnés
+de cette manière. En contrepartie, vous n'avez le choix qu'entre deux
+positions, sans personnalisation possible.
+
+@item
+Les @strong{propriétés d'objet}, auxquelles LilyPond a recours pour
+positionner les objets, sont modifiables avec @code{\override}. Il y a deux
+avantages à changer ces propriétés : (a) d'autres objets pourront être
+déplacés automatiquement si nécessaire pour faire de la place, et (b)
+la même retouche peut s'appliquer à toutes les occurrences du même
+type d'objet. Ces propriétés sont :
+
+@itemize
+
+@item
+@code{direction}
+
+Ce point a déjà été traité en détails -- voir @ref{Within-staff objects}.
+
+@item
+@code{padding}, @code{left-padding},
+@code{right-padding}, @code{staff-padding}
+
+@cindex padding
+@cindex left-padding property
+@cindex padding property
+@cindex right-padding property
+@cindex staff-padding property
+
+Au moment de positionner un objet, la valeur de sa propriété
+@code{padding} détermine l'espace à laisser libre entre celui-ci et le
+coin le plus proche de l'objet à côté duquel il est placé. Vous remarquerez
+que c'est la valeur @code{padding} de l'objet @strong{Ã placer} qui
+compte ; la valeur @code{padding} de l'objet déjà placé est ignorée.
+Les espaces libres déterminés par @code{padding} s'appliquent à tous
+les objets associés à la @code{side-position-interface}.
+
+Le positionnement de groupes d'altérations est contrôlé par
+@code{left-padding} et @code{right-padding}, et non plus @code{padding}.
+Ces propriétés appartiennent à l'objet @code{AccidentalPlacement}, qui,
+vous le remarquerez, prend place dans le contexte @strong{Staff}. Dans le
+processus de composition, les têtes de notes sont composées en premier,
+puis les altérations, s'il y en a, sont ajoutées à gauche des têtes de notes
+suivant la propriété @code{right-padding} qui détermine l'espacement par
+rapport aux têtes de notes. C'est pourquoi seule la propriété
+@code{right-padding} de l'objet @code{AccidentalPlacement} joue sur le
+positionnement des altérations.
+
+La propriété @code{staff-padding} est très proche de la propriété
+@code{padding} : @code{padding} contrôle l'espace minimum entre un
+objet qui accepte la @code{side-position-interface} et l'objet le plus
+proche (généralement une note ou une ligne de portée) ; @code{staff-padding}
+ne s'applique qu'aux objets qui sont toujours placés en-dehors de la portée --
+il contrôle l'espace minimum à insérer entre l'objet et la portée. Attention :
+par défaut, @code{staff-padding} concerne les objets positionnés par rapport
+à la portée et n'a aucun effet sur les objets qui sont positionnés par
+rapport à une note ; il est toutefois possible de le régler pour
+fonctionner avec ces derniers.
+
+Pour trouver quelle propriété @q{padding} employer pour l'objet que vous
+cherchez à repositionner, il vous faut consulter les propriétés de l'objet dans
+la RPI. Prenez garde que les propriétés @q{padding} ne sont pas forcément
+traitées dans l'objet en question ; il faut alors regarder les objets
+qui semblent s'en rapprocher.
+
+Toutes les valeurs @q{padding} sont exprimées en espaces de portée.
+Pour la plupart des objets, la valeur par défaut est aux alentours de 1.0,
+parfois moins (cela dépend de chaque objet). Il est possible de la modifier
+lorsqu'on a besoin d'un espace vide plus grand (ou plus petit).
+
+
+@item
+@code{self-alignment-X}
+
+@cindex self-alignment-X property
+Cette propriété sert à aligner les objets sur la gauche, sur la droite ou
+à les centrer par rapport au point de référence des objets parents.
+Elle peut être utilisée avec tous les objets qui acceptent la
+@code{self-alignment-interface}. Il s'agit, en général, des objets qui
+contiennent du texte. Les valeurs admises sont @code{LEFT},
+@code{RIGHT} et @code{CENTER}. On peut aussi attribuer Ã
+la place une valeur numérique entre @code{-1} et @code{+1},
+où @code{-1} signifie alignement sur la gauche, @code{+1}
+alignement sur la droite, et les nombres intermédiaires déplacent
+progressivement le texte de la gauche vers la droite. Des valeurs
+numériques supérieures à @code{1} sont également admises
+pour déplacer le texte encore plus loin vers la gauche, ou des
+valeurs inférieures à @code{-1} pour déplacer le texte encore
+plus loin vers la droite. Un écart de @code{1} en valeur
+correspond à un déplacement de la moitié de la longueur du
+texte.
+
+@item
+@code{extra-spacing-width}
+
+@cindex extra-spacing-width property
+Cette propriété est utilisée pour tous les objets qui acceptent la
+@code{item-interface}. Elle reçoit deux nombres, le premier étant
+ajouté au bord gauche et le second au bord droit. Des nombres
+négatifs déplacent le coin vers la gauche, des nombres positifs
+vers la droite, si bien que pour élargir un objet, le premier nombre
+doit être négatif et le second positif. Attention : tous les objets
+n'acceptent pas forcément les deux nombres. Par exemple, l'objet
+@code{Accidental} ne retient que le premier nombre (coin gauche).
+
+
+@item
+@code{staff-position}
+
+@cindex staff-position property
+@code{staff-position} est une propriété de la
+@code{staff-symbol-referencer-interface}, qui s'applique aux objets
+positionnés par rapport à la portée. Elle indique, en demi-espaces de
+portée, la position verticale des objets par rapport à la ligne médiane
+de la portée. C'est bien pratique pour résoudre des problèmes de
+collision entre des objets comme les silences valant mesure entière,
+les liaisons et les notes de différentes voix.
+
+@item
+@code{force-hshift}
+
+@cindex force-hshift property
+Des notes très proches dans un accord, ou des notes simultanées dans
+différentes voix, peuvent être disposées sur deux colonnes, rarement
+plus, pour éviter que les têtes de notes ne se chevauchent. On parle
+alors de colonnes de notes et un objet appelé @code{NoteColumn}
+est créé pour placer les notes sur la colonne.
+
+La propriété @code{force-hshift} appartient à @code{NoteColumn} (en
+réalité à la @code{note-column-interface}). Le fait de la modifier permet
+de déplacer une colonne de notes selon l'unité appropriée aux colonnes
+de notes, à savoir la largeur des têtes de notes de la première voix. Son
+utilisation est réservée à des situations complexes dans lesquelles les
+commandes habituelles @code{\shiftOn}
+(voir @ref{Explicitly instantiating voices}) ne suffisent plus à résoudre les
+conflits. Elle est alors préférable à l'utilisation de la propriété
+@code{extra-offset}, dans la mesure où on n'a pas besoin d'exprimer
+la distance en espaces de portée et où le fait de déplacer les notes Ã
+l'intérieur ou à l'extérieur d'une @code{NoteColumn} affecte d'autres
+actions comme les fusionnements de notes.
+
+@end itemize
+
+@item
+Pour terminer, quand toutes les autres méthodes ont échoué, il est
+possible de repositionner verticalement les objets à la main par rapport
+à la ligne médiane de la portée, ou en les déplaçant à une distance
+donnée vers une nouvelle position. Les inconvénients sont qu'il faut
+individuellement pour chaque objet trouver les valeurs correctes de
+repositionnement, souvent par tâtonnement, et que, puisque le
+mouvement est opéré après que LilyPond a placé tous les autres
+objets, c'est à l'utilisateur de résoudre tous les problèmes de collisions
+qui pourraient survenir. Et le pire avec cette méthode est que, le jour
+où la musique est modifiée, il faut de nouveau rechercher les
+valeurs de repositionnement. Les propriétés à utiliser pour ce type de
+repositionnement manuel sont :
+
+
+@table @code
+@item extra-offset
+
+@cindex extra-offset property
+Cette propriété s'applique à tout objet acceptant la @code{grob-interface}.
+Elle reçoit une paire de nombre qui indiquent le déplacement supplémentaire
+dans le sens horizontal et vertical. Des nombres négatifs déplacent l'objet
+vers la gauche ou vers la droite. L'unité utilisée est l'espace de portée. Le
+déplacement supplémentaire intervient une fois que la composition des
+objets est achevée, si bien qu'un objet peut être repositionné à n'importe
+quel endroit sans que ça perturbe quoi que ce soit.
+
+@item positions
+
+@cindex positions property
+Cette propriété est très utile pour ajuster manuellement l'inclinaison et
+la hauteur des barres de croches, des liaisons et des nolets. Elle est
+suivie de deux nombres qui donnent la position des bords gauche et
+droit des barres, liaisons, etc., par rapport à la ligne médiane de la
+portée. L'unité de référence est l'intervalle de lignes de portée. Attention
+toutefois au fait que les liaisons et phrasés ne peuvent pas être repositionnés
+n'importe où. LilyPond commence par dresser la liste des emplacements
+possibles pour les liaisons et choisit par défaut la liaison qui @qq{semble
+la meilleure}. Si la propriété @code{positions} a été retouchée, la
+liaison la plus proche de la position demandée sera retenue dans la
+liste.
+@end table
+
+@end enumerate
+
+Il est possible qu'un objet ne dispose pas de toutes ces propriétés. Il
+est donc nécessaire de consulter la RPI pour vérifier quelles sont les
+propriétés disponibles pour l'objet en question.
+
+Voici une liste d'objets les plus couramment impliqués dans les
+collisions, avec le nom de l'objet à consulter dans la RPI afin de trouver
+les propriétés à retoucher pour obtenir un déplacement.
+
+
+@multitable @columnfractions .5 .5
+@headitem Type d'objet @tab Nom d'objet
+@item Articulations @tab @code{Script}
+@item Barres de croches @tab @code{Beam}
+@item Doigté @tab @code{Fingering}
+@item Liaisons de phrasé @tab @code{Slur}
+@item Liaisons de prolongation @tab @code{Tie}
+@item Nolets @tab @code{TupletBracket}
+@item Nuances (verticalement) @tab @code{DynamicLineSpanner}
+@item Nuances (horizontalement) @tab @code{DynamicText}
+@item Reprises / marques de texte @tab @code{RehearsalMark}
+@item Texte, p.ex. @code{^"texte"} @tab @code{TextScript}
+@end multitable
+
+
+@node Fixing overlapping notation
+@subsection Fixing overlapping notation
+
+Voyons maintenant comment les propriétés décrites dans la section
+précédente peuvent nous aider à résoudre les collisions.
+
+@subheading padding property
+
+@cindex padding
+@cindex fixing overlapping notation
+@cindex overlapping notation
+
+En jouant sur la propriété @code{padding} (littéralement
+@q{rembourrage}), on augmente (ou on diminue) la distance entre
+des symboles qui sont imprimés au-dessus ou en dessous des notes.
+
+@cindex Script, example of overriding
+@cindex padding property, example
+
+@lilypond[quote,fragment,relative=1,verbatim]
+c2\fermata
+\override Script #'padding = #3
+b2\fermata
+@end lilypond
+
+@cindex MetronomeMark, example of overriding
+@cindex padding property, example
+
+@lilypond[quote,fragment,relative=1,verbatim]
+% This will not work, see below:
+\override MetronomeMark #'padding = #3
+\tempo 4=120
+c1
+% This works:
+\override Score.MetronomeMark #'padding = #3
+\tempo 4=80
+d1
+@end lilypond
+
+Vous remarquerez dans le second exemple à quel point il est important de
+préciser le nom du contexte qui contient l'objet. Puisque l'objet
+@code{MetronomeMark} appartient au contexte @code{Score}, le fait de
+modifier la propriété dans le contexte @code{Voice} passera inaperçu.
+Pour plus de détails, voir @ruser{Modifying properties}.
+
+Si on augmente la propriété @code{padding} d'un objet alors que celui-ci
+fait partie d'un ensemble d'objets positionnés en fonction de leur
+@code{outside-staff-priority}, cet objet sera déplacé, ainsi que tous les
+autres objets du groupe.
+
+@subheading left-padding and right-padding
+
+@cindex left-padding property
+@cindex right-padding property
+
+La propriété @code{right-padding} joue sur l'espacement entre une
+altération et la note sur laquelle elle porte. On ne l'utilise pas souvent,
+mais l'exemple ci-dessous montre une situation où elle est nécessaire.
+Imaginons que nous voulions faire apparaître un accord qui contienne
+à la fois un si bécarre et un si bémol. Pour qu'il n'y ait pas de doute,
+nous chercherions à précéder la note d'un signe bécarre et d'un signe
+bémol. Voici différentes tentatives pour y parvenir :
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+<b bes>
+<b! bes>
+<b? bes>
+@end lilypond
+
+Pas une ne convient, et la seconde se solde même par une collision
+entre les deux signes.
+
+Une solution pour arriver à nos fins consiste à retoucher le stencil des
+altérations grâce à un markup qui contient les symboles bécarre et
+bémol, dans l'ordre que nous souhaitons, comme ceci :
+
+@cindex Accidental, example of overriding
+@cindex text property, example
+@cindex stencil property, example
+@cindex AccidentalPlacement, example of overriding
+@cindex right-padding property, example
+
+@lilypond[quote,ragged-right,verbatim]
+naturalplusflat = \markup { \natural \flat }
+\relative c'' {
+ \once \override Accidental
+ #'stencil = #ly:text-interface::print
+ \once \override Accidental #'text = #naturalplusflat
+ \once \override Score.AccidentalPlacement #'right-padding = #1.5
+ <b bes>
+}
+@end lilypond
+
+@noindent
+Cette méthode utilise, pour le stencil des altérations, une retouche
+qui ne sera par reprise par la suite. Le type de stencil est obligatoirement
+une procédure, qui consiste ici à imprimer le contenu de la propriété
+@code{text} de @code{Accidental}, déclaré comme étant un signe
+bécarre suivi d'un signe bémol. Celui-ci est ensuite repoussé devant la
+tête de note par la retouche de @code{right-padding}.
+
+@noindent
+
+@subheading staff-padding property
+
+@cindex aligning objects on a baseline
+@cindex objects, aligning on a baseline
+
+@code{staff-padding} sert à aligner des objets tels que des nuances
+sur une ligne fictive à une hauteur donnée par rapport à la portée, plutôt
+qu'Ã une hauteur qui varie en fonction de la position de la note sur laquelle
+porte l'objet. Ce n'est pas une propriété de @code{DynamicText} mais de
+@code{DynamicLineSpanner}. Car la ligne fictive est destinée à s'appliquer
+autant à @strong{toutes} les nuances, notamment celles qui sont créées
+comme des bandeaux en longueur (en anglais @q{Spanners}). Tel est donc
+le moyen d'aligner les indications de nuances, comme dans cet exemple
+repris de la section précédente :
+
+@cindex DynamicText, example of overriding
+@cindex extra-spacing-width property, example
+@cindex DynamicLineSpanner, example of overriding
+@cindex staff-padding property, example
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\dynamicUp
+% Extend width by 1 unit
+\override DynamicText #'extra-spacing-width = #'(-0.5 . 0.5)
+% Align dynamics to a base line 2 units above staff
+\override DynamicLineSpanner #'staff-padding = #2
+a4\f b\mf c\mp b\p
+@end lilypond
+
+
+@subheading self-alignment-X property
+L'exemple suivant montre comment résoudre une collision entre une indication
+de corde et une queue de note, en alignant le coin droit sur le point de
+référence de la note parente :
+
+@cindex StringNumber, example of overriding
+@cindex self-alignment-X property, example
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=3]
+\voiceOne
+< a \2 >
+\once \override StringNumber #'self-alignment-X = #RIGHT
+< a \2 >
+@end lilypond
+
+@subheading staff-position property
+
+@cindex object collision within a staff
+Dans une voix, un silence valant une mesure entière peut chevaucher les
+notes d'une autre voix. Vu que ces silences sont centrés entre les deux
+barres de mesure, il serait très compliqué de programmer LilyPond pour repérer
+ces risques de collisions, dans la mesure où, normalement, toutes les collisions
+entre notes ou entre notes et silences se produisent sur des notes et silences
+simultanés. Voici un exemple de collision de ce type :
+
+@lilypond[quote,verbatim,fragment,ragged-right, relative=1]
+<< {c c c c} \\ {R1} >>
+@end lilypond
+
+Ici, la meilleure solution consiste à déplacer le symbole de pause vers
+le bas -- puisque cette pause appartient à la voix deux. Par défaut, dans la
+@code{\voiceTwo} (c'est-Ã -dire dans la seconde voix d'une construction
+@code{<<@{...@} \\ @{...@}>>}), la propriété @code{staff-position} est
+réglée sur -4 pour les MultiMeasureRest ; nous avons donc besoin de la
+déplacer, disons, de quatre demi-intervalles vers le bas, ce qui donne
+@code{-8}.
+
+
+@cindex MultiMeasureRest, example of overriding
+@cindex staff-position property, example
+
+@lilypond[quote,verbatim,fragment,ragged-right, relative=1]
+<<
+ {c c c c}
+\\
+ \override MultiMeasureRest #'staff-position = #-8
+ {R1}
+>>
+@end lilypond
+
+C'est mieux que d'utiliser, par exemple, @code{extra-offset},
+car la ligne supplémentaire au-dessus du silence est insérée
+automatiquement.
+
+@subheading extra-offset property
+
+@cindex positioning objects
+@cindex positioning grobs
+@cindex objects, positioning
+@cindex grobs, positioning
+
+La propriété @code{extra-offset}
+La propriété @code{extra-offset} offre la possibilité de contrôler
+entièrement le placement d'un objet, aussi bien horizontalement que
+verticalement.
+
+Dans l'exemple suivant, la seconde indication de doigté est déplacée
+légèrement vers la gauche et de 1.8 intervalle de lignes vers le bas :
+
+@cindex Fingering, example of overriding
+@cindex extra-offset property, example
+
+@lilypond[quote,fragment,relative=1,verbatim]
+\stemUp
+f-5
+\once \override Fingering
+ #'extra-offset = #'(-0.3 . -1.8)
+f-5
+@end lilypond
+
+
+@subheading positions property
+
+@cindex controlling tuplets, slurs, phrasing slurs, and beams manually
+@cindex manually controlling tuplets, slurs, phrasing slurs, and beams
+@cindex tuplet beams, controlling manually
+@cindex slurs, controlling manually
+@cindex phrasing slurs, controlling manually
+@cindex beams, controlling manually
+
+La propriété @code{positions} permet de contrôler manuellement la
+position et l'inclinaison des nolets, coulés, liaisons de phrasé et barres
+de croches. Voici un exemple avec une horrible liaison de phrasé --
+horrible pour avoir tenté de contourner la liaison de l'acciaccature.
+
+@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
+r4 \acciaccatura e8\( d8 c ~c d c d\)
+@end lilypond
+
+@noindent
+Nous pourrions tout simplement déplacer la liaison de phrasé au-dessus des
+notes, et ce serait la meilleure solution :
+
+@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
+r4
+\phrasingSlurUp
+\acciaccatura e8\( d8 c ~c d c d\)
+@end lilypond
+
+@noindent
+Mais si, pour une quelconque raison, cette solution n'était pas
+envisageable, l'autre solution consiste à déplacer légèrement vers le
+bas l'extrémité gauche de la liaison de phrasé, grâce à la propriété
+@code{positions}. Cela corrige en même temps la forme plutôt
+disgracieuse de la liaison.
+
+@cindex PhrasingSlur, example of overriding
+@cindex positions property, example
+
+@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
+r4
+\once \override PhrasingSlur #'positions = #'(-4 . -3)
+\acciaccatura
+e8\( d8 c ~c d c d\)
+@end lilypond
+
+Voici un autre exemple, tiré du début de la partie de main gauche
+du Prélude de Chopin, Op. 28, No 2. Comme nous pouvons le
+constater, les barres de croches chevauchent les notes les plus hautes :
+
+@lilypond[quote,verbatim,fragment,ragged-right]
+{
+\clef "bass"
+<< {b,8 ais, b, g,} \\ {e, g e, g} >>
+<< {b,8 ais, b, g,} \\ {e, g e, g} >>
+}
+@end lilypond
+
+@noindent
+On peut y remédier en déplaçant manuellement vers le haut les deux
+extrémités des barres de croches, non plus à 2 intervalles au-dessus
+de la ligne médiane mais, disons, à 3 :
+
+@cindex Beam, example of overriding
+@cindex positions property, example
+
+@lilypond[quote,verbatim,fragment,ragged-right]
+{
+ \clef "bass"
+ <<
+ \override Beam #'positions = #'(3 . 3)
+ {b,8 ais, b, g,}
+ \\
+ {e, g e, g}
+ >>
+ << {b,8 ais, b, g,} \\ {e, g e, g} >>
+}
+@end lilypond
+
+@noindent
+Vous remarquerez que la retouche continue à s'appliquer au
+second bloc de croches de la première voix mais qu'il ne s'applique
+à aucune barre de la deuxième voix.
+
+@subheading force-hshift property
+
+@c FIXME: formatting stuff (ie not important right now IMO)
+@c @a nchor Chopin finally corrected TODOgp
+
+Maintenant, nous sommes prêts à appliquer les dernières corrections Ã
+l'exemple de Chopin présenté à la fin de @ref{I'm hearing Voices}, que
+nous avions laissé dans cet état :
+
+@lilypond[quote,verbatim,fragment,ragged-right]
+\new Staff \relative c'' {
+ \key aes \major
+ <<
+ { c2 aes4. bes8 } \\
+ { aes2 f4 fes } \\
+ { \voiceFour
+ <ees c>2
+ des2
+ }
+ >> |
+ <c ees aes c>1 |
+}
+@end lilypond
+
+@noindent
+Les deux plus basses notes du premier accord (c'est-Ã -dire celles de la
+troisième voix) ne devraient pas être décalées de la colonne des deux
+plus hautes notes. Pour y remédier, nous réglons le @code{force-hshift}
+-- qui est une propriété de @code{NoteColumn} -- de ces notes sur zéro.
+Ensuite, la note la plus basse du second accord serait mieux à droite des
+notes plus hautes. Pour cela, nous réglons le @code{force-hshift} de cette
+note sur 0.5 -- c'est-à -dire la moitié de la largeur d'une tête de note vers la
+droite de la colonne des notes plus hautes.
+
+Et voici le résultat final :
+
+@cindex NoteColumn, example of overriding
+@cindex force-hshift property, example
+
+@lilypond[quote,verbatim,fragment,ragged-right]
+\new Staff \relative c'' {
+ \key aes \major
+ <<
+ { c2 aes4. bes8 } \\
+ { aes2 f4 fes } \\
+ { \voiceFour
+ \once \override NoteColumn #'force-hshift = #0 <ees c>2
+ \once \override NoteColumn #'force-hshift = #0.5 des2
+ }
+ >> |
+ <c ees aes c>1 |
+}
+@end lilypond
+
+
+@node Real music example
+@subsection Real music example
+
+Pour terminer ce chapitre consacré aux retouches, voici, étape par
+étape, la mise en forme d'un exemple concret nécessitant un certain
+nombre de retouches jusqu'à l'obtention du résultat attendu. Cet exemple
+a été choisi en raison des problèmes inhabituels de notation qu'il soulevait
+et pour vous apprendre à les résoudre grâce au Manuel de notation. Il
+n'est pas représentatif d'une opération normale de gravure ; que ces
+difficultés ne vous découragent donc pas ! Des difficultés comme celles-ci
+ne sont, heureusement, pas courantes !
+
+Cet exemple est tiré de la Première Ballade de Chopin, Op. 23, mesures
+6 à 9 ; cela correspond à la transition entre le Lento d'ouverture et le
+Moderato. Voici, pour commencer, ce à quoi nous voulons que la
+partition ressemble ; pour limiter les complications, nous n'avons pas
+fait apparaître les indications de nuances, de doigté ni de pédale.
+
+
+@c The following should appear as music without code
+@c This example should not be indexed
+@lilypond[quote,ragged-right]
+rhMusic = \relative c'' {
+ r2
+ c4.\( g8 |
+ \once \override Tie #'staff-position = #3.5
+ bes1~ |
+ \bar "||"
+ \time 6/4
+ \mergeDifferentlyHeadedOn
+ \mergeDifferentlyDottedOn
+ bes2.^\markup {\bold "Moderato"} r8
+ <<
+ {c,8[ d fis bes a] | }
+ \\
+ % Reposition the c2 to the right of the merged note
+ {c,8~ \once \override NoteColumn #'force-hshift = #1.0
+ % Move the c2 out of the main note column so the merge will work
+ \shiftOnn c2}
+ \\
+ % Stem on the d2 must be down to permit merging
+ {s8 \stemDown \once \override Stem #'transparent = ##t d2}
+ \\
+ {s4 fis4.}
+ >>
+ \mergeDifferentlyHeadedOff
+ \mergeDifferentlyDottedOff
+ g2.\)
+}
+
+lhMusic = \relative c' {
+ r2 <c g ees>2( |
+ <d g, d>1)\arpeggio |
+ r2. d,,4 r4 r |
+ r4
+}
+
+\score {
+ \new PianoStaff <<
+ \new Staff = "RH" <<
+ \key g \minor
+ \rhMusic
+ >>
+ \new Staff = "LH" <<
+ \key g \minor
+ \clef "bass"
+ \lhMusic
+ >>
+ >>
+}
+@end lilypond
+
+Nous constatons tout d'abord que, dans la troisième mesure, la main
+droite compte quatre voix. Ce sont les cinq croches avec une barre,
+le do avec liaison, le ré blanche qui se fond avec le ré croche, et le
+fa dièse noire pointée qui se fond lui aussi avec la croche de même
+hauteur. Tout le reste se réduit à une seule voix. Le plus simple est
+donc de créer temporairement ces quatre voix au moment opportun.
+Si vous avez oublié comment faire, reportez-vous Ã
+@ref{I'm hearing Voices}. Commençons par saisir les notes comme
+appartenant à deux variables, mettons en place l'ossature des
+portées dans un bloc score et voyons ce que LilyPond propose par
+défaut :
+
+@lilypond[quote,verbatim,ragged-right]
+rhMusic = \relative c'' {
+ r2 c4. g8 |
+ bes1~ |
+ \time 6/4
+ bes2. r8
+ % Start polyphonic section of four voices
+ <<
+ {c,8 d fis bes a | }
+ \\
+ {c,8~ c2 | }
+ \\
+ {s8 d2 | }
+ \\
+ {s4 fis4. | }
+ >>
+ g2.
+}
+
+lhMusic = \relative c' {
+ r2 <c g ees>2 |
+ <d g, d>1 |
+ r2. d,,4 r4 r |
+ r4
+}
+
+\score {
+ \new PianoStaff <<
+ \new Staff = "RH" <<
+ \key g \minor
+ \rhMusic
+ >>
+ \new Staff = "LH" <<
+ \key g \minor
+ \clef "bass"
+ \lhMusic
+ >>
+ >>
+}
+@end lilypond
+
+Toutes les notes sont correctes mais l'allure générale est loin d'être
+satisfaisante. La liaison se heurte à l'indication de mesure lors du
+changement de chiffrage, la barre des croches n'est pas bonne dans la
+troisième mesure, les notes ne sont pas fusionnées et il manque plusieurs
+éléments de notation. Commençons par le plus simple. Nous pouvons
+corriger la barre des croches en la créant manuellement et nous pouvons
+facilement ajouter les limites droite et gauche de la liaison de phrasé,
+puisque tout cela a déjà été traité dans le tutoriel. Voici le résultat :
+
+@lilypond[quote,verbatim,ragged-right]
+rhMusic = \relative c'' {
+ r2 c4.\( g8 |
+ bes1~ |
+ \time 6/4
+ bes2. r8
+ % Start polyphonic section of four voices
+ <<
+ {c,8[ d fis bes a] | }
+ \\
+ {c,8~ c2 | }
+ \\
+ {s8 d2 | }
+ \\
+ {s4 fis4. | }
+ >>
+ g2.\)
+}
+
+lhMusic = \relative c' {
+ r2 <c g ees>2( |
+ <d g, d>1) |
+ r2. d,,4 r4 r |
+ r4
+}
+
+\score {
+ \new PianoStaff <<
+ \new Staff = "RH" <<
+ \key g \minor
+ \rhMusic
+ >>
+ \new Staff = "LH" <<
+ \key g \minor
+ \clef "bass"
+ \lhMusic
+ >>
+ >>
+}
@end lilypond
+La première mesure est maintenant correcte. La seconde contient un arpège
+et doit se terminer par une double barre. Comment faire, puisque cela n'a pas
+été traité dans le Manuel d'initiation ? C'est alors qu'il faut nous
+reporter au Manuel de notation. Quand on cherche @q{arpège} et @q{barre
+de mesure} dans l'index, on voit aisément qu'il faut ajouter
+@code{\arpeggio} à un accord pour produire un arpège et qu'une double
+barre est le résultat de la commande @code{\bar "||"}. Rien de plus
+facile ! Nous devons ensuite corriger la collision entre la liaison et
+l'indication de mesure. Le mieux est de déplacer la liaison vers le
+haut. La méthode pour déplacer les objets a déjà été présentée dans
+@ref{Moving objects}, et l'on sait que, pour des objets positionnés par
+rapport à la portée, il nous faut modifier leur propriété
+@code{staff-position}, exprimée en demi-intervalles de lignes par
+rapport à la ligne médiane de la portée. Voici donc la retouche Ã
+insérer juste devant la première note liée ; elle est censée déplacer la
+liaison vers le haut de 3,5 demi-intervalles de lignes au-dessus de la
+ligne médiane :
+
+@code{\once \override Tie #'staff-position = #3.5}
+
+Cela s'adjoint à la deuxième mesure, pour donner :
+
+@lilypond[quote,verbatim,ragged-right]
+rhMusic = \relative c'' {
+ r2 c4.\( g8 |
+ \once \override Tie #'staff-position = #3.5
+ bes1~ |
+ \bar "||"
+ \time 6/4
+ bes2. r8
+ % Start polyphonic section of four voices
+ <<
+ {c,8[ d fis bes a] | }
+ \\
+ {c,8~ c2 | }
+ \\
+ {s8 d2 | }
+ \\
+ {s4 fis4. | }
+ >>
+ g2.\)
+}
+
+lhMusic = \relative c' {
+ r2 <c g ees>2( |
+ <d g, d>1)\arpeggio |
+ r2. d,,4 r4 r |
+ r4
+}
+
+\score {
+ \new PianoStaff <<
+ \new Staff = "RH" <<
+ \key g \minor
+ \rhMusic
+ >>
+ \new Staff = "LH" <<
+ \key g \minor
+ \clef "bass"
+ \lhMusic
+ >>
+ >>
+}
+@end lilypond
+
+Venons-en à la troisième mesure et au début de la section Moderato. Dans
+le Tutoriel, il est indiqué comment insérer du texte en gras à l'aide de la
+commande @code{\markup} ; pas de problème, du coup, pour ajouter
+@q{Moderato} en gras. Mais comment faire pour fusionner les notes de
+différentes voix ? C'est là que le Manuel de notation peut nous venir en
+aide. Une recherche sur @q{fusionnement de notes} dans l'index nous renvoie,
+dans @ruser{Collision resolution}, aux commandes pour fusionner les notes,
+différentes en fonction du type de note et selon que celles-ci sont
+pointées ou non. Dans notre exemple, pour la durée de la polyphonie de
+la troisième mesure, nous avons besoin de fusionner deux types de notes
+; grâce aux informations trouvées dans le Manuel de notation, nous
+ajoutons
+
+@example
+\mergeDifferentlyHeadedOn
+\mergeDifferentlyDottedOn
+@end example
+
+@noindent
+au début de cette section et
+
+@example
+\mergeDifferentlyHeadedOff
+\mergeDifferentlyDottedOff
+@end example
+
+@noindent
+Ã la fin, ce qui donne :
+
+@lilypond[quote,verbatim,ragged-right]
+rhMusic = \relative c'' {
+ r2 c4.\( g8 |
+ \once \override Tie #'staff-position = #3.5
+ bes1~ |
+ \bar "||"
+ \time 6/4
+ bes2.^\markup {\bold "Moderato"} r8
+ \mergeDifferentlyHeadedOn
+ \mergeDifferentlyDottedOn
+ % Start polyphonic section of four voices
+ <<
+ {c,8[ d fis bes a] | }
+ \\
+ {c,8~ c2 | }
+ \\
+ {s8 d2 | }
+ \\
+ {s4 fis4. | }
+ >>
+ \mergeDifferentlyHeadedOff
+ \mergeDifferentlyDottedOff
+ g2.\)
+}
+
+lhMusic = \relative c' {
+ r2 <c g ees>2( |
+ <d g, d>1)\arpeggio |
+ r2. d,,4 r4 r |
+ r4
+}
+
+\score {
+ \new PianoStaff <<
+ \new Staff = "RH" <<
+ \key g \minor
+ \rhMusic
+ >>
+ \new Staff = "LH" <<
+ \key g \minor
+ \clef "bass"
+ \lhMusic
+ >>
+ >>
+}
+@end lilypond
+
+Ces retouches ont permis de fusionner les deux fa dièse mais pas les
+deux ré. Pourquoi ? La réponse se trouve dans la même section du
+Manuel de notation : les notes à fusionner doivent avoir des queues dans
+des directions opposées et deux notes ne peuvent pas être fusionnées s'il
+y a une troisième note dans la même colonne. Ici, les deux ré ont leur
+queue orientée vers le haut et il y a une troisième note, do. Nous
+savons changer l'orientation de la queue avec @code{\stemDown} et
+le Manuel de notation nous indique également comment déplacer le do
+-- en produisant un décalage grâce à l'une des commandes @code{\shift}.
+Mais laquelle ? Le do appartient à la deuxième voix et n'est pas décalé ;
+les deux ré appartiennent respectivement à la première et à la troisième
+voix, et l'un n'est pas décalé tandis que l'autre l'est. Il nous faut donc
+décaler largement le do avec la commande @code{\shiftOnn} pour
+éviter une interférence avec les deux ré. Voici ce que donnent ces
+modifications :
+
+@cindex Tie, example of overriding
+@cindex staff-position property, example
+
+@lilypond[quote,verbatim,ragged-right]
+rhMusic = \relative c'' {
+ r2 c4.\( g8 |
+ \once \override Tie #'staff-position = #3.5
+ bes1~ |
+ \bar "||"
+ \time 6/4
+ bes2.^\markup {\bold "Moderato"} r8
+ \mergeDifferentlyHeadedOn
+ \mergeDifferentlyDottedOn
+ % Start polyphonic section of four voices
+ <<
+ {c,8[ d fis bes a] | }
+ \\
+ % Move the c2 out of the main note column so the merge will work
+ {c,8~ \shiftOnn c2 | }
+ \\
+ % Stem on the d2 must be down to permit merging
+ {s8 \stemDown d2 | }
+ \\
+ {s4 fis4. | }
+ >>
+ \mergeDifferentlyHeadedOff
+ \mergeDifferentlyDottedOff
+ g2.\)
+}
+
+lhMusic = \relative c' {
+ r2 <c g ees>2( |
+ <d g, d>1)\arpeggio |
+ r2. d,,4 r4 r |
+ r4
+}
+
+\score {
+ \new PianoStaff <<
+ \new Staff = "RH" <<
+ \key g \minor
+ \rhMusic
+ >>
+ \new Staff = "LH" <<
+ \key g \minor
+ \clef "bass"
+ \lhMusic
+ >>
+ >>
+}
+@end lilypond
+
+Pas loin. Il ne reste plus que deux problèmes : les ré une fois fusionnés
+ne devraient plus avoir de queue vers le bas, et le do serait mieux à la
+droite des ré. Nous savons remédier à ces deux problèmes grâce aux
+retouches précédentes : nous allons rendre la queue transparente et
+déplacer le do avec la propriété @code{force-hshift}. Et voici le
+résultat final :
+
+@cindex NoteColumn, example of overriding
+@cindex force-hshift property, example
+@cindex Stem, example of overriding
+@cindex transparent property, example
+
+@lilypond[quote,verbatim,ragged-right]
+rhMusic = \relative c'' {
+ r2
+ c4.\( g8 |
+ \once \override Tie #'staff-position = #3.5
+ bes1~ |
+ \bar "||"
+ \time 6/4
+ bes2.^\markup {\bold "Moderato"} r8
+ \mergeDifferentlyHeadedOn
+ \mergeDifferentlyDottedOn
+ <<
+ {c,8[ d fis bes a] | }
+ \\
+ % Reposition the c2 to the right of the merged note
+ {c,8~ \once \override NoteColumn #'force-hshift = #1.0
+ % Move the c2 out of the main note column so the merge will work
+ \shiftOnn c2}
+ \\
+ % Stem on the d2 must be down to permit merging
+ {s8 \stemDown \once \override Stem #'transparent = ##t d2}
+ \\
+ {s4 fis4.}
+ >>
+ \mergeDifferentlyHeadedOff
+ \mergeDifferentlyDottedOff
+ g2.\)
+}
+
+lhMusic = \relative c' {
+ r2 <c g ees>2( |
+ <d g, d>1)\arpeggio |
+ r2. d,,4 r4 r |
+ r4
+}
+
+\score {
+ \new PianoStaff <<
+ \new Staff = "RH" <<
+ \key g \minor
+ \rhMusic
+ >>
+ \new Staff = "LH" <<
+ \key g \minor
+ \clef "bass"
+ \lhMusic
+ >>
+ >>
+}
+
+@end lilypond
+
+
+@node Further tweaking
+@section Further tweaking
+
+@menu
+* Other uses for tweaks::
+* Using variables for tweaks::
+* Other sources of information::
+* Avoiding tweaks with slower processing::
+* Advanced tweaks with Scheme::
+@end menu
+
+@node Other uses for tweaks
+@subsection Other uses for tweaks
+
+@cindex transparent property, use of
+@cindex objects, making invisible
+@cindex removing objects
+@cindex objects, removing
+@cindex hiding objects
+@cindex objects, hiding
+@cindex invisible objects
+@cindex objects, invisible
+@cindex tying notes across voices
+
+@subheading Tying notes across voices
+
+Voici un exemple qui montre comment créer une liaison de
+prolongation entre des notes appartenant à des voix différentes. En
+temps normal, seules deux notes appartenant à une même voix
+peuvent être ainsi liées. La solution consiste à utiliser deux voix,
+dont l'une avec les notes liées
+
+@lilypond[quote,fragment,relative=2]
+<< { b8~ b8\noBeam }
+\\ { b[ g8] }
+>>
+@end lilypond
+
+@noindent
+et à rendre transparente la première queue de note de cette voix ;
+on a alors l'impression que la liaison couvre les deux voix.
+
+@cindex Stem, example of overriding
+@cindex transparent propery, example
+
+@lilypond[quote,fragment,relative=2,verbatim]
+<<
+ {
+ \once \override Stem #'transparent = ##t
+ b8~ b8\noBeam
+ }
+\\
+ { b[ g8] }
+>>
+@end lilypond
+
+Pour être sûr que la queue que nous avons rendue transparente
+n'empiète pas trop sur le trait de liaison, nous pouvons l'allonger en
+réglant la longueur (@code{length}) sur @code{8},
+
+@lilypond[quote,fragment,relative=2,verbatim]
+<<
+ {
+ \once \override Stem #'transparent = ##t
+ \once \override Stem #'length = #8
+ b8~ b8\noBeam
+ }
+\\
+ { b[ g8] }
+>>
+@end lilypond
+
+@subheading Simulating a fermata in MIDI
+
+@cindex stencil property, use of
+@cindex fermata, implementing in MIDI
+
+En ce qui concerne les objets extérieurs à la portée, quand on veut les
+faire disparaître de la partition imprimée , il est généralement préférable
+de modifier leur propriété @code{stencil} plutôt que leur propriété
+@code{transparent}. Le fait d'attribuer à la propriété @code{stencil}
+d'un objet la valeur @code{#f} supprimera entièrement celui-ci de la
+partition. Il ne risquera donc pas de gêner le placement d'autres objets.
+
+Par exemple, si nous voulons changer le réglage de métronome pour
+simuler un point d'orgue dans le fichier MIDI, nous ne voulons surtout
+pas que cette indication métronomique apparaisse sur la partition ni
+qu'elle influence l'espacement entre les deux systèmes ou la position
+des annotations voisines sur la portée. Le fait d'attribuer à la propriété
+@code{stencil} la valeur @code{#f} est donc la bonne solution. Nous
+montrons ci-dessous le résultat des deux méthodes :
+
+@cindex MetronomeMark, example of overriding
+@cindex transparent property, example
+
+@lilypond[quote,verbatim,ragged-right]
+\score {
+ \relative c'' {
+ % Visible tempo marking
+ \tempo 4=120
+ a4 a a
+ \once \override Score.MetronomeMark #'transparent = ##t
+ % Invisible tempo marking to lengthen fermata in MIDI
+ \tempo 4=80
+ a\fermata
+ % New tempo for next section
+ \tempo 4=100
+ a a a a
+ }
+ \layout { }
+ \midi { }
+}
+@end lilypond
+
+@cindex MetronomeMark, example of overriding
+@cindex stencil property, example
+
+@lilypond[quote,verbatim,ragged-right]
+\score {
+ \relative c'' {
+ % Visible tempo marking
+ \tempo 4=120
+ a4 a a
+ \once \override Score.MetronomeMark #'stencil = ##f
+ % Invisible tempo marking to lengthen fermata in MIDI
+ \tempo 4=80
+ a\fermata
+ % New tempo for next section
+ \tempo 4=100
+ a a a a
+ }
+ \layout { }
+ \midi { }
+}
+@end lilypond
+
+@noindent
+Les deux méthodes permettent l'enlever l'indication métronomique qui allonge
+le point d'orgue de la partition, et toutes deux modifient le rythme MIDI comme
+souhaité, mais, dans la première, l'indication métronomique transparente
+repousse vers le haut l'indication de tempo, contrairement à la seconde (avec
+le stencil désactivé) qui la laisse à sa place.
+
+
+@node Using variables for tweaks
+@subsection Using variables for tweaks
+
+@cindex variables, using for tweaks
+@cindex using variables for tweaks
+@cindex tweaks, using variables for
+
+Les commandes de retouche sont souvent longues et pénibles Ã
+taper, et ne tolèrent pas la moindre erreur. Lorsqu'on a besoin de
+faire plusieurs fois les mêmes retouches, il est préférable de
+définir des variables qui les contiennent. Imaginons que nous
+voulions accentuer certains mots dans des paroles en les mettant
+en italiques. Au lieu des commandes @code{\italic} et
+@code{\bold}, qui ne fonctionnent dans les paroles que si elles
+sont enchâssées dans un @code{\markup}, ce qui les rend
+pénibles à saisir, pouvons-nous employer les commandes
+@code{\override} et @code{\revert}?
+
+@example
+@code{\override Lyrics . LyricText #'font-shape = #'italic}
+@code{\override Lyrics . LyricText #'font-series = #'bold}
+
+@code{\revert Lyrics . LyricText #'font-shape}
+@code{\revert Lyrics . LyricText #'font-series}
+@end example
+
+Là encore, ce serait extrêmement pénible à saisir, surtout s'il y avait
+beaucoup de mots à retoucher de cette façon. Plutôt que cette
+solution, nous déclarons ces commandes comme étant deux variables
+et les utilisons comme suit -- quoique on choisirait sans doute pour les
+variables des noms plus courts pour simplifier la frappe :
+
+@cindex LyricText, example of overriding
+@cindex font-shape property, example
+@cindex font-series property, example
+
+@lilypond[quote,verbatim]
+emphasize = {
+ \override Lyrics . LyricText #'font-shape = #'italic
+ \override Lyrics . LyricText #'font-series = #'bold
+}
+normal = {
+ \revert Lyrics . LyricText #'font-shape
+ \revert Lyrics . LyricText #'font-series
+}
+
+global = { \time 4/4 \partial 4 \key c \major}
+SopranoMusic = \relative c' { c4 | e4. e8 g4 g | a a g }
+AltoMusic = \relative c' { c4 | c4. c8 e4 e | f f e }
+TenorMusic = \relative c { e4 | g4. g8 c4. b8 | a8 b c d e4 }
+BassMusic = \relative c { c4 | c4. c8 c4 c | f8 g a b c4 }
+VerseOne = \lyrics { E -- | ter -- nal \emphasize Fa -- ther, \normal | strong to save, }
+VerseTwo = \lyricmode { O | \emphasize Christ, \normal whose voice the | wa -- ters heard, }
+VerseThree = \lyricmode { O | \emphasize Ho -- ly Spi -- rit, \normal | who didst brood }
+VerseFour = \lyricmode { O | \emphasize Tri -- ni -- ty \normal of | love and pow'r }
+
+\score {
+ \new ChoirStaff <<
+ \new Staff <<
+ \clef "treble"
+ \new Voice = "Soprano" { \voiceOne \global \SopranoMusic }
+ \new Voice = "Alto" { \voiceTwo \AltoMusic }
+ \new Lyrics \lyricsto "Soprano" { \VerseOne }
+ \new Lyrics \lyricsto "Soprano" { \VerseTwo }
+ \new Lyrics \lyricsto "Soprano" { \VerseThree }
+ \new Lyrics \lyricsto "Soprano" { \VerseFour }
+ >>
+ \new Staff <<
+ \clef "bass"
+ \new Voice = "Tenor" { \voiceOne \TenorMusic }
+ \new Voice = "Bass" { \voiceTwo \BassMusic }
+ >>
+ >>
+}
+@end lilypond
+
+
+@node Other sources of information
+@subsection Other sources of information
+
+La Référence du programme contient beaucoup d'informations sur
+LilyPond. Cependant vous pouvez en découvrir
+encore plus en consultant les fichiers internes de LilyPond. Pour cela,
+il vous faut d'abord connaître le répertoire ad hoc sur votre système.
+L'emplacement du répertoire dépend (a) du fait que, pour vous procurer
+LilyPond, vous avez téléchargé un paquet précompilé sur lilypond.org, ou
+vous l'avez installé grâce à votre gestionnaire de paquetages (c'est-à -dire
+distribué avec Linux ou installé avec fink ou cygwin), ou encore vous l'avez
+compilé directement à partir des sources ; et (b) du système d'exploitation
+sous lequel il tourne.
+
+@strong{Téléchargé depuis lilypond.org}
+
+@itemize @bullet
+@item Linux
+
+@file{@var{INSTALLDIR}/lilypond/usr/share/lilypond/current/}
+
+@item MacOS X
+
+@file{@var{INSTALLDIR}/LilyPond.app/Contents/Resources/share/lilypond/current/}
+Pour accéder à ce dossier, deux possibilités : soit, dans un Terminal,
+taper @code{cd} suivi du chemin complet ci-dessus ; soit
+Control-cliquer (ou clic droit) sur l'application LilyPond
+et sélectionner @q{Afficher le contenu du paquet}.
+
+@item Windows
+
+Dans l'Explorateur Windows, voir
+@file{@var{INSTALLDIR}/LilyPond/usr/share/lilypond/current/}
+
+@end itemize
+
+@strong{Installé par un gestionnaire de paquetages ou compilé d'après
+les sources}
+
+@file{@var{PREFIX}/share/lilypond/@var{X.Y.Z}/}, où
+@var{PREFIX} est déterminé par votre gestionnaire de paquetages ou par le script
+@code{configure}, et @var{X.Y.Z} est le numéro de version de LilyPond.
+
+@smallspace
+
+Dans ce répertoire, deux sous-répertoires sont particulièrement intéressants :
+
+@itemize
+@item @file{ly/} - contient les fichiers en format LilyPond
+@item @file{scm/} - contient les fichiers en format Scheme
+@end itemize
+
+Commençons par examiner quelques fichiers contenus dans @file{ly/}.
+Nous ouvrons @file{ly/property-init.ly} dans un éditeur de texte -- celui
+que vous avez l'habitude d'utiliser pour les fichiers @code{.ly} fera très
+bien l'affaire. Ce fichier contient les définitions de toutes les commandes
+standard prédéfinies de LilyPond, comme @code{\stemUp} et
+@code{\slurDotted}. Vous pouvez constater que ce n'est rien d'autre
+que des définitions de variables composées d'un ou plusieurs groupes
+de commandes @code{\override}. Par exemple, @code{\tieDotted}
+est défini comme :
+
+@example
+tieDotted = @{
+ \override Tie #'dash-period = #0.75
+ \override Tie #'dash-fraction = #0.1
+@}
+@end example
+
+Si vous n'aimez pas les valeurs par défaut, les commandes prédéfinies
+peuvent être facilement redéfinies, comme n'importe quelle autre variable,
+en tête de votre fichier d'entrée.
+
+Voici les fichiers les plus utiles dans le répertoire @file{ly/}:
+
+@multitable @columnfractions .4 .6
+@headitem Nom de fichier
+ @tab Contenu
+@item @file{ly/engraver-init.ly}
+ @tab Définitions des Contextes de graveurs
+@item @file{ly/paper-defaults-init.ly}
+ @tab Réglages papier par défaut
+@item @file{ly/performer-init.ly}
+ @tab Définitions des Contextes d'interprétation
+@item @file{ly/property-init.ly}
+ @tab Définitions de toutes les commandes prédéfinies courantes
+@item @file{ly/spanner-init.ly}
+ @tab Définitions des commandes prédéfinies pour les bandeaux
+@end multitable
+
+Les autres réglages (comme les définitions de commandes markup) sont
+conservés comme fichiers @code{.scm} (Scheme). Le langage de
+programmation Scheme offre une interface programmable dans le
+processus interne de LilyPond. De plus amples explications sur ces
+fichiers dépasseraient le cadre de ce manuel, dans la mesure où elles
+requièrent la connaissance du langage Scheme. Les utilisateurs qui
+souhaiteraient comprendre le fonctionnement de ces fichiers de
+configuration doivent être avertis que des connaissances techniques
+substantielles et beaucoup de temps sont nécessaires (voir
+@ref{Scheme tutorial}).
+
+Si c'est votre cas, les fichiers Scheme les plus utiles à connaître sont :
+
+@multitable @columnfractions .4 .6
+@headitem Nom de fichier
+ @tab Contenu
+@item @file{scm/auto-beam.scm}
+ @tab Régles par défaut des ligatures subalternes
+@item @file{scm/define-grobs.scm}
+ @tab Réglages par défaut des propriétés de grobs
+@item @file{scm/define-markup-commands.scm}
+ @tab Spécification de toutes les commandes de @emph{markup}
+@item @file{scm/midi.scm}
+ @tab Réglages par défaut pour les sorties MIDI
+@item @file{scm/output-lib.scm}
+ @tab Réglages affectant l'apparence des frets, couleurs, altérations,
+ barres de mesure, etc
+@item @file{scm/parser-clef.scm}
+ @tab Définition des clefs prises en charge
+@item @file{scm/script.scm}
+ @tab Réglages par défaut des articulations
+@end multitable
+
+
+
+@node Avoiding tweaks with slower processing
+@subsection Avoiding tweaks with slower processing
+
+LilyPond peut effectuer des vérifications supplémentaires lors du
+traitement des fichiers ; cependant, le rendu nécessitera alors plus de
+temps. En contrepartie, il y aura moins d'ajustements manuels à réaliser.
+Si une indication textuelle ou des paroles débordent dans la marge, ces
+vérifications auront pour effet de serrer la ligne suffisamment pour faire
+tenir le texte entre les marges.
+
+Pour pouvoir fonctionner en toutes circonstances, ces vérifications doivent
+être activées ; il faut pour cela placer les retouches dans un bloc Score
+@code{\with}, plutôt qu'à l'intérieur du fragment musical, comme ceci :
+
+@example
+\new Score \with @{
+ % Pour s'assurer que les indications textuelles et paroles
+ % seront à l'intérieur des marges de la page.
+ \override PaperColumn #'keep-inside-line = ##t
+ \override NonMusicalPaperColumn #'keep-inside-line = ##t
+@} @{
+ ..
+@}
+@end example
+
+
+@node Advanced tweaks with Scheme
+@subsection Advanced tweaks with Scheme
+
+Nous avons vu à quel point le résultat obtenu avec LilyPond peut
+être largement personnalisé à l'aide de commandes comme
+@code{\override} et @code{\tweak}. Et pourtant l'utilisation de
+Scheme ouvre des possibilités encore plus grandes.
+Le code écrit dans le langage de programmation Scheme peut être
+intégré directement dans le processus interne de LilyPond. Bien sûr,
+il faut pour cela connaître un minimum de programmation en langage
+Scheme. Pour des explications complètes là -dessus, consultez le
+@ref{Scheme tutorial}.
+
+En guise d'illustration - et ce n'est qu'une possibilité parmi tant
+d'autres -- nous allons attribuer à une propriété non pas une valeur
+préétablie mais une procédure Scheme qui sera lancée à chaque
+utilisation de la propriété par LilyPond. De cette façon, nous obtenons
+un réglage dynamique de la propriété par le simple fait d'invoquer la
+procédure. Dans cet exemple, nous colorons les têtes de notes en fonction
+de leur position sur la portée.
+
+
+@cindex x11-color function, example of using
+@cindex NoteHead, example of overriding
+@cindex color property, setting to Scheme procedure
+
+@lilypond[quote,verbatim,ragged-right]
+#(define (color-notehead grob)
+ "Color the notehead according to its position on the staff."
+ (let ((mod-position (modulo (ly:grob-property grob 'staff-position) 7)))
+ (case mod-position
+ ;; Return rainbow colors
+ ((1) (x11-color 'red )) ; for C
+ ((2) (x11-color 'orange )) ; for D
+ ((3) (x11-color 'yellow )) ; for E
+ ((4) (x11-color 'green )) ; for F
+ ((5) (x11-color 'blue )) ; for G
+ ((6) (x11-color 'purple )) ; for A
+ ((0) (x11-color 'violet )) ; for B
+ )
+ )
+)
+
+\relative c' {
+ % Arrange to obtain color from color-notehead procedure
+ \override NoteHead #'color = #color-notehead
+ c2 c' |
+ b4 g8 a b4 c |
+ c,2 a' |
+ g1 |
+}
+\addlyrics {
+ Some -- where o -- ver the Rain -- bow, way up high,
+}
+@end lilypond
+
+Vous trouverez dans @ref{Tweaking with Scheme} d'autres exemples d'utilisation de ces interfaces programmables.
+
@seealso
-
Référence du programme : @rinternals{LyricText}, @rinternals{LyricSpace}.
>>
@end example
+
@seealso
-
@c TODO: document \new Staff << Voice \lyricsto >> bug
-
+@c
Référence du programme : @rinternals{LyricCombineMusic},
@rinternals{Lyrics}.
} >>
@end lilypond
+
@seealso
-
Référence du programme : @rinternals{Lyrics}.
\addlyrics { pu- ro~y~ho- nes- to }
@end lilypond
-@seealso
+@seealso
Référence du programme : @rinternals{LyricCombineMusic}.
+
@c Here come the section which used to be "Melismata"
@c the new title might be more self-explanatory
+
@node Multiple notes to one syllable
@unnumberedsubsubsec Multiple notes to one syllable
@predefined
-
-@code{\melisma}, @code{\melismaEnd}
-@funindex \melismaEnd
@funindex \melisma
+@code{\melisma},
+@funindex \melismaEnd
+@code{\melismaEnd}.
+@endpredefined
-@seealso
+@seealso
@comment Référence du programme : @rinternals{Melisma_translator}.
Exemples : @rlsr{Vocal music}.
+
@knownissues
Certains mélismes ne sont pas détectés automatiquement ; vous devrez
et @code{minimum-length}, seuil en deçà duquel il n'y a pas de trait
d'union.
-@seealso
+@seealso
Référence du programme : @rinternals{LyricExtender},
@rinternals{LyricHyphen}
@seealso
-
Référence du programme : @rinternals{LyricText},
@rinternals{StanzaNumber}.
is finished.
</p>
- <p><i>Last updated Mon Nov 24 11:12:50 UTC 2008
+ <p><i>Last updated Mon Dec 1 12:06:59 UTC 2008
</i></p>
<table align="center" border="2">
<tr align="center">
<td>Till Rettig<br>
Reinhold Kainhofer<br>
<span style="background-color: #1fff1f">translated</span><br>
- <span style="background-color: #2cff20">partially up to date</span><br>
+ <span style="background-color: #1fff1f">up to date</span><br>
</td>
<td>Francisco Vila<br>
<span style="background-color: #1fff1f">translated</span><br>
</td>
<td>Till Rettig<br>
<span style="background-color: #1fff1f">translated</span><br>
- <span style="background-color: #25fe1f">partially up to date</span><br>
+ <span style="background-color: #1fff1f">up to date</span><br>
</td>
<td>Francisco Vila<br>
<span style="background-color: #1fff1f">translated</span><br>
<td>Till Rettig<br>
Reinhold Kainhofer<br>
<span style="background-color: #1fff1f">translated</span><br>
- <span style="background-color: #47ff24">partially up to date</span><br>
+ <span style="background-color: #1fff1f">up to date</span><br>
</td>
<td>Francisco Vila<br>
<span style="background-color: #1fff1f">translated</span><br>
</td>
</tr>
<tr align="left">
- <td>4 Tweaking output<br>(14578)</td>
+ <td>4 Tweaking output<br>(14581)</td>
<td>Valentin Villenave<br>
Nicolas Klutchnikoff<br>
<small>Jean-Charles Malahieude<br>
John Mandereau</small><br>
- <span style="background-color: #dfef77">partially translated (23 %)</span><br>
+ <span style="background-color: #dfef77">partially translated (22 %)</span><br>
<span style="background-color: #ff6f57">partially up to date</span><br>
</td>
<td>Till Rettig<br>
<span style="background-color: #1fff1f">translated</span><br>
- <span style="background-color: #c0ff34">partially up to date</span><br>
+ <span style="background-color: #1fff1f">up to date</span><br>
</td>
<td>Francisco Vila<br>
<span style="background-color: #1fff1f">translated</span><br>
</td>
<td>Till Rettig<br>
<span style="background-color: #1fff1f">translated</span><br>
- <span style="background-color: #2cff20">partially up to date</span><br>
+ <span style="background-color: #1fff1f">up to date</span><br>
</td>
<td>Francisco Vila<br>
<span style="background-color: #1fff1f">translated</span><br>
</td>
<td>Till Rettig<br>
<span style="background-color: #1fff1f">translated</span><br>
- <span style="background-color: #33ff21">partially up to date</span><br>
+ <span style="background-color: #1fff1f">up to date</span><br>
</td>
<td>Francisco Vila<br>
<span style="background-color: #1fff1f">translated</span><br>
</td>
</tr>
<tr align="left">
- <td>1.1 Pitches<br>(3083)</td>
+ <td>1.1 Pitches<br>(3086)</td>
<td>Frédéric Chiasson<br>
<small>Valentin Villenave<br>
Jean-Charles Malahieude</small><br>
</td>
</tr>
<tr align="left">
- <td>1.2 Rhythms<br>(5005)</td>
+ <td>1.2 Rhythms<br>(5013)</td>
<td>Frédéric Chiasson<br>
<small>Valentin Villenave<br>
Jean-Charles Malahieude</small><br>
</td>
</tr>
<tr align="left">
- <td>1.3 Expressive marks<br>(1141)</td>
+ <td>1.3 Expressive marks<br>(1146)</td>
<td>Valentin Villenave<br>
<small>Jean-Charles Malahieude<br>
John Mandereau</small><br>
<span style="background-color: #1fff1f">translated</span><br>
- <span style="background-color: #ff7257">partially up to date</span><br>
+ <span style="background-color: #ff6f57">partially up to date</span><br>
</td>
<td>Till Rettig<br>
<span style="background-color: #1fff1f">translated</span><br>
- <span style="background-color: #25fe1f">partially up to date</span><br>
+ <span style="background-color: #2cff20">partially up to date</span><br>
</td>
<td>Francisco Vila<br>
<span style="background-color: #1fff1f">translated</span><br>
</td>
</tr>
<tr align="left">
- <td>1.5 Simultaneous notes<br>(1452)</td>
+ <td>1.5 Simultaneous notes<br>(1455)</td>
<td>Frédéric Chiasson<br>
Valentin Villenave<br>
<small>Jean-Charles Malahieude<br>
</td>
</tr>
<tr align="left">
- <td>1.6 Staff notation<br>(1633)</td>
+ <td>1.6 Staff notation<br>(1635)</td>
<td>Valentin Villenave<br>
Jean-Charles Malahieude<br>
<small>John Mandereau</small><br>
</td>
</tr>
<tr align="left">
- <td>1.7 Editorial annotations<br>(902)</td>
+ <td>1.7 Editorial annotations<br>(906)</td>
<td>Jean-Charles Malahieude<br>
<span style="background-color: #1fff1f">translated</span><br>
<span style="background-color: #ff6f57">partially up to date</span><br>
</td>
<td>Till Rettig<br>
<span style="background-color: #1fff1f">translated</span><br>
- <span style="background-color: #47ff24">partially up to date</span><br>
+ <span style="background-color: #4efe25">partially up to date</span><br>
</td>
<td>Francisco Vila<br>
<span style="background-color: #1fff1f">translated</span><br>
</td>
</tr>
<tr align="left">
- <td>1.8 Text<br>(2441)</td>
+ <td>1.8 Text<br>(2472)</td>
<td>Jean-Charles Malahieude<br>
<small>Valentin Villenave<br>
John Mandereau</small><br>
- <span style="background-color: #dfef77">partially translated (85 %)</span><br>
+ <span style="background-color: #dfef77">partially translated (84 %)</span><br>
<span style="background-color: #ff6f57">partially up to date</span><br>
</td>
<td>Till Rettig<br>
<span style="background-color: #1fff1f">translated</span><br>
- <span style="background-color: #ffd743">partially up to date</span><br>
+ <span style="background-color: #ffca45">partially up to date</span><br>
</td>
<td>Francisco Vila<br>
<span style="background-color: #1fff1f">translated</span><br>
</td>
</tr>
<tr align="left">
- <td>2.1 Vocal music<br>(2678)</td>
+ <td>2.1 Vocal music<br>(2638)</td>
<td>Valentin Villenave<br>
<small>Jean-Charles Malahieude</small><br>
- <span style="background-color: #dfef77">partially translated (56 %)</span><br>
+ <span style="background-color: #dfef77">partially translated (57 %)</span><br>
<span style="background-color: #ff6d58">partially up to date</span><br>
</td>
<td>Till Rettig<br>
<span style="background-color: #1fff1f">translated</span><br>
- <span style="background-color: #1fff1f">up to date</span><br>
+ <span style="background-color: #25fe1f">partially up to date</span><br>
</td>
<td>Francisco Vila<br>
<span style="background-color: #1fff1f">translated</span><br>
</td>
</tr>
<tr align="left">
- <td>2.2 Keyboard and other multi-staff instruments<br>(679)</td>
+ <td>2.2 Keyboard and other multi-staff instruments<br>(680)</td>
<td>Valentin Villenave<br>
<small>Jean-Charles Malahieude<br>
John Mandereau</small><br>
</td>
</tr>
<tr align="left">
- <td>2.3 Unfretted string instruments<br>(234)</td>
+ <td>2.3 Unfretted string instruments<br>(235)</td>
<td>Valentin Villenave<br>
<small>Jean-Charles Malahieude<br>
John Mandereau</small><br>
- <span style="background-color: #dfef77">partially translated (16 %)</span><br>
+ <span style="background-color: #dfef77">partially translated (17 %)</span><br>
<span style="background-color: #ff6d58">partially up to date</span><br>
</td>
<td>Till Rettig<br>
</td>
</tr>
<tr align="left">
- <td>2.4 Fretted string instruments<br>(1758)</td>
+ <td>2.4 Fretted string instruments<br>(1759)</td>
<td>Valentin Villenave<br>
<small>Jean-Charles Malahieude<br>
John Mandereau</small><br>
</td>
</tr>
<tr align="left">
- <td>2.7 Chord notation<br>(1326)</td>
+ <td>2.7 Chord notation<br>(1333)</td>
<td>Valentin Villenave<br>
<small>Jean-Charles Malahieude<br>
John Mandereau</small><br>
</td>
</tr>
<tr align="left">
- <td>2.8 Ancient notation<br>(4240)</td>
+ <td>2.8 Ancient notation<br>(4486)</td>
<td>John Mandereau<br>
Jean-Charles Malahieude<br>
- <span style="background-color: #dfef77">partially translated (82 %)</span><br>
+ <span style="background-color: #dfef77">partially translated (79 %)</span><br>
<span style="background-color: #ff6d58">partially up to date</span><br>
</td>
<td>Till Rettig<br>
- <span style="background-color: #dfef77">partially translated (82 %)</span><br>
+ <span style="background-color: #dfef77">partially translated (79 %)</span><br>
<span style="background-color: #ff6d58">partially up to date</span><br>
</td>
<td>Francisco Vila<br>
</td>
</tr>
<tr align="left">
- <td>3 General input and output<br>(5803)</td>
+ <td>3 General input and output<br>(5805)</td>
<td>Jean-Charles Malahieude<br>
Valentin Villenave<br>
<span style="background-color: #dfef77">partially translated (5 %)</span><br>
</td>
</tr>
<tr align="left">
- <td>4 Spacing issues<br>(8444)</td>
+ <td>4 Spacing issues<br>(8447)</td>
<td>Frédéric Chiasson<br>
Jean-Charles Malahieude<br>
<span style="background-color: #dfef77">partially translated (19 %)</span><br>
Many graphical objects, such as note heads and flags, accidentals,
time signatures, and rests, provide a @code{style} property, which
can be changed to emulate several different styles of ancient
-notation. See
+notation. See
@itemize
@item @ref{Mensural note heads},
entry without worrying about the details on how to customize a
context. See one of the pre-defined contexts
@code{VaticanaVoice}, @code{VaticanaStaff}, @code{MensuralVoice},
-and @code{MensuralStaff}. See further
+and @code{MensuralStaff}. See further
@itemize
@item @ref{Gregorian chant contexts},
sequences of notes on the same syllable. They are also used in
mensural notation.
-Ligatures are entered by enclosing them in @code{\[} and @code{\]}.
-Some ligature styles may need additional input syntax specific for
-this particular type of ligature. By default, the
+Ligatures are entered by @emph{enclosing} them in @code{\[} and
+@code{\]}. Some ligature styles may need additional input syntax
+specific for this particular type of ligature. By default, the
@rinternals{LigatureBracket} engraver just puts a square bracket
above the ligature.
as explained in @ref{White mensural ligatures} and @ref{Gregorian
square neume ligatures}.
-@seealso
+@seealso
@c TODO: nothing here yet ...
+
@knownissues
Ligatures need special spacing that has not yet been implemented. As
}
@end lilypond
-@seealso
+@seealso
Internals Reference: @rinternals{Custos}.
Examples:
@rlsr{Ancient notation}.
+
@c {{{2 Figured bass support
@node Figured bass support
@unnumberedsubsubsec Figured bass support
}
@end lilypond
-@seealso
+@seealso
TODO: nothing here yet ...
@end lilypond
@end multitable
-@seealso
+@seealso
Notation Reference: see @ref{Clef}.
+
@knownissues
The mensural g clef is mapped to the Petrucci g clef.
}
@end lilypond
-@seealso
+@seealso
Notation Reference: @ref{Time signature}, gives a general introduction to
the use of time signatures.
+
@knownissues
Ratios of note durations do not change with the time signature. For
@end lilypond
-@seealso
+@seealso
@ref{Note head styles} gives an overview of all available note head styles.
@c music, the default flag style should be used.
There are no flags in Gregorian chant notation.
-@seealso
+@seealso
TODO: nothing here yet ...
+
@knownissues
The attachment of ancient flags to stems is slightly off.
See @rlsr{Pitches,rests} for a chart of all rests.
-There are no rests in Gregorian chant notation; instead, it uses
-@ref{Divisiones}.
-
@seealso
-
Notation Reference: @ref{Rests}, gives a general introduction into the use of
rests.
@cindex key signature
The @code{mensural} style provides a sharp and a flat sign
-different from the default style. If called for, the natural sign
+different from the default style. If called for, the natural sign
will be taken from the @code{vaticana} style.
@lilypond[quote,ragged-right,staffsize=26]
@code{\override Staff.Accidental #'glyph-name-alist =
#alteration-mensural-glyph-name-alist}
-@seealso
+@seealso
Notation Reference: @ref{Pitches}, @ref{Accidentals}, and
@ref{Automatic accidentals} give a general introduction of the use of
accidentals. @ref{Key signature} gives a general introduction of
Internals Reference: @rinternals{KeySignature}.
+
@c {{{2 Annotational accidentals (musica ficta)
@node Annotational accidentals (musica ficta)
@unnumberedsubsubsec Annotational accidentals (@emph{musica ficta})
}
@end lilypond
-@seealso
+@seealso
Internals Reference: @rinternals{Accidental_engraver} engraver and
the @rinternals{AccidentalSuggestion} object.
}
@end lilypond
-@seealso
+@seealso
TODO: nothing here yet ...
+
@knownissues
-Horizontal spacing is poor.
+Horizontal spacing of ligatures is poor.
@c {{{1 Typesetting Gregorian chant
}
@end lilypond
-@seealso
+@seealso
TODO: nothing here yet ...
+
@c {{{2 Gregorian clefs
@node Gregorian clefs
@unnumberedsubsubsec Gregorian clefs
@end lilypond
@end multitable
-@seealso
+@seealso
Notation Reference: see @ref{Clef}.
+
@c {{{2 Gregorian accidentals and key signatures
@node Gregorian accidentals and key signatures
@unnumberedsubsubsec Gregorian accidentals and key signatures
@code{\override Staff.Accidental #'glyph-name-alist =
#alteration-mensural-glyph-name-alist}
-@seealso
+@seealso
Notation Reference: @ref{Pitches}, @ref{Accidentals}, and
@ref{Automatic accidentals} give a general introduction of the use of
accidentals. @ref{Key signature} gives a general introduction of
Internals Reference: @rinternals{KeySignature}.
+
@c {{{2Divisiones
@node Divisiones
@unnumberedsubsubsec Divisiones
@cindex divisiones
@cindex finalis
+There are no rests in Gregorian chant notation; instead, it uses
+@ref{Divisiones}.
+
A @emph{divisio} (plural: @emph{divisiones}; Latin word for
@q{division}) is a staff context symbol that is used to indicate
the phrase and section structure of Gregorian music. The musical meaning of
only marks the end of a chant, but is also frequently used within a
single antiphonal/responsorial chant to mark the end of each section.
-To use divisiones, include the file @file{gregorian@/-init@/.ly}. It
+To use divisiones, include the file @file{gregorian@/.ly}. It
contains definitions that you can apply by just inserting
@code{\divisioMinima}, @code{\divisioMaior}, @code{\divisioMaxima},
and @code{\finalis} at proper places in the input. Some editions use
@emph{virgula} or @emph{caesura} instead of divisio minima.
-Therefore, @file{gregorian@/-init@/.ly} also defines @code{\virgula} and
+Therefore, @file{gregorian@/.ly} also defines @code{\virgula} and
@code{\caesura}
@lilypondfile[quote,ragged-right]{divisiones.ly}
-@predefined
+@predefined
@funindex \virgula
@code{\virgula},
@funindex \caesura
@code{\divisioMaxima},
@funindex \finalis
@code{\finalis}.
+@endpredefined
@c {{{2Gregorian articulations
}
@end lilypond
-@seealso
+@seealso
TODO: nothing here yet ...
+
@knownissues
Some articulations are vertically placed too closely to the
@seealso
-
Notation Reference: @ref{Breath marks}.
Internals Reference: @rinternals{BreathingSign}.
Examples: @rlsr{Ancient notation}.
-
@c {{{2Gregorian square neumes ligatures
@node Gregorian square neume ligatures
@unnumberedsubsubsec Gregorian square neume ligatures
ligatures, lyrics alignment, and proper handling of accidentals.
The support for Gregorian neumes is enabled by @code{\include}ing
-"gregorian.ly" at the beginning of the file. This makes available
+"gregorian.ly" at the beginning of the file. This makes available
a number of extra commands to produce the neume symbols used in
plainchant notation.
@code{\linea}.
@item Ligatures, properly speaking (i.e. notes joined together), are
-produced by placing one of the joining commands @code{pes} or
-@code{flexa}, for upwards and downwards movement, respectively,
+produced by placing one of the joining commands @code{\pes} or
+@code{\flexa}, for upwards and downwards movement, respectively,
@emph{between} the notes to be joined.
@end itemize
produces a hollow note, and @code{\linea}, which draws vertical
lines on either side of the note.
-@item The @emph{virga} has a descending stem on the right side. It is
+@item The @emph{virga} has a descending stem on the right side. It is
produced by the modifier @code{\virga}.
@end itemize
Unlike most other neumes notation systems, the typographical
appearance of ligatures is not directly dictated by the input
commands, but follows certain conventions dependent on musical
-meaning. For example, a three-note ligature with the musical shape
+meaning. For example, a three-note ligature with the musical shape
low-high-low, such as @code{\[ a \pes b \flexa g \]}, produces a
Torculus consisting of three Punctum heads, while the shape
high-low-high, such as @code{\[ a \flexa g \pes b \]}, produces a
Liquescent neumes
Another main category of notes in Gregorian chant is the so-called
-liquescent neumes. They are used under certain circumstances at
+liquescent neumes. They are used under certain circumstances at
the end of a syllable which ends in a @q{liquescent} letter, i.e.
the sounding consonants that can hold a tone (the nasals, l, r, v,
j, and their diphtong equivalents). Thus, the liquescent neumes
Liquescent neumes are represented graphically in two different,
more or less interchangeable ways: with a smaller note or by
-@q{twisting} the main note upwards or downwards. The first is
+@q{twisting} the main note upwards or downwards. The first is
produced by making a regular @code{pes} or @code{flexa} and
modifying the shape of the second note: @code{\[ a \pes \deminutum
b \] }, the second by modifying the shape of a single-note neume
-with @code{\auctus} and one of the direction markers
-@code{\descendens} or @code{\ascendens}, e.g. @code{ \[ \auctus
+with @code{\auctum} and one of the direction markers
+@code{\descendens} or @code{\ascendens}, e.g. @code{ \[ \auctum
\descendens a \] }.
@noindent
A third category of signs is made up of a small number of signs
with a special meaning (which, incidentally, in most cases is only
vaguely known): the @emph{quilisma}, the @emph{oriscus}, and the
-@emph{strophicus}. These are all produced by prefixing a note name
+@emph{strophicus}. These are all produced by prefixing a note name
with the corresponding modifier, @code{\quilisma},
@code{\oriscus}, or @code{\stropha}.
certain rules, which are not checked by Lilypond. E.g., the
@emph{quilisma} is always the middle note of an ascending
ligature, and usually falls on a half-tone step, but it is
-perfectly possible to make a single-note quilisma.
+perfectly possible, although incorrect, to make a single-note
+quilisma.
+
+In addition to the note signs, gregorian.ly also defines the
+commands @code{\versus}, @code{\responsum}, @code{\ij},
+@code{\iij}, @code{\IJ}, and @code{\IIJ}, that will produce the
+corresponding characters, e.g. for use in lyrics, as section
+markers, etc. These commands use special unicode characters and
+will only work if a font is used which supports them.
@c neume table
The following table shows a limited, but still representative pool
of Gregorian ligatures, together with the code fragments that
-produce the ligatures. The table is based on the extended neumes
+produce the ligatures. The table is based on the extended neumes
table of the 2nd volume of the Antiphonale Romanum (@emph{Liber
Hymnarius}), published 1983 by the monks of Solesmes. The first
column gives the name of the ligature, with the main form in
@end multitable
-@predefined
-
-The following head prefixes are supported
+@predefined
+The following head prefixes are supported:
@funindex \virga
@code{\virga},
@funindex \stropha
@code{\cavum},
@funindex \linea
@code{\linea}.
+@endpredefined
Head prefixes can be accumulated, though restrictions apply. For
example, either @code{\descendens} or @code{\ascendens} can be applied
@funindex \augmentum
Use the unary music function @code{\augmentum} to add augmentum dots.
-@seealso
+@seealso
TODO: nothing here yet ...
+
@knownissues
When an @code{\augmentum} dot appears at the end of the last staff
Working with ancient music frequently involves particular tasks
which differ considerably from the modern notation for which
-Lilypond is designed. In the rest of this section, a number of
+Lilypond is designed. In the rest of this section, a number of
typical scenarios are outlined, with suggestions of solutions.
These involve:
@c use snippet Transcription-of-ancient-music-with-incipit
TBC
-@seealso
+@seealso
@c ... and reference to other sections ...
+
@c {{{2Mensurstriche layout
@node Mensurstriche layout
@unnumberedsubsubsec Mensurstriche layout
@emph{Mensurstriche} (@q{mensuration lines}) is the accepted term
for bar lines that are drawn between the staves of a system but
-not through the staves themselves. It is a common way to preserve
+not through the staves themselves. It is a common way to preserve
the rhythmic appearance of the original, i.e. not having to break
syncopated notes at bar lines, while still providing the
orientation aids that bar lines give.
@c TODO Add text about lyrics to the lowest line, to be placed
@c outside the StaffGroup.
@c from lsr and -user
-TBC
+@c TBC
-@seealso
+@seealso
@c ... and reference to other sections ...
@node Transcribing Gregorian chant
@unnumberedsubsubsec Transcribing Gregorian chant
-@c TODO Add text
+Gregorian chant can be transcribed into modern notation with a
+number of simple tweaks.
+
+@b{Stems}. Stems can be left out altogether by @code{\remove}-ing
+the @code{Stem_engraver} from the Voice context:
+
+@example
+\layout @{
+ ...
+ \context @{
+ \Voice
+ \remove "Stem_engraver"
+ @}
+@}
+@end example
+
+However, in some transcription styles, stems are used
+occasionally, for example to indicate the transition from a
+single-tone recitative to a fixed melodic gesture. In these cases,
+one can use either @code{\override Stem #'transparent = ##t} or
+@code{\override Stem #'length = #0} instead, and restore the stem
+when needed with the corresponding @code{\once \override Stem
+#'transparent = ##f} (see example below).
+
+@b{Timing.} For unmetered chant, there are several alternatives.
+
+The Time_signature_engraver can be removed from the Staff context
+without any negative side effects. The alternative, to make it
+transparent, will leave an empty space in the score, since the
+invisible signature will still take up space.
+
+In many cases, @code{\set Score.timing = ##f} will give good
+results. Another alternative is to use \@code{\CadenzaOn} and
+@code{\CadenzaOff}.
+
+To remove the barlines, the radical approach is to @code{\remove}
+the Bar_engraver from the Staff context. Again, one may want to
+use @code{\override BarLine #'transparent = ##t} instead, if an
+occasional barline is wanted.
+
+A common type of transcription is recitativic chant where the
+repeated notes are indicated with a single breve. The text to
+the recitation tone can be dealt with in two different ways:
+either set as a single, left-aligned syllable:
+
+@lilypond[verbatim,ragged-right]
+\include "gregorian.ly"
+chant = \relative c' {
+ \clef "G_8"
+ c\breve c4 b4 a c2 c4 \divisioMaior
+ c\breve c4 c f, f \finalis
+}
+
+verba = \lyricmode {
+ \once \override LyricText #'self-alignment-X = #-1
+ "Noctem quietam et" fi -- nem per -- fec -- tum
+ \once \override LyricText #'self-alignment-X = #-1
+ "concedat nobis Dominus" om -- ni -- po -- tens.
+}
+\score {
+ \new Staff <<
+ \new Voice = "melody" \chant
+ \new Lyrics = "one" \lyricsto melody \verba
+ >>
+ \layout {
+ \context {
+ \Staff
+ \remove "Time_signature_engraver"
+ \remove "Bar_engraver"
+ \override Stem #'transparent = ##t
+ }
+ }
+}
+@end lilypond
+
+This works fine, as long as the text doesn't span a line break. If
+that is the case, an alternative is to add hidden notes to the
+score, here in combination with changing stem visibility:
+
+
+@lilypond[verbatim,ragged-right]
+\include "gregorian.ly"
+chant = \relative c' {
+ \clef "G_8"
+ \set Score.timing = ##f
+ c\breve \override NoteHead #'transparent = ##t c c c c c
+ \revert NoteHead #'transparent
+ \override Stem #'transparent = ##f \stemUp c4 b4 a
+ \override Stem #'transparent = ##t c2 c4 \divisioMaior
+ c\breve \override NoteHead #'transparent = ##t c c c c c c c
+ \revert NoteHead #'transparent c4 c f, f \finalis
+}
+
+verba = \lyricmode {
+ No -- ctem qui -- e -- tam et fi -- nem per -- fec -- tum
+ con -- ce -- dat no -- bis Do -- mi -- nus om -- ni -- po -- tens.
+}
+
+\score {
+ \new Staff <<
+ \new Voice = "melody" \chant
+ \new Lyrics \lyricsto "melody" \verba
+ >>
+ \layout {
+ \context {
+ \Staff
+ \remove "Time_signature_engraver"
+ \override BarLine #'transparent = ##t
+ \override Stem #'transparent = ##t
+ }
+ }
+}
+@end lilypond
+
+Another common situation is transcription of neumatic or
+melismatic chants, i.e. chants with a varying number of notes
+to each syllable. In this case, one would want to set the
+syllable groups clearly apart, usually also the subdivisions of a
+longer melisma. One way to achieve this is to use a fixed
+@code{\time}, e.g. 1/4, and let each syllable or note group fill
+one of these measures, with the help of tuplets or shorter
+durations. If the barlines and all other rhythmical indications
+are made transparent, and the space around the barlines is
+increased, this will give a fairly good representation in modern
+notation of the original.
+
+To avoid that syllables of different width (such as @qq{-ri} and
+@qq{-rum}) spread the syllable note groups unevenly apart, the
+@code{#'X-extent} property of the @code{LyricText} object may be
+set to a fixed value. Another, more cumbersome way would be to
+add the syllables as @code{\markup} elements. If further
+adjustments are necessary, this can be easily done with
+@code{s} @q{notes}.
+
+@lilypond[verbatim,quote]
+spiritus = \relative c' {
+ \time 1/4
+ \override Lyrics.LyricText #'X-extent = #'(0 . 3)
+ d4 \times 2/3 { f8 a g } g a a4 g f8 e
+ d4 f8 g g8 d f g a g f4 g8 a a4 s
+ \times 2/3 { g8 f d } e f g a g4
+}
+
+spirLyr = \lyricmode {
+ Spi -- ri -- _ _ tus _ Do -- mi -- ni _ re -- ple -- _ vit _
+ or -- _ bem _ ter -- ra -- _ rum, al -- _ _ le -- _ lu
+ -- _ ia.
+}
+\score {
+ \new Staff <<
+ \new Voice = "chant" \spiritus
+ \new Lyrics = "one" \lyricsto "chant" \spirLyr
+ >>
+ \layout {
+ \context {
+ \Staff
+ \remove "Time_signature_engraver"
+ \override BarLine #'X-extent = #'(-1 . 1)
+ \override Stem #'transparent = ##t
+ \override Beam #'transparent = ##t
+ \override BarLine #'transparent = ##t
+ \override TupletNumber #'transparent = ##t
+ }
+ }
+}
+@end lilypond
+
@c extract from 1.6.1.1
-TBC
@seealso
-
@c ... and reference to other sections ...
-
@c {{{2Ancient and modern from one source
@node Ancient and modern from one source
@unnumberedsubsubsec Ancient and modern from one source
TBC
@seealso
-
@c ... and reference to other sections ...
-
@c {{{2Editorial markings
@node Editorial markings
@unnumberedsubsubsec Editorial markings
TBC
-@seealso
+@seealso
@c ... and reference to other sections ...
* Aligning contexts::
@end menu
-@seealso
+@seealso
Learning Manual:
@rlearning{Contexts and engravers}.
@seealso
-
Internals: @rinternals{OverrideProperty}, @rinternals{RevertProperty},
@rinternals{PropertySet}, @rinternals{Backend}, and
@rinternals{All layout objects}.
see @ref{Displaying music expressions}. This may be helpful in
determining what may be modified by a @code{\tweak} command.
-@seealso
+@seealso
Learning Manual:
@rlearning{Tweaking methods}.
Notation Reference:
@ref{Displaying music expressions}.
+
@knownissues
@cindex tweaks in a variable
@code{staff-space}. For an explanation and an example of its use,
see @rlearning{Length and thickness of objects}.
-@seealso
+@seealso
Learning Manual:
@rlearning{Length and thickness of objects}.
hairpins with @code{\!}.
-
@seealso
-
Internals Reference: @rinternals{TextSpanner},
@rinternals{Glissando}, @rinternals{VoiceFollower},
@rinternals{TrillSpanner},
* Modifying shapes::
@end menu
-@seealso
+@seealso
Learning Manual:
@rlearning{Tweaking output},
@rlearning{Other sources of information}.
Internals Reference:
@rinternals{All layout objects}.
+
@node Aligning objects
@subsection Aligning objects
@c TODO Add inserting Postscript or ref to later
-@seealso
+@seealso
Notation Reference:
@ref{Graphic notation inside markup},
@ref{Formatting text},
@seealso
-
Music Glossary:
@rglos{chord}.
Snippets:
@rlsr{Chords}
+
@knownissues
When chord mode and note mode are mixed in sequential music, and
@seealso
-
Notation Reference:
@ref{Common chord modifiers}.
Snippets:
@rlsr{Chords}.
+
@node Extended and altered chords
@unnumberedsubsubsec Extended and altered chords
standard chords are shown in
@ref{Common chord modifiers}.
-@seealso
+@seealso
Notation Reference:
@ref{Common chord modifiers}.
Snippets:
@rlsr{Chords}
+
@knownissues
Each step can only be present in a chord once. The following
@seealso
-
Music Glossary:
@rglos{chord}.
-
Notation Reference:
@ref{Writing music in parallel}.
-
Snippets:
@rlsr{Chords}.
@rinternals{Volta_engraver},
@rinternals{Bar_engraver}.
+
@knownissues
Chords containing inversions or altered bass notes are not named
@end table
-@predefined
+@predefined
@funindex major seven symbols
@code{\whiteTriangleMarkup},
@code{\blackTriangleMarkup},
@code{\italianChords},
@funindex \frenchChords
@code{\frenchChords}.
+@endpredefined
@snippets
@seealso
-
Notation Reference:
@ref{Chord name chart},
@ref{Common chord modifiers}.
@c Internals Reference:
@c @r internals{}.
+
@knownissues
Chord names are determined from both the pitches that are present
@code{baseline-skip}.
@end ignore
-@seealso
+@seealso
Music Glossary:
@rglos{figured bass}.
@end multitable
-
@predefined
@cindex figured bass extender lines
@code{\bassFigureExtendersOn},
@code{\bassFigureExtendersOff}.
+@endpredefined
@snippets
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{changing-the-positions-of-figured-bass-alterations.ly}
+
@seealso
@c Music Glossary:
@c @rglos{}.
-
+@c
@c Learning Manual:
@c @rlearning{}.
-
+@c
@c Notation Reference:
@c @ref{}.
-
+@c
@c Application Usage:
@c @rprogram{}.
-
+@c
@c Installed Files:
@c @file{}.
-
+@c
Snippets:
@rlsr{Chords}.
@rinternals{BassFigureContinuation},
@rinternals{FiguredBass}.
+
@c @knownissues
+
@node Displaying figured bass
@unnumberedsubsubsec Displaying figured bass
@code{\bassFigureStaffAlignmentDown},
@code{\bassFigureStaffAlignmentUp},
@code{\bassFigureStaffAlignmentNeutral}.
+@endpredefined
+
@c @snippets
+
@seealso
@c Music Glossary:
@c @rglos{}.
-
+@c
@c Learning Manual:
@c @rlearning{}.
-
+@c
@c Notation Reference:
@c @ref{}.
-
+@c
@c Application Usage:
@c @rprogram{}.
-
+@c
@c Installed Files:
@c @file{}.
-
+@c
Snippets:
@rlsr{Chords}.
@rinternals{BassFigureContinuation},
@rinternals{FiguredBass}.
+
@knownissues
To ensure that continuation lines work properly, it is
that use fonts. These are the ones supporting the
@code{font-interface} layout interface.
-@predefined
+@predefined
@funindex \teeny
@code{\teeny},
@funindex \tiny
@code{\large},
@funindex \huge
@code{\huge}.
+@endpredefined
-@seealso
+@seealso
Snippets:
@rlsr{Editorial annotations}.
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{avoiding-collisions-of-chord-fingering-with-beams.ly}
-@seealso
+@seealso
Notation Reference:
@ref{Direction and placement}
@predefined
+@code{\hideNotes},
+@code{\unHideNotes}.
+@endpredefined
-@code{\hideNotes}, @code{\unHideNotes}
@seealso
-
Snippets:
@rlsr{Editorial annotations}.
gis4 a
@end lilypond
-@seealso
+@seealso
Notation Reference:
@ref{List of colors}, @ref{The
tweak command}.
Snippets:
@rlsr{Editorial annotations}.
+
@cindex x11 color
@cindex colored notes in chords
@cindex notes, colored in chords
c2 \parenthesize r
@end lilypond
-@seealso
+@seealso
Snippets:
@rlsr{Editorial annotations}.
@rinternals{ParenthesesItem},
@rinternals{parentheses-interface}.
+
@knownissues
Parenthesizing a chord prints parentheses around each individual
automatically. For whole notes and rests, they are also created but
made invisible.
-@predefined
+@predefined
@funindex \stemUp
@code{\stemUp},
@funindex \stemDown
@code{\stemDown},
@funindex \stemNeutral
@code{\stemNeutral}.
+@endpredefined
@snippets
@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{default-direction-of-stems-on-the-center-line-of-the-staff.ly}
+
@seealso
Notation Reference:
@ref{Direction and placement}.
@predefined
-
@funindex balloonLengthOn
-@funindex balloonLengthOff
@funindex \balloonLengthOn
+@code{\balloonLengthOn},
@funindex \balloonLengthOff
+@funindex balloonLengthOff
+@code{\balloonLengthOff}.
+@endpredefined
-@code{\balloonLengthOn}, @code{\balloonLengthOff}
@seealso
-
Snippets:
@rlsr{Editorial annotations}.
@seealso
-
Snippets:
@rlsr{Editorial annotations}.
}
@end lilypond
-@seealso
+@seealso
Snippets:
@rlsr{Editorial annotations}.
@seealso
-
Music Glossary:
@rglos{tenuto},
@rglos{accent},
@predefined
-
@code{\dynamicUp},
@code{\dynamicDown},
@code{\dynamicNeutral},
@code{\dimTextDecresc},
@code{\crescHairpin},
@code{\dimHairpin}.
+@endpredefined
@snippets
@seealso
-
Music Glossary:
@rglos{al niente},
@rglos{crescendo},
@seealso
-
Notation Reference:
@ref{Formatting text},
@ref{Selecting font and font size},
@funindex \slurUp
@funindex slurUp
-@predefined
+@predefined
@code{\slurUp},
@code{\slurDown},
@code{\slurNeutral},
@code{\slurDashed},
@code{\slurDotted},
@code{\slurSolid}.
+@endpredefined
@snippets
@seealso
-
Music Glossary:
@rglos{slur}.
@predefined
-
@code{\phrasingSlurUp},
@code{\phrasingSlurDown},
@code{\phrasingSlurNeutral},
@code{\phrasingSlurDashed},
@code{\phrasingSlurDotted},
@code{\phrasingSlurSolid}.
+@endpredefined
@seealso
-
Learning Manual:
@rlearning{On the un-nestedness of brackets and ties}.
@seealso
-
Music Glossary:
@rglos{caesura}.
@seealso
-
Music Glossary:
@rglos{fall},
@rglos{doit}.
@seealso
-
Music Glossary:
@rglos{glissando}.
Arpeggios can be explicitly written out with ties. For more
information, see @ref{Ties}.
-@predefined
+@predefined
@code{\arpeggio},
@code{\arpeggioArrowUp},
@code{\arpeggioArrowDown},
@code{\arpeggioNormal},
@code{\arpeggioBracket},
@code{\arpeggioParenthesis}.
+@endpredefined
@snippets
@seealso
-
Music Glossary:
@rglos{arpeggio}.
@predefined
-
@code{\startTrillSpan},
@code{\stopTrillSpan}.
+@endpredefined
@seealso
-
Music Glossary:
@rglos{trill}.
@end itemize
-@seealso
+@seealso
Notation Reference:
@ref{Fingering instructions},
@ref{Ties},
@ref{List of articulations},
@ref{Clef}.
+
@node String number indications
@unnumberedsubsubsec String number indications
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{allowing-fingerings-to-be-printed-inside-the-staff.ly}
-@seealso
+@seealso
Notation Reference:
@ref{Fingering instructions}.
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{polyphony-in-tablature.ly}
-@seealso
+@seealso
Notation Reference:
@ref{Stems}.
@rinternals{TabVoice},
@rinternals{Beam}.
+
@knownissues
Chords are not handled in a special way, and hence the automatic
>>
@end lilypond
-@seealso
+@seealso
Installed Files:
@file{scm/output-lib.scm}.
@seealso
-
Notation Reference:
@ref{Text markup commands}.
Internals Reference:
@rinternals{fret-diagram-interface}.
+
@node Predefined fret diagrams
@unnumberedsubsubsec Predefined fret diagrams
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{defining-predefined-fretboards-for-other-instruments.ly}
-@seealso
+@seealso
Notation Reference:
@ref{Custom tablatures},
@ref{Automatic fret diagrams},
@code{FretBoards} fret diagram, the interface properties belong to
@code{FretBoards.FretBoard}.
+
@predefined
@code{\predefinedFretboardsOff},
@code{\predefinedFretboardsOn}.
+@endpredefined
-@seealso
+@seealso
Notation Reference:
@ref{Custom tablatures}.
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{fingerings,-string-indications,-and-right-hand-fingerings.ly}
-@seealso
+@seealso
Snippets:
@rlsr{Fretted strings}.
e16 b g d
@end lilypond
-@seealso
+@seealso
Notation Reference:
@ref{Text spanners}.
@rlsr{Fretted strings},
@rlsr{Expressive marks}.
+
@node Indicating harmonics and dampened notes
@unnumberedsubsubsec Indicating harmonics and dampened notes
}
@end lilypond
-@seealso
+@seealso
Snippets:
@rlsr{Fretted strings}.
@ref{Special note heads},
@ref{Note head styles}.
+
@node Banjo
@subsection Banjo
\set TabStaff.stringTunings = #(four-string-banjo banjo-c-tuning)
@end example
-@seealso
+@seealso
Snippets:
@rlsr{Fretted strings}.
The file @file{scm/@/output@/-lib@/.scm} contains predefined banjo tunings.
-
-
-
-
-
@example
@{
- \new GrandStaff <<
+ \new StaffGroup <<
@var{...insert the whole score of a Wagner opera in here...}
>>
@}
@ruser{File structure}.
-
@seealso
-
For a complete definition of the input format, see
@ruser{File structure}.
+
@node Score is a (single) compound musical expression
@subsection Score is a (single) compound musical expression
@example
\score @{
@{ % this brace begins the overall compound music expression
- \new GrandStaff <<
+ \new StaffGroup <<
@var{...insert the whole score of a Wagner opera in here...}
>>
@} % this brace ends the overall compound music expression
A whole Wagner opera would easily double the length of this
manual, so let's just add a singer and piano. We don't need a
-@code{GrandStaff} for this ensemble, which simply groups a number
-of staves together with a brace at the left, so we shall remove
+@code{StaffGroup} for this ensemble, which simply groups a number
+of staves together with a bracket at the left, so we shall remove
it. We @emph{do} need a singer and a piano, though.
@example
indentation -- make sure that each item on the same level starts
on the same horizontal position in your text editor.
-@seealso
+@seealso
Notation Reference: @ruser{Structure of a score}.
+
@node Nesting music expressions
@subsection Nesting music expressions
placed above the staff called @qq{main} instead of the default
position which is below.
-@seealso
+@seealso
Ossia are often written without clef and without
time signature and are usually in a smaller font.
These require further commands which
later section --- see the @code{force-hshift} property in @ref{Fixing
overlapping notation}.
-@seealso
+@seealso
Notation Reference: @ruser{Multiple voices}.
have no shift or the same shift specified, the error message
@qq{Too many clashing note columns} will be produced.
-@seealso
+@seealso
Notation Reference: @ruser{Multiple voices}.
}
@end lilypond
-@seealso
+@seealso
Notation Reference: @ruser{Vocal music}.
preceding word with no hyphen or underscore, e.g.,
@code{GregorianTranscriptionStaff}.
-@seealso
+@seealso
Notation Reference: @ruser{Contexts explained}.
refer back to that particular instance of a context. We saw this in
use in the section on lyrics, see @ref{Voices and vocals}.
-@seealso
+@seealso
Notation Reference: @ruser{Creating contexts}.
We shall see later how the output of LilyPond can be changed
by modifying the action of Engravers.
-@seealso
+@seealso
Internals reference: @rinternals{Engravers and Performers}.
instances of contexts by statements in a @code{\with} block, and by
@code{\set} commands embedded in music statements.
-@seealso
+@seealso
Notation Reference:
@ruser{Changing context default settings}.
@c FIXME
@code{\set} command in a @code{\context} block in the
same way.
-@seealso
+@seealso
Notation Reference: @ruser{Modifying context plug-ins},
@ruser{Changing context default settings}.
}
@end lilypond
-@seealso
+@seealso
The starting templates can be found in the @q{Templates} appendix,
see @ref{Single staff}.
block, and inside or outside the single music expression within a
@code{\score} block.
-@seealso
+@seealso
Learning Manual:
-
@rlearning{Working on input files},
@rlearning{Music expressions explained},
@rlearning{Score is a (single) compound musical expression}.
@end itemize
-@seealso
+@seealso
Learning Manual:
@rlearning{How LilyPond input files work}.
+
@node Titles and headers
@section Titles and headers
dimensions. If the book has between 10 and 99 pages, it may be "00",
ie. a two digit number.
-@predefined
+@predefined
@funindex \label
-@code{\label}
+@code{\label},
@funindex \page-ref
-@code{\page-ref}
+@code{\page-ref}.
+@endpredefined
+
@node Table of contents
@subsection Table of contents
}
@end lilypond
-@seealso
+@seealso
Init files: @file{../ly/@/toc@/-init@/.ly}.
-@predefined
+@predefined
@funindex \table-of-contents
-@code{\table-of-contents}
+@code{\table-of-contents},
@funindex \tocItem
-@code{\tocItem}
+@code{\tocItem}.
+@endpredefined
@node Working with input files
Some simple examples of using @code{\include} are shown in
@rlearning{Scores and parts}.
+
@seealso
Learning Manual:
@rlearning{Other sources of information},
@rlearning{Scores and parts}.
+
@knownissues
If an included file is given a name which is the same as one in
the first filter will remove all tagged sections except the one
named, and the second filter will remove even that tagged section.
-@seealso
+@seealso
Learning Manual:
@rlearning{Organizing pieces with variables}.
@ref{Automatic part combining},
@ref{Including LilyPond files}.
+
@ignore
@c This warning is more general than this placement implies.
@c Rests are not merged whether or not they come from tagged sections.
Staff contexts can be put into a single Score context. The Score
context is the top level notation context.
-@seealso
+@seealso
Internals Reference: @rinternals{Contexts}.
+
@lilypond[quote,ragged-right]
\include "engraver-example.ily"
\score {
@end itemize
-@seealso
+@seealso
Learning Manual:
@rlearning{Real music example},
@rlearning{Other uses for tweaks}.
Snippets:
@rlsr{Keyboards}.
+
@knownissues
@cindex keyboard music, centering dynamics
example of beam tweaking, see @rlearning{Fixing overlapping
notation}.
-@seealso
+@seealso
Learning Manual:
@rlearning{Fixing overlapping notation}.
>>
@end lilypond
-@seealso
+@seealso
Notation Reference:
@ref{Changing staff manually}.
Internals Reference:
@rinternals{AutoChangeMusic}.
+
@knownissues
@cindex chords, splitting across staves with \autochange
>>
@end lilypond
+
@predefined
+@code{\showStaffSwitch},
+@code{\hideStaffSwitch}.
+@endpredefined
-@code{\showStaffSwitch}, @code{\hideStaffSwitch}.
@seealso
-
Snippets:
@rlsr{Keyboards}.
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{indicating-cross-staff-chords-with-arpeggio-bracket.ly}
-@seealso
+@seealso
Snippets:
@rlsr{Keyboards}.
Internals Reference:
@rinternals{Stem}.
+
@node Piano
@subsection Piano
sustain pedal during piano performance. Pedalling to the final bar line
is indicated by omitting the final pedal up command.
-@seealso
+@seealso
Notation Reference:
@ref{Ties}.
@rinternals{PianoPedalBracket},
@rinternals{Piano_pedal_engraver}.
+
@node Accordion
@subsection Accordion
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{accordion-discant-symbols.ly}
-@seealso
+@seealso
Snippets:
@rlsr{Keyboards}.
\begin@{lilypond@}...\end@{lilypond@}
@end example
+
@seealso
There are specific @command{lilypond-book} command line options and
other details to know when processing @LaTeX{} documents, see
version that you are working on. See TRANSLATION for details.
@end ignore
+
@include version.itexi
-@c don't replace quotes with directed quotes
+
+@c Don't replace quotes with directed quotes.
+
@set txicodequoteundirected
@set txicodequotebacktick
+
+
@c ***** Displaying text *****
-@c we need this since @q{\} doesn't work with makeinfo 4.11 --
-@c say @q{@bs{}} instead
+@c We need this since @q{\} doesn't work with makeinfo 4.11 --
+@c say @q{@bs{}} instead.
+
@macro bs
\\
@end macro
-@c to get decent quotes in `foo' and ``foo''
+
+@c To get decent quotes in `foo' and ``foo''.
+
@macro q{TEXT}
@quoteleft{}\TEXT\@quoteright{}
@end macro
@quotedblleft{}\TEXT\@quotedblright{}
@end macro
+
@ifhtml
+
@macro warning{TEXT}
@cartouche
@b{Note:} \TEXT\
@end cartouche
@end macro
+
@end ifhtml
@ifnothtml
+
@macro warning{TEXT}
@quotation
@quotation
@end quotation
@end quotation
@end macro
+
@end ifnothtml
+
@ifnotinfo
+
@macro notation{TEXT}
@var{\TEXT\}
@end macro
+
@end ifnotinfo
@ifinfo
+
@macro notation{TEXT}
\TEXT\
@end macro
+
@end ifinfo
+
@macro smallspace
@sp 1
@end macro
-@c **** Displaying images not generated by lilypond-book
-@c current installation setup of Info docs requires that all images are
-@c expected to be found in lilypond/ subdirectory. lilypond-book already
-@c generates proper @image commands for images of music; these macros
-@c definitions do the same for other images.
+@c ***** Displaying images not generated by lilypond-book *****
+
+@c Current installation setup of Info docs requires that all images are
+@c expected to be found in the `lilypond/' subdirectory. `lilypond-book'
+@c already generates proper @image commands for images of music; these
+@c macro definitions do the same for other images.
@ifnotinfo
+
@macro sourceimage{FILENAME,WIDTH,HEIGHT,ALTTEXT}
@image{\FILENAME\,\WIDTH\,\HEIGHT\,\ALTTEXT\}
@end macro
+
@end ifnotinfo
@ifinfo
+
@macro sourceimage{FILENAME,WIDTH,HEIGHT,ALTTEXT}
@image{lilypond/\FILENAME\,\WIDTH\,\HEIGHT\,\ALTTEXT\}
@end macro
+
@end ifinfo
-@c **** Headings in a doc subsection ****
+
+@c ***** Headings in a doc subsection *****
+
+@c Don't insert an empty line after @predefined! Right now
+@c it doesn't matter, but a future implementation will probably
+@c add some code which needs this restriction.
@macro predefined
@noindent
@subsubheading Predefined commands
+@end macro
+@c The next macro is a dummy currently since texinfo doesn't
+@c provide a real ragged-right environment yet.
+@c
+@c Due to a bug in texi2html (texi2html.pl CVS versions <= 1.245)
+@c the macro must not be empty.
+
+@macro endpredefined
+@c
@end macro
+
@macro snippets
@noindent
@subsubheading Selected Snippets
-
@end macro
+
+@c Don't insert an empty line after @seealso! Otherwise we get
+@c unwanted extra vertical space in the PDF output.
+
@macro seealso
@noindent
@subsubheading See also
-
@indent
@end macro
+
@macro knownissues
@noindent
@subsubheading Known issues and warnings
-
@end macro
+
@macro lydoctitle {TEXT}
@emph{\TEXT\}
-
@end macro
+
+@c Don't remove the `@c' within the macro definition! See section 19.3,
+@c `Macro Details and Caveats', in the texinfo info file for explanation.
+
@macro funindex {TEXT}
@findex \TEXT\
@kindex \TEXT\
+@c
@end macro
-@c **** Links and references ****
+@c ***** Links and references *****
@c Definitions for references:
+@c
@c @rglos
@c @rlearning
@c @ruser
@c @rprogram
@c @rlsr
@c @rinternals
-@c all these also have a @...named version, which allows to specify the
-@c displayed text for the reference as second argument
+@c
+@c All these also have a @...named version which allows to specify the
+@c displayed text for the reference as second argument.
+@c
+@c ***** HTML + bigpage is a special case (other manual names); all other
+@c formats are treated similarly.
+
-@c ***** HTML + bigpage is a special case (other manual names), all other
-@c formats are treated similarly
+@c *** not TeX ***
@ifnottex
+@c ** bigpage **
+
@ifset bigpage
@macro rglos{TEXT}
@end ifset
+@c ** not bigpage **
+
@ifclear bigpage
@macro rglos{TEXT}
@end ifnottex
+@c *** TeX ***
-@c **** TEX ****
@iftex
@macro rglos{TEXT}
@item FI: A, a
@end itemize
-@seealso
+@seealso
@ref{Pitch names}.
@end enumerate
-@seealso
+@seealso
None yet.
Increase tempo
-@seealso
+@seealso
None yet.
The stress of one tone over others.
-@seealso
+@seealso
None yet.
@section accessory
@seealso
-
@ref{ornament}.
small eighth note (quaver) with a line drawn through the flag and
stem.
-@seealso
+@seealso
@ref{appoggiatura}, @ref{grace notes}, @ref{ornament}.
>>
@end lilypond
-@seealso
+@seealso
@ref{alteration}, @ref{semitone}, @ref{whole tone}.
@end itemize
-@seealso
+@seealso
@ref{andante}, @ref{largo}, @ref{sonata}.
@notation{al niente} with @notation{crescendo}. Instead, one should use
@emph{dal niente} (@notation{@b{from} nothing}).
-@seealso
+@seealso
@ref{crescendo}, @ref{decrescendo}, @ref{hairpin}.
[Italian: @q{cheerful}.] Quick tempo. Also used as a title for pieces in a quick
tempo, especially the first and last movements of a sonata.
-@seealso
+@seealso
@ref{sonata}.
An alteration is the modification, raising or lowering, of a note's
pitch. It is established by an accidental.
-@seealso
+@seealso
@ref{accidental}.
reached the height of the female voice. This type of voice is also
known as countertenor.
-@seealso
+@seealso
@ref{countertenor}.
C clef setting middle C on the middle line of the staff.
-@seealso
+@seealso
@ref{C clef}.
also denote the pitch range that a musical instrument is capable of playing.
Sometimes anglicized to @emph{ambit} (pl. @emph{ambits}).
-@seealso
+@seealso
None yet.
bes( a) g f | bes4. a8 bes4 c | f,2. \bar "||" }
@end lilypond
-@seealso
+@seealso
@ref{measure}, @ref{meter}.
a1 b c d e f g a }
@end lilypond
-@seealso
+@seealso
@ref{diatonic scale}.
Walking tempo/character.
-@seealso
+@seealso
None yet.
}
@end lilypond
-@seealso
+@seealso
None yet.
>>
@end lilypond
-@seealso
+@seealso
None yet.
should be played. Slurs, accents, staccato, and legato are all
examples of articulation.
-@seealso
+@seealso
None yet.
A distance between a starting lower note and a higher ending note.
-@seealso
+@seealso
None yet.
S: överstigande intervall,
FI: ylinouseva intervalli.
-@seealso
+@seealso
@ref{interval}.
This is a placeholder for augmentation (wrt mensural notation).
-@seealso
+@seealso
@ref{diminution}, @ref{mensural notation}.
@end itemize
-@seealso
+@seealso
None yet.
@item FI: H, h
@end itemize
-@seealso
+@seealso
@ref{H}, @ref{Pitch names}
@node backfall
@section backfall
-@seealso
+@seealso
@ref{appoggiatura}.
@node bar
@section bar
-@seealso
+@seealso
@ref{measure}.
in secular music, or in sacred music to indicate congruences between parts
in otherwise-unmetered music).
-@seealso
+@seealso
@ref{measure}.
@c F: clef de troisième ligne dropped
-@seealso
+@seealso
@ref{bass}, @ref{tenor}.
C or F clef setting middle C on the upper staff line.
-@seealso
+@seealso
@ref{C clef}, @ref{F clef}.
@end itemize
-@seealso
+@seealso
@ref{strings}.
A clef setting with middle C on the first top ledger line.
-@seealso
+@seealso
@ref{F clef}.
g64_"1/64"[ s32 g64 s32 g64 s32 g64] s32 }
@end lilypond
-@seealso
+@seealso
@ref{feathered beam}.
\relative c'' { g8 d' c | b c a | g4. \bar "||"}
@end lilypond
-@seealso
+@seealso
@ref{time signature}.
@node beat repeat
@section beat repeat
-@seealso
+@seealso
@ref{percent repeat}.
@node bind
@section bind
-@seealso
+@seealso
@ref{tie}.
\relative c \context Staff = SB { \clef bass c1 \bar "|." } >>
@end lilypond
-@seealso
+@seealso
None yet.
S: ?,
FI: sulkumerkki.
-@seealso
+@seealso
@ref{brace}
formed mouth piece. The brass instruments commonly used in a symphony
orchestra are trumpet, trombone, french horn, and tube.
-@seealso
+@seealso
None yet.
Indication of where to breathe in vocal and wind instrument parts.
-@seealso
+@seealso
@ref{caesura}.
\relative c'' { g\breve }
@end lilypond
-@seealso
+@seealso
@ref{mensural notation}, @ref{note value}.
@item FI: C, c
@end itemize
-@seealso
+@seealso
@ref{Pitch names}.
>>
@end lilypond
-@seealso
+@seealso
None yet.
S: kadens,
FI: kadenssi, lopuke.
-@seealso
+@seealso
@ref{harmonic cadence}, @ref{functional harmony}.
ability to improvise. Since the middle of the 19th century, however,
most cadenzas have been written down by the composer.
-@seealso
+@seealso
None yet.
The break between two musical phrases, sometimes (but not always) marked by a
rest or a breath mark.
-@seealso
+@seealso
@ref{breath mark}.
S: kanon,
FI: kaanon, tarkka jäljittely.
-@seealso
+@seealso
@ref{counterpoint}.
Logarithmic unit of measurement. 1@tie{}cent is 1/1200 of an octave
(1/100 of an equally tempered semitone).
-@seealso
+@seealso
@ref{equal temperament}, @ref{semitone}.
@node central C
@section central C
-@seealso
+@seealso
@ref{middle C}.
>>
@end lilypond
-@seealso
+@seealso
@ref{functional harmony}, @ref{interval}, @ref{inversion}, @ref{quality},
@ref{third}.
\relative c' { c1 cis d dis e f fis g gis a ais b c }
@end lilypond
-@seealso
+@seealso
@ref{semitone}.
Using tones extraneous to a diatonic scale (minor, major).
-@seealso
+@seealso
@ref{diatonic scale}.
S: kyrkotonart,
FI: moodi, kirkkosävellaji.
-@seealso
+@seealso
@ref{diatonic scale}.
}
@end lilypond
-@seealso
+@seealso
@ref{C clef}, @ref{F clef}, @ref{G clef}.
\makeClusters { <c e> <b f'> <b g'> <c g> <f e> }
@end lilypond
-@seealso
+@seealso
None yet.
Difference in pitch between a note derived from pure tuning and the
same note derived from some other tuning method.
-@seealso
+@seealso
@ref{didymic comma}, @ref{Pythagorean comma}, @ref{syntonic comma},
@ref{temperament}.
Another name for @ref{common time}.
@seealso
-
@ref{common time}, @ref{meter}.
4/4 time. The symbol, which resembles a capital letter C, comes from
mensural notation.
-@seealso
+@seealso
@ref{mensural notation}, @ref{meter}.
S: komplementärintervall (?),
FI: täydentävä intervalli.
-@seealso
+@seealso
@ref{inverted interval}.
Intervals larger than an octave.
-@seealso
+@seealso
@ref{interval}.
A meter that includes a triplet subdivision within the beat, such as
6/8, 9/8, 12/8.
-@seealso
+@seealso
@ref{meter}, @ref{simple meter}.
@end enumerate
-@seealso
+@seealso
@ref{compound meter}, @ref{meter}, @ref{polymetric time signature}.
@end itemize
-@seealso
+@seealso
@ref{transposing instrument}.
\relative c'' { g4 g g a | b2 a | g4 b a a | g1 \bar "||" }
@end lilypond
-@seealso
+@seealso
@ref{disjunct movement}.
S: konsonans,
FI: konsonanssi, sopusointi.
-@seealso
+@seealso
@ref{harmony}.
S: alt,
FI: kontra-altto.
-@seealso
+@seealso
@ref{alto}.
@c Copying music required more skill than engraving. Flagged for NPOV
-@seealso
+@seealso
None yet.
>>
@end lilypond
-@seealso
+@seealso
None yet.
S: kontratenor, counter tenor,
FI: kontratenori.
-@seealso
+@seealso
@ref{contralto}.
\relative c'' { g4 \< a b c | d1\! \bar "|." }
@end lilypond
-@seealso
+@seealso
@ref{decrescendo}, @ref{hairpin}.
In a separate part notes belonging to another part with the purpose of
hinting when to start playing. Usually printed in a smaller type.
-@seealso
+@seealso
None yet.
}
@end lilypond
-@seealso
+@seealso
None yet.
@item FI: D, d
@end itemize
-@seealso
+@seealso
@ref{Pitch names}
Abbreviated @notation{D.C.}. Indicates that the piece is to be repeated from
the beginning to the end or to a certain place marked @emph{fine}.
-@seealso
+@seealso
None yet.
[Italian: @q{from nothing}.] Used with @notation{crescendo} to indicate
that the sound should gradually increase from nothing.
-@seealso
+@seealso
@ref{al niente}.
}
@end lilypond
-@seealso
+@seealso
None yet.
}
@end lilypond
-@seealso
+@seealso
@ref{crescendo}, @ref{diminuendo}, @ref{hairpin}.
A distance between a starting higher note and a lower ending note.
-@seealso
+@seealso
None yet.
>>
@end lilypond
-@seealso
+@seealso
@ref{semitone}, @ref{whole tone}.
@node didymic comma
@section didymic comma
-@seealso
+@seealso
@ref{syntonic comma}.
S: förminskat intervall,
FI: vähennetty intervalli.
-@seealso
+@seealso
@ref{interval}.
S: diminuendo,
FI: diminuendo, hiljentyen.
-@seealso
+@seealso
@ref{decrescendo}.
This is a stub for diminution (@emph{wrt} mensural notation).
-@seealso
+@seealso
@ref{augmentation}, @ref{mensural notation}.
S: ?,
FI: suora.
-@seealso
+@seealso
@ref{custos}.
fis2 d4. \bar "||" }
@end lilypond
-@seealso
+@seealso
@ref{conjunct movement}.
Another name for @ref{dissonant interval}.
-@seealso
+@seealso
@ref{dissonant interval}, @ref{harmony}.
S: dissonans,
FI: dissonanssi, dissonoiva intervalli, riitasointi.
-@seealso
+@seealso
@ref{harmony}.
TODO: musical example here?
-@seealso
+@seealso
None yet.
Indicator for a indeterminately rising pitch bend. Compare with
@emph{glissando}, which has determinate starting and ending pitches.
-@seealso
+@seealso
@ref{fall}, @ref{glissando}.
The fifth @emph{scale degree} in @emph{functional harmony}.
-@seealso
+@seealso
@ref{functional harmony}, @ref{scale degree}.
S: dominantnonackord,
FI: dominanttinoonisointu.
-@seealso
+@seealso
@ref{chord}, @ref{functional harmony}.
S: dominantseptimackord,
FI: dominanttiseptimisointu.
-@seealso
+@seealso
@ref{chord}, @ref{functional harmony}.
S: dorisk tonart,
FI: doorinen moodi.
-@seealso
+@seealso
@ref{diatonic scale}.
S: punkt,
FI: piste.
-@seealso
+@seealso
@ref{dotted note}, @ref{note value}.
S: punkterad not,
FI: pisteellinen nuotti.
-@seealso
+@seealso
@ref{note value}.
S: dubbelslag,
FI: kaksoisappogiatura, kaksoisetuhele.
-@seealso
+@seealso
@ref{appoggiatura}.
Indicates the end of a section within a movement.
-@seealso
+@seealso
None yet.
S: dub@-bel@-punk@-te@-rad not,
FI: kaksoispisteellinen nuotti.
-@seealso
+@seealso
@ref{note value}.
S: dubbelbe,
FI: kaksoisalennusmerkki.
-@seealso
+@seealso
@ref{accidental}.
S: dubbelkors,
FI: kaksoisylennysmerkki.
-@seealso
+@seealso
@ref{accidental}.
S: ?,
FI: kaksois-aika-arvomerkintä.
-@seealso
+@seealso
@ref{polymetric time signature}.
A simultaneous trill on two notes, usually in the distance of a third.
-@seealso
+@seealso
None yet.
S: tvåtakt,
FI: kaksoistempo.
-@seealso
+@seealso
@ref{meter}.
S: duol,
FI: duoli.
-@seealso
+@seealso
@ref{note value}.
S: tonlängd,
FI: kesto, aika-arvo.
-@seealso
+@seealso
@ref{note value}.
one degree to another. The terms, abbreviations, and symbols used to
indicate this information are called dynamic marks.
-@seealso
+@seealso
@ref{piano}, @ref{forte}, @ref{crescendo}, @ref{decrescendo},
@ref{diminuendo}.
@item FI: E, e
@end itemize
-@seealso
+@seealso
@ref{Pitch names}
@node ecclesiastical mode
@section ecclesiastical mode
-@seealso
+@seealso
@ref{church mode}, @ref{diatonic scale}.
@item FI: kahdeksasosanuotti
@end itemize
-@seealso
+@seealso
@ref{note value}.
@item FI: kahdeksasosatauko
@end itemize
-@seealso
+@seealso
@ref{note value}.
by a lyric tie, which looks like (and serves the same function) as a musical
tie.
-@seealso
+@seealso
@ref{lyric tie}.
@node embellishment
@section embellishment
-@seealso
+@seealso
@ref{ornament}.
The traditional process of music printing is done through cutting in a
plate of metal. Now also the term for the art of music typesetting.
-@seealso
+@seealso
None yet.
>>
@end lilypond
-@seealso
+@seealso
None yet.
A tuning system that divides the octave into 12 equal semitones (each of
which is precisely equal to 100 cents).
-@seealso
+@seealso
@ref{cent}, @ref{semitone}, @ref{temperament}.
@end itemize
-@seealso
+@seealso
@ref{allegro}, @ref{andante}, @ref{crescendo}, @ref{forte}.
@end itemize
-@seealso
+@seealso
@ref{melisma}, @ref{sul G}, @ref{thorough bass}, @ref{octave mark},
@ref{octave marking}.
@item FI: F, f
@end itemize
-@seealso
+@seealso
@ref{Pitch names}
>>
@end lilypond
-@seealso
+@seealso
@ref{baritone clef}, @ref{strings}.
Indicator for a indeterminately falling pitch bend. Compare with
@emph{glissando}, which has determinate starting and ending pitches.
-@seealso
+@seealso
@ref{doit}, @ref{glissando}.
direction of @q{feathering} -- but without changing the overall tempo
of the piece.
-@seealso
+@seealso
Internals Reference: @ruser{Manual beams}
}
@end lilypond
-@seealso
+@seealso
None yet.
S: kvint,
FI: kvintti.
-@seealso
+@seealso
@ref{interval}.
>>
@end lilypond
-@seealso
+@seealso
@ref{chord}, @ref{interval}.
Figures to the side or above the note that methodically indicate which
fingers to use while playing a passage.
-@seealso
+@seealso
None yet.
}
@end lilypond
-@seealso
+@seealso
@ref{note value}.
@end itemize
-@seealso
+@seealso
@ref{articulation}, @ref{harmonics}.
S: beförtecken,
FI: alennusmerkki.
-@seealso
+@seealso
@ref{accidental}.
@node forefall
@section forefall
-@seealso
+@seealso
@ref{appoggiatura}.
@item @emph{fortissimo}, very loud (notated @notation{@b{ff}}).
@end itemize
-@seealso
+@seealso
None yet.
S: kvart,
FI: kvartti.
-@seealso
+@seealso
@ref{interval}.
If you are producing scores for eventual publication by a commercial publisher,
you may wish to procure a copy of their style manual.
-@seealso
+@seealso
@ref{Frenched staff}.
Frenched staff has unneeded measures or sections removed. This is useful
for producing, for example, an @emph{ossia} staff.
-@seealso
+@seealso
@ref{ossia}.
S: fuga,
FI: fuuga.
-@seealso
+@seealso
@ref{counterpoint}.
>>
@end lilypond
-@seealso
+@seealso
None yet.
@item FI: G, g
@end itemize
-@seealso
+@seealso
@ref{Pitch names}
>>
@end lilypond
-@seealso
+@seealso
None yet.
Letting the pitch slide fluently from one note to the other.
-@seealso
+@seealso
None yet.
Notes printed in small types to indicate that their time values are not
counted in the rhythm of the bar.
-@seealso
+@seealso
@ref{acciaccatura}, @ref{appoggiatura}, @ref{grace notes},
@ref{ornament}.
A combination of two staves with a brace. Usually used for piano music.
-@seealso
+@seealso
@ref{brace}.
[Italian] Slow, solemn.
-@seealso
+@seealso
None yet.
@node gruppetto
@section gruppetto
-@seealso
+@seealso
@ref{turn}.
usage. In the standard usage of these countries, @notation{B} means
@notation{B flat}.
-@seealso
+@seealso
@ref{Pitch names}, @ref{B}.
}
@end lilypond
-@seealso
+@seealso
@ref{crescendo}, @ref{decrescendo}.
@item FI: puolinuotti.
@end itemize
-@seealso
+@seealso
@ref{note value}.
@item FI: puolitauko.
@end itemize
-@seealso
+@seealso
@ref{note value}.
@end lilypond
-@seealso
+@seealso
@ref{functional harmony}.
natural harmonics, which are those played on the open string; and
artificial harmonics, which are produced on stopped strings.
-@seealso
+@seealso
None yet.
For harmony that uses three or more notes, see @ref{chord}.
-@seealso
+@seealso
@ref{chord}.
and is therefore a polymeter (second definition) of considerable antiquity.
-@seealso
+@seealso
@ref{mensural notation}, @ref{meter}, @ref{polymeter}, @ref{proportion}.
Music in which one voice leads melodically supported by the other voices in
the same rhythm (more or less). In contrast to @emph{polyphony}.
-@seealso
+@seealso
@ref{polyphony}.
@node hymn meter
@item 88.88.88.88 is Double Long Meter (DLM or D.L.M.)
@end itemize
-@seealso
+@seealso
None yet.
>>
@end lilypond
-@seealso
+@seealso
@ref{enharmonic}, @ref{whole tone}.
unstable chord position.
@end table
-@seealso
+@seealso
None yet.
}
@end lilypond
-@seealso
+@seealso
None yet.
Tuning system in which the notes are obtained by adding and subtracting
natural fifths and thirds.
-@seealso
+@seealso
@ref{temperament}.
According to the 12@w{ }tones of the @emph{chromatic scale} there are
12@w{ }keys, one on@w{ }c, one on c-sharp, etc.
-@seealso
+@seealso
@ref{chromatic scale}, @ref{key signature}.
The sharps or flats appearing at the beginning of each staff indicating the
key of the music.
-@seealso
+@seealso
@ref{accidental}.
[French: @q{Let vibrate}.] Most frequently associated with harp
parts. Marked @notation{l.v.} in the score.
-@seealso
+@seealso
None yet.
called because of its strong tendency to @q{lead up} (resolve upwards)
to the tonic scale degree.
-@seealso
+@seealso
@ref{scale degree}, @ref{semitone}.
\relative c'' { a,1 s c'' }
@end lilypond
-@seealso
+@seealso
None yet.
>>
@end lilypond
-@seealso
+@seealso
@ref{staccato}.
@node legato curve
@section legato curve
-@seealso
+@seealso
@ref{slur}, @ref{legato}.
@node leger line
@section leger line
-@seealso
+@seealso
@ref{ledger line}.
system of the white mensural notation, the need for ligatures to denote such
patterns disappeared.
-@seealso
+@seealso
@ref{mensural notation}.
Also, the name of a music typesetting program.
-@seealso
+@seealso
None yet.
S: notlinje,
FI: viiva, nuottiviiva.
-@seealso
+@seealso
@ref{staff}.
[Italian: @q{place}.] Instruction to play the following passage at the
written pitch. Cancels octave mark (q.v.).
-@seealso
+@seealso
@ref{octave mark}, @ref{octave marking}.
S: långt förslag,
FI: pitkä appoggiatura, pitkä etuhele.
-@seealso
+@seealso
@ref{appoggiatura}.
}
@end lilypond
-@seealso
+@seealso
@ref{breve}, @ref{note value}.
@c TODO: add languages
-@seealso
+@seealso
@ref{elision}.
@c Definition?
-@seealso
+@seealso
None yet.
S: dur,
FI: duuri.
-@seealso
+@seealso
@ref{diatonic scale}.
S: stort intervall,
FI: suuri intervalli.
-@seealso
+@seealso
@ref{interval}.
temperament only a limited set of keys are playable. Used for tuning
keyboard instruments for performance of pre-1650 music.
-@seealso
+@seealso
@ref{cent}, @ref{temperament}.
Such groups in numbers of two or more recur consistently throughout the
composition and are separated from each other by bar lines.
-@seealso
+@seealso
@ref{bar line}, @ref{beat}, @ref{meter}.
@node measure repeat
@section measure repeat
-@seealso
+@seealso
@ref{percent repeat}.
@end itemize
-@seealso
+@seealso
@ref{chord}, @ref{functional harmony}, @ref{relative key}.
A melisma (Greek: plural @emph{melismata}) is a group of notes or tones sung
on one syllable, especially as applied to liturgical chant.
-@seealso
+@seealso
None yet.
S: ?,
FI: melismaviiva.
-@seealso
+@seealso
@ref{extender line}.
@node melodic cadence
@section melodic cadence
-@seealso
+@seealso
@ref{cadenza}.
TODO: add to definition (including summary info on proportional notation)
-@seealso
+@seealso
@ref{augmentation}, @ref{diminution}, @ref{ligature}, @ref{proportion}.
@c TODO: more cross-references?
TODO: add information from discussion on lilypond-user related to polymeter.
-@seealso
+@seealso
@ref{accent}, @ref{hemiola}, @ref{note value}, @ref{time signature}
followed acknowledged Winkler as the creator, but by then Mälzel had already
sold many of them, and people had taken to calling it a Mälzel Metronome.
-@seealso
+@seealso
@ref{metronome mark}.
@notation{MM}, which is short for Mälzels Metronom (or Mälzel's Mark,
@emph{anglice}).
-@seealso
+@seealso
@ref{metronome}
@node metronomic indication
@section metronomic indication
-@seealso
+@seealso
@ref{metronome mark}
@end itemize
-@seealso
+@seealso
None yet.
The female voice between soprano and contralto.
-@seealso
+@seealso
@ref{soprano}, @ref{contralto}.
}
@end lilypond
-@seealso
+@seealso
None yet.
S: moll,
FI: molli.
-@seealso
+@seealso
@ref{diatonic scale}.
S: litet intervall,
FI: pieni intervalli.
-@seealso
+@seealso
@ref{interval}.
@node mixolydian mode
@section mixolydian mode
-@seealso
+@seealso
@ref{diatonic scale}.
S: modus, skala,
FI: moodi, kirkkosävelasteikko.
-@seealso
+@seealso
@ref{church mode}, @ref{diatonic scale}.
of a @ref{sonata form} movement modulates to the dominant key if the
key is major and to the @ref{relative key} if the key is minor.
-@seealso
+@seealso
None yet.
S: mordent,
FI: mordent, korukuvio.
-@seealso
+@seealso
@ref{ornament}.
@node motif
@section motif
-@seealso
+@seealso
@ref{motive}.
}
@end lilypond
-@seealso
+@seealso
None yet.
consist of several -- more or less -- independant pieces called
movements.
-@seealso
+@seealso
None yet.
}
@end lilypond
-@seealso
+@seealso
@ref{longa}, @ref{breve}.
S: återställningstecken,
FI: palautusmerkki.
-@seealso
+@seealso
@ref{accidental}.
@node neighbor tones
@section neighbor tones
-@seealso
+@seealso
@ref{acciaccatura}, @ref{appoggiatura}, @ref{grace notes},
@ref{ornament}.
S: nona,
FI: nooni.
-@seealso
+@seealso
@ref{interval}.
@node non-legato
@section non-legato
-@seealso
+@seealso
@ref{legato}.
and @ref{note} is strongly recommended. Briefly, one sees a note,
and hears a tone.
-@seealso
+@seealso
None yet.
For percussion instruments (often having no defined pitch) the note head may
indicate the instrument.
-@seealso
+@seealso
@ref{clef}, @ref{flag}, @ref{staff}, @ref{stem}.
@node note names
@section note names
-@seealso
+@seealso
@ref{Pitch names}
}
@end lilypond
-@seealso
+@seealso
None yet.
@node octavation
@section octavation
-@seealso
+@seealso
@ref{octave marking}.
For uses like @notation{all'ottava} or @notation{8va} with an extender line or
bracket, or @notation{loco} see octave marking.
-@seealso
+@seealso
@ref{interval}, @ref{octave marking}.
beginning. This octave mark can be applied to any clef, but it is most
frequently used with the G and F clefs.
-@seealso
+@seealso
@ref{F clef}, @ref{G clef}, @ref{loco}, @ref{octave marking}.
For a list of the specific marks used, see @ref{octave mark}.
-@seealso
+@seealso
@ref{interval}, @ref{loco}, @ref{octave}, @ref{octave mark}.
@node octave sign
@section octave sign
-@seealso
+@seealso
@ref{octave mark}.
>>
@end lilypond
-@seealso
+@seealso
@ref{acciaccatura}, @ref{appoggiatura}, @ref{grace notes}.
score, usually only a few measures long, which presents another version
of the music, for example for small hands.
-@seealso
+@seealso
None yet.
@end itemize
-@seealso
+@seealso
@ref{counterpoint}
@node pause
@section pause
-@seealso
+@seealso
@ref{fermata}.
@node pennant
@section pennant
-@seealso
+@seealso
@ref{flag}.
}
@end lilypond
-@seealso
+@seealso
@ref{repeat},
@uref{http://www.music.vt.edu/musicdictionary/textr/Repeat.html,University of
Vermont Music Dictionary}.
tambourine, cymbals, chinese gong (tam-tam), triangle, celesta, glockenspiel,
and xylophone.
-@seealso
+@seealso
None yet.
S: rent intervall,
FI: puhdas intervalli.
-@seealso
+@seealso
@ref{interval}.
A natural division of the melodic line, comparable to a sentence of speech.
-@seealso
+@seealso
@ref{caesura}.
The clear rendering in musical performance of the @notation{phrases} of the
melody. Phrasing may be indicated by a @notation{slur}.
-@seealso
+@seealso
@ref{phrase}, @ref{slur}.
@emph{piano} (@b{p}) soft, @emph{pianissimo} (@b{pp}) very soft,
@emph{mezzo piano} (@b{mp}) medium soft.
-@seealso
+@seealso
None yet.
S: upptakt,
FI: kohotahti.
-@seealso
+@seealso
@ref{anacrusis}.
@end enumerate
-@seealso
+@seealso
@ref{Pitch names}.
A technique for stringed instruments, abbr. @emph{pizz}. To play by plucking
the strings.
-@seealso
+@seealso
None yet.
@end itemize
-@seealso
+@seealso
@ref{polymetric} (adj.)
Characterized by @emph{polymeter}: using two or more metric frameworks
simultaneously or in alternation.
-@seealso
+@seealso
@ref{polymeter} (noun)
A time signature that indicates regularly alternating polymetric time.
-@seealso
+@seealso
@ref{polymetric}.
Music written in a combination of several simultaneous voices (parts)
of a more or less pronounced individuality.
-@seealso
+@seealso
@ref{counterpoint}.
without changing the bow's direction. It is used for passages of a
@notation{cantabile} character.
-@seealso
+@seealso
@ref{legato}.
Very quick, i.e., quicker than @ref{allegro}; @emph{prestissimo}
denotes the highest possible degree of speed.
-@seealso
+@seealso
None yet.
@c TODO: add an example or two. O => 4/3, and its modern equivalent
-@seealso
+@seealso
@ref{mensural notation}.
than the C obtained by adding 7 octaves. The difference between those two
pitches is the Pythagorean comma.
-@seealso
+@seealso
@ref{cent}, @ref{temperament}.
S: kvartol,
FI: kvartoli.
-@seealso
+@seealso
@ref{note value}.
and D^m7 are all identical). The last three chords are not commonly used
except in jazz.
-@seealso
+@seealso
@ref{chord}.
@item FI: neljäsosanuotti
@end itemize
-@seealso
+@seealso
@ref{note value}.
@item FI: neljäsosatauko
@end itemize
-@seealso
+@seealso
@ref{note value}.
An interval equal to half a semitone.
-@seealso
+@seealso
@ref{interval}
S: kvintol,
FI: kvintoli.
-@seealso
+@seealso
@ref{note value}.
[Italian] A performance indication, abbreviated "rall.".
-@seealso
+@seealso
@ref{ritardando}.
}
@end lilypond
-@seealso
+@seealso
@ref{key}, @ref{key signature}, @ref{major}, @ref{minor}.
}
@end lilypond
-@seealso
+@seealso
None yet.
@c F: 'pause' if you mean a whole rest, 'silence' if you do not want to
@c specify the rest's value.
-@seealso
+@seealso
@ref{note value}.
@end itemize
-@seealso
+@seealso
None yet.
Gradually slackening in speed. Mostly abbreviated to rit.@: or ritard.
-@seealso
+@seealso
None yet.
Immediate reduction of speed.
-@seealso
+@seealso
None yet.
S: skala,
FI: asteikko, sävelasteikko.
-@seealso
+@seealso
@ref{diatonic scale}.
>>
@end lilypond
-@seealso
+@seealso
@ref{functional harmony}.
Tunings that could be called @var{scordatura} first appeared early in
the 16th Century and became commonplace in the 17th.
-@seealso
+@seealso
None yet.
instrument is to play, each voice to sing, having each part arranged
one underneath the other on different staves @ref{staff}.
-@seealso
+@seealso
None yet.
@ref{whole tone}s, hence the size of a se@-cond depends on the scale
degrees in question.
-@seealso
+@seealso
None yet.
\relative c'' { g1 gis s a bes s b! c }
@end lilypond
-@seealso
+@seealso
@ref{interval}, @ref{chromatic scale}.
S: septim,
FI: septimi.
-@seealso
+@seealso
@ref{interval}.
@node sextolet
@section sextolet
-@seealso
+@seealso
@ref{sextuplet}, @ref{note value}.
S: sextol,
FI: sekstoli.
-@seealso
+@seealso
@ref{note value}.
@node shake
@section shake
-@seealso
+@seealso
@ref{trill}.
S: kors@-förtecken,
FI: korotusmerkki.
-@seealso
+@seealso
@ref{accidental}.
is to be played in the same manner (i.e. with the same articulations, dynamics,
etc.) as the music that precedes it.
-@seealso
+@seealso
TODO: Where else could I refer the reader?
A meter in which the basic beat is subdivided in two: that is, a meter
that does not include triplet subdivision of the beat.
-@seealso
+@seealso
@ref{compound meter}, @ref{meter}.
@item FI: kuudestoistaosanuotti
@end itemize
-@seealso
+@seealso
@ref{note value}.
@item FI: kuudestoistaosatauko
@end itemize
-@seealso
+@seealso
@ref{note value}.
S: sext,
FI: seksti.
-@seealso
+@seealso
@ref{interval}.
@item FI: kuudeskymmenesneljäsosanuotti
@end itemize
-@seealso
+@seealso
@ref{note value}.
@item FI: kuudeskymmenesneljäsosatauko
@end itemize
-@seealso
+@seealso
@ref{note value}.
@node slash repeat
@section slash repeat
-@seealso
+@seealso
@ref{percent repeat}.
played @ref{legato}, e.g., with one stroke of the violin bow or with
one breath in singing.
-@seealso
+@seealso
None yet.
@emph{re}, @emph{mi}, @emph{fa}, @emph{sol}, @emph{la}, @emph{si}
(@emph{ti})).
-@seealso
+@seealso
@ref{scale}, @ref{scale degree}.
accompaniment, which consists of three or four independant pieces,
called movements.
-@seealso
+@seealso
None yet.
@notation{dominant} if the @notation{tonic} is @notation{major}, and in the
@notation{relative key} if the tonic is @notation{minor}.
-@seealso
+@seealso
@ref{dominant}, @ref{major}, @ref{minor}, @ref{relative key}, @ref{sonata},
@ref{symphony}, @ref{tonic}.
@node song texts
@section song texts
-@seealso
+@seealso
@ref{lyrics}.
The highest female voice.
-@seealso
+@seealso
None yet.
}
@end lilypond
-@seealso
+@seealso
None yet.
indicating (in connection with a @ref{clef}) their pitch. Staves for
@ref{percussion} instruments may have fewer lines.
-@seealso
+@seealso
None yet.
@node staves
@section staves
-@seealso
+@seealso
@ref{staff}.
}
@end lilypond
-@seealso
+@seealso
None yet.
[Italian: @q{pressing}.] Pressing, urging, or hastening the time, as to a
climax.
-@seealso
+@seealso
@ref{accelerando}.
commonly used in a symphony orchestra are violin, viola, violoncello,
and double bass.
-@seealso
+@seealso
None yet.
S: betonat taktslag,
FI: tahdin vahva isku.
-@seealso
+@seealso
@ref{beat}, @ref{accent}, @ref{measure}, @ref{rhythm}.
The fourth @notation{scale degree}.
-@seealso
+@seealso
@ref{functional harmony}, @ref{scale degree}.
The sixth @notation{scale degree}.
-@seealso
+@seealso
@ref{functional harmony}, @ref{scale degree}, @ref{superdominant}.
The seventh @ref{scale degree}.
-@seealso
+@seealso
@ref{functional harmony}, @ref{scale degree}.
Indicates that the indicated passage (or note) should be played on the
G string.
-@seealso
+@seealso
None yet.
The sixth @ref{scale degree}.
-@seealso
+@seealso
@ref{functional harmony}, @ref{scale degree}, @ref{submediant}.
The second @ref{scale degree}.
-@seealso
+@seealso
@ref{functional harmony}, @ref{scale degree}.
A symphony may be defined as a @emph{sonata} for orchestra.
-@seealso
+@seealso
@ref{sonata}.
}
@end lilypond
-@seealso
+@seealso
None yet.
This comma is also known as the comma of Didymus, or didymic comma.
-@seealso
+@seealso
@ref{Pythagorean comma}
The collection of staves (@notation{staff}), two or more, as used for writing
down of keyboard, chamber, choral, or orchestral music.
-@seealso
+@seealso
@ref{staff}.
Systems of tuning in which the intervals deviate from the acoustically
pure intervals.
-@seealso
+@seealso
@ref{meantone temperament}, @ref{equal temperament}.
@notation{adagio}, @notation{andante}, @notation{allegro}, and
@notation{presto}.
-@seealso
+@seealso
@ref{adagio}, @ref{allegro}, @ref{andante}, @ref{largo}, @ref{presto}.
The highest @q{natural} male voice (apart from @notation{countertenor}).
-@seealso
+@seealso
@ref{countertenor}.
S: decima,
FI: desimi.
-@seealso
+@seealso
@ref{note value}.
An indication that a particular note should be held for the whole
length, although this can vary depending on the composer and era.
-@seealso
+@seealso
None yet.
S: ters,
FI: terssi.
-@seealso
+@seealso
@ref{interval}.
@item FI: kolmaskymmeneskahdesosanuotti
@end itemize
-@seealso
+@seealso
@ref{note value}.
@item FI: kolmaskymmeneskahdesosatauko
@end itemize
-@seealso
+@seealso
@ref{note value}.
@node thorough bass
@section thorough bass
-@seealso
+@seealso
@ref{figured bass}.
@node time
@section time
-@seealso
+@seealso
@ref{meter}.
meter. It most often takes the form of a fraction, but a few signs
derived from mensural notation and proportions are also employed.
-@seealso
+@seealso
@ref{mensural notation}, @ref{meter}.
@c Music from the 20th century may be based on atonal sounds. Meh, not so much
-@seealso
+@seealso
None yet.
The first @notation{scale degree}.
-@seealso
+@seealso
@ref{functional harmony}, @ref{scale degree}.
@end itemize
-@seealso
+@seealso
@ref{concert pitch}.
}
@end lilypond
-@seealso
+@seealso
None yet.
S: diskantklav,
FI: diskanttiavain.
-@seealso
+@seealso
@ref{G clef}.
}
@end lilypond
-@seealso
+@seealso
@ref{strings}
S: treklang,
FI: kolmisointu.
-@seealso
+@seealso
@ref{chord}.
S: drill,
FI: trilli.
-@seealso
+@seealso
@ref{ornament}.
S: tretakt,
FI: kolmijakoinen.
-@seealso
+@seealso
@ref{meter}.
S: triol,
FI: trioli.
-@seealso
+@seealso
@ref{note value}.
S: tritonus,
FI: tritonus.
-@seealso
+@seealso
@ref{interval}.
@emph{A} above middle C (440 cps/Hz), which is the international tuning
standard. Tuning forks for other pitches are available.
-@seealso
+@seealso
@ref{middle C}.
indicated with a bracket and a number indicating the number of
subdivisions.
-@seealso
+@seealso
@ref{triplet}, @ref{note value}.
S: dubbelslag,
FI: korukuvio.
-@seealso
+@seealso
@ref{ornament}.
(voices) or by the whole orchestra (choir), either at exactly the same
pitch or in a different octave.
-@seealso
+@seealso
None yet.
S: upptakt,
FI: kohotahti.
-@seealso
+@seealso
@ref{anacrusis}
@end itemize
-@seealso
+@seealso
None yet.
or second ending. LilyPond extends this idea to any number, and allows any text
(not just a number) -- to serve as the @notation{volta} text.
-@seealso
+@seealso
None yet.
S: obetonat taktslag,
FI: tahdin heikko isku.
-@seealso
+@seealso
@ref{beat}, @ref{measure}, @ref{rhythm}.
@item FI: kokonuotti
@end itemize
-@seealso
+@seealso
@ref{note value}.
@item FI: kokotauko
@end itemize
-@seealso
+@seealso
@ref{note value}.
on the piano keyboard with exactly one key between them -- including
black and white keys -- is a whole tone.
-@seealso
+@seealso
@ref{interval}.
commonly used in a symphony orchestra are flute, oboe, clarinet,
saxophone, and bassoon.
-@seealso
+@seealso
None yet.
@end multitable
-@seealso
+@seealso
@ref{mensural notation}
@end itemize
-@seealso
+@seealso
Notation Reference:
@ref{Showing melody rhythms},
@ref{Instantiating new staves}.
There are a few issues concerning MIDI support for percussion
instruments; for details please see @ref{Percussion in MIDI}.
-@seealso
+@seealso
Notation Reference: @ref{Percussion in MIDI}, @ref{Percussion notes}.
File: @file{ly/@/drumpitch@/-init@/.ly}
}
@end lilypond
-@seealso
+@seealso
Snippets: @rlsr{Percussion}.
vibraphone, and timpani) are written using normal staves.
This is covered in other sections of the manual.
-@seealso
+@seealso
@c TODO: possibly link to an alternate section of NR 3.5, if
@c "percussion in MIDI" gets a separate subsubsection for
@c pitched percussion sounds. -gp
}
@end lilypond
-@seealso
+@seealso
Snippets: @rlsr{Percussion}.
Internals Reference: @rinternals{DrumStaff}, @rinternals{DrumVoice}.
-
@c TODO: check name -gp
@node Ghost notes
@unnumberedsubsubsec Ghost notes
Also note that you must add chords (@code{< >} brackets)
around each @code{\parenthesize} statement.
-@seealso
+@seealso
Snippets: @rlsr{Percussion}.
d,, d, d c
@end lilypond
-@seealso
+@seealso
Music Glossary:
@rglos{Pitch names}.
@seealso
-
Music Glossary:
@rglos{fifth},
@rglos{interval},
@funindex \chordmode
@funindex \relative
+
@knownissues
The relative conversion will not affect @code{\transpose},
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{makam-example.ly}
-@seealso
+@seealso
Music Glossary:
@rglos{sharp},
@rglos{flat},
@seealso
-
Music Glossary:
@rglos{Pitch names}.
@seealso
-
Snippets:
@rlsr{Pitches}.
@seealso
-
Notation Reference:
@ref{Instrument transpositions}.
Internals Reference:
@rinternals{TransposedMusic}.
+
@funindex \transpose
@funindex \chordmode
@funindex \relative
@seealso
-
Notation Reference:
@ref{Mensural clefs}, @ref{Gregorian clefs}.
@seealso
-
Music Glossary:
@rglos{church mode},
@rglos{scordatura}.
@seealso
-
Music Glossary:
@rglos{octavation}.
@rinternals{ottava-bracket-interface}.
-
@node Instrument transpositions
@unnumberedsubsubsec Instrument transpositions
@seealso
-
Music Glossary:
@rglos{concert pitch},
@rglos{transposing instrument}.
@seealso
-
Snippets:
@rlsr{Pitches}.
@seealso
-
Music Glossary:
@rglos{ambitus}.
@noindent
To see all note head styles, see @ref{Note head styles}.
-@seealso
+@seealso
Snippets:
@rlsr{Pitches}.
}
@end lilypond
-@predefined
+@predefined
@funindex \easyHeadsOn
+@code{\easyHeadsOn},
@funindex \easyHeadsOff
-@code{\easyHeadsOn}, @code{\easyHeadsOff}
+@code{\easyHeadsOff}.
+@endpredefined
-@seealso
+@seealso
Notation Reference:
@ref{Setting the staff size}.
Shapes are typeset according to the step in the scale, where the
base of the scale is determined by the @code{\key} command.
-@predefined
+@predefined
@funindex \aikenHeads
+@code{\aikenHeads},
@funindex \sacredHarpHeads
-@code{\aikenHeads}, @code{\sacredHarpHeads}
+@code{\sacredHarpHeads}.
+@endpredefined
+
@snippets
@noindent
To see all note head styles, see @ref{Note head styles}.
-@seealso
+@seealso
Snippets:
@rlsr{Pitches}.
@predefined
-
@funindex \improvisationOn
+@code{\improvisationOn},
@funindex \improvisationOff
+@code{\improvisationOff}.
+@endpredefined
-@code{\improvisationOn}, @code{\improvisationOff}
@seealso
-
Snippets:
@rlsr{Pitches}.
main docs
@predefined
+@endpredefined
@snippets
@seealso
@knownissues
Any new concepts or links which require an explanation should go
as a full sentence(s) in the main text.
+ Don't insert an empty line between @seealso and the first entry!
+ Otherwise there is excessive vertical space in the PDF output.
+
* To create links, use @ref{} if the link is within the same
manual.
-* @predefined is for commands in ly/*-init.ly FIXME?
+* @predefined ... @endpredefined is for commands in ly/*-init.ly
+ FIXME?
* Do not include any real info in second-level sections (ie 1.1
Pitches). A first-level section may have introductory material,
@seealso
-
Music Glossary: @rglos{repeat}, @rglos{volta}.
Notation Reference: @ref{Bar lines}, @ref{Modifying context plug-ins}.
@rinternals{RepeatedMusic}, @rinternals{VoltaRepeatedMusic},
@rinternals{UnfoldedRepeatedMusic}.
+
@knownissues
@cindex repeat, ambiguous
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{printing-a-repeat-sign-at-the-beginning-of-a-piece.ly}
-@seealso
+@seealso
Notation Reference:
@ref{Bar lines},
@ref{Formatting text}.
c1
@end lilypond
-@seealso
+@seealso
Snippets: @rlsr{Repeats}.
Internals Reference: @rinternals{RepeatedMusic},
@rinternals{UnfoldedRepeatedMusic}.
+
@node Short repeats
@subsection Short repeats
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{isolated-percent-repeats.ly}
-@seealso
+@seealso
Music Glossary: @rglos{percent repeat}, @rglos{simile}.
Snippets: @rlsr{Repeats}.
@rinternals{DoublePercentRepeatCounter},
@rinternals{PercentRepeatCounter}, @rinternals{PercentRepeatedMusic}.
+
@knownissues
Only three kinds of percent repeats are supported: a single slash
c: c:
@end lilypond
-@seealso
+@seealso
Snippets: @rlsr{Repeats}.
@cindex tremolo, cross-staff
force a particular direction manually, for details
see @ref{Direction and placement}.
-@predefined
+@predefined
@code{\autoBeamOff},
@code{\dotsUp},
@code{\dotsDown},
@code{\dotsNeutral}.
+@endpredefined
@seealso
-
Music Glossary:
@rglos{breve},
@rglos{longa},
To modify the duration of notes without printing a tuplet bracket,
see @ref{Scaling durations}.
-@predefined
+@predefined
@code{\tupletUp},
@code{\tupletDown},
@code{\tupletNeutral}.
+@endpredefined
@snippets
@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{permitting-line-breaks-within-beamed-tuplets.ly}
-@seealso
+@seealso
Music Glossary:
@rglos{triplet},
@rglos{tuplet},
@rinternals{TupletNumber},
@rinternals{TimeScaledMusic}.
+
@knownissues
@cindex grace notes within tuplet brackets
When the first note on a staff is a grace note followed by a
@seealso
-
Notation Reference:
@ref{Tuplets},
@ref{Invisible rests},
@predefined
-
@code{\tieUp},
@code{\tieDown},
@code{\tieNeutral},
@code{\tieDotted},
@code{\tieDashed},
@code{\tieSolid}.
+@endpredefined
@snippets
@seealso
-
Music Glossary:
@rglos{tie},
@rglos{laissez vibrer}.
@seealso
-
Notation Reference:
@ref{Full measure rests}.
\skip 1 \skip1 \skip 1
@end lilypond
-@seealso
+@seealso
Snippets:
@rlsr{Rhythms}.
When a multi-measure rest immediately follows a @code{\partial}
setting, resulting bar-check warnings may not be displayed.
+
@predefined
@code{\textLengthOn},
@code{\textLengthOff},
@code{\fermataMarkup},
@code{\compressFullBarRests},
@code{\expandFullBarRests}.
+@endpredefined
+
@snippets
@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{multi--measure-rest-markup.ly}
-@seealso
+@seealso
Music Glossary:
@rglos{multi-measure rest}.
Mensural time signatures are covered in
@ref{Mensural time signatures}.
-@predefined
+@predefined
@code{\numericTimeSignature},
@code{\defaultTimeSignature}.
+@endpredefined
+
@snippets
@seealso
-
Music Glossary:
@rglos{time signature}
command: i.e., @code{\partial 4} is internally translated to
@code{-4}, meaning @qq{there is a quarter note left in the measure.}
-@seealso
+@seealso
Music Glossary:
@rglos{anacrusis}.
Internal Reference:
@rinternals{Timing_translator}.
+
@knownissues
The @code{\partial} command is intended to be used only at the
d4 e d c
@end lilypond
-@predefined
+@predefined
@code{\cadenzaOn},
@code{\cadenzaOff}.
+@endpredefined
-@seealso
+@seealso
Music Glossary:
@rglos{cadenza}.
Snippets:
@rlsr{Rhythms}.
+
@knownissues
LilyPond will insert line breaks and page breaks only at a
@seealso
-
Music Glossary:
@rglos{polymetric},
@rglos{polymetric time signature},
@rinternals{Default_bar_line_engraver},
@rinternals{Staff}.
+
@knownissues
When using different time signatures in parallel, notes
measures are not entirely filled, then the ties show exactly how
much each measure is off.
-@seealso
+@seealso
Music Glossary: @rglos{tie}
Learning Manual:
>>
@end lilypond
+
@predefined
@code{\improvisationOn},
@code{\improvisationOff}.
+@endpredefined
+
@snippets
@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{guitar-strum-rhythms.ly}
-@seealso
+@seealso
Snippets:
@rlsr{Rhythms}.
@rinternals{RhythmicStaff},
@rinternals{Pitch_squash_engraver}.
+
@node Beams
@subsection Beams
c16 c8
@end lilypond
+
@predefined
@code{\autoBeamOff},
@code{\autoBeamOn}.
+@endpredefined
+
@snippets
@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{changing-beam-knee-gap.ly}
-@seealso
+@seealso
Notation Reference:
@ref{Manual beams},
@ref{Setting automatic beam behavior}.
@predefined
-
@funindex \autoBeamOff
@code{\autoBeamOff},
@funindex \autoBeamOn
@code{\autoBeamOn}.
+@endpredefined
@knownissues
@dots{} \\ @dots{} >>}. If a polyphonic voice ends while an
automatic beam is still accepting notes, it is not typeset.
-@seealso
+@seealso
Snippets:
@rlsr{Rhythms}.
The @code{\featherDurations} command only works with very short
music snippets, and when numbers in the fraction are small.
-@seealso
+@seealso
Snippets:
@rlsr{Rhythms}.
-
@node Bars
@subsection Bars
@code{"|"}. This may be changed at any time
with @code{\set Timing.defaultBarType = }@var{bartype}.
-@seealso
+@seealso
Notation Reference:
@ref{Line breaking},
@ref{Repeats},
@seealso
-
Snippets:
@rlsr{Rhythms}.
will print a warning if the @code{currentBarNumber} is not 123
when it is processed.
-@seealso
+@seealso
Snippets:
@rlsr{Rhythms}.
For common tweaks to the positioning of rehearsal marks, see
@ref{Formatting text}.
-@seealso
+@seealso
Notation Reference:
@ref{The Feta font},
@ref{Formatting text}.
Internals Reference: @rinternals{RehearsalMark}.
+
@node Special rhythmic concerns
@subsection Special rhythmic concerns
@seealso
-
Music Glossary:
@rglos{grace notes},
@rglos{acciaccatura},
>>
@end lilypond
-@seealso
+@seealso
Music Glossary:
@rglos{cadenza}.
@seealso
-
This manual: @ref{Bar numbers}, @ref{Unmetered music}
Snippets:
For more information about chords, see @ref{Chord notation}.
-@seealso
+@seealso
Music Glossary:
@rglos{chord}.
Snippets:
@rlsr{Simultaneous notes}.
+
@node Simultaneous expressions
@unnumberedsubsubsec Simultaneous expressions
even simultaneously. In such a case no attempt is made to
automatically avoid collisions between ordinary notes and clusters.
-@seealso
+@seealso
Music Glossary:
@rglos{cluster}.
@rinternals{ClusterSpannerBeacon},
@rinternals{Cluster_spanner_engraver}.
+
@knownissues
Clusters look good only if they span at least two chords; otherwise
This method leads to strange beamings and warnings if the pieces of
music do not have the same rhythm.
-@predefined
+@predefined
@code{\voiceOne},
@code{\voiceTwo},
@code{\voiceThree},
@code{\voiceFour},
@code{\oneVoice}.
+@endpredefined
-@seealso
+@seealso
Learning Manual:
@rlearning{Voices contain music},
@rlearning{Explicitly instantiating voices}.
The @code{\voiceNeutralstyle} command is used to revert to the
standard presentation.
-@predefined
-
+@predefined
@code{\voiceOneStyle},
-
@code{\voiceTwoStyle},
@code{\voiceThreeStyle},
@code{\voiceFourStyle},
@code{\voiceNeutralStyle}.
+@endpredefined
-@seealso
+@seealso
Learning Manual:
@rlearning{I'm hearing Voices},
@rlearning{Other sources of information}.
@predefined
-
@code{\mergeDifferentlyDottedOn},
@code{\mergeDifferentlyDottedOff},
@code{\mergeDifferentlyHeadedOn},
@code{\shiftOnn},
@code{\shiftOnnn},
@code{\shiftOff}.
+@endpredefined
+
@snippets
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{forcing-horizontal-shift-of-notes.ly}
-@seealso
+@seealso
Music Glossary:
@rglos{polyphony}.
@rinternals{NoteCollision},
@rinternals{RestCollision}.
+
@knownissues
When using @code{\mergeDifferentlyHeadedOn} with an upstem eighth
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{changing-partcombine-texts.ly}
-@seealso
+@seealso
Music Glossary:
@rglos{a due},
@rglos{part}.
@rinternals{PartCombineMusic},
@rinternals{Voice}.
+
@knownissues
@code{\partcombine} can only accept two voices.
}
@end lilypond
-@seealso
+@seealso
Learning Manual:
@rlearning{Organizing pieces with variables}.
@seealso
-
Installed Files:
@file{scm/@/paper@/.scm}.
@seealso
-
Notation Reference:
@ref{Vertical spacing between systems}.
@seealso
-
Snippets:
@rlsr{Spacing}.
@seealso
-
Snippets:
@rlsr{Spacing}.
@seealso
-
Notation Reference:
@ref{Selecting notation font size}.
@seealso
-
Notation Reference:
@ref{Changing context default settings}.
@predefined
-
@funindex \break
@code{\break},
@funindex \noBreak
@code{\noBreak}.
+@endpredefined
@seealso
-
Internals Reference:
@rinternals{LineBreakEvent}.
@}
@end example
-@predefined
+@predefined
@funindex \pageBreak
@code{\pageBreak},
@funindex \noPageBreak
@code{\noPageBreak}.
+@endpredefined
@seealso
-
Snippets:
@rlsr{Spacing}.
@seealso
-
Snippets:
@rlsr{Spacing}.
@predefined
-
@funindex \pageTurn
@code{\pageTurn},
@funindex \noPageTurn
@code{\noPageTurn},
@funindex \allowPageTurn
@code{\allowPageTurn}.
+@endpredefined
@seealso
-
Snippets:
@rlsr{Spacing}.
@seealso
-
Snippets:
@rlsr{Spacing}.
@seealso
-
Snippets:
@rlsr{Spacing}.
@seealso
-
Notation Reference:
@ref{Vertical spacing}.
@seealso
-
Snippets:
@rlsr{Spacing}.
@seealso
-
Snippets:
@rlsr{Spacing}.
@seealso
-
Snippets:
@rlsr{Spacing}.
@seealso
-
Snippets:
@rlsr{Spacing}.
@seealso
-
Snippets:
@rlsr{Spacing}.
@seealso
-
Snippets:
@rlsr{Spacing}.
@seealso
-
Snippets:
@rlsr{Spacing}.
@seealso
-
Snippets:
@rlsr{Spacing}.
@seealso
-
Snippets:
@rlsr{Spacing}.
@seealso
-
Notation Reference:
@ref{New spacing area}.
@seealso
-
Snippets:
@rlsr{Spacing}.
@seealso
-
Notation Reference:
@ref{Page formatting},
@ref{Changing horizontal spacing}.
@seealso
-
Music Glossary:
@rglos{staff},
@rglos{staves}.
@seealso
-
Music Glossary:
@rglos{brace},
@rglos{bracket},
@seealso
-
Notation Reference:
@ref{Grouping staves},
@ref{Instrument names},
@predefined
-
@code{\startStaff},
@code{\stopStaff}.
+@endpredefined
@snippets
@seealso
-
Music Glossary:
@rglos{line},
@rglos{ledger line},
@seealso
-
Music Glossary:
@rglos{ossia},
@rglos{staff},
@predefined
-
@code{\RemoveEmptyStaffContext},
@code{\AncientRemoveEmptyStaffContext},
@code{\RemoveEmptyRhythmicStaffContext}.
+@endpredefined
@snippets
@seealso
-
Music Glossary:
@rglos{Frenched staff}.
@seealso
-
Music Glossary:
@rglos{metronome},
@rglos{metronomic indication},
@seealso
-
Notation Reference:
@ref{Horizontal dimensions},
@ref{Modifying context plug-ins}.
@seealso
-
Notation Reference:
@ref{Instrument transpositions},
@ref{Using tags}.
@seealso
-
Notation Reference:
@ref{Instrument transpositions},
@ref{Instrument names},
* Fonts::
@end menu
+@node Writing text
+@subsection Writing text
+
+This section introduces different ways of adding text to a score.
+
@cindex Text, other languages
@warning{To write accented and special text (such as characters
from other languages), simply insert the characters directly into
the LilyPond file. The file must be saved as UTF-8. For more
information, see @ref{Text encoding}.}
-@node Writing text
-@subsection Writing text
-
-This section introduces different ways of adding text to a score.
-
@menu
* Text scripts::
* Text spanners::
syntax described in @ref{Direction and
placement}.
-@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
-d8^"pizz." e f g a4-"scherz." f
+@lilypond[quote,verbatim,relative=2]
+a8^"pizz." g f e a4-"scherz." f
@end lilypond
This syntax is actually a shorthand; more complex text
formatting may be added to a note by explicitly using a
@code{\markup} block, as described in @ref{Formatting text}.
-@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
-d8^\markup { \italic pizz. } e f g
+@lilypond[quote,verbatim,relative=2]
+a8^\markup { \italic pizz. } g f e
a4_\markup { \tiny scherz. \bold molto } f
@end lilypond
in the following example, the first text string does not affect
spacing, whereas the second one does.
-@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
-d8^"pizz." e f g
+@lilypond[quote,verbatim,relative=2]
+a8^"pizz." g f e
\textLengthOn
a4_"scherzando" f
@end lilypond
-@predefined
+@predefined
@funindex \textLengthOn
@code{\textLengthOn},
@funindex \textLengthOff
-@code{\textLengthOff}
+@code{\textLengthOff}.
+@endpredefined
@seealso
-
Notation Reference:
@ref{Formatting text},
@ref{Direction and placement}.
Internals Reference:
@rinternals{TextScript}.
+
@knownissues
Checking to make sure that text scripts and lyrics are within the
Such objects, called @qq{spanners}, may be created
from one note to another using the following syntax:
-@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
+@lilypond[verbatim,quote,relative=2]
\override TextSpanner #'(bound-details left text) = "rit."
b1\startTextSpan
e,\stopTextSpan
but different formatting can be obtained using
@code{\markup} blocks, as described in @ref{Formatting text}.
-@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
+@lilypond[quote,relative=2,verbatim]
\override TextSpanner #'(bound-details left text) =
\markup { \upright "rit." }
b1\startTextSpan c
The line style, as well as the text string, can be defined as an
object property. This syntax is described in @ref{Line styles}.
-@predefined
+@predefined
@funindex textSpannerUp
@code{\textSpannerUp},
@funindex textSpannerDown
@code{\textSpannerDown},
@funindex textSpannerNeutral
-@code{\textSpannerNeutral}
+@code{\textSpannerNeutral}.
+@endpredefined
-@seealso
+@seealso
Notation Reference:
@ref{Line styles},
@ref{Dynamics}.
@c \mark needs to be placed on a separate line (it's not
@c attached to an object like \markup is). -vv
-@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
+@lilypond[verbatim,quote,relative=2]
c4
\mark "Allegro"
c c c
more complex text formatting may be added using a @code{\markup}
block, as described in @ref{Formatting text}:
-@lilypond[fragment,quote,ragged-right,verbatim,relative=1]
+@lilypond[quote,verbatim,relative=1]
<c e>1
\mark \markup { \italic { colla parte } }
<d f>2 <e g>
or fermata, by specifying the appropriate symbol name as explained in
@ref{Music notation inside markup}:
-@lilypond[fragment,quote,ragged-right,verbatim,relative=1]
-<f bes>2 <d aes'>
+@lilypond[quote,verbatim,relative=2]
+<bes f>2 <aes d>
\mark \markup { \musicglyph #"scripts.ufermata" }
<e g>1
@end lilypond
can be placed above the bar line or between notes. When specified at a
line break, the mark will be printed at the beginning of the next line.
-@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
\mark "Allegro"
c1 c
\mark "assai" \break
@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{printing-marks-on-every-staff.ly}
-@seealso
+@seealso
Notation Reference:
@ref{Rehearsal marks},
@ref{Formatting text},
Internals Reference:
@rinternals{RehearsalMark}.
+
@knownissues
@c To be removed when Issue 69 in the tracker gets fixed. -vv
several music pieces, as described in
@ref{Multiple scores in a book}.
-@lilypond[quote,ragged-right,verbatim]
+@lilypond[quote,verbatim]
\score {
c'1
}
within LilyPond. This feature, and the specific syntax it
requires, are described in @ref{Multi-page markup}.
-@predefined
-@code{\markup},
+@predefined
@funindex \markuplines
-@code{\markuplines}
+@code{\markup},
+@code{\markuplines}.
+@endpredefined
+
-@ignore
@snippets
-TODO: add convenient snippets in input/new -vv
+@ignore
+@c TODO Replace following example with this snippet when available
+@c Submitted to LSR 30 Nov 08
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+{stand--alone-two--column-markup.ly}
@end ignore
+Stand-alone text may be arranged in several columns using @code{\markup}
+commands:
+
+@lilypond[verbatim,quote]
+\markup {
+ \fill-line {
+ \hspace #1.0
+ \column {
+ \line {"O sacrum convivium" }
+ \line {"in quo Christus sumitur," }
+ \line {"recolitur memoria passionis ejus," }
+ \line {"mens impletur gratia," }
+ \line {"futurae gloriae nobis pignus datur." }
+ \line {"Amen."}
+ }
+ \hspace #2
+ \column {
+ \line { \italic {"O sacred feast"} }
+ \line { \italic {"in which Christ is received,"} }
+ \line { \italic {"the memory of His Passion is renewed,"} }
+ \line { \italic {"the mind is filled with grace," } }
+ \line { \italic {"and a pledge of future glory is given to us." }}
+ \line { \italic {"Amen."}}
+ }
+ \hspace #1.0
+ }
+}
+@end lilypond
@seealso
+@seealso
Notation Reference: @ref{Formatting text},
@ref{File structure},
@ref{Multiple scores in a book},
entered using the backslash @code{\} character.
Such commands only affect the first following expression.
-@lilypond[quote,verbatim,fragment,relative=1]
-e1-\markup intenso
+@lilypond[quote,verbatim,relative=2]
+a1-\markup intenso
a2^\markup { poco \italic più forte }
c e1
d2_\markup { \italic "string. assai" }
the formatting of the text. Double quotation marks themselves
may be printed by preceding them with backslashes.
-@lilypond[quote,verbatim,fragment,relative=1]
-d1^"\italic markup..."
-d_\markup { \italic "... prints \"italic\" letters!" }
-d d
+@lilypond[quote,verbatim,relative=2]
+a1^"\italic markup..."
+a_\markup { \italic "... prints \"italic\" letters!" }
+a a
@end lilypond
To be treated as a distinct expression, a list of words needs
following example, the second @code{\markup} expression is
treated the same as the first one:
-@lilypond[quote,verbatim,fragment,relative=1]
+@lilypond[quote,verbatim,relative=2]
c1^\markup { \center-column { a bbb c } }
c1^\markup { \center-column { a { bbb c } } }
c1^\markup { \center-column { a \line { bbb c } } }
@seealso
-
Notation Reference:
@ref{Text markup commands}.
Defining custom font sets is also possible, as explained in
@ref{Fonts}.
-@predefined
+@predefined
@funindex \teeny
-@funindex \tiny
-@funindex \small
-@funindex \normalsize
-@funindex \large
-@funindex \huge
-@funindex \smaller
-@funindex \larger
@code{\teeny},
+@funindex \tiny
@code{\tiny},
+@funindex \small
@code{\small},
+@funindex \normalsize
@code{\normalsize},
+@funindex \large
@code{\large},
+@funindex \huge
@code{\huge},
+@funindex \smaller
@code{\smaller},
+@funindex \larger
@code{\larger}.
+@endpredefined
+
@seealso
Notation Reference:
example, there is no difference
between the first and the second markup.
-@lilypond[quote,verbatim,fragment,relative=1]
+@lilypond[quote,verbatim,relative=2]
d1-\markup { poco }
f
d-\markup { \left-align poco }
Horizontal alignment may be fine-tuned
using a numeric value:
-@lilypond[quote,verbatim,fragment,relative=1]
+@lilypond[quote,verbatim,relative=2]
a1-\markup { \halign #-1 poco }
e'
a,-\markup { \halign #0 poco }
two possibilities; the last markup in this example has no anchor
point, and therefore is not moved.
-@lilypond[quote,verbatim,fragment,relative=1]
+@lilypond[quote,verbatim,relative=1]
d2^\markup {
Acte I
\raise #2 { Scène 1 }
affected by these commands must be preceded with an
anchor point:
-@lilypond[quote,verbatim,fragment,relative=1]
+@lilypond[quote,verbatim,relative=1]
d2^\markup {
Acte I
\translate #'(-1 . 2) "Scène 1"
An exhaustive list of text alignment commands
can be found in @ref{Align}.
+
@seealso
Learning Manual:
@rlearning{Moving objects}.
may be useful to explicitely specify the size of the
drawing, as demonstrated below:
-@lilypond[quote,verbatim,fragment,relative=1]
+@lilypond[quote,verbatim,relative=1]
c1^\markup {
\combine
\epsfile #X #10 #"./context-example.eps"
An exhaustive list of graphics-specific commands
can be found in @ref{Graphic}.
+
@seealso
Notation Reference:
@ref{Graphic},
@file{scm/@/define@/-markup@/-commands@/.scm},
@file{scm/@/stencil@/.scm}.
+
@node Music notation inside markup
@unnumberedsubsubsec Music notation inside markup
Notes and accidentals can be entered using markup
commands:
-@lilypond[quote,verbatim,fragment,relative=2]
+@lilypond[quote,verbatim,relative=2]
a2 a^\markup {
\note #"4" #1
=
Other notation objects may also be printed
in markup mode:
-@lilypond[quote,verbatim,fragment,relative=1]
+@lilypond[quote,verbatim,relative=1]
g1 bes
ees-\markup {
\finger 4
below; an exhaustive list of these symbols and their
names can be found in @ref{The Feta font}.
-@lilypond[quote,verbatim,fragment,relative=2]
+@lilypond[quote,verbatim,relative=2]
c2
c'^\markup { \musicglyph #"eight" }
c,4
c16
c2^\markup { \musicglyph #"timesig.neomensural94" }
@end lilypond
+
@c TODO: add \lookup here? -vv
+@c Probably better not to document \lookup, which is useful only for
+@c printing braces, and instead document \left-brace and \right-brace
+@c when these become available -td
@noindent
Another way of printing non-text glyphs is described
The markup mode also supports diagrams for specific
instruments:
-@lilypond[quote,verbatim,fragment,relative=2]
+@lilypond[quote,verbatim,relative=2]
c1^\markup {
\fret-diagram-terse #"x;x;o;2;3;2;"
}
In such a case, the nested @code{\score} block must
contain a @code{\layout} block, as demonstrated here:
-@lilypond[quote,verbatim,fragment,relative=1]
+@lilypond[quote,verbatim,relative=1]
c4 d^\markup {
\score {
- \relative { c4 d e f }
+ \relative c' { c4 d e f }
\layout { }
}
}
An exhaustive list of music notation related commands can be
found in @ref{Music}.
+
@seealso
Notation Reference:
@ref{Music},
@file{scm/@/fret@/-diagrams@/.scm},
@file{scm/@/harp@/-pedals@/.scm}.
+
@node Multi-page markup
@unnumberedsubsubsec Multi-page markup
An exhaustive list of markup list commands can be found in
@ref{Text markup list commands}.
+
@seealso
Notation Reference:
@ref{Text markup list commands},
Installed files:
@file{scm/@/define@/-markup@/-commands@/.scm}.
+
@predefined
@funindex \markuplines
-@code{\markuplines}
+@code{\markuplines}.
+@endpredefined
@node Fonts
The following syntax allows various LilyPond @code{feta} non-text
fonts to be used directly in markup mode:
-@lilypond[quote,verbatim,fragment,relative=2]
+@lilypond[quote,verbatim,relative=2]
a1^\markup {
\vcenter {
\override #'(font-encoding . fetaBraces)
Each family may include different shapes and series.
The following example demonstrates the ability to select
-alternate families, shapes, series and sizes:
-
-@lilypond[quote,verbatim,fragment,relative=2]
- \override Score.RehearsalMark #'font-family = #'typewriter
- \mark \markup "Ouverture"
- \key d \major
- \override Voice.TextScript #'font-shape = #'italic
- \override Voice.TextScript #'font-series = #'bold
- d'2.^\markup "Allegro"
- r4
+alternate families, shapes, series and sizes. The value
+supplied to @code{font-size} is the required change from the
+default size.
+
+@lilypond[quote,verbatim,relative=2]
+\override Score.RehearsalMark #'font-family = #'typewriter
+\mark \markup "Ouverture"
+\override Voice.TextScript #'font-shape = #'italic
+\override Voice.TextScript #'font-series = #'bold
+d2.^\markup "Allegro"
+\override Voice.TextScript #'font-size = #-3
+c4^smaller
@end lilypond
@noindent
}
@end lilypond
-@ignore
-@c FIXME: This needs an example -vv
-
-The size of the font may be set with the @code{font-size}
-property. The resulting size is taken relative to the
-@code{text-font-size} as defined in the @code{\paper} block.
-@end ignore
-
Although it is easy to switch between preconfigured fonts,
it is also possible to use other fonts, as explained in the
following sections: @ref{Single entry fonts} and
@ref{Entire document fonts}.
+
@seealso
Notation Reference:
@ref{The Feta font},
@ref{Selecting font and font size},
@ref{Font}.
+
@node Single entry fonts
@unnumberedsubsubsec Single entry fonts
Any font that is installed on the operating system and recognized
by FontConfig may be used in a score, using the following syntax:
-@lilypond[quote,verbatim,fragment,relative=1]
+@lilypond[quote,verbatim,relative=2]
\override Staff.TimeSignature #'font-name = #"Charter"
\override Staff.TimeSignature #'font-size = #2
\time 3/4
-c1_\markup {
+a1_\markup {
\override #'(font-name . "Vera Bold")
{ Vera Bold }
}
The last argument of the command can be anything, but has to be
present.
+
@seealso
Notation Reference:
@ref{Fonts explained},
Installed files:
@file{lily/@/font@/-config@/-scheme@/.cc}.
+
@node Entire document fonts
@unnumberedsubsubsec Entire document fonts
-
It is possible to change the fonts to be used as the default fonts in
the @emph{roman}, @emph{sans} and @emph{typewriter} font families by
specifying them, in that order, as shown in the example below. For an
@c we don't do Helvetica / Courier, since GS incorrectly loads
@c Apple TTF fonts
+
@seealso
Notation Reference:
@ref{Fonts explained},
@seealso
-
Notation Reference: @ruser{Writing pitches},
@ruser{Writing rhythms}, @ruser{Writing rests},
@ruser{Time signature}, @ruser{Clef}.
same output (line-width and all), copy everything from @qq{Start
cut-&-pastable section} to the bottom of the file.
-@seealso
+@seealso
There are more tips for constructing input files in
@ref{Suggestions for writing LilyPond input files}. But it might be
best to read through the rest of the tutorial first.
-
@node Single staff notation
@section Single staff notation
accidentals can be printed according to different rules, see
@ruser{Automatic accidentals}.
-@seealso
+@seealso
Notation Reference: @ruser{Note names in other languages},
@ruser{Accidentals}, @ruser{Automatic accidentals},
@ruser{Key signature}.
c2~( c8 fis fis4 ~ fis2 g2)
@end lilypond
-@seealso
+@seealso
Notation Reference: @ruser{Ties}, @ruser{Slurs},
@ruser{Phrasing slurs}.
c2\< c2\ff\> c2 c2\!
@end lilypond
-@seealso
+@seealso
Notation Reference: @ruser{Articulations and ornamentations},
@ruser{Fingering instructions}, @ruser{Dynamics}.
@seealso
-
Notation Reference: @ruser{Writing text}.
a8 c b4 d8. c16 b4
@end lilypond
-@seealso
+@seealso
Notation Reference: @ruser{Automatic beams}, @ruser{Manual beams}.
c2 \acciaccatura b16 c2
@end lilypond
-@seealso
+@seealso
Notation Reference: @ruser{Grace notes}, @ruser{Tuplets},
@ruser{Upbeats}.
type of context, one that generates the brace at the left end of
every system and also controls the extent of bar lines.
-@seealso
+@seealso
Notation Reference: @ruser{Keyboard and other multi-staff
instruments},
@ruser{Displaying staves}.
>>
@end lilypond
-@seealso
+@seealso
Notation Reference: @ruser{Simultaneous notes}.
@seealso
-
Notation Reference: @ruser{Vocal music}.
lyrics with variables. These are discussed in @ref{Organizing
pieces with variables}.
-@seealso
+@seealso
Notation Reference: @ruser{Vocal music}.
-
@node Final touches
@section Final touches
@cindex tuplets, nested
@cindex triplets, nested
@cindex bracket, tuplet
+@cindex bracket, triplet
@cindex tuplet bracket
@cindex triplet bracket
}
@end lilypond
-@seealso
+@seealso
Notation Reference:
@ruser{The tweak command}.
@warning{In overrides in lyrics always place spaces around
the dot between the context name and the object name.}
-@seealso
+@seealso
Learning Manual: @ref{Scheme tutorial}.
@tab @code{'#(#t #t #f)}
@end multitable
-@seealso
+@seealso
Learning Manual: @ref{Scheme tutorial}.
@end itemize
+
@seealso
Learning Manual:
@rlearning{String quartet}.
Snippets:
@rlsr{Unfretted strings}.
+
@node Bowing indications
@unnumberedsubsubsec Bowing indications
a2^\markup { \small "sul A" }
@end lilypond
+
@predefined
@code{\downbow},
@code{\upbow},
@code{\open}.
+@endpredefined
-@seealso
+@seealso
Notation Reference:
@ref{Articulations and ornamentations},
@ref{Slurs}.
+
@node Harmonics
@unnumberedsubsubsec Harmonics
<e a\harmonic>2 <c g'\harmonic>
@end lilypond
+
@seealso
Music Glossary:
@rglos{harmonics}.
@ref{Special note heads},
@ref{References for unfretted strings}.
+
@node Snap (Bartok) pizzicato
@unnumberedsubsubsec Snap (Bartók) pizzicato
@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
{simple-lead-sheet.ly}
+
@seealso
Notation Reference:
@ref{Chord notation}.
+
@node Spoken music
@unnumberedsubsubsec Spoken music
@cindex parlato
@c Add "Printing both the ancient and the modern clef in vocal music" snippet,
@c and "Transcription of Ancient music with incipit" snippet. -vv
+
@seealso
Notation Reference:
@ref{Ancient notation}.
@seealso
-
Notation Reference:
@ref{Fonts}.
@rinternals{LyricText},
@rinternals{LyricSpace}.
+
@c FIXME: this title has to be changed (possible confusion with LM) -vv
@node Setting simple songs
@unnumberedsubsubsec Setting simple songs
@end ignore
-@seealso
+@seealso
@c TODO: document \new Staff << Voice \lyricsto >> bug
Internals Reference:
@rinternals{LyricCombineMusic},
} >>
@end lilypond
-@seealso
+@seealso
Internals Reference:
@rinternals{Lyrics}.
\addlyrics { pu- ro~y~ho- nes- to }
@end lilypond
-@seealso
+@seealso
Internals Reference:
@rinternals{LyricCombineMusic}.
@predefined
-
-@code{\melisma}, @code{\melismaEnd}
-@funindex \melismaEnd
@funindex \melisma
+@code{\melisma},
+@funindex \melismaEnd
+@code{\melismaEnd}.
+@endpredefined
-@seealso
+@seealso
@c @lsr{vocal,lyric@/-combine.ly}.
+
@knownissues
Melismata are not detected automatically, and extender lines must be
distance between two syllables) and the @code{minimum-length}
(threshold below which hyphens are removed).
-@seealso
+@seealso
Internals Reference:
@rinternals{LyricExtender},
@rinternals{LyricHyphen}
+
@node Lyrics and repeats
@unnumberedsubsubsec Lyrics and repeats
@seealso
-
Internals Reference:
@rinternals{LyricText},
@rinternals{StanzaNumber}.
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{changing--flageolet-mark-size.ly}
-@seealso
+@seealso
Notation Reference:
@ref{Breath marks},
@ref{Slurs},
piobaireachd high g can be written @code{gflat} when it occurs in light
music.
+
@seealso
@rlsr{Winds}
+
@node Bagpipe example
@unnumberedsubsubsec Bagpipe example
}
@end lilypond
+
@seealso
@rlsr{Winds}
@end itemize
-@seealso
+@seealso
Notation Reference:
@ref{Note names in other languages},
@ref{Key signature},
@seealso
-
Notation Reference:
@ref{Note names in other languages}.
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{non-traditional-key-signatures.ly}
-@seealso
+@seealso
Notation Reference:
@ref{Key signature}.
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{arabic-improvisation.ly}
-@seealso
+@seealso
Notation Reference:
@ref{Manual beams},
@ref{Automatic beams},
}
@end lilypond
-@seealso
+@seealso
Snippets:
@rlsr{World music}
-
@node Further reading
@unnumberedsubsubsec Further reading
automatically avoid beams, but this is not true by default for
fingerings and string numbers applied to the individual notes of
chords. The following example shows how this default behavior can be
-overriden:
+overridden:
"
doctitle = "Avoiding collisions of chord fingering with beams"
--- /dev/null
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.64"
+
+\header {
+ lsrtags = "chords"
+
+ texidoc = "
+The layout of the major 7 can be tuned with @code{majorSevenSymbol}.
+
+"
+ doctitle = "chord name major7"
+} % begin verbatim
+
+\chords {
+ c:7+
+ \set majorSevenSymbol = \markup { j7 }
+ c:7+
+}
changing-the-chord-names-to-german-or-semi-german-notation.ly
changing-the-positions-of-figured-bass-alterations.ly
chord-name-exceptions.ly
+chord-name-major7.ly
clusters.ly
controlling-the-placement-of-chord-fingerings.ly
displaying-complex-chords.ly
\markuplines \override-lines #'(word-space . 4)
\doc-chars #(delete ".notdef"
- (ly:otf-glyph-list (ly:font-load "emmentaler-20")))
+ (ly:otf-glyph-list (ly:system-font-load "emmentaler-20")))
<measure number="1">
<attributes>
- <divisions>1</divisions>
+ <divisions>2</divisions>
<key>
<fifths>0</fifths>
<mode>major</mode>
<step>C</step>
<octave>5</octave>
</pitch>
- <duration>1</duration>
+ <duration>8</duration>
<voice>1</voice>
- <type>quarter</type>
+ <type>whole</type>
</note>
</measure>
<measure number="2">
<step>C</step>
<octave>5</octave>
</pitch>
- <duration>1</duration>
+ <duration>8</duration>
<voice>1</voice>
- <type>quarter</type>
+ <type>whole</type>
</note>
</measure>
<measure number="3">
<step>C</step>
<octave>5</octave>
</pitch>
- <duration>1</duration>
+ <duration>8</duration>
<voice>1</voice>
- <type>quarter</type>
+ <type>whole</type>
</note>
</measure>
<measure number="4">
<step>C</step>
<octave>5</octave>
</pitch>
- <duration>1</duration>
+ <duration>12</duration>
<voice>1</voice>
- <type>quarter</type>
+ <type>whole</type>
+ <dot/>
</note>
</measure>
<measure number="5">
<step>C</step>
<octave>5</octave>
</pitch>
- <duration>1</duration>
+ <duration>4</duration>
<voice>1</voice>
- <type>quarter</type>
+ <type>half</type>
</note>
</measure>
<measure number="6">
<attributes>
- <time >
+ <time>
<beats>3</beats>
<beat-type>4</beat-type>
</time>
<step>C</step>
<octave>5</octave>
</pitch>
- <duration>1</duration>
+ <duration>6</duration>
<voice>1</voice>
- <type>quarter</type>
+ <type>half</type>
+ <dot/>
</note>
</measure>
<measure number="7">
<attributes>
- <time >
+ <time>
<beats>4</beats>
<beat-type>4</beat-type>
</time>
<step>C</step>
<octave>5</octave>
</pitch>
- <duration>1</duration>
+ <duration>8</duration>
<voice>1</voice>
- <type>quarter</type>
+ <type>whole</type>
</note>
</measure>
<measure number="8">
<attributes>
- <time >
+ <time>
<beats>5</beats>
<beat-type>4</beat-type>
</time>
<step>C</step>
<octave>5</octave>
</pitch>
- <duration>1</duration>
+ <duration>8</duration>
+ <tie type="start"/>
+ <voice>1</voice>
+ <type>whole</type>
+ <notations><tied type="start"/></notations>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>2</duration>
+ <tie type="stop"/>
<voice>1</voice>
<type>quarter</type>
+ <notations><tied type="stop"/></notations>
</note>
</measure>
<measure number="9">
<attributes>
- <time >
+ <time>
<beats>3</beats>
<beat-type>8</beat-type>
</time>
<step>C</step>
<octave>5</octave>
</pitch>
- <duration>1</duration>
+ <duration>3</duration>
<voice>1</voice>
<type>quarter</type>
+ <dot/>
</note>
</measure>
<measure number="10">
<step>C</step>
<octave>5</octave>
</pitch>
- <duration>1</duration>
+ <duration>6</duration>
<voice>1</voice>
- <type>quarter</type>
+ <type>half</type>
+ <dot/>
</note>
</measure>
<measure number="11">
<step>C</step>
<octave>5</octave>
</pitch>
- <duration>1</duration>
+ <duration>12</duration>
<voice>1</voice>
- <type>quarter</type>
+ <type>whole</type>
+ <dot/>
</note>
<barline location="right">
<bar-style>light-heavy</bar-style>
</measure>
</part>
</score-partwise>
-
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 1.0 Partwise//EN"
+ "http://www.musicxml.org/dtds/partwise.dtd">
+<score-partwise>
+ <identification>
+ <miscellaneous>
+ <miscellaneous-field name="description">Some microtones: c
+ flat-and-a-half, d half-flat, e half-sharp, f sharp-and-a half.
+ Once in the lower and once in the upper region of the
+ staff.</miscellaneous-field>
+ </miscellaneous>
+ </identification>
+ <part-list>
+ <score-part id="P1">
+ <part-name>MusicXML Part</part-name>
+ <score-instrument id="P1-I1">
+ <instrument-name>Acoustic Grand Piano</instrument-name>
+ </score-instrument>
+ <midi-instrument id="P1-I1">
+ <midi-channel>1</midi-channel>
+ <midi-program>1</midi-program>
+ </midi-instrument>
+ </score-part>
+ </part-list>
+ <!--=========================================================-->
+ <part id="P1">
+ <measure number="1">
+ <attributes>
+ <divisions>1</divisions>
+ <key>
+ <fifths>0</fifths>
+ <mode>major</mode>
+ </key>
+ <time symbol="common">
+ <beats>4</beats>
+ <beat-type>4</beat-type>
+ </time>
+ <clef>
+ <sign>G</sign>
+ <line>2</line>
+ </clef>
+ </attributes>
+ <note>
+ <pitch>
+ <step>C</step>
+ <alter>-1.5</alter>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ </note>
+ <note>
+ <pitch>
+ <step>D</step>
+ <alter>-0.5</alter>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ </note>
+ <note>
+ <pitch>
+ <step>E</step>
+ <alter>0.5</alter>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ </note>
+ <note>
+ <pitch>
+ <step>F</step>
+ <alter>1.5</alter>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ </note>
+ </measure>
+ <!--=======================================================-->
+ <measure number="2">
+ <note>
+ <pitch>
+ <step>C</step>
+ <alter>-1.5</alter>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ </note>
+ <note>
+ <pitch>
+ <step>D</step>
+ <alter>-0.5</alter>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ </note>
+ <note>
+ <pitch>
+ <step>E</step>
+ <alter>0.5</alter>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ </note>
+ <note>
+ <pitch>
+ <step>F</step>
+ <alter>1.5</alter>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ </note>
+ <barline location="right">
+ <bar-style>light-heavy</bar-style>
+ </barline>
+ </measure>
+ </part>
+ <!--=========================================================-->
+</score-partwise>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 1.0 Partwise//EN"
+ "http://www.musicxml.org/dtds/partwise.dtd">
+<score-partwise>
+ <identification>
+ <miscellaneous>
+ <miscellaneous-field name="description">Each note of a chord can have
+ some lyrics attached. In this case, each note of the chord has lyrics
+ of the form "Lyrics [123]" attached, where each lyrics has a different
+ number attribute to distinguish them. These syllables should be
+ imported into three different stanzas and the timing should be
+ correct.</miscellaneous-field>
+ </miscellaneous>
+ </identification>
+ <part-list>
+ <score-part id="P1">
+ <part-name>MusicXML Part</part-name>
+ </score-part>
+ </part-list>
+ <!--=========================================================-->
+ <part id="P1">
+ <measure number="1">
+ <attributes>
+ <divisions>1</divisions>
+ <key>
+ <fifths>0</fifths>
+ <mode>major</mode>
+ </key>
+ <time symbol="common">
+ <beats>4</beats>
+ <beat-type>4</beat-type>
+ </time>
+ <clef>
+ <sign>G</sign>
+ <line>2</line>
+ </clef>
+ </attributes>
+ <note>
+ <pitch>
+ <step>E</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <lyric number="1"><text>Lyrics 1</text></lyric>
+ </note>
+ <note>
+ <chord/>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <lyric number="2"><text>Lyrics 2</text></lyric>
+ </note>
+ <note>
+ <chord/>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <lyric number="3"><text>Lyrics 3</text></lyric>
+ </note>
+ </measure>
+ </part>
+</score-partwise>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 1.1 Partwise//EN"
+ "http://www.musicxml.org/dtds/partwise.dtd">
+<score-partwise version="1.1">
+ <identification>
+ <miscellaneous>
+ <miscellaneous-field name="description">Multiple lyrics syllables
+ assigned to a single note are implemented either using a space in
+ the lyrics or by using the <elision> lyrics element. This
+ testcase checks both of them. First, a note with on syllable is
+ given, then a note with two syllables separated by a spcae and finally
+ a note with two and one with three syllables implemented using
+ <elision> is given.</miscellaneous-field>
+ </miscellaneous>
+ </identification>
+ <part-list>
+ <score-part id="P1">
+ <part-name>MusicXML Part</part-name>
+ </score-part>
+ </part-list>
+ <!--=========================================================-->
+ <part id="P1">
+ <measure number="1">
+ <attributes>
+ <divisions>1</divisions>
+ <key>
+ <fifths>0</fifths>
+ <mode>major</mode>
+ </key>
+ <time symbol="common">
+ <beats>4</beats>
+ <beat-type>4</beat-type>
+ </time>
+ <clef>
+ <sign>G</sign>
+ <line>2</line>
+ </clef>
+ </attributes>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <stem>down</stem>
+ <lyric number="1">
+ <text>a</text>
+ </lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <stem>down</stem>
+ <lyric number="1">
+ <text>b c</text>
+ </lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <stem>down</stem>
+ <lyric number="1">
+ <text>d</text>
+ <elision/>
+ <text>e</text>
+ </lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <stem>down</stem>
+ <lyric number="1">
+ <text>f</text>
+ <elision/>
+ <text>g</text>
+ <elision/>
+ <text>h</text>
+ </lyric>
+ </note>
+ <barline location="right">
+ <bar-style>light-heavy</bar-style>
+ </barline>
+ </measure>
+ </part>
+ <!--=========================================================-->
+</score-partwise>
--- /dev/null
+@section Note settings, heads, etc.
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 1.0 Partwise//EN"
+ "http://www.musicxml.org/dtds/partwise.dtd">
+<score-partwise>
+ <identification>
+ <miscellaneous>
+ <miscellaneous-field name="description">Different note styles, using the
+ <notehead> element. First, each note head style is printed
+ with four quarter notes, two with filled heads, two with unfilled
+ heads, where first the stem is up and then the stem is down. After
+ that, each note head style is printed with a half note (should have
+ an unfilled head by default). Finally, the Aiken note head styles are
+ tested, once with stem up and once with stem down.</miscellaneous-field>
+ </miscellaneous>
+ </identification>
+ <part-list>
+ <score-part id="P1">
+ <part-name>MusicXML Part</part-name>
+ </score-part>
+ </part-list>
+ <!--=========================================================-->
+ <part id="P1">
+ <measure number="1">
+ <attributes>
+ <divisions>1</divisions>
+ <key>
+ <fifths>0</fifths>
+ <mode>major</mode>
+ </key>
+ <time symbol="common">
+ <beats>4</beats>
+ <beat-type>4</beat-type>
+ </time>
+ <clef>
+ <sign>G</sign>
+ <line>2</line>
+ </clef>
+ </attributes>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>slash</notehead>
+ <lyric number="1"><text>slash</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>slash</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">slash</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">slash</notehead>
+ </note>
+ </measure>
+ <!--=======================================================-->
+ <measure number="2">
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>triangle</notehead>
+ <lyric number="1"><text>triangle</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>triangle</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">triangle</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">triangle</notehead>
+ </note>
+ </measure>
+ <!--=======================================================-->
+ <measure number="3">
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>diamond</notehead>
+ <lyric number="1"><text>diamond</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>diamond</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">diamond</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">diamond</notehead>
+ </note>
+ </measure>
+ <!--=======================================================-->
+ <measure number="4">
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>square</notehead>
+ <lyric number="1"><text>square</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>square</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">square</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">square</notehead>
+ </note>
+ </measure>
+ <!--=======================================================-->
+ <measure number="5">
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>cross</notehead>
+ <lyric number="1"><text>cross</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>cross</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">cross</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">cross</notehead>
+ </note>
+ </measure>
+ <!--=======================================================-->
+ <measure number="6">
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>x</notehead>
+ <lyric number="1"><text>x</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>x</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">x</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">x</notehead>
+ </note>
+ </measure>
+ <!--=======================================================-->
+ <measure number="7">
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>circle-x</notehead>
+ <lyric number="1"><text>circle-x</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>circle-x</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">circle-x</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">circle-x</notehead>
+ </note>
+ </measure>
+ <!--=======================================================-->
+ <measure number="8">
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>inverted triangle</notehead>
+ <lyric number="1"><text>inverted triangle</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>inverted triangle</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">inverted triangle</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">inverted triangle</notehead>
+ </note>
+ </measure>
+ <!--=======================================================-->
+ <measure number="9">
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>arrow down</notehead>
+ <lyric number="1"><text>arrow down</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>arrow down</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">arrow down</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">arrow down</notehead>
+ </note>
+ </measure>
+ <!--=======================================================-->
+ <measure number="10">
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>arrow up</notehead>
+ <lyric number="1"><text>arrow up</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>arrow up</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">arrow up</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">arrow up</notehead>
+ </note>
+ </measure>
+ <!--=======================================================-->
+ <measure number="11">
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>slashed</notehead>
+ <lyric number="1"><text>slashed</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>slashed</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">slashed</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">slashed</notehead>
+ </note>
+ </measure>
+ <!--=======================================================-->
+ <measure number="12">
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>back slashed</notehead>
+ <lyric number="1"><text>back slashed</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>back slashed</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">back slashed</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">back slashed</notehead>
+ </note>
+ </measure>
+ <!--=======================================================-->
+ <measure number="13">
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>normal</notehead>
+ <lyric number="1"><text>normal</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>normal</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">normal</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">normal</notehead>
+ </note>
+ </measure>
+ <!--=======================================================-->
+ <measure number="14">
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>cluster</notehead>
+ <lyric number="1"><text>cluster</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>cluster</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">cluster</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">cluster</notehead>
+ </note>
+ </measure>
+ <!--=======================================================-->
+ <measure number="15">
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>none</notehead>
+ <lyric number="1"><text>none</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>none</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">none</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">none</notehead>
+ </note>
+ </measure>
+ <!--=======================================================-->
+ <measure number="16">
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>2</duration>
+ <voice>1</voice>
+ <type>half</type>
+ <notehead>slash</notehead>
+ <lyric number="1"><text>slash</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>2</duration>
+ <voice>1</voice>
+ <type>half</type>
+ <notehead>triangle</notehead>
+ <lyric number="1"><text>triangle</text></lyric>
+ </note>
+ </measure>
+ <!--=======================================================-->
+ <measure number="17">
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>2</duration>
+ <voice>1</voice>
+ <type>half</type>
+ <notehead>diamond</notehead>
+ <lyric number="1"><text>diamond</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>2</duration>
+ <voice>1</voice>
+ <type>half</type>
+ <notehead>square</notehead>
+ <lyric number="1"><text>square</text></lyric>
+ </note>
+ </measure>
+ <!--=======================================================-->
+ <measure number="18">
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>2</duration>
+ <voice>1</voice>
+ <type>half</type>
+ <notehead>cross</notehead>
+ <lyric number="1"><text>cross</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>2</duration>
+ <voice>1</voice>
+ <type>half</type>
+ <notehead>x</notehead>
+ <lyric number="1"><text>x</text></lyric>
+ </note>
+ </measure>
+ <!--=======================================================-->
+ <measure number="19">
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>2</duration>
+ <voice>1</voice>
+ <type>half</type>
+ <notehead>circle-x</notehead>
+ <lyric number="1"><text>circle-x</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>2</duration>
+ <voice>1</voice>
+ <type>half</type>
+ <notehead>inverted triangle</notehead>
+ <lyric number="1"><text>inverted triangle</text></lyric>
+ </note>
+ </measure>
+ <!--=======================================================-->
+ <measure number="20">
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>2</duration>
+ <voice>1</voice>
+ <type>half</type>
+ <notehead>arrow down</notehead>
+ <lyric number="1"><text>arrow down</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>2</duration>
+ <voice>1</voice>
+ <type>half</type>
+ <notehead>arrow up</notehead>
+ <lyric number="1"><text>arrow up</text></lyric>
+ </note>
+ </measure>
+ <!--=======================================================-->
+ <measure number="21">
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>2</duration>
+ <voice>1</voice>
+ <type>half</type>
+ <notehead>slashed</notehead>
+ <lyric number="1"><text>slashed</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>2</duration>
+ <voice>1</voice>
+ <type>half</type>
+ <notehead>back slashed</notehead>
+ <lyric number="1"><text>back slashed</text></lyric>
+ </note>
+ </measure>
+ <!--=======================================================-->
+ <measure number="22">
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>2</duration>
+ <voice>1</voice>
+ <type>half</type>
+ <notehead>normal</notehead>
+ <lyric number="1"><text>normal</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>2</duration>
+ <voice>1</voice>
+ <type>half</type>
+ <notehead>cluster</notehead>
+ <lyric number="1"><text>cluster</text></lyric>
+ </note>
+ </measure>
+ <!--=======================================================-->
+ <measure number="23">
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>do</notehead>
+ <lyric number="1"><text>do</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>do</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">do</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">do</notehead>
+ </note>
+ </measure>
+ <!--=======================================================-->
+ <measure number="24">
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>re</notehead>
+ <lyric number="1"><text>re</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>re</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">re</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">re</notehead>
+ </note>
+ </measure>
+ <!--=======================================================-->
+ <measure number="25">
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>mi</notehead>
+ <lyric number="1"><text>mi</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>mi</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">mi</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">mi</notehead>
+ </note>
+ </measure>
+ <!--=======================================================-->
+ <measure number="26">
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>fa</notehead>
+ <lyric number="1"><text>fa</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>fa</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">fa</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">fa</notehead>
+ </note>
+ </measure>
+ <!--=======================================================-->
+ <measure number="27">
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>so</notehead>
+ <lyric number="1"><text>so</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>so</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">so</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">so</notehead>
+ </note>
+ </measure>
+ <!--=======================================================-->
+ <measure number="28">
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>la</notehead>
+ <lyric number="1"><text>la</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>la</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">la</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">la</notehead>
+ </note>
+ </measure>
+ <!--=======================================================-->
+ <measure number="29">
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>ti</notehead>
+ <lyric number="1"><text>ti</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>ti</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">ti</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead filled="no">ti</notehead>
+ </note>
+ </measure>
+ <!--=======================================================-->
+ <measure number="30">
+ <attributes>
+ <key>
+ <fifths>3</fifths>
+ <mode>major</mode>
+ </key>
+ </attributes>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>3</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>do</notehead>
+ <lyric number="1"><text>do</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>B</step>
+ <octave>3</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>re</notehead>
+ <lyric number="1"><text>re</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <alter>1</alter>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>mi</notehead>
+ <lyric number="1"><text>mi</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>D</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>fa</notehead>
+ <lyric number="1"><text>fa</text></lyric>
+ </note>
+ </measure>
+ <!--=======================================================-->
+ <measure number="31">
+ <note>
+ <pitch>
+ <step>E</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>so</notehead>
+ <lyric number="1"><text>so</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>F</step>
+ <alter>1</alter>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>la</notehead>
+ <lyric number="1"><text>la</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>G</step>
+ <alter>1</alter>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>ti</notehead>
+ <lyric number="1"><text>ti</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>do</notehead>
+ <lyric number="1"><text>do</text></lyric>
+ </note>
+ </measure>
+ <!--=======================================================-->
+ <measure number="32">
+ <attributes>
+ <key>
+ <fifths>0</fifths>
+ <mode>major</mode>
+ </key>
+ </attributes>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>do</notehead>
+ <lyric number="1"><text>do</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>D</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>re</notehead>
+ <lyric number="1"><text>re</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>E</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>mi</notehead>
+ <lyric number="1"><text>mi</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>F</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>fa</notehead>
+ <lyric number="1"><text>fa</text></lyric>
+ </note>
+ </measure>
+ <!--=======================================================-->
+ <measure number="33">
+ <note>
+ <pitch>
+ <step>G</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>so</notehead>
+ <lyric number="1"><text>so</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>la</notehead>
+ <lyric number="1"><text>la</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>B</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>ti</notehead>
+ <lyric number="1"><text>ti</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>6</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>do</notehead>
+ <lyric number="1"><text>do</text></lyric>
+ </note>
+ <barline location="right">
+ <bar-style>light-heavy</bar-style>
+ </barline>
+ </measure>
+ </part>
+</score-partwise>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 1.1 Partwise//EN"
+ "http://www.musicxml.org/dtds/partwise.dtd">
+<score-partwise version="1.1">
+ <identification>
+ <miscellaneous>
+ <miscellaneous-field name="description">Staff-connected note styles:
+ slash notation, hidden notes (with and without hidden staff
+ lines)</miscellaneous-field>
+ </miscellaneous>
+ </identification>
+ <part-list>
+ <score-part id="P1">
+ <part-name>MusicXML Part</part-name>
+ </score-part>
+ </part-list>
+ <!--=========================================================-->
+ <part id="P1">
+ <measure number="1">
+ <print>
+ <system-layout>
+ <system-margins>
+ <left-margin>70</left-margin>
+ <right-margin>0</right-margin>
+ </system-margins>
+ <top-system-distance>211</top-system-distance>
+ </system-layout>
+ </print>
+ <attributes>
+ <divisions>1</divisions>
+ <key>
+ <fifths>0</fifths>
+ <mode>major</mode>
+ </key>
+ <time symbol="common">
+ <beats>4</beats>
+ <beat-type>4</beat-type>
+ </time>
+ <clef>
+ <sign>G</sign>
+ <line>2</line>
+ </clef>
+ </attributes>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <stem>down</stem>
+ </note>
+ <attributes>
+ <measure-style>
+ <slash type="start" use-stems="no"/>
+ </measure-style>
+ </attributes>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <stem>up</stem>
+ <lyric number="1"><text>slash, no stem</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <stem>down</stem>
+ </note>
+ <attributes>
+ <measure-style>
+ <slash type="stop"/>
+ </measure-style>
+ <measure-style>
+ <slash type="start" use-stems="yes"/>
+ </measure-style>
+ </attributes>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <stem>down</stem>
+ <lyric number="1"><text>slash, with stem</text></lyric>
+ </note>
+ </measure>
+ <!--=======================================================-->
+ <measure number="2">
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <stem>down</stem>
+ </note>
+ <attributes>
+ <measure-style>
+ <slash type="stop"/>
+ </measure-style>
+ </attributes>
+ <note print-object="no">
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <stem>up</stem>
+ <lyric number="1"><text>hidden notes</text></lyric>
+ </note>
+ <note print-object="no">
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <stem>down</stem>
+ </note>
+ <attributes>
+ <staff-details>
+ <staff-lines>0</staff-lines>
+ </staff-details>
+ </attributes>
+ <note print-object="no">
+ <pitch>
+ <step>C</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <stem>up</stem>
+ <lyric number="1"><text>hidden notes, staff lines</text></lyric>
+ </note>
+ </measure>
+ <measure number="3">
+ <note print-object="no">
+ <pitch>
+ <step>D</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>2</duration>
+ <voice>1</voice>
+ <type>half</type>
+ <stem>up</stem>
+ </note>
+ <attributes>
+ <staff-details>
+ <staff-lines>5</staff-lines>
+ </staff-details>
+ </attributes>
+ <note>
+ <pitch>
+ <step>G</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>2</duration>
+ <voice>1</voice>
+ <type>half</type>
+ <stem>up</stem>
+ <lyric number="1"><text>normal settings restored</text></lyric>
+ </note>
+ <barline location="right">
+ <bar-style>light-heavy</bar-style>
+ </barline>
+ </measure>
+ </part>
+ <!--=========================================================-->
+</score-partwise>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 1.0 Partwise//EN"
+ "http://www.musicxml.org/dtds/partwise.dtd">
+<score-partwise>
+ <identification>
+ <miscellaneous>
+ <miscellaneous-field name="description">Different note styles for
+ individual notes inside a chord, using the
+ <notehead> element.</miscellaneous-field>
+ </miscellaneous>
+ </identification>
+ <part-list>
+ <score-part id="P1">
+ <part-name>MusicXML Part</part-name>
+ </score-part>
+ </part-list>
+ <!--=========================================================-->
+ <part id="P1">
+ <measure number="1">
+ <attributes>
+ <divisions>1</divisions>
+ <key>
+ <fifths>0</fifths>
+ <mode>major</mode>
+ </key>
+ <time symbol="common">
+ <beats>4</beats>
+ <beat-type>4</beat-type>
+ </time>
+ <clef>
+ <sign>G</sign>
+ <line>2</line>
+ </clef>
+ </attributes>
+ <note>
+ <pitch>
+ <step>E</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <lyric number="1"><text>normal</text></lyric>
+ </note>
+ <note>
+ <chord/>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>triangle</notehead>
+ <lyric number="2"><text>triangle</text></lyric>
+ </note>
+ <note>
+ <chord/>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>slash</notehead>
+ <lyric number="3"><text>slash</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>E</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>cross</notehead>
+ <lyric number="1"><text>cross</text></lyric>
+ </note>
+ <note>
+ <chord/>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>square</notehead>
+ <lyric number="2"><text>square</text></lyric>
+ </note>
+ <note>
+ <chord/>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>diamond</notehead>
+ <lyric number="3"><text>diamond</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>E</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>inverted triangle</notehead>
+ <lyric number="1"><text>inverted triangle</text></lyric>
+ </note>
+ <note>
+ <chord/>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>circle-x</notehead>
+ <lyric number="2"><text>circle-x</text></lyric>
+ </note>
+ <note>
+ <chord/>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>x</notehead>
+ <lyric number="3"><text>x</text></lyric>
+ </note>
+ <note>
+ <pitch>
+ <step>E</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>slashed</notehead>
+ <lyric number="1"><text>slashed</text></lyric>
+ </note>
+ <note>
+ <chord/>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>arrow up</notehead>
+ <lyric number="2"><text>arrow up</text></lyric>
+ </note>
+ <note>
+ <chord/>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead>arrow down</notehead>
+ <lyric number="3"><text>arrow down</text></lyric>
+ </note>
+ <barline location="right">
+ <bar-style>light-heavy</bar-style>
+ </barline>
+ </measure>
+ </part>
+</score-partwise>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 1.0 Partwise//EN"
+ "http://www.musicxml.org/dtds/partwise.dtd">
+<score-partwise>
+ <identification>
+ <miscellaneous>
+ <miscellaneous-field name="description">Parenthesized note heads. First,
+ a single parenthesized note is tested, once with a normal and then
+ with a non-standard notehead, then two chords with some/all
+ parenthesized noteheads and finally a parenthesized rest.</miscellaneous-field>
+ </miscellaneous>
+ </identification>
+ <part-list>
+ <score-part id="P1">
+ <part-name>MusicXML Part</part-name>
+ </score-part>
+ </part-list>
+ <!--=========================================================-->
+ <part id="P1">
+ <measure number="1">
+ <attributes>
+ <divisions>1</divisions>
+ <key>
+ <fifths>0</fifths>
+ <mode>major</mode>
+ </key>
+ <time symbol="common">
+ <beats>6</beats>
+ <beat-type>4</beat-type>
+ </time>
+ <clef>
+ <sign>G</sign>
+ <line>2</line>
+ </clef>
+ </attributes>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead parentheses="yes"/>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead parentheses="yes">x</notehead>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ </note>
+ <note>
+ <chord/>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead parentheses="yes"/>
+ </note>
+ <note>
+ <chord/>
+ <pitch>
+ <step>E</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead parentheses="yes"/>
+ </note>
+ <note>
+ <chord/>
+ <pitch>
+ <step>C</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead parentheses="yes"/>
+ </note>
+ <note>
+ <chord/>
+ <pitch>
+ <step>E</step>
+ <octave>5</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead parentheses="yes"/>
+ </note>
+ <note>
+ <rest/>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead parentheses="yes"/>
+ </note>
+ <note>
+ <rest>
+ <display-step>E</display-step>
+ <display-octave>4</display-octave>
+ </rest>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <notehead parentheses="yes"/>
+ </note>
+ <barline location="right">
+ <bar-style>light-heavy</bar-style>
+ </barline>
+ </measure>
+ </part>
+</score-partwise>
--- /dev/null
+@section Time signatures
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 1.1 Partwise//EN"
+ "http://www.musicxml.org/dtds/partwise.dtd">
+<score-partwise version="1.1">
+ <identification>
+ <miscellaneous>
+ <miscellaneous-field name="description">Compound time signatures with
+ same denominator: (3+2)/8 and (5+3+1)/4.</miscellaneous-field>
+ </miscellaneous>
+ </identification>
+ <part-list>
+ <score-part id="P1">
+ <part-name>MusicXML Part</part-name>
+ </score-part>
+ </part-list>
+ <!--=========================================================-->
+ <part id="P1">
+ <measure number="1">
+ <attributes>
+ <divisions>2</divisions>
+ <key>
+ <fifths>0</fifths>
+ <mode>major</mode>
+ </key>
+ <time>
+ <beats>3+2</beats>
+ <beat-type>8</beat-type>
+ </time>
+ <clef>
+ <sign>G</sign>
+ <line>2</line>
+ </clef>
+ </attributes>
+ <note>
+ <pitch>
+ <step>B</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>eighth</type>
+ <beam number="1">begin</beam>
+ </note>
+ <note>
+ <pitch>
+ <step>B</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>eighth</type>
+ <beam number="1">continue</beam>
+ </note>
+ <note>
+ <pitch>
+ <step>B</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>eighth</type>
+ <beam number="1">end</beam>
+ </note>
+ <note>
+ <pitch>
+ <step>B</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>eighth</type>
+ <beam number="1">begin</beam>
+ </note>
+ <note>
+ <pitch>
+ <step>B</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>eighth</type>
+ <beam number="1">end</beam>
+ </note>
+ </measure>
+ <!--=======================================================-->
+ <measure number="2">
+ <attributes>
+ <time>
+ <beats>5+3+1</beats>
+ <beat-type>4</beat-type>
+ </time>
+ </attributes>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>8</duration>
+ <tie/>
+ <voice>1</voice>
+ <type>whole</type>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>2</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>6</duration>
+ <voice>1</voice>
+ <type>half</type>
+ <dot/>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>2</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ </note>
+ <barline location="right">
+ <bar-style>light-heavy</bar-style>
+ </barline>
+ </measure>
+ </part>
+ <!--=========================================================-->
+</score-partwise>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 1.1 Partwise//EN"
+ "http://www.musicxml.org/dtds/partwise.dtd">
+<score-partwise version="1.1">
+ <identification>
+ <miscellaneous>
+ <miscellaneous-field name="description">Compound time signatures with
+ separate fractions displayed: 3/8+2/8+3/4 and 5/2+1/8.</miscellaneous-field>
+ </miscellaneous>
+ </identification>
+ <part-list>
+ <score-part id="P1">
+ <part-name>MusicXML Part</part-name>
+ </score-part>
+ </part-list>
+ <!--=========================================================-->
+ <part id="P1">
+ <measure number="1">
+ <attributes>
+ <divisions>2</divisions>
+ <key>
+ <fifths>0</fifths>
+ <mode>major</mode>
+ </key>
+ <time>
+ <beats>3</beats>
+ <beat-type>8</beat-type>
+ <beats>2</beats>
+ <beat-type>8</beat-type>
+ <beats>3</beats>
+ <beat-type>4</beat-type>
+ </time>
+ <clef>
+ <sign>G</sign>
+ <line>2</line>
+ </clef>
+ </attributes>
+ <note>
+ <pitch>
+ <step>B</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>eighth</type>
+ <beam number="1">begin</beam>
+ </note>
+ <note>
+ <pitch>
+ <step>B</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>eighth</type>
+ <beam number="1">continue</beam>
+ </note>
+ <note>
+ <pitch>
+ <step>B</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>eighth</type>
+ <beam number="1">end</beam>
+ </note>
+ <note>
+ <pitch>
+ <step>B</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>eighth</type>
+ <beam number="1">begin</beam>
+ </note>
+ <note>
+ <pitch>
+ <step>B</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>eighth</type>
+ <beam number="1">end</beam>
+ </note>
+ <note>
+ <pitch>
+ <step>B</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>2</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ </note>
+ <note>
+ <pitch>
+ <step>B</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>2</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ </note>
+ <note>
+ <pitch>
+ <step>B</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>2</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ </note>
+ </measure>
+ <!--=======================================================-->
+ <measure number="2">
+ <attributes>
+ <time>
+ <beats>5</beats>
+ <beat-type>2</beat-type>
+ <beats>1</beats>
+ <beat-type>8</beat-type>
+ </time>
+ </attributes>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>16</duration>
+ <voice>1</voice>
+ <type>breve</type>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>4</duration>
+ <voice>1</voice>
+ <type>half</type>
+ </note>
+ <note>
+ <pitch>
+ <step>A</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>eighth</type>
+ </note>
+ <barline location="right">
+ <bar-style>light-heavy</bar-style>
+ </barline>
+ </measure>
+ </part>
+ <!--=========================================================-->
+</score-partwise>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 1.1 Partwise//EN"
+ "http://www.musicxml.org/dtds/partwise.dtd">
+<score-partwise version="1.1">
+ <identification>
+ <miscellaneous>
+ <miscellaneous-field name="description">Compound time signatures of
+ mixed type: (3+2)/8+3/4.</miscellaneous-field>
+ </miscellaneous>
+ </identification>
+ <part-list>
+ <score-part id="P1">
+ <part-name>MusicXML Part</part-name>
+ </score-part>
+ </part-list>
+ <!--=========================================================-->
+ <part id="P1">
+ <measure number="1">
+ <attributes>
+ <divisions>2</divisions>
+ <key>
+ <fifths>0</fifths>
+ <mode>major</mode>
+ </key>
+ <time>
+ <beats>3+2</beats>
+ <beat-type>8</beat-type>
+ <beats>3</beats>
+ <beat-type>4</beat-type>
+ </time>
+ <clef>
+ <sign>G</sign>
+ <line>2</line>
+ </clef>
+ </attributes>
+ <note>
+ <pitch>
+ <step>B</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>eighth</type>
+ <beam number="1">begin</beam>
+ </note>
+ <note>
+ <pitch>
+ <step>B</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>eighth</type>
+ <beam number="1">continue</beam>
+ </note>
+ <note>
+ <pitch>
+ <step>B</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>eighth</type>
+ <beam number="1">end</beam>
+ </note>
+ <note>
+ <pitch>
+ <step>B</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>eighth</type>
+ <beam number="1">begin</beam>
+ </note>
+ <note>
+ <pitch>
+ <step>B</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>eighth</type>
+ <beam number="1">end</beam>
+ </note>
+ <note>
+ <pitch>
+ <step>B</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>2</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ </note>
+ <note>
+ <pitch>
+ <step>B</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>2</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ </note>
+ <note>
+ <pitch>
+ <step>B</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>2</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ </note>
+ <barline location="right">
+ <bar-style>light-heavy</bar-style>
+ </barline>
+ </measure>
+ </part>
+ <!--=========================================================-->
+</score-partwise>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 1.1 Partwise//EN"
+ "http://www.musicxml.org/dtds/partwise.dtd">
+<score-partwise version="1.1">
+ <identification>
+ <miscellaneous>
+ <miscellaneous-field name="description">Time signature displayed as a
+ single number.</miscellaneous-field>
+ </miscellaneous>
+ </identification>
+ <part-list>
+ <score-part id="P1">
+ <part-name>MusicXML Part</part-name>
+ </score-part>
+ </part-list>
+ <!--=========================================================-->
+ <part id="P1">
+ <measure number="1">
+ <attributes>
+ <divisions>2</divisions>
+ <key>
+ <fifths>0</fifths>
+ <mode>major</mode>
+ </key>
+ <time symbol="single-number">
+ <beats>3</beats>
+ <beat-type>8</beat-type>
+ </time>
+ <clef>
+ <sign>G</sign>
+ <line>2</line>
+ </clef>
+ </attributes>
+ <note>
+ <pitch>
+ <step>B</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>eighth</type>
+ <beam number="1">begin</beam>
+ </note>
+ <note>
+ <pitch>
+ <step>B</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>eighth</type>
+ <beam number="1">continue</beam>
+ </note>
+ <note>
+ <pitch>
+ <step>B</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>eighth</type>
+ <beam number="1">end</beam>
+ </note>
+ <barline location="right">
+ <bar-style>light-heavy</bar-style>
+ </barline>
+ </measure>
+ </part>
+ <!--=========================================================-->
+</score-partwise>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 1.1 Partwise//EN"
+ "http://www.musicxml.org/dtds/partwise.dtd">
+<score-partwise version="1.1">
+ <identification>
+ <miscellaneous>
+ <miscellaneous-field name="description">Senza-misura time signature</miscellaneous-field>
+ </miscellaneous>
+ </identification>
+ <part-list>
+ <score-part id="P1">
+ <part-name>MusicXML Part</part-name>
+ </score-part>
+ </part-list>
+ <!--=========================================================-->
+ <part id="P1">
+ <measure number="1">
+ <attributes>
+ <divisions>2</divisions>
+ <key>
+ <fifths>0</fifths>
+ <mode>major</mode>
+ </key>
+ <time>
+ <senza-misura/>
+ </time>
+ <clef>
+ <sign>G</sign>
+ <line>2</line>
+ </clef>
+ </attributes>
+ <note>
+ <pitch>
+ <step>B</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>eighth</type>
+ <beam number="1">begin</beam>
+ </note>
+ <note>
+ <pitch>
+ <step>B</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>eighth</type>
+ <beam number="1">continue</beam>
+ </note>
+ <note>
+ <pitch>
+ <step>B</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>eighth</type>
+ <beam number="1">end</beam>
+ </note>
+ <barline location="right">
+ <bar-style>light-heavy</bar-style>
+ </barline>
+ </measure>
+ </part>
+ <!--=========================================================-->
+</score-partwise>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 1.1 Partwise//EN"
+ "http://www.musicxml.org/dtds/partwise.dtd">
+<score-partwise version="1.1">
+ <identification>
+ <miscellaneous>
+ <miscellaneous-field name="description">A time signature of 3/8 with the
+ symbol="cut" attribute and two symbol="single-number" attributes with
+ compound time signatures. Shall the symbol be ignored in this
+ case?</miscellaneous-field>
+ </miscellaneous>
+ </identification>
+ <part-list>
+ <score-part id="P1">
+ <part-name>MusicXML Part</part-name>
+ </score-part>
+ </part-list>
+ <!--=========================================================-->
+ <part id="P1">
+ <measure number="1">
+ <attributes>
+ <divisions>2</divisions>
+ <key>
+ <fifths>0</fifths>
+ <mode>major</mode>
+ </key>
+ <time symbol="cut">
+ <beats>3</beats>
+ <beat-type>8</beat-type>
+ </time>
+ <clef>
+ <sign>G</sign>
+ <line>2</line>
+ </clef>
+ </attributes>
+ <note>
+ <pitch>
+ <step>B</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>3</duration>
+ <voice>1</voice>
+ <type>quarter</type>
+ <dot/>
+ </note>
+ </measure>
+ <!--=========================================================-->
+ <measure number="2">
+ <attributes>
+ <time symbol="single-number">
+ <beats>3+2</beats>
+ <beat-type>8</beat-type>
+ </time>
+ </attributes>
+ <note>
+ <pitch>
+ <step>B</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>eighth</type>
+ </note>
+ <note>
+ <pitch>
+ <step>B</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>4</duration>
+ <voice>1</voice>
+ <type>half</type>
+ </note>
+ </measure>
+ <!--=========================================================-->
+ <measure number="3">
+ <attributes>
+ <time symbol="single-number">
+ <beats>1</beats>
+ <beat-type>8</beat-type>
+ <beats>2</beats>
+ <beat-type>4</beat-type>
+ </time>
+ </attributes>
+ <note>
+ <pitch>
+ <step>B</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>1</duration>
+ <voice>1</voice>
+ <type>eighth</type>
+ </note>
+ <note>
+ <pitch>
+ <step>B</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>4</duration>
+ <voice>1</voice>
+ <type>half</type>
+ </note>
+ <barline location="right">
+ <bar-style>light-heavy</bar-style>
+ </barline>
+ </measure>
+ </part>
+ <!--=========================================================-->
+</score-partwise>
--- /dev/null
+@section Key signatures
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 1.0 Partwise//EN"
+ "http://www.musicxml.org/dtds/partwise.dtd">
+<score-partwise>
+ <identification>
+ <miscellaneous>
+ <miscellaneous-field name="description">Non-traditional key signatures,
+ where each alteration is separately given. Here we have (f sharp,
+ a flat, b flat) and (c flatflat, g sharp sharp, d flat, b sharp, f
+ natural), where in the second case an explicit octave is given for
+ each alteration.</miscellaneous-field>
+ </miscellaneous>
+ </identification>
+ <part-list>
+ <score-part id="P1">
+ <part-name>MusicXML Part</part-name>
+ </score-part>
+ </part-list>
+ <!--=========================================================-->
+ <part id="P1">
+ <measure number="1">
+ <attributes>
+ <divisions>1</divisions>
+ <key>
+ <key-step>3</key-step>
+ <key-alter>1</key-alter>
+ <key-step>5</key-step>
+ <key-alter>-1</key-alter>
+ <key-step>6</key-step>
+ <key-alter>-1</key-alter>
+ </key>
+ <time>
+ <beats>2</beats>
+ <beat-type>4</beat-type>
+ </time>
+ <clef>
+ <sign>G</sign>
+ <line>2</line>
+ </clef>
+ </attributes>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>2</duration>
+ <voice>1</voice>
+ <type>half</type>
+ </note>
+ </measure>
+ <measure number="2">
+ <attributes>
+ <key>
+ <key-step>0</key-step>
+ <key-alter>-2</key-alter>
+ <key-step>4</key-step>
+ <key-alter>2</key-alter>
+ <key-step>1</key-step>
+ <key-alter>-1</key-alter>
+ <key-step>6</key-step>
+ <key-alter>1</key-alter>
+ <key-step>5</key-step>
+ <key-alter>0</key-alter>
+ <key-octave number="1">2</key-octave>
+ <key-octave number="2">3</key-octave>
+ <key-octave number="3">4</key-octave>
+ <key-octave number="4">5</key-octave>
+ <key-octave number="5">6</key-octave>
+ </key>
+ </attributes>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>2</duration>
+ <voice>1</voice>
+ <type>half</type>
+ </note>
+ <barline location="right">
+ <bar-style>light-heavy</bar-style>
+ </barline>
+ </measure>
+ </part>
+</score-partwise>
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 1.0 Partwise//EN"
+ "http://www.musicxml.org/dtds/partwise.dtd">
+<score-partwise>
+ <identification>
+ <miscellaneous>
+ <miscellaneous-field name="description">Non-traditional key signatures
+ with microtone alterations: (g flat-and-a-half,
+ a flat, b half-flat, c natural, d half-sharp, e sharp, f
+ sharp-and-a-half).</miscellaneous-field>
+ </miscellaneous>
+ </identification>
+ <part-list>
+ <score-part id="P1">
+ <part-name>MusicXML Part</part-name>
+ </score-part>
+ </part-list>
+ <!--=========================================================-->
+ <part id="P1">
+ <measure number="1">
+ <attributes>
+ <divisions>1</divisions>
+ <key>
+ <key-step>4</key-step>
+ <key-alter>-1.5</key-alter>
+ <key-step>5</key-step>
+ <key-alter>-1</key-alter>
+ <key-step>6</key-step>
+ <key-alter>-0.5</key-alter>
+ <key-step>0</key-step>
+ <key-alter>0</key-alter>
+ <key-step>1</key-step>
+ <key-alter>0.5</key-alter>
+ <key-step>2</key-step>
+ <key-alter>1</key-alter>
+ <key-step>3</key-step>
+ <key-alter>1.5</key-alter>
+ </key>
+ <time>
+ <beats>2</beats>
+ <beat-type>4</beat-type>
+ </time>
+ <clef>
+ <sign>G</sign>
+ <line>2</line>
+ </clef>
+ </attributes>
+ <note>
+ <pitch>
+ <step>C</step>
+ <octave>4</octave>
+ </pitch>
+ <duration>2</duration>
+ <voice>1</voice>
+ <type>half</type>
+ </note>
+ <barline location="right">
+ <bar-style>light-heavy</bar-style>
+ </barline>
+ </measure>
+ </part>
+</score-partwise>
+
/* create */
"Accidental "
"AccidentalCautionary "
+ "AccidentalPlacement "
"AccidentalSuggestion ",
/* read */
}
-LY_DEFINE (ly_font_load, "ly:font-load", 1, 0, 0,
+LY_DEFINE (ly_system_font_load, "ly:system-font-load", 1, 0, 0,
(SCM name),
- "Load the font @var{name}.")
+ "Load the OpenType system font @file{@var{name}.otf}."
+ " Fonts loaded with this command must contain three"
+ " additional SFNT font tables called @code{LILC},"
+ " @code{LILF}, and @code{LILY}, needed for typesetting"
+ " musical elements. Currently, only the Emmentaler and"
+ " the Aybabtu fonts fulfill these requirements.\n"
+ "\n"
+ "Note that only @code{ly:font-get-glyph} and derived"
+ " code (like @code{\\lookup}) can access glyphs from"
+ " the system fonts; text strings are handled exclusively"
+ " via the Pango interface.")
{
LY_ASSERT_TYPE (scm_is_string, name, 1);
return fm->self_scm ();
}
-
-
{
if (ambitus_ && !pitch_interval_.is_empty ())
{
- Grob * accidental_placement =
+ Grob *accidental_placement =
make_item ("AccidentalPlacement",
accidentals_[DOWN]->self_scm ());
"",
/* create */
+ "AccidentalPlacement "
"Ambitus "
+ "AmbitusAccidental "
"AmbitusLine "
- "AmbitusNoteHead "
- "AmbitusAccidental ",
+ "AmbitusNoteHead ",
/* read */
"",
SCM class_symbol = ev->get_property ("class");
if (!scm_symbol_p (class_symbol))
{
- warning (_f ("Event class should be a symbol"));
+ warning (_ ("Event class should be a symbol"));
return;
}
}
if (be_verbose_global)
- progress_indication ("Building font database.\n");
+ message (_ ("Building font database."));
FcConfigBuildFonts (font_config_global);
FcConfigSetCurrent (font_config_global);
if (be_verbose_global)
- progress_indication ("\n");
+ message ("\n");
if (cache_file
&& !is_file ((char*)cache_file))
2, 0, 0,
(SCM font, SCM name),
"Return a stencil from @var{font} for the glyph named @var{name}."
- " If the glyph is not available, return an empty stencil.")
+ " If the glyph is not available, return an empty stencil.\n"
+ "\n"
+ "Note that this command can only be used to access glyphs from"
+ " fonts loaded with @code{ly:system-font-load}; currently, this"
+ " means either the Emmentaler or Aybabtu fonts, corresponding"
+ " to the font encodings @code{fetaMusic} and @code{fetaBraces},"
+ " respectively.")
{
Font_metric *fm = unsmob_metrics (font);
LY_ASSERT_SMOB (Font_metric, font, 1);
2, 0, 0,
(SCM font, SCM index),
"Retrieve a stencil for the glyph numbered @var{index}"
- " in @var{font}.")
+ " in @var{font}.\n"
+ "\n"
+ "Note that this command can only be used to access glyphs from"
+ " fonts loaded with @code{ly:system-font-load}; currently, this"
+ " means either the Emmentaler or Aybabtu fonts, corresponding"
+ " to the font encodings @code{fetaMusic} and @code{fetaBraces},"
+ " respectively.")
{
Font_metric *fm = unsmob_metrics (font);
LY_ASSERT_SMOB (Font_metric, font, 1);
LY_DEFINE (ly_font_glyph_name_to_index, "ly:font-glyph-name-to-index",
2, 0, 0,
(SCM font, SCM name),
- "Return the index for @var{name} in @var{font}.")
+ "Return the index for @var{name} in @var{font}.\n"
+ "\n"
+ "Note that this command can only be used to access glyphs from"
+ " fonts loaded with @code{ly:system-font-load}; currently, this"
+ " means either the Emmentaler or Aybabtu fonts, corresponding"
+ " to the font encodings @code{fetaMusic} and @code{fetaBraces},"
+ " respectively.")
{
Font_metric *fm = unsmob_metrics (font);
LY_ASSERT_SMOB (Font_metric, font, 1);
LY_DEFINE (ly_font_index_to_charcode, "ly:font-index-to-charcode",
2, 0, 0,
(SCM font, SCM index),
- "Return the character code for @var{index} in @var{font}.")
+ "Return the character code for @var{index} in @var{font}.\n"
+ "\n"
+ "Note that this command can only be used to access glyphs from"
+ " fonts loaded with @code{ly:system-font-load}; currently, this"
+ " means either the Emmentaler or Aybabtu fonts, corresponding"
+ " to the font encodings @code{fetaMusic} and @code{fetaBraces},"
+ " respectively.")
{
Font_metric *fm = unsmob_metrics (font);
LY_ASSERT_SMOB (Font_metric, font, 1);
LY_DEFINE (ly_font_glyph_name_to_charcode, "ly:font-glyph-name-to-charcode",
2, 0, 0,
(SCM font, SCM name),
- "Return the character code for glyph @var{name} in @var{font}.")
+ "Return the character code for glyph @var{name} in @var{font}.\n"
+ "\n"
+ "Note that this command can only be used to access glyphs from"
+ " fonts loaded with @code{ly:system-font-load}; currently, this"
+ " means either the Emmentaler or Aybabtu fonts, corresponding"
+ " to the font encodings @code{fetaMusic} and @code{fetaBraces},"
+ " respectively.")
{
Font_metric *fm = unsmob_metrics (font);
LY_ASSERT_SMOB (Font_metric, font, 1);
/*
- Interface to all .afm files living in the filesystem.
+ Interface to all fonts (both system fonts and fonts loaded
+ via Pango).
*/
class All_font_metrics
{
SCM ly_reset_all_fonts ();
#endif /* ALL_FONTS_HH */
-
{
if (primitives.size () < 2)
{
- warning (_f ("ligature with less than 2 heads -> skipping"));
+ warning (_ ("ligature with less than 2 heads -> skipping"));
return;
}
int prev_pitch = 0;
if (!nr->in_event_class ("note-event"))
{
nr->origin ()->warning
- (_f ("cannot determine pitch of ligature primitive -> skipping"));
+ (_ ("cannot determine pitch of ligature primitive -> skipping"));
at_beginning = true;
continue;
}
{
// we can get here after invalid input
nr->origin ()->warning
- (_f ("single note ligature - skipping"));
+ (_ ("single note ligature - skipping"));
break;
}
prev_semibrevis = prev_brevis_shape = false;
if (delta_pitch == 0)
{
nr->origin ()->warning
- (_f ("prime interval within ligature -> skipping"));
+ (_ ("prime interval within ligature -> skipping"));
at_beginning = true;
primitive->set_property ("primitive",
scm_from_int (MLP_NONE));
|| duration_log > 0)
{
nr->origin ()->warning
- (_f ("mensural ligature: duration none of Mx, L, B, S -> skipping"));
+ (_ ("mensural ligature: duration none of Mx, L, B, S -> skipping"));
primitive->set_property ("primitive",
scm_from_int (MLP_NONE));
at_beginning = true;
else
{
nr->origin ()->warning
- (_f ("semibrevis must be followed by another one -> skipping"));
+ (_ ("semibrevis must be followed by another one -> skipping"));
primitive->set_property ("primitive",
scm_from_int (MLP_NONE));
at_beginning = true;
else if (duration_log == 0)
{
nr->origin ()->warning
- (_f ("semibreves can only appear at the beginning of a ligature,\n"
- "and there may be only zero or two of them"));
+ (_ ("semibreves can only appear at the beginning of a ligature,\n"
+ "and there may be only zero or two of them"));
primitive->set_property ("primitive",
scm_from_int (MLP_NONE));
at_beginning = true;
else
{
nr->origin ()->warning
- (_f ("invalid ligatura ending:\n"
- "when the last note is a descending brevis,\n"
- "the penultimate note must be another one,\n"
- "or the ligatura must be LB or SSB"));
+ (_ ("invalid ligatura ending:\n"
+ "when the last note is a descending brevis,\n"
+ "the penultimate note must be another one,\n"
+ "or the ligatura must be LB or SSB"));
primitive->set_property ("primitive", scm_from_int (MLP_NONE));
break;
}
scm_from_double (flexa_width));
break;
default:
- programming_error (_f ("unexpected case fall-through"));
+ programming_error (_ ("unexpected case fall-through"));
break;
}
}
out = brew_flexa (me, delta_pitch, false, width, thickness);
break;
default:
- programming_error (_f ("Mensural_ligature: "
- "unexpected case fall-through"));
+ programming_error (_ ("Mensural_ligature: "
+ "unexpected case fall-through"));
return Lookup::blank (Box (Interval (0, 0), Interval (0, 0)));
}
out.add_stencil (join);
}
else
- programming_error (_f ("Mensural_ligature: (join_right == 0)"));
+ programming_error (_ ("Mensural_ligature: (join_right == 0)"));
}
#if 0 /* what happend with the ledger lines? */
size_t written = fwrite (str.data (), sz, n, out_file_);
if (written != sz * n)
- warning (_ ("cannot write to file: `%s'"));
+ warning (_f ("cannot write to file: `%s'", str.data ()));
}
void
{
SCM perm = break_events_[i]->get_property ("break-permission");
if (perm == ly_symbol2scm ("force") || perm == ly_symbol2scm ("allow"))
- warning (_f ("forced break was overridden by some other event, should you be using bar checks?"));
+ warning (_ ("forced break was overridden by some other event, "
+ "should you be using bar checks?"));
}
}
else if (Paper_column::is_breakable (command_column_))
// FIXME:
gi.event_cause ()->origin ()->warning (_f ("adding note head to incompatible stem (type = %d)",
1 << Stem::duration_log (stem_)));
- gi.event_cause ()->origin ()->warning (_f ("maybe input should specify polyphonic voices"));
+ gi.event_cause ()->origin ()->warning (_ ("maybe input should specify polyphonic voices"));
}
Stem::add_head (stem_, gi.grob ());
tuplets_.pop_back ();
}
else if (!to_boolean (get_property ("skipTypesetting")))
- ev->origin ()->warning (_f ("No tuplet to end"));
+ ev->origin ()->warning (_ ("No tuplet to end"));
}
else
ev->origin ()->programming_error ("direction tuplet-span-event_ invalid.");
Real staff_space = Staff_symbol_referencer::staff_space (me);
if (!delta_pitch)
{
- me->programming_error (_f ("Vaticana_ligature: "
- "zero join (delta_pitch == 0)"));
+ me->programming_error (_ ("Vaticana_ligature: "
+ "zero join (delta_pitch == 0)"));
return Lookup::blank (Box (Interval (0, 0), Interval (0, 0)));
}
Interval x_extent = Interval (0, join_thickness);
%}
+\version "2.11.65" % necessary for upgrading to future LilyPond versions.
+
\header{
title = "A scale in LilyPond"
}
-\relative {
+\relative c' {
c d e f g a b c
}
-
-
-\version "2.10.0" % necessary for upgrading to future LilyPond versions.
Now to take it for the first test run.
- 1. Save this LilyPond file on your desktop.
+ 1. Save this LilyPond file on your desktop with the name "test.ly".
2. Pick it up from the desktop with your mouse pointer, drag and drop
it onto the LilyPond icon.
3. LilyPond automatically produces a PDF file from the musical scale
below.
- 4. To print or view the result, click on the newly produced file called
+ 4. To print or view the result, click on the newly produced file
+ called
- Welcome_to_LilyPond.PDF
+ test.PDF
-That's it. For more information, visit http://lilypond.org .
+That's it.
+
+LilyPond's interface is text-based. Please read the documentation.
+
+For more information, visit http://lilypond.org .
%}
+\version "2.11.65" % necessary for upgrading to future LilyPond versions.
+
\header{
title = "A scale in LilyPond"
}
-\relative{
+\relative c' {
c d e f g a b c
}
-
-
-\version "2.10.0" % necessary for upgrading to future LilyPond versions.
OUT_LY_FILES = $(sort ${MUSICXML_FILES:%.xml=$(outdir)/%.ly} ${MUSICMXL_FILES:%.mxl=$(outdir)/%.ly})
OUT_FILES = $(OUT_LY_FILES)
-EXTRA_DIST_FILES += $(MUSICXML_FILES) $(MUSICMXL_FILES)
+EXTRA_DIST_FILES += $(MUSICXML_FILES) $(MUSICMXL_FILES) $(call src-wildcard,*.broken)
Music expression as a .ly file.
"""
- ## TODO: support for \relative.
def __init__ (self):
self._line = ''
# Implement the different note names for the various languages
def pitch_generic (pitch, notenames, accidentals):
str = notenames[pitch.step]
- if pitch.alteration < 0:
- str += accidentals[0] * (-pitch.alteration)
+ halftones = int (pitch.alteration)
+ if halftones < 0:
+ str += accidentals[0] * (-halftones)
elif pitch.alteration > 0:
- str += accidentals[3] * (pitch.alteration)
+ str += accidentals[3] * (halftones)
+ # Handle remaining fraction to pitch.alteration (for microtones)
+ if (halftones != pitch.alteration):
+ if None in accidentals[1:3]:
+ warning (_ ("Language does not support microtones contained in the piece"))
+ else:
+ try:
+ str += {-0.5: accidentals[1], 0.5: accidentals[2]}[pitch.alteration-halftones]
+ except KeyError:
+ warning (_ ("Language does not support microtones contained in the piece"))
return str
def pitch_general (pitch):
return pitch_deutsch (pitch)
def pitch_svenska (pitch):
- str = pitch_generic (pitch, ['c', 'd', 'e', 'f', 'g', 'a', 'h'], ['ess', '', '', 'iss'])
+ str = pitch_generic (pitch, ['c', 'd', 'e', 'f', 'g', 'a', 'h'], ['ess', None, None, 'iss'])
return str.replace ('hess', 'b').replace ('aes', 'as').replace ('ees', 'es')
def pitch_italiano (pitch):
return pitch_italiano (pitch)
def pitch_espanol (pitch):
- str = pitch_generic (pitch, ['do', 're', 'mi', 'fa', 'sol', 'la', 'si'], ['b', '', '', 's'])
+ str = pitch_generic (pitch, ['do', 're', 'mi', 'fa', 'sol', 'la', 'si'], ['b', None, None, 's'])
return str
def pitch_vlaams (pitch):
- str = pitch_generic (pitch, ['do', 're', 'mi', 'fa', 'sol', 'la', 'si'], ['b', '', '', 'k'])
+ str = pitch_generic (pitch, ['do', 're', 'mi', 'fa', 'sol', 'la', 'si'], ['b', None, None, 'k'])
return str
def set_pitch_language (language):
pitches = []
basepitch = None
for x in note_events:
- pitches.append (x.pitch.ly_expression ())
+ pitches.append (x.chord_element_ly ())
if not basepitch:
basepitch = previous_pitch
printer ('<%s>' % string.join (pitches))
else:
return ''
+
+class FunctionWrapperEvent (Event):
+ def __init__ (self, function_name = None):
+ Event.__init__ (self)
+ self.function_name = function_name
+ def pre_note_ly (self, is_chord_element):
+ if self.function_name:
+ return "\\%s" % self.function_name
+ else:
+ return ''
+ def pre_chord_ly (self):
+ return ''
+ def ly_expression (self):
+ if self.function_name:
+ return "\\%s" % self.function_name
+ else:
+ return ''
+
+class ParenthesizeEvent (FunctionWrapperEvent):
+ def __init__ (self):
+ FunctionWrapperEvent.__init__ (self, "parenthesize")
+
+class NotestyleEvent (Event):
+ def __init__ (self):
+ Event.__init__ (self)
+ self.style = None
+ self.filled = None
+ def pre_chord_ly (self):
+ if self.style:
+ return "\\once \\override NoteHead #'style = #%s" % self.style
+ else:
+ return ''
+ def pre_note_ly (self, is_chord_element):
+ if self.style and is_chord_element:
+ return "\\tweak #'style #%s" % self.style
+ else:
+ return ''
+ def ly_expression (self):
+ return self.pre_chord_ly ()
+
+
class ChordPitch:
def __init__ (self):
self.alteration = 0
class BendEvent (ArticulationEvent):
def __init__ (self):
Event.__init__ (self)
- self.alter = 0
+ self.alter = None
def ly_expression (self):
- if self.alter:
+ if self.alter != None:
return "-\\bendAfter #%s" % self.alter
else:
return ''
def __init__ (self):
Event.__init__ (self)
self.duration = Duration()
-
+ self.associated_events = []
+
+ def add_associated_event (self, ev):
+ if ev:
+ self.associated_events.append (ev)
+
+ def pre_chord_ly (self):
+ return [ev.pre_chord_ly () for ev in self.associated_events]
+
+ def pre_note_ly (self, is_chord_element):
+ return [ev.pre_note_ly (is_chord_element) for ev in self.associated_events]
+
+ def ly_expression_pre_note (self, is_chord_element):
+ res = string.join (self.pre_note_ly (is_chord_element), ' ')
+ if res != '':
+ res = res + ' '
+ return res
+
def get_length (self):
return self.duration.get_length()
def __init__ (self):
RhythmicEvent.__init__ (self)
self.pitch = None
+
def ly_expression (self):
+ res = self.ly_expression_pre_note (False)
if self.pitch:
- return "%s%s\\rest" % (self.pitch.ly_expression (), self.duration.ly_expression ())
+ return res + "%s%s\\rest" % (self.pitch.ly_expression (), self.duration.ly_expression ())
else:
return 'r%s' % self.duration.ly_expression ()
def print_ly (self, printer):
+ for ev in self.associated_events:
+ ev.print_ly (printer)
if self.pitch:
self.pitch.print_ly (printer)
self.duration.print_ly (printer)
self.drum_type = None
self.cautionary = False
self.forced_accidental = False
-
+
def get_properties (self):
str = RhythmicEvent.get_properties (self)
excl_question += '!'
return excl_question
-
+
def ly_expression (self):
+ # obtain all stuff that needs to be printed before the note:
+ res = self.ly_expression_pre_note (True)
if self.pitch:
- return '%s%s%s' % (self.pitch.ly_expression (),
+ return res + '%s%s%s' % (self.pitch.ly_expression (),
self.pitch_mods(),
self.duration.ly_expression ())
elif self.drum_type:
- return '%s%s' (self.drum_type,
+ return res + '%s%s' (self.drum_type,
self.duration.ly_expression ())
+ def chord_element_ly (self):
+ # obtain all stuff that needs to be printed before the note:
+ res = self.ly_expression_pre_note (True)
+ if self.pitch:
+ return res + '%s%s' % (self.pitch.ly_expression (),
+ self.pitch_mods())
+ elif self.drum_type:
+ return res + '%s%s' (self.drum_type)
+
+
def print_ly (self, printer):
+ for ev in self.associated_events:
+ ev.print_ly (printer)
if self.pitch:
self.pitch.print_ly (printer)
printer (self.pitch_mods ())
class KeySignatureChange (Music):
def __init__ (self):
Music.__init__ (self)
- self.scale = []
- self.tonic = Pitch()
+ self.tonic = None
self.mode = 'major'
-
+ self.non_standard_alterations = None
+
+ def format_non_standard_alteration (self, a):
+ alter_dict = { -2: ",DOUBLE-FLAT",
+ -1.5: ",THREE-Q-FLAT",
+ -1: ",FLAT",
+ -0.5: ",SEMI-FLAT",
+ 0: ",NATURAL",
+ 0.5: ",SEMI-SHARP",
+ 1: ",SHARP",
+ 1.5: ",THREE-Q-SHARP",
+ 2: ",DOUBLE-SHARP"}
+ try:
+ accidental = alter_dict[a[1]]
+ except KeyError:
+ warning (_ ("Unable to convert alteration %s to a lilypond expression") % a[1])
+ return ''
+ if len (a) == 2:
+ return "( %s . %s )" % (a[0], accidental)
+ elif len (a) == 3:
+ return "(( %s . %s ) . %s )" % (a[2], a[0], accidental)
+ else:
+ return ''
+
def ly_expression (self):
- return '\\key %s \\%s' % (self.tonic.ly_step_expression (),
+ if self.tonic:
+ return '\\key %s \\%s' % (self.tonic.ly_step_expression (),
self.mode)
-
- def lisp_expression (self):
- pairs = ['(%d . %d)' % (i , self.scale[i]) for i in range (0,7)]
- scale_str = ("'(%s)" % string.join (pairs))
-
- return """ (make-music 'KeyChangeEvent
- 'pitch-alist %s) """ % scale_str
+ elif self.non_standard_alterations:
+ alterations = [self.format_non_standard_alteration (a) for
+ a in self.non_standard_alterations]
+ # TODO: Check if the alterations should really be given in reverse
+ # order of if that's just a bug in Lilypond. If it's a bug,
+ # fix it and remove the following call, otherwise add a
+ # proper comment here!
+ alterations.reverse ()
+ return "\\set Staff.keySignature = #`(%s)" % string.join (alterations, " ")
+ else:
+ return ''
class TimeSignatureChange (Music):
def __init__ (self):
Music.__init__ (self)
- self.fraction = (4,4)
+ self.fractions = [4,4]
+ self.style = None
def ly_expression (self):
- return '\\time %d/%d ' % self.fraction
+ st = ''
+ # Print out the style if we have ome, but the '() should only be
+ # forced for 2/2 or 4/4, since in all other cases we'll get numeric
+ # signatures anyway despite the default 'C signature style!
+ is_common_signature = self.fractions in ([2,2], [4,4], [4,2])
+ if self.style:
+ if (self.style != "'()") or is_common_signature:
+ st = "\\once \\override Staff.TimeSignature #'style = #%s " % self.style
+
+ # Easy case: self.fractions = [n,d] => normal \time n/d call:
+ if len (self.fractions) == 2 and isinstance (self.fractions[0], int):
+ return st + '\\time %d/%d ' % tuple (self.fractions)
+ elif self.fractions and not isinstance (self.fractions[0], list):
+ # TODO: Implement non-standard time-signatures
+ return st + ''
+ else:
+ # TODO: Implement non-standard time-signatures
+ return st + ''
class ClefChange (Music):
def __init__ (self):
'longa': -2,
'long': -2}.get (dur, 0)
+def interpret_alter_element (alter_elm):
+ alter = 0
+ if alter_elm:
+ val = eval(alter_elm.get_text ())
+ if type (val) in (int, float):
+ alter = val
+ return alter
class Xml_node:
def get_alteration (self):
ch = self.get_maybe_exist_typed_child (get_class (u'alter'))
- alter = 0
- if ch:
- alter = int (ch.get_text ().strip ())
- return alter
+ return interpret_alter_element (ch)
class Unpitched (Music_xml_node):
def get_step (self):
Measure_element.__init__ (self)
self._dict = {}
self._original_tag = None
+ self._time_signature_cache = None
def is_first (self):
cn = self._parent.get_typed_children (self.__class__)
def get_named_attribute (self, name):
return self._dict.get (name)
+
+ def single_time_sig_to_fraction (self, sig):
+ if len (sig) < 2:
+ return 0
+ n = 0
+ for i in sig[0:-1]:
+ n += i
+ return Rational (n, sig[-1])
def get_measure_length (self):
- (n,d) = self.get_time_signature ()
- return Rational (n,d)
+ sig = self.get_time_signature ()
+ if not sig or len (sig) == 0:
+ return 1
+ if isinstance (sig[0], list):
+ # Complex compound time signature
+ l = 0
+ for i in sig:
+ l += self.single_time_sig_to_fraction (i)
+ return l
+ else:
+ # Simple (maybe compound) time signature of the form (beat, ..., type)
+ return self.single_time_sig_to_fraction (sig)
+ return 0
def get_time_signature (self):
- "return time sig as a (beat, beat-type) tuple"
+ "Return time sig as a (beat, beat-type) tuple. For compound signatures,"
+ "return either (beat, beat,..., beat-type) or ((beat,..., type), "
+ "(beat,..., type), ...)."
+ if self._time_signature_cache:
+ return self._time_signature_cache
try:
mxl = self.get_named_attribute ('time')
- if mxl:
- beats = mxl.get_maybe_exist_named_child ('beats')
- type = mxl.get_maybe_exist_named_child ('beat-type')
- return (int (beats.get_text ()),
- int (type.get_text ()))
- else:
+ if not mxl:
+ return None
+
+ if mxl.get_maybe_exist_named_child ('senza-misura'):
+ # TODO: Handle pieces without a time signature!
+ error (_ ("Senza-misura time signatures are not yet supported!"))
return (4, 4)
- except KeyError:
- error (_ ("requested time signature, but time sig is unknown"))
+ else:
+ signature = []
+ current_sig = []
+ for i in mxl.get_all_children ():
+ if isinstance (i, Beats):
+ beats = string.split (i.get_text ().strip (), "+")
+ current_sig = [int (j) for j in beats]
+ elif isinstance (i, BeatType):
+ current_sig.append (int (i.get_text ()))
+ signature.append (current_sig)
+ current_sig = []
+ if isinstance (signature[0], list) and len (signature) == 1:
+ signature = signature[0]
+ self._time_signature_cache = signature
+ return signature
+ except (KeyError, ValueError):
+ self.message (_ ("Unable to interpret time signature! Falling back to 4/4."))
return (4, 4)
# returns clef information in the form ("cleftype", position, octave-shift)
return clefinfo
def get_key_signature (self):
- "return (fifths, mode) tuple"
+ "return (fifths, mode) tuple if the key signatures is given as "
+ "major/minor in the Circle of fifths. Otherwise return an alterations"
+ "list of the form [[step,alter<,octave>], [step,alter<,octave>], ...], "
+ "where the octave values are optional."
key = self.get_named_attribute ('key')
- mode_node = key.get_maybe_exist_named_child ('mode')
- mode = None
- if mode_node:
- mode = mode_node.get_text ()
- if not mode or mode == '':
- mode = 'major'
-
- fifths = int (key.get_maybe_exist_named_child ('fifths').get_text ())
- return (fifths, mode)
-
+ if not key:
+ return None
+ fifths_elm = key.get_maybe_exist_named_child ('fifths')
+ if fifths_elm:
+ mode_node = key.get_maybe_exist_named_child ('mode')
+ mode = None
+ if mode_node:
+ mode = mode_node.get_text ()
+ if not mode or mode == '':
+ mode = 'major'
+ fifths = int (fifths_elm.get_text ())
+ # TODO: Shall we try to convert the key-octave and the cancel, too?
+ return (fifths, mode)
+ else:
+ alterations = []
+ current_step = 0
+ for i in key.get_all_children ():
+ if isinstance (i, KeyStep):
+ current_step = int (i.get_text ())
+ elif isinstance (i, KeyAlter):
+ alterations.append ([current_step, interpret_alter_element (i)])
+ elif isinstance (i, KeyOctave):
+ nr = -1
+ if hasattr (i, 'number'):
+ nr = int (i.number)
+ if (nr > 0) and (nr <= len (alterations)):
+ # MusicXML Octave 4 is middle C -> shift to 0
+ alterations[nr-1].append (int (i.get_text ())-4)
+ else:
+ i.message (_ ("Key alteration octave given for a "
+ "non-existing alteration nr. %s, available numbers: %s!") % (nr, len(alterations)))
+ i.message ( "Non-standard key signature (after octave %s for alter nr %s): %s" % (i.get_text (), nr, alterations))
+ i.message ( "Non-standard key signature with alterations %s found!" % alterations)
+ return alterations
+
def get_transposition (self):
return self.get_named_attribute ('transpose')
-
+
+class KeyAlter (Music_xml_node):
+ pass
+class KeyStep (Music_xml_node):
+ pass
+class KeyOctave (Music_xml_node):
+ pass
class Barline (Measure_element):
def continued (self):
text = self.get_text()
return (text == "begin") or (text == "middle")
+class Elision (Music_xml_node):
+ pass
class Text (Music_xml_node):
pass
else:
return -1
- def lyric_to_text (self):
- continued = False
- syllabic = self.get_maybe_exist_typed_child (Syllabic)
- if syllabic:
- continued = syllabic.continued ()
- text = self.get_maybe_exist_typed_child (Text)
-
- if text:
- text = text.get_text()
- # We need to convert soft hyphens to -, otherwise the ascii codec as well
- # as lilypond will barf on that character
- text = string.replace( text, u'\xad', '-' )
-
- if text == "-" and continued:
- return "--"
- elif text == "_" and continued:
- return "__"
- elif continued and text:
- return escape_ly_output_string (text) + " --"
- elif continued:
- return "--"
- elif text:
- return escape_ly_output_string (text)
- else:
- return ""
-
class Musicxml_voice:
def __init__ (self):
self._elements = []
class Bend (Music_xml_node):
def bend_alter (self):
alter = self.get_maybe_exist_named_child ('bend-alter')
- if alter:
- return alter.get_text()
- else:
- return 0
+ return interpret_alter_element (alter)
class Words (Music_xml_node):
pass
return ch.get_text ().strip ()
def get_alteration (self):
ch = self.get_maybe_exist_typed_child (get_class (self.alter_class_name ()))
- alter = 0
- if ch:
- alter = int (ch.get_text ().strip ())
- return alter
+ return interpret_alter_element (ch)
class Root (ChordPitch):
pass
return value
def get_alter (self):
ch = self.get_maybe_exist_typed_child (get_class (u'degree-alter'))
- value = 0
- if ch:
- value = int (ch.get_text ().strip ())
- return value
+ return interpret_alter_element (ch)
class Frame (Music_xml_node):
class FiguredBass (Music_xml_node):
pass
+class Beats (Music_xml_node):
+ pass
+
+class BeatType (Music_xml_node):
+ pass
+
class BeatUnit (Music_xml_node):
pass
'bar-style': BarStyle,
'bass': Bass,
'beam' : Beam,
+ 'beats': Beats,
+ 'beat-type': BeatType,
'beat-unit': BeatUnit,
'beat-unit-dot': BeatUnitDot,
'bend' : Bend,
'direction': Direction,
'direction-type': DirType,
'duration': Duration,
+ 'elision': Elision,
'frame': Frame,
'frame-note': Frame_Note,
'figured-bass': FiguredBass,
'grace': Grace,
'harmony': Harmony,
'identification': Identification,
+ 'key-alter': KeyAlter,
+ 'key-octave': KeyOctave,
+ 'key-step': KeyStep,
'lyric': Lyric,
'measure': Measure,
'notations': Notations,
but it controls cautionary accidentals rather than normal ones. Both
lists are tried, and the one giving the most accidentals wins. In
case of draw, a normal accidental is typeset.")
- (automaticBars ,boolean? "If set to true then bar lines will not
+ (automaticBars ,boolean? "If set to false then bar lines will not
be printed automatically; they must be explicitly created with a
-@code{\\bar} command. Unlike the @code{\\cadenza} keyword, measures
-are still counted. Bar generation will resume according to that count
-if this property is unset.")
+@code{\\bar} command. Unlike the @code{\\cadenzaOn} keyword, measures
+are still counted. Bar line generation will resume according to that
+count if this property is unset.")
(barAlways ,boolean? "If set to true a bar line is drawn after
)))
(define-method (display (node <Font-tree-node>) port)
-
(map
(lambda (x)
(display x port))
-
(list
"Font_node {\nqual: "
(font-qualifier node)
(hash-table->alist (font-children node)))
(display "} }\n"))
-
(define default-qualifier-order
'(font-encoding font-family font-shape font-series))
(new-fprops (assoc-delete q fprops))
(child (hashq-ref (slot-ref node 'children)
v #f)))
-
-
(if (not child)
(begin
(set! child (make-node new-fprops size-family))
(if (pair? new-fprops)
(add-font child new-fprops size-family))))
-
(define-method (add-font (node <Font-tree-leaf>) fprops size-family)
(throw "must add to node, not leaf"))
-
(define-method (g-lookup-font (node <Font-tree-node>) alist-chain)
(let* ((qual (font-qualifier node))
(def (font-default node))
(g-lookup-font desired-child alist-chain)
(g-lookup-font (hashq-ref (font-children node) def) alist-chain))))
-
(define-method (g-lookup-font (node <Font-tree-leaf>) alist-chain)
node)
-;; two step call is handy for debugging.
+;; two step call is handy for debugging.
(define (lookup-font node alist-chain)
(g-lookup-font node alist-chain))
-;; Each size family is a vector of fonts, loaded with a delay. The
-;; vector should be sorted according to ascending design size.
+
+;; Ugh. Currently, we load the PFB Feta fonts for `fetaDynamic' with
+;; Pango. This should be changed to load the Emmentaler fonts instead
+;; (with Pango too), but then we need support for a `font-style'
+;; property which isn't implemented yet.
(define feta-alphabet-size-vector
- (if (defined? 'ly:kpathsea-find-file)
- `#(,(delay (ly:font-load "feta-alphabet11"))
- ,(delay (ly:font-load "feta-alphabet13"))
- ,(delay (ly:font-load "feta-alphabet14"))
- ,(delay (ly:font-load "feta-alphabet16"))
- ,(delay (ly:font-load "feta-alphabet18"))
- ,(delay (ly:font-load "feta-alphabet20"))
- ,(delay (ly:font-load "feta-alphabet23"))
- ,(delay (ly:font-load "feta-alphabet26")))
- (list->vector
- (map (lambda (tup)
- (cons (ly:pt (cdr tup))
- (format "feta-alphabet~a ~a"
- (car tup)
- (ly:pt (cdr tup)))))
- '((11 . 11.22)
- (13 . 12.60)
- (14 . 14.14)
- (16 . 15.87)
- (18 . 17.82)
- (20 . 20)
- (23 . 22.45)
- (26 . 25.20))))))
+ (list->vector
+ (map (lambda (tup)
+ (cons (ly:pt (cdr tup))
+ (format "feta-alphabet~a ~a"
+ (car tup)
+ (ly:pt (cdr tup)))))
+ '((11 . 11.22)
+ (13 . 12.60)
+ (14 . 14.14)
+ (16 . 15.87)
+ (18 . 17.82)
+ (20 . 20)
+ (23 . 22.45)
+ (26 . 25.20)))))
+;; Each size family is a vector of fonts, loaded with a delay. The
+;; vector should be sorted according to ascending design size.
(define-public (add-music-fonts node factor)
(for-each
(lambda (x)
(list (cons 'font-encoding (car x)))
(cons (* factor (cadr x))
(caddr x))))
- `((fetaDynamic ,(ly:pt 20.0) ,feta-alphabet-size-vector)
- (fetaNumber ,(ly:pt 20.0) ,feta-alphabet-size-vector)
+ `((fetaDynamic ,(ly:pt 20.0) ,feta-alphabet-size-vector)
+ (fetaNumber ,(ly:pt 20.0) ,feta-alphabet-size-vector)
(fetaMusic ,(ly:pt 20.0)
- #(,(delay (ly:font-load "emmentaler-11"))
- ,(delay (ly:font-load "emmentaler-13"))
- ,(delay (ly:font-load "emmentaler-14"))
- ,(delay (ly:font-load "emmentaler-16"))
- ,(delay (ly:font-load "emmentaler-18"))
- ,(delay (ly:font-load "emmentaler-20"))
- ,(delay (ly:font-load "emmentaler-23"))
- ,(delay (ly:font-load "emmentaler-26"))))
-
- (fetaBraces ,(ly:pt 20.0) #(,(delay
- (ly:font-load "aybabtu")))))))
-
-(define-public (add-cmr-fonts node factor)
- (add-font node '((font-encoding . TeX-math))
- `(,(* factor 10) . #(,(delay (ly:font-load "msam10")))))
- (for-each
- (lambda (x)
- (add-font node `((font-encoding . TeX-text)
- (font-series . ,(vector-ref (car x) 2))
- (font-shape . ,(vector-ref (car x) 1))
- (font-family . ,(vector-ref (car x) 0)))
- (cons (* factor (cadr x))
- (cddr x))))
- `((#(roman upright medium)
- . (,(ly:pt 10.0) . #(,(delay (ly:font-load "cmr6"))
- ,(delay (ly:font-load "cmr8"))
- ,(delay (ly:font-load "cmr10"))
- ,(delay (ly:font-load "cmr17")))))
- (#(roman upright bold)
- . (,(ly:pt 10.0) . #(,(delay (ly:font-load "cmbx6"))
- ,(delay (ly:font-load "cmbx8"))
- ,(delay (ly:font-load "cmbx10"))
- ,(delay (ly:font-load "cmbx12")))))
- (#(roman italic medium)
- . (,(ly:pt 10.0) . #(,(delay (ly:font-load "cmti7"))
- ,(delay (ly:font-load "cmti10"))
- ,(delay (ly:font-load "cmti12")))))
- (#(roman italic bold)
- . (,(ly:pt 10.0) . #(,(delay (ly:font-load "cmbxti8"))
- ,(delay (ly:font-load "cmbxti10"))
- ,(delay (ly:font-load "cmbxti14")))))
- (#(roman caps medium)
- . (,(ly:pt 10.0) . #(,(delay (ly:font-load "cmcsc10")))))
- (#(roman upright bold-narrow )
- . (,(ly:pt 10.0) . #(,(delay (ly:font-load "cmb10")))))
- (#(sans upright medium)
- . (,(ly:pt 10.0) . #(,(delay (ly:font-load "cmss8"))
- ,(delay (ly:font-load "cmss10"))
- ,(delay (ly:font-load "cmss12"))
- ,(delay (ly:font-load "cmss17")))))
- (#(typewriter upright medium)
- . (,(ly:pt 10.0) . #(,(delay (ly:font-load "cmtt8"))
- ,(delay (ly:font-load "cmtt10"))
- ,(delay (ly:font-load "cmtt12"))))))))
-
-;; Debian lmodern font support.
-(define-public (add-cork-lm-fonts node factor)
- (for-each
- (lambda (x)
- (add-font node `((font-encoding . cork-lm)
- (font-series . ,(vector-ref (car x) 2))
- (font-shape . ,(vector-ref (car x) 1))
- (font-family . ,(vector-ref (car x) 0)))
- (cons (* factor (cadr x)) (cddr x))))
- `((#(roman upright medium)
- . (,(ly:pt 10.0) . #(,(delay (ly:font-load "lmr6"))
- ,(delay (ly:font-load "lmr8"))
- ,(delay (ly:font-load "lmr10"))
- ,(delay (ly:font-load "lmr17")))))
- (#(roman upright bold)
- . (,(ly:pt 10.0) . #(,(delay (ly:font-load "lmbx6"))
- ,(delay (ly:font-load "lmbx8"))
- ,(delay (ly:font-load "lmbx10"))
- ,(delay (ly:font-load "lmbx12")))))
- (#(roman italic medium)
- . (,(ly:pt 10.0) . #(,(delay (ly:font-load "lmri7"))
- ,(delay (ly:font-load "lmri10"))
- ,(delay (ly:font-load "lmri12")))))
- (#(roman italic bold)
- . (,(ly:pt 10.0) . #(,(delay (ly:font-load "lmbxi10")))))
- (#(roman caps medium)
- . (,(ly:pt 10.0) . #(,(delay (ly:font-load "lmcsc10")))))
- (#(roman upright bold-narrow )
- . (,(ly:pt 10.0) . #(,(delay (ly:font-load "lmb10")))))
- (#(sans upright medium)
- . (,(ly:pt 10.0) . #(,(delay (ly:font-load "lmss8"))
- ,(delay (ly:font-load "lmss10"))
- ,(delay (ly:font-load "lmss12"))
- ,(delay (ly:font-load "lmss17")))))
- (#(sans upright bold)
- . (,(ly:pt 10.0) . #(,(delay (ly:font-load "lmssbx10")))))
-
- (#(typewriter upright medium)
- . (,(ly:pt 10.0) . #(,(delay (ly:font-load "lmtt8"))
- ,(delay (ly:font-load "lmtt10"))
- ,(delay (ly:font-load "lmtt12"))))))))
-
-;; ec-fonts-mftraced font support.
-(define-public (add-ec-fonts node factor)
- (for-each
- (lambda (x) (add-font node
- `((font-encoding . Extended-TeX-Font-Encoding---Latin)
- (font-series . ,(vector-ref (car x) 2))
- (font-shape . ,(vector-ref (car x) 1))
- (font-family . ,(vector-ref (car x) 0)))
- (cons (* factor (cadr x)) (cddr x))))
-
- `((#(roman upright medium)
- . (,(ly:pt 10.0) . #(,(delay (ly:font-load "ecrm6"))
- ,(delay (ly:font-load "ecrm8"))
- ,(delay (ly:font-load "ecrm10"))
- ,(delay (ly:font-load "ecrm17")))))
- (#(roman upright bold)
- . (,(ly:pt 10.0) . #(,(delay (ly:font-load "ecbx6"))
- ,(delay (ly:font-load "ecbx8"))
- ,(delay (ly:font-load "ecbx10"))
- ,(delay (ly:font-load "ecbx12")))))
- (#(roman italic medium)
- . (,(ly:pt 10.0) . #(,(delay (ly:font-load "ecti7"))
- ,(delay (ly:font-load "ecti10"))
- ,(delay (ly:font-load "ecti12")))))
- (#(roman italic bold)
- . (,(ly:pt 10.0) . #(,(delay (ly:font-load "ecbi8"))
- ,(delay (ly:font-load "ecbi10"))
- ,(delay (ly:font-load "ecbi14")))))
- (#(roman caps medium)
- . (,(ly:pt 10.0) . #(,(delay (ly:font-load "eccc10")))))
- (#(roman slanted-caps medium)
- . (,(ly:pt 10.0) . #(,(delay (ly:font-load "ecsc10")))))
- (#(roman upright bold-narrow )
- . (,(ly:pt 10.0) . #(,(delay (ly:font-load "ecrb10")))))
- (#(sans upright medium)
- . (,(ly:pt 10.0) . #(,(delay (ly:font-load "ecss8"))
- ,(delay (ly:font-load "ecss10"))
- ,(delay (ly:font-load "ecss12"))
- ,(delay (ly:font-load "ecss17")))))
- (#(typewriter upright medium)
- . (,(ly:pt 10.0) . #(,(delay (ly:font-load "ectt8"))
- ,(delay (ly:font-load "ectt10"))
- ,(delay (ly:font-load "ectt12"))))))))
+ #(,(delay (ly:system-font-load "emmentaler-11"))
+ ,(delay (ly:system-font-load "emmentaler-13"))
+ ,(delay (ly:system-font-load "emmentaler-14"))
+ ,(delay (ly:system-font-load "emmentaler-16"))
+ ,(delay (ly:system-font-load "emmentaler-18"))
+ ,(delay (ly:system-font-load "emmentaler-20"))
+ ,(delay (ly:system-font-load "emmentaler-23"))
+ ,(delay (ly:system-font-load "emmentaler-26"))))
+ (fetaBraces ,(ly:pt 20.0)
+ #(,(delay (ly:system-font-load "aybabtu")))))))
(define-public (add-pango-fonts node lily-family family factor)
(define (add-node shape series)
(font-series . ,series)
(font-encoding . latin1) ;; ugh.
)
-
`(,(ly:pt (* factor 11.0))
. #(,(cons
(ly:pt 12)
(add-node 'italic 'normal)
(add-node 'italic 'bold))
-(define-public (make-cmr-tree factor)
- (let*
- ((n (make-font-tree-node 'font-encoding 'fetaMusic))
- (module (resolve-module '(scm kpathsea)))
- (find (eval 'ly:kpathsea-find-file module))
- )
- (add-music-fonts n factor)
- (add-cmr-fonts n factor)
-
- (if (find "lmr10.pfb")
- (add-cork-lm-fonts n factor))
- (if (find "ecrm10.pfa")
- (add-ec-fonts n factor))
- n))
-
-
-
-
(define-public (make-pango-font-tree roman-str sans-str typewrite-str factor)
(let ((n (make-font-tree-node 'font-encoding 'fetaMusic)))
(add-music-fonts n factor)
(add-pango-fonts n 'typewriter typewrite-str factor)
n))
-
(define-public (make-century-schoolbook-tree factor)
(make-pango-font-tree
"Century Schoolbook L"
tsm.display_numerator = tuplet_elt.get_normal_nr ()
tsm.display_denominator = tuplet_elt.get_actual_nr ()
- print ("num: %s, den: %s" % (tsm.display_numerator, tsm.display_denominator))
-
if hasattr (tuplet_elt, 'bracket') and tuplet_elt.bracket == "no":
tsm.display_bracket = None
if hasattr (tuplet_elt, "show-number"):
tsm.display_number = display_values.get (getattr (tuplet_elt, "show-number"), "actual")
if tsm.display_number == "actual" and tsm.display_denominator:
- print "Add denom-function\n";
needed_additional_definitions.append ("tuplet-non-default-denominator")
elif tsm.display_number == "both" and (tsm.display_numerator or tsm.display_denominator):
- print "Add fraction-function\n";
needed_additional_definitions.append ("tuplet-non-default-fraction")
- else:
- print "No display-function, display_number=%s, den=%s\n" % (tsm.display_number, tsm.display_denominator);
if hasattr (tuplet_elt, "show-type"):
if getattr (tuplet_elt, "show-type") == "actual":
return change
def musicxml_time_to_lily (attributes):
- (beats, type) = attributes.get_time_signature ()
-
+ sig = attributes.get_time_signature ()
+ if not sig:
+ return None
change = musicexp.TimeSignatureChange()
- change.fraction = (beats, type)
-
+ change.fractions = sig
+
+ time_elm = attributes.get_maybe_exist_named_child ('time')
+ if time_elm and hasattr (time_elm, 'symbol'):
+ change.style = { 'single-number': "'single-digit",
+ 'cut': None,
+ 'common': None,
+ 'normal': "'()"}.get (time_elm.symbol, "'()")
+ else:
+ change.style = "'()"
+
+ # TODO: Handle senza-misura measures
+ # TODO: Handle hidden time signatures (print-object="no")
+ # TODO: What shall we do if the symbol clashes with the sig? e.g. "cut"
+ # with 3/8 or "single-number" with (2+3)/8 or 3/8+2/4?
+
return change
def musicxml_key_to_lily (attributes):
- start_pitch = musicexp.Pitch ()
- (fifths, mode) = attributes.get_key_signature ()
- try:
- (n,a) = {
- 'major' : (0,0),
- 'minor' : (5,0),
- 'ionian' : (0,0),
- 'dorian' : (1,0),
- 'phrygian' : (2,0),
- 'lydian' : (3,0),
- 'mixolydian': (4,0),
- 'aeolian' : (5,0),
- 'locrian' : (6,0),
- }[mode]
- start_pitch.step = n
- start_pitch.alteration = a
- except KeyError:
- error_message (_ ("unknown mode %s, expecting 'major' or 'minor'") % mode)
-
- fifth = musicexp.Pitch()
- fifth.step = 4
- if fifths < 0:
- fifths *= -1
- fifth.step *= -1
- fifth.normalize ()
+ key_sig = attributes.get_key_signature ()
+ if not key_sig or not (isinstance (key_sig, list) or isinstance (key_sig, tuple)):
+ error_message (_ ("Unable to extract key signature!"))
+ return None
- for x in range (fifths):
- start_pitch = start_pitch.transposed (fifth)
+ change = musicexp.KeySignatureChange()
+
+ if len (key_sig) == 2 and not isinstance (key_sig[0], list):
+ # standard key signature, (fifths, mode)
+ (fifths, mode) = key_sig
+ change.mode = mode
- start_pitch.octave = 0
+ start_pitch = musicexp.Pitch ()
+ start_pitch.octave = 0
+ try:
+ (n,a) = {
+ 'major' : (0,0),
+ 'minor' : (5,0),
+ 'ionian' : (0,0),
+ 'dorian' : (1,0),
+ 'phrygian' : (2,0),
+ 'lydian' : (3,0),
+ 'mixolydian': (4,0),
+ 'aeolian' : (5,0),
+ 'locrian' : (6,0),
+ }[mode]
+ start_pitch.step = n
+ start_pitch.alteration = a
+ except KeyError:
+ error_message (_ ("unknown mode %s, expecting 'major' or 'minor' "
+ "or a church mode!") % mode)
+
+ fifth = musicexp.Pitch()
+ fifth.step = 4
+ if fifths < 0:
+ fifths *= -1
+ fifth.step *= -1
+ fifth.normalize ()
+ for x in range (fifths):
+ start_pitch = start_pitch.transposed (fifth)
+ change.tonic = start_pitch
- change = musicexp.KeySignatureChange()
- change.mode = mode
- change.tonic = start_pitch
+ else:
+ # Non-standard key signature of the form [[step,alter<,octave>],...]
+ change.non_standard_alterations = key_sig
return change
def musicxml_transpose_to_lily (attributes):
for (k, func) in attr_dispatch.items ():
children = attrs.get_named_children (k)
if children:
- elts.append (func (attrs))
+ ev = func (attrs)
+ if ev:
+ elts.append (ev)
return elts
return res
+notehead_styles_dict = {
+ 'slash': '\'slash',
+ 'triangle': '\'triangle',
+ 'diamond': '\'diamond',
+ 'square': '\'la', # TODO: Proper squared note head
+ 'cross': None, # TODO: + shaped note head
+ 'x': '\'cross',
+ 'circle-x': '\'xcircle',
+ 'inverted triangle': None, # TODO: Implement
+ 'arrow down': None, # TODO: Implement
+ 'arrow up': None, # TODO: Implement
+ 'slashed': None, # TODO: Implement
+ 'back slashed': None, # TODO: Implement
+ 'normal': None,
+ 'cluster': None, # TODO: Implement
+ 'none': '#f',
+ 'do': '\'do',
+ 're': '\'re',
+ 'mi': '\'mi',
+ 'fa': '\'fa',
+ 'so': None,
+ 'la': '\'la',
+ 'ti': '\'ti',
+ }
+
+def musicxml_notehead_to_lily (nh):
+ styles = []
+
+ # Notehead style
+ style = notehead_styles_dict.get (nh.get_text ().strip (), None)
+ style_elm = musicexp.NotestyleEvent ()
+ if style:
+ style_elm.style = style
+ if hasattr (nh, 'filled'):
+ style_elm.filled = (getattr (nh, 'filled') == "yes")
+ if style_elm.style or (style_elm.filled != None):
+ styles.append (style_elm)
+
+ # parentheses
+ if hasattr (nh, 'parentheses') and (nh.parentheses == "yes"):
+ styles.append (musicexp.ParenthesizeEvent ())
+
+ return styles
+
def musicxml_chordpitch_to_lily (mxl_cpitch):
r = musicexp.ChordPitch ()
r.alteration = mxl_cpitch.get_alteration ()
n.message (_ ("cannot find suitable event"))
if event:
- event.duration = musicxml_duration_to_lily (n)
+ event.duration = musicxml_duration_to_lily (n)
+
+ noteheads = n.get_named_children ('notehead')
+ for nh in noteheads:
+ styles = musicxml_notehead_to_lily (nh)
+ for s in styles:
+ event.add_associated_event (s)
return event
+def musicxml_lyrics_to_text (lyrics):
+ # TODO: Implement text styles for lyrics syllables
+ continued = False
+ text = ''
+ for e in lyrics.get_all_children ():
+ if isinstance (e, musicxml.Syllabic):
+ continued = e.continued ()
+ elif isinstance (e, musicxml.Text):
+ # We need to convert soft hyphens to -, otherwise the ascii codec as well
+ # as lilypond will barf on that character
+ text += string.replace( e.get_text(), u'\xad', '-' )
+ elif isinstance (e, musicxml.Elision):
+ if text:
+ text += " "
+ continued = False
+
+ if text == "-" and continued:
+ return "--"
+ elif text == "_" and continued:
+ return "__"
+ elif continued and text:
+ return musicxml.escape_ly_output_string (text) + " --"
+ elif continued:
+ return "--"
+ elif text:
+ return musicxml.escape_ly_output_string (text)
+ else:
+ return ""
## TODO
class NegativeSkip:
self.pending_multibar = Rational (0)
self.ignore_skips = False
self.has_relevant_elements = False
- self.measure_length = (4, 4)
+ self.measure_length = Rational (4, 4)
def _insert_multibar (self):
layout_information.set_context_item ('Score', 'skipBars = ##t')
r = musicexp.MultiMeasureRest ()
- lenfrac = Rational (self.measure_length[0], self.measure_length[1])
+ lenfrac = self.measure_length
r.duration = rational_to_lily_duration (lenfrac)
r.duration.factor *= self.pending_multibar / lenfrac
self.elements.append (r)
return None
def measure_length_from_attributes (attr, current_measure_length):
- mxl = attr.get_named_attribute ('time')
- if mxl:
- return attr.get_time_signature ()
- else:
- return current_measure_length
+ len = attr.get_measure_length ()
+ if not len:
+ len = current_measure_length
+ return len
def musicxml_voice_to_lily_voice (voice):
tuplet_events = []
voice_builder = LilyPondVoiceBuilder ()
figured_bass_builder = LilyPondVoiceBuilder ()
chordnames_builder = LilyPondVoiceBuilder ()
- current_measure_length = (4, 4)
+ current_measure_length = Rational (4, 4)
voice_builder.set_measure_length (current_measure_length)
for n in voice._elements:
chordnames_builder.add_music (cn, ev_chord.get_length ())
pending_chordnames = []
-
notations_children = n.get_typed_children (musicxml.Notations)
tuplet_event = None
span_events = []
for l in note_lyrics_elements:
if l.get_number () < 0:
for k in lyrics.keys ():
- lyrics[k].append (l.lyric_to_text ())
+ lyrics[k].append (musicxml_lyrics_to_text (l))
note_lyrics_processed.append (k)
else:
- lyrics[l.number].append(l.lyric_to_text ())
+ lyrics[l.number].append(musicxml_lyrics_to_text (l))
note_lyrics_processed.append (l.number)
for lnr in lyrics.keys ():
if not lnr in note_lyrics_processed: