* Trevor Daniels: <t.daniels@treda.co.uk>, Assistant documentation
editor
+ * Colin Hall: Bug meister
+
* Phil Holmes: <mail@philholmes.net> `http://www.philholmes.net'
Build unentangler, Bug squad member
Programming
...........
-Aleksandr Andreev, Sven Axelsson, Peter Chubb, Karin Hoethker, Mark
-Hohl, Justin Ohmie, Benkő Pál, Julien Rioux, Patrick Schmidt, Adam
-Spiers, Heikki Taurainen, Piers Titus van der Torren, Jan-Peter Voigt,
-Janek Warchol
+Aleksandr Andreev, Sven Axelsson, Peter Chubb, Karin Hoethker, Marc
+Hohl, David Nalesnik, Justin Ohmie, Benkő Pál, Julien Rioux, Patrick
+Schmidt, Adam Spiers, Heikki Taurainen, Piers Titus van der Torren,
+Jan-Peter Voigt, Janek Warchol
Font
....
@finalout
-@node Top
-@top New features in 2.16 since 2.14
+@node Top, Fixes and changes after 2.16.0, (dir), (dir)
+@top New features in 2.16
+
+@menu
+* Fixes and changes after 2.16.0::
+* New features in 2.16 since 2.14::
+@end menu
+
@allowcodebreaks false
+@node Fixes and changes after 2.16.0, New features in 2.16 since 2.14, Top, Top
+@section Fixes and changes after 2.16.0
+@table @b
+@item 2.16.1
+Please refer to the bug tracker for
+@uref{http://code.google.com/p/lilypond/issues/list?can=1&q=Fixed_2_16_1,
+issues fixed in 2.16.1}.
+@end table
+
+@node New features in 2.16 since 2.14, , Fixes and changes after 2.16.0, Top
+@section New features in 2.16 since 2.14
@itemize
@ignore
@c ***** Headers *****
+@c For use as the Level 5 header
+@macro subsubsubheading {TEXT}
+@subsubheading @i{\TEXT\}
+@end macro
+
@ifclear snippets-sections
@macro lydoctitle {TEXT}
@need 600
@node Sectioning commands
@subsection Sectioning commands
-Most of the manual operates at the
+The Notation Reference uses section headings at four, occasionally
+five, levels.
+
+@itemize
+
+@item Level 1: @@chapter
+@item Level 2: @@section
+@item Level 3: @@subsection
+@item Level 4: @@unnumberedsubsubsec
+@item Level 5: @@subsubsubheading
+@end itemize
+
+The first three levels are numbered in html, the last two are not.
+Numbered sections correspond to a single html page in the split html
+documents.
+
+The first four levels always have accompanying nodes so they can be
+referenced and are also included in the ToC in html.
+
+Most of the manual is written at level 4 under headings created with
@example
@@node Foo
-@@subsubsection Foo
+@@unnumberedsubsubsec Foo
@end example
-@noindent
-level. Sections are created with
+Level 3 subsections are created with
@example
@@node Foo
No commas may be used in the node names.
@item
-If a heading is desired without creating a @code{@@node}, please use
-the following:
+If a heading is desired without creating a @code{@@node}, please use:
@example
-@@subheading Foo
+@@subsubsubheading Foo
@end example
@item
@menu
@c * Předmluva:: Předmluva.
* Cvičení:: Cvičení na úvod.
-* Běžný notový zápis:: Nejčastější případy notového zápisu.
+* Běžný notový zápis:: Nejčastější případy notového zápisu.
* Základní pojmy:: Základní pojmy, které jsou potřeba kvůli přečtení zbytku této příručky.
* Ladění výstupu:: Úvod do ovlivňování obrazu notového zápisu.
@c * Práce na projektech LilyPondu:: Používání programu ve skutečném životě.
jež se používají pro jeden hlas v jedné notové osnově.
@menu
-* Přezkoušení taktů
+* Přezkoušení taktů::
* Předznamenání a označení tóniny (předznamenání)::
* Ligatury a legatové obloučky::
* Artikulační znaménka a hlasitost::
@code{\layout @{ @}} a @code{\midi @{@}}. Když se objeví v nějakém
souboru, vede to k tomu, že Lilypond vytvoří tisknutelný soubor PDF
popřípadě soubor MIDI. Přesněji jsou popsány v uživatelské příručce -
-doporučení k notovému zápisu -- @ruser{Rozvržení notového zápisu} a
+notace -- @ruser{Rozvržení notového zápisu} a
@ruser{Vytváření souborů MIDI}.
@cindex Notové zápisy, více
@seealso
-Doporučení k notovému zápisu: @ruser{Stavba notového zápisu}.
+Notace: @ruser{Stavba notového zápisu}.
@node Naskládání hudebních výrazů do sebe
@end lilypond
Tento příklad používá příkaz @code{\with}, který bude později
-gvysvětlen ještě přesněji. Jím lze měnit výchozí chování jedné
+vysvětlen ještě přesněji. Jím lze měnit výchozí chování jedné
notové osnovy: Zde se jednoduše říká, že nová notová osnova
se má umístit nad již jsoucí osnovu s názvem
@qq{main} namísto výchozího umístění, které je
@item @code{@{ .. @}}
@tab Uzavírá postupnou část hudby
@item @code{< .. >}
- @tab Uzavírá noty jednoho akkordu
+ @tab Uzavírá noty jednoho akordu
@item @code{<< .. >>}
@tab Uzavírá souběžné hudební výrazy
@item @code{( .. )}
@menu
* Slyším hlasy::
-* Přímo vyjádřené začátky hlasů::
+* Přesně vyjádřené začátky hlasů::
* Hlasy a zpěvy::
@end menu
@noindent
@code{NoteB} se zřetelem na @code{NoteA} @*
@code{NoteC} se zřetelem na @code{NoteB}, ne @code{noteA}; @*
-@code{NoteD} se zřetelem na @code{NoteB}, ne @code{NoteA} oder
+@code{NoteD} se zřetelem na @code{NoteB}, ne @code{NoteA} nebo
@code{NoteC}; @*
@code{NoteE} se zřetelem na @code{NoteD}, ne @code{NoteA}.
}
@end lilypond
-Die Richtung der Hälse wird oft benutzt, um anzuzeigen, dass zwei
-gleichzeitige Melodien sich fortsetzen. Hier zeigen die Hälse aller
-oberen Noten nach oben und die Hälse aller unteren Noten nach unten.
-Das ist der erste Anhaltspunkt, dass mehr als eine Stimme benötigt
-wird.
-
-Aber die wirkliche Notwendigkeit für mehrere Stimmen tritt erst
-dann auf, wenn unterschiedliche Noten gleichzeitig erklingen, aber
-unterschiedliche Dauern besitzen. Schauen Sie sich die Noten
-auf dem dritten Schlag im ersten Takt an. Das As ist eine punktierte
-Viertel, das F ist eine Viertel und das Des eine Halbe. Sie können
-nicht als Akkord geschrieben werden, denn alle Noten in einem Akkord
-besitzen die gleiche Dauer. Sie können aber auch nicht nacheinander
-geschrieben werden, denn sie beginnen auf der gleichen Taktzeit. Dieser
-Taktabschnitt benötigt drei Stimmen, und normalerweise schreibt man
-drei Stimmen für den ganzen Takt, wie im Beispiel unten zu sehen ist;
-hier sind unterschiedliche Köpfe und Farben für die verschiedenen Stimmen
-eingesetzt. Noch einmal: der Quellcode für dieses Beispiel wird später
-erklärt werden, deshalb ignorieren Sie alles, was Sie hier nicht
-verstehen können.
+Směr nožičky se často používá k tomu, aby se ukázala souvislost
+dvou souběžných melodií. Zde ukazují nožičky všech horních
+not nahoru a nožičky všech dolních not dolů.
+To je první známkou toho, že je potřeba více než jeden
+hlas.
+
+Ale skutečná nezbytnost více hlasů nadejde teprve tehdy,
+když současně zaznívají různé noty, které začínají ve stejnou dobu,
+mají rozdílné doby trvání. Podívejte se na noty, jež začínají na
+třetí době prvního taktu. As je tečkovaná čtvrťová nota,
+F je čtvrťová nota a Des je půlová nota. Nemohou být
+zapsány jako akord, protože všechny noty jednoho akordu
+mají stejnou dobu trvání. Nemohou být ale zapsány ani jako jdoucí po sobě,
+protože musí začínat v tutéž dobu. Tato část taktu
+potřebuje tři hlasy, a běžně se zapisují tři hlasy
+pro celý takt, jak je to vidět na příkladu níže;
+kde jsou použity různé hlavičky not a barvy pro různé
+hlasy. Ještě jednou: Zdrojový kód pro tento příklad bude později
+vysvětlen znovu, proto si nevšímejte ničeho, čemu zde nemůžete
+porozumět.
@c The following should appear as music without code
@c The three voice styles should be defined in -init
}
@end lilypond
-Versuchen wir also, diese Musik selber zu notieren. Wie wir sehen
-werden, beinhaltet das einige Schwierigkeiten. Fangen wir an, wie
-wir es gelernt haben, indem wir mit der @code{<< \\ >>}-Konstruktion
-die drei Stimmen des ersten Taktes notieren:
+Pokusme se tedy tyto noty zapsat od začátku. Jak je zde
+vidět, je tu obsaženo několik potíží. Začneme, jak jsme
+se to naučili, pomocí konstrukcí @code{<< \\ >>},
+kterou zapíšeme tři hlasy prvního taktu:
@lilypond[quote,verbatim,ragged-right]
\new Staff \relative c'' {
}
@end lilypond
-@cindex Hals nach unten
-@cindex Hals nach oben
-@cindex Notenhals, Richtung
-@cindex Richtung des Notenhalses
-@cindex Notenhalsrichtung
-@cindex Stimmen und Notenhalsrichtung
-@cindex Notenhalsrichtung in Stimmen
-
-Die Richtung des Notenhalses wird automatisch zugewiesen; die ungeraden
-Stimmen tragen Hälse nach oben, die gerade Hälse nach unten. Die Hälse
-für die Stimmen 1 und 2 stimmen, aber die Hälse in der dritten Stimme
-sollen in diesem Beispiel eigentlich nach unten zeigen. Wir können das
-korrigieren, indem wir die dritte Stimme einfach auslassen und die
-Noten in die vierte Stimme verschieben. Das wird einfach vorgenommen,
-indem noch ein Paar @code{\\}-Stimmen hinzugefügt wird.
+@cindex Nožička dolů
+@cindex Nožička nahoru
+@cindex Notová nožička, Směr
+@cindex Směr notové nožičky
+@cindex Hlasy a směr notové nožičky
+@cindex Směr notové nožičky ve hlasech
+
+Směr notové nožičky je přiřazen automaticky; hlasy s lichým
+číslem nesou nožičky nahoru, sudé mají nožičky dolů. Nožičky
+pro hlasy 1 a 2 jsou správně, ale nožičky třetího hlasu
+by v tomto příkladu měly vlastně ukazovat dolů. Můžeme to opravit
+jednoduše tak, že vypustíme třetí hlas, přeskočíme jej a noty
+umístíme do čtvrtého hlasu. To se udělá jednoduše přidáním
+páru @code{\\}.
@lilypond[quote,verbatim,ragged-right]
\new Staff \relative c'' {
@end lilypond
@noindent
-Wie zu sehen ist, ändert das die Richtung der Hälse, aber zeigt ein
-anderes Problem auf, auf das man manchmal bei mehreren Stimmen stößt:
-Die Hälse einer Stimme können mit den Hälsen anderer Stimmen kollidieren.
-LilyPond erlaubt Noten in verschiedenen Stimmen sich auf der gleichen
-vertikalen Position zu befinden, wenn die Hälse in entgegengesetzte
-Richtungen zeigen, und positioniert die dritte und vierte Stimme dann
-so, dass Zusammenstöße möglichst vermieden werden. Das funktioniert
-gewöhnlich recht gut, aber in diesem Beispiel sind die Noten der untersten
-Stimme eindeutig standardmäßig schlecht positioniert. LilyPond bietet
-verschiedene Möglichkeiten, die horizontale Position von Noten
-anzupassen. Wir sind aber noch nicht so weit, dass wir diese Funktionen
-anwenden könnten. Darum heben wir uns das Problem für einen späteren Abschnitt auf; siehe @code{force-hshift}-Eigenschaft in
+Vidíme, že se tím mění směr nožiček, ale ukazuje se jiný
+problém, na který se někdy při více hlasech narazí:
+Nožičky not jednoho hlasu se mohou střetávat s nožičkami jiného hlasu.
+LilyPond dovoluje notám různých hlasů, aby se nacházely ve
+stejné svislé poloze, za předpokladu že nožičky ukazují v opačných
+směrech, a třetí a čtvrtý hlas pak umísťuje tak, aby pokud možno
+k vzájemnému střetu nedocházelo. Obvykle to pracuje
+dobře, ale v tomto případě jsou noty nejnižšího hlasu
+zřetelně nedobře umístěny. LilyPond nabízí několik různých způsobů,
+jak vodorovnou polohu not přizpůsobit. Nejsme však ještě tak daleko,
+abychom tyto funkce mohli použít. Proto
+tento problém odložíme na později; viz vlastnost @code{force-hshift} v
@ref{Oprava překrývajících se not}.
@seealso
-Notationsreferenz: @ruser{Mehrere Stimmen}.
+Notace: @ruser{Více hlasů}.
-@node Přímo vyjádřené začátky hlasů
-@subsection Přímo vyjádřené začátky hlasů
+@node Přesně vyjádřené začátky hlasů
+@subsection Přesně vyjádřené začátky hlasů
@translationof Explicitly instantiating voices
@funindex \voiceOne
@funindex \oneVoice
@funindex oneVoice
@funindex \new Voice
-@cindex Voice context, erstellen von
-@cindex Stimmenkontexte, erstellen von
+@cindex Vytvoření prostředí hlasu
+@cindex Prostředí hlasu, vytvoření
-Voice-Kontexte können auch manuell innerhalb
-eines @code{<< >>}-Abschnittes initiiert werden. Mit den Befehlen
-@code{\voiceOne} bis hin zu @code{\voiceFour} kann jeder Stimme
-entsprechendes Verhalten von vertikaler Verschiebung und Richtung
-von Hälsen und anderen Objekten hinzugefügt werden. In längeren
-Partituren können die Stimmen damit besser auseinander gehalten
-werden.
+Prostředí hlasů lze vytvářet i ručně uvnitř bloku @code{<< >>}
+pro vytvoření vícehlesé hudby. Pomocí příkazů @code{\voiceOne} až
+@code{\voiceFour} lze ke každému hlasu přidat odpovídající chování
+svislého posunu a požadované směry nožiček, legatové obloučky
+a jiné předměty. V delších notových zápisech je tento způsob čistší,
+protože dovoluje, aby byly hlasy odděleny a aby se jim daly
+popisnější názvy.
-Die @code{<< \\ >>}-Konstruktion, die wir im vorigen Abschnitt
-verwendet haben:
+Stavba @code{<< \\ >>}, kterou jsme použili v předchozím
+úryvku:
@example
\new Staff @{
>>
@end example
-Beide würden folgendes Notenbild erzeugen:
+Obojí výše by vytvořilo následující notový obraz:
@c The following example should not display the code
@lilypond[ragged-right,quote]
>>
@end lilypond
-@cindex Stimmen, mehrere zu einer zusammenführen
-@cindex eine Stimme wiederherstellen
+@cindex Hlasy, sloučení více do jednoho
+@cindex Obnovení jednoho hlasu
-Der @code{\voiceXXX}-Befehl setzt die Richtung von Hälsen,
-Bögen, Artikulationszeichen, Text, Punktierungen und Fingersätzen.
-@code{\voiceOne} und @code{\voiceThree} lassen diese Objekte
-nach oben zeigen, @code{\voiceTwo} und @code{\voiceFour}
-dagegen lassen sie abwärts zeigen. Diese Befehle erzeugen eine
-horizontale Verschiebung, wenn es erforderlich ist, um Zusammenstöße
-zu vermeiden. Der Befehl
-@code{\oneVoice} stellt wieder auf das normale Verhalten um.
+Příkazy @code{\voiceXXX} nastavuje směr nožiček, legata
+ligatury, artikulace, textové poznámky, tečkování tečkovaných not
+a prstoklady. @code{\voiceOne} a @code{\voiceThree} nechají tyto
+předměty ukazovat nahoru, @code{\voiceTwo} a @code{\voiceFour} je
+naproti tomu nechají ukazovat dolů. Tyto příkazy rovněž vytvářejí
+vodorovný posun pro každý hlas, když se vyžaduje vyvarování se
+střetům notových hlaviček. Příkaz @code{\oneVoice} nastavení vrací
+na obvyklou hodnotu pro jeden hlas.
-Schauen wir uns in einigen einfachen Beispielen an, was genau
-die Befehle @code{\oneVoice}, @code{\voiceOne} und @code{voiceTwo}
-mit Text, Bögen und Dynamikbezeichnung anstellen:
+Podívejme se na některých jednoduchých příkladech, jaký přesně
+mají příkazy @code{\oneVoice}, @code{\voiceOne} a @code{voiceTwo}
+účinek na text, obloučky a označení dynamiky:
@lilypond[quote,ragged-right,verbatim]
\relative c' {
}
@end lilypond
-Schauen wir und nun drei unterschiedliche Arten an, den gleichen
-Abschnitt polyphoner Musik zu notieren, jede Art mit ihren
-Vorteilen in unterschiedlichen Situationen. Wir benutzen dabei
-das Beispiel vom vorherigen Abschnitt.
+Nyní se podívejme na tři různé způsoby zápisu té samé pasáže
+vícehlasé hudby, z nichž každý má své výhody za jiných
+okolností. Použijeme k tomu příklad z předchozí části.
-Ein Ausdruck, der direkt innerhalb einer @code{<< >>}-Umgebung
-auftritt, gehört der Hauptstimme an. Das ist nützlich, wenn zusätzliche
-Stimme auftreten, während die Hauptstimme sich fortsetzt. Hier also
-eine bessere Version des Beispiels aus dem vorigen Abschnitt. Die
-farbigen Kreuz-Notenköpfe zeigen, dass die Hauptstimme sich jetzt in
-einem einzigen Stimmen (@code{voice})-Kontext befindet. Somit kann ein
-Phrasierungsbogen ober sie gesetzt werden.
+Výraz, který se vyskytuje přímo uvnitř @code{<< >>}, náleží
+hlavnímu hlasu (ale všimněte si @strong{not} ve stavbě @code{<< \\ >>}).
+Toto je užitečné, když se objeví dodatečné hlasy, zatímco hlavní hlas pokračuje.
+Zde je lepší verze našeho příkladu z předchozí části. Hlavičky not ve
+tvaru červeného diamantu ukazují, že se hlavní hlas nachází v prostředí
+jednotlivého hlasu. Tím se může frázovací oblouček malovat nad ně.
@lilypond[quote,ragged-right,verbatim]
\new Staff \relative c' {
}
@end lilypond
-@cindex Verschachteln von musikalischen Ausdrücken
+@cindex Vnoření hudebních výrazů
@cindex Verschachteln von gleichzeitigen Ausdrücken
-@cindex Ausdrücke, Verschachteln von
-@cindex Stimmen, temporär
-@cindex Stimmen, Verschachteln von
-@cindex Verschachteln von Stimmen
-@cindex temporäre Stimmen
+@cindex Výrazy, vnoření
+@cindex Hlasy, dočasné
+@cindex Hlasy, vnoření
+@cindex Vnoření hlasů
+@cindex Dočasné hlasy
-Tiefer verschachtelte polyphone Konstrukte sind möglich, und
-wenn eine Stimme nur kurz auftaucht, kann das der bessere Weg
-sein, Noten zu setzen:
+Hlouběji vnořené vícehlasé stavby jsou možné, a pokud se
+hlas objeví jen krátce, může to být přirozenější způsob
+sázení not:
@lilypond[quote,ragged-right,verbatim]
\new Staff \relative c' {
}
@end lilypond
-@cindex Platzhalternoten
-@cindex unsichtbare Noten
-@cindex Noten verstecken
+@cindex Noty držící místo
+@cindex Neviditelné noty
+@cindex Skrytí not
-Diese Methode, neue Stimmen kurzzeitig zu verschachteln, bietet sich
-an, wenn nur sehr kleine Abschnitte polyphonisch gesetzt sind. Wenn
-aber die ganze Partitur polyphon ist, ist es meistens klarer, direkt
-unterschiedliche Stimmen über die gesamte Partitur hinweg einzusetzen.
-Hierbei kann man mit unsichtbaren Noten dann die Stellen überspringen,
-an denen die Stimme nicht auftaucht, wie etwa hier:
+Tento způsob krátkodobého vnoření nových hlasů je užitečný,
+když jsou vícehlasé jen malé části hudby. Ale když je vícehlasá celá
+osnova, je většinou jasnější použití více hlasů v celé osnově. Tady
+se dají místa, kde se hlas nevyskytuje, přeskočit pomocí neviditelných not,
+jako je tomu zde:
@lilypond[quote,ragged-right,verbatim]
\new Staff \relative c' <<
>>
@end lilypond
-@subsubheading Notenkolumnen
+@subsubheading Notové sloupce
-@cindex Notenkolumne
-@cindex Notenkollision
-@cindex Zusammenstöße von Noten
-@cindex Kollisionen von Noten
-@cindex Vertikale Position
-@cindex shift-Befehle
-@cindex Verschieben von Noten
+@cindex Notové sloupce
+@cindex Notové střety
+@cindex Svislé umístění
+@cindex Příkazy shift
+@cindex Posunutí not
@funindex \shiftOff
@funindex \shiftOn
@funindex \shiftOnn
@funindex shiftOnn
@funindex shiftOnnn
-Dicht notierte Noten in einem Akkord, oder Noten auf der gleichen
-Taktzeit aber in unterschiedlichen Stimmen, werden in zwei, manchmal
-auch mehreren Kolumnen gesetzt, um die Noten am Überschneiden zu
-hindern. Wir bezeichnen sie als Notenkolumnen. Jede Stimme hat
-eine eigene Kolumne, und ein stimmenabhängiger Verschiebunsbefehl (engl.
-shift) wird eingesetzt, wenn eine Kollision auftreten könnte.
-Das zeigt das Beispiel oben. Im zweiten Takt wird das C der zweiten
-Stimme nach rechts verschoben, relativ gesehen zum D der ersten Stimme,
-und im letzten Akkord wird das C der dritten Stimme auch nach
-rechts verschoben im Verhältnis zu den anderen Stimmen.
-
-Die Befehle @code{\shiftOn}, @code{\shiftOnn}, @code{\shiftOnnn} und
-@code{\shiftOff} bestimmen den Grad, zu dem Noten und Akkorde
-verschoben werden sollen, wenn sich sonst eine Kollision nicht
-vermeiden ließe. Die Standardeinstellung ist, dass die äußeren
-Stimmen (also normalerweise Stimme 1 und 2) @code{\shiftOff}
-eingestellt haben, während für die inneren Stimmen (3 und 4)
-@code{\shiftOn} eingeschaltet ist. Wenn eine Verschiebung
-auftritt, werden Stimmen 1 und 3 nach rechts und Stimmen 2 und 4
-nach links verschoben.
-
-@code{\shiftOnn} und @code{\shiftOnnn} definieren weitere
-Verschiebungsebenen, die man kurzzeitig anwählen kann, um
-Zusammenstöße in komplexen Situationen aufzulösen, siehe auch
-@ref{Příklady ze života}.
-
-Eine Notenkolumne kann nur eine Note (oder einen Akkord) von
-einer Stimme mit Hälsen nach oben und eine Note (oder einen
-Akkord) von einer Stimme mit Hälsen nach unten tragen. Wenn
-Noten von zwei Stimmen mit den Hälsen in die gleiche Richtung
-an der selben Stelle auftreten und in beiden Stimmen ist
-keine Verschiebung oder die gleiche Verschiebungsebene
-definiert, wird die Fehlermeldung
-@qq{zu viele kollidierende Notenspalten werden ignoriert}
-ausgegeben.
+Hustě zapisované noty v akordu, nebo noty vyskytující se ve stejnou
+dobu ale v různých hlasech, jsou uspořádány do dvou, někdy i do více,
+sloupců, aby se zabránilo překrytí hlaviček not. Označují se jako
+notové sloupce. Každý hlas má svůj vlastní sloupec, a příkaz pro posun
+závislý na hlase (ang. shift) se na notový sloupec použije, jestliže
+by jinak došlo ke střetu. To ukazuje příklad výše. Ve druhém taktu
+je C druhého hlasu posunuto doprava, ve vztahu k D v prvním hlasu, a
+v posledním akordu je C v třetím hlasu posunuto doprava, ve vztahu
+k jiným hlasům.
+
+Příkazy @code{\shiftOn}, @code{\shiftOnn}, @code{\shiftOnnn} a
+@code{\shiftOff} určují stupeň, k němuž se mají noty a akordy
+hlasu posunout, když se nedá vyhnout střetu jinak. Ve výchozím
+nastavení se vnější hlasy nastavují (obyčejně jde o hlasy
+jedna a dva) tak, že mají stanoveno @code{\shiftOff}, zatímco pro
+vnitřní hlasy (tři a čtyři) je stanoveno @code{\shiftOn}.
+Když se použije posunutí, posunou se hlasy jedna a tři doprava
+a hlasy dva a čtyři doleva.
+
+@code{\shiftOnn} a @code{\shiftOnnn} stanovují další úrovně posunu,
+které mohou být stanoveny krátkodobě kvůli vyřešení střetů
+ve složitých situacích. Podívejte se také na @ref{Příklady ze života}.
+
+Notový sloupec může obsahovat jen jednu notu (nebo jeden akord) hlasu
+s nožičkami nahoru a jednu notu (nebo jeden akord) hlasu
+s nožičkami dolů. Pokud jsou na témže místě umístěny noty dvou hlasů,
+které mají své nožičky v tomtéž směru, a u obou hlasů není žádný
+posun, nebo je stanoven stejný posun, je vydáno hlášení o chybě
+@qq{Příliš mnoho střetávajících se notových sloupců}.
@seealso
-Notationsreferenz: @ruser{Mehrere Stimmen}.
+Notace: @ruser{Více hlasů}.
@node Hlasy a zpěvy
@subsection Hlasy a zpěvy
@translationof Voices and vocals
-Die Notation von Vokalmusik ihre eigene Schwierigkeit, nämlich
-die Kombination von zwei Ausdrücken: den Noten und dem Text.
-Achtung: Der Gesangstext wird auf Englisch @qq{lyrics} genannt.
+Notový zápis vokální hudby má své vlastní obtíže, je totiž
+potřeba spojení dvou výrazů: not a textu.
+Pozor: Textu písně se v angličtině říká @qq{lyrics}.
@funindex \new Lyrics
@funindex \lyricsto
@funindex lyricsto
@funindex Lyrics
-@cindex Lyrics context, erstellen
-@cindex Gesangtext, Verbindung mit Noten
-
-Wir haben schon den @code{\addlyrics@{@}}-Befehl betrachtet,
-mit dem einfache Partituren gut erstellt werden können.
-Diese Methode ist jedoch recht eingeschränkt. Wenn der Notensatz
-komplexer wird, muss der Gesangstext mit einem neuen
-@code{Lyrics}-Kontext begonnen werden (mit dem Befehl
-@code{\new Lyrics}) und durch den Befehl @code{\lyricsto@{@}}
-mit einer bestimmten Stimme verknüpft werden, indem die
-Bezeichnung der Stimme benutzt wird.
+@cindex Prostředí text písně, vytvoření
+@cindex Text písně, spojení s notami
+
+Již jste viděli příkaz @code{\addlyrics@{@}}, s nímž lze
+dobře vytvářet jednoduché osnovy. Tento způsobem je ale docela
+omezený. U složitějších not se musí text písně začít novým prostředím
+@code{Lyrics} (pomocí příkazu @code{\new Lyrics}) a přesně
+spojit text s notami určitého hlasu příkazem @code{\lyricsto@{@}} tak, že
+se použije označení přiřazené hlasu.
@lilypond[quote,verbatim]
<<
>>
@end lilypond
-Beachten Sie, dass der Notentext nur mit einem @code{Voice}-Kontext
-verknüpft werden kann, nicht mit einem @code{Staff}-Kontext.
-In diesem Fall also müssen Sie ein System (@code{Staff}) und
-eine Stimme (@code{Voice}) explizit erstellen, damit alles
-funktioniert.
+Všimněte si, že text k notám může být spojen jedině s prostředím
+@code{Voice}, @emph{ne} s prostředím @code{Staff}. V tomto
+případě je také nutné přesně vytvořit prostředí osnovy @code{Staff}
+a hlasu @code{Voice}, aby všechno fungovalo.
-@cindex Gesangstext und Balken
-@cindex Text und Balken
-@cindex Balken und Text
+@cindex Text písně a trámce
+@cindex Text a trámce
+@cindex Trámce a text
@funindex \autoBeamOff
@funindex autoBeamOff
-Die automatischen Balken, die LilyPond in der Standardeinstellung
-setzt, eignen sich sehr gut für instrumentale Musik, aber nicht
-so gut für Musik mit Text, wo man entweder gar keine Balken
-benutzt oder sie einsetzt, um Melismen zu verdeutlichen.
-Im Beispiel oben wird deshalb der Befehl @code{\autoBeamOff}
-eingesetzt um die automatischen Balken (engl. beam) auszuschalten.
+Automatické trámce, jež LilyPond používá ve výchozím nastavení, pracují
+dobře pro instrumentální hudbu, ale ne tak dobře v případě hudby s textem,
+kde se trámce nepožadují buď vůbec, nebo se jich užívá na ukázání
+melismat v textu písně. V příkladu výše se používá příkaz
+@code{\autoBeamOff} k vypnutí automatických trámců (ang. beam).
@funindex \new ChoirStaff
@funindex \lyricmode
@funindex ChoirStaff
@funindex lyricmode
-@cindex Vokalpartitur, Aufbau
-@cindex Chorpartitur, Aufbau
-
-Wir wollen das frühere Beispiel von @notation{Judas Maccabæus}
-benutzen, um diese flexiblere Technik für Gesangstexte
-zu illustrieren. Das Beispiel wurde so umgeformt, dass jetzt
-Variablen eingesetzt werden, um den Text und die Noten
-von der Partiturstruktur zu trennen. Es wurde zusätzlich
-eine Chorpartiturklammer hinzugefügt. Der Gesangtext muss mit
-@code{\lyricmode} eingegeben werden, damit er als Text und
-nicht als Noten interpretiert werden kann.
+@cindex Vokální notový zápis, stavba
+@cindex Sborový notový zápis, stavba
+
+Chceme použít dřívější příklad @notation{Judas Maccabæus}
+na znázornění těchto průžných technik pro texty písní. Příklad
+byl předělán tak, aby se teď dosadily proměnné, aby byl oddělen
+text a noty od stavby notového zápisu. Byla dodatečně přidána
+závorka sborového notového zápisu. Text písně se musí zadat s
+@code{\lyricmode}, aby byl vykládán jako text a
+ne jako noty.
@lilypond[quote,verbatim]
global = { \key f \major \time 6/8 \partial 8 }
}
@end lilypond
-Dies ist die Grundstruktur für alle Chorpartituren. Mehr
-Systeme können hinzugefügt werden, wenn sie gebraucht werden, mehr
-Stimmen können zu jedem System hinzugefügt werden, mehr
-Strophen können zum Text hinzugefügt werden, und schließlich
-können die Variablen schnell in eine eigene Datei verschoben
-werden, wenn sie zu lang werden sollten.
-
-@cindex Choralnotation
-@cindex Hymnus-Notation
-@cindex SATB-Partitur
-@cindex mehrere Strophen
-@cindex Strophen, mehrere
-@cindex Choral mit mehreren Strophen
-
-Hier ein Beispiel der ersten Zeile eines Chorals mit vier
-Strophen für gemischten Chor. In diesem Fall ist der Text
-für alle vier Stimmen identisch. Beachten Sie, wie die
-Variablen eingesetzt werden, um Inhalt (Noten und Text) und Form
-(die Partitur) voneinander zu trennen. Eine Variable wurde
-eingesetzt, um die Elemente, die auf beiden Systemen auftauchen,
-aufzunehmen, nämlich Taktart und Tonart. Solch eine
-Variable wird oft auch mit @qq{global} bezeichnet.
+Toto je základní stavba pro všechny notové zápisy sboru. Je
+možné přidat více velkých osnov, když jsou potřeba. Ke každé
+velké osnově je možné přidat více hlasů, je možné přidat více
+slok k textu, a konečně lze proměnné rychle přesunout do
+vlastního souboru, když by se staly příliš dlouhými.
+
+@cindex Chorálová notace
+@cindex Notace hymnu
+@cindex Notový zápis SATB
+@cindex Více slok
+@cindex Sloky, více
+@cindex Choral s více slokami
+
+Zde příklad prvního řádku chorálu se čtyřmi slokami
+pro smíšený sbor. V tomto případě je text pro všechny
+čtyři hlasy stejný. Všimněte si, jak se dosazují proměnné,
+aby od sebe oddělily obsah (noty a text) a formu (notový
+zápis). Byla dosazena proměnné, aby přijala prvky,
+které se objevují na obou, osnovách, totiž druh taktu a
+tóninu. Taková proměnná se často označuje @qq{global}.
@lilypond[quote,verbatim]
keyTime = { \key c \major \time 4/4 \partial 4 }
@seealso
-Notation Reference: @ruser{Notation von Gesang}.
+Notace: @ruser{Notový zápis zpěvu}.
@node Prostředí a rytci
@lilypond[quote,verbatim,ragged-right]
\new Staff \with {
- \remove Staff_symbol_engraver
+ \remove "Staff_symbol_engraver"
}
\relative c' {
c4 d
@lilypond[quote,verbatim,ragged-right]
\new Staff <<
\new Voice \with {
- \consists Ambitus_engraver
+ \consists "Ambitus_engraver"
} {
\relative c'' {
\voiceOne
@lilypond[quote,verbatim,ragged-right]
\new Staff \with {
- \consists Ambitus_engraver
+ \consists "Ambitus_engraver"
}
<<
\new Voice {
\layout {
\context {
\Staff
- \consists Ambitus_engraver
+ \consists "Ambitus_engraver"
}
}
}
@node Přeložení zdrojového souboru
-@subsection Přeložení zdrojového souboru
+@section Přeložení zdrojového souboru
@translationof Compiling a file
Tento úryvek uvádí do @qq{sestavování} -- do procesu zpracování
Einheit die Breite einer Kolumne, also die Breite des Notenkopfes der
ersten Stimme. Diese Eigenschaft kann in Situationen benutzt werden,
in denen die normalen @code{\shiftOn}-Befehle (siehe auch
-@ref{Přímo vyjádřené začátky hlasů}) das Problem nicht beseitigen.
+@ref{Přesně vyjádřené začátky hlasů}) das Problem nicht beseitigen.
Diese Eigenschaft ist besser in solchen Fällen zu verwenden als die
@code{extra-offset}-Eigenschaft, weil man die richtige Entfernung nicht
in Notenlinienabständen ausrechnen muss. Wenn eine Note in eine
zusätzlichen drei Stimmen nur zeitweise zu erstellen, wenn sie
auftreten. Wenn Sie vergessen haben, wie man das anstellt,
schauen Sie sich nochmal den Abschnitt @ref{Slyším hlasy}
-und @ref{Přímo vyjádřené začátky hlasů} an. Hier wollen wir explizit
+und @ref{Přesně vyjádřené začátky hlasů} an. Hier wollen wir explizit
begonnene Stimmen für die polyphone Stelle benutzen, weil LilyPond
Kollisionen besser vermeidet, wenn alle Stimmen auf diese Weise
explizit begonnen werden.
<textobject>
<programlisting language="lilypond" role="fragment verbatim staffsize=16 ragged-right relative=2">
\context Staff \with @{
- \remove Time_signature_engraver
- \remove Clef_engraver@}
+ \remove "Time_signature_engraver"
+ \remove "Clef_engraver"@}
@{ c4( fis) @}
</programlisting>
</textobject>
@c -*- coding: utf-8; mode: texinfo; -*-
@ignore
- Translation of GIT committish: 233fb6a8b3b6e31de1841641dbbd4c4f43423151
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
\layout {
\context {
\Staff
- \consists Horizontal_bracket_engraver
+ \consists "Horizontal_bracket_engraver"
}
}
}
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: 8cbb38db1591ab95a178643e7bf41db018aa22c0
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; -*-
@ignore
- Translation of GIT committish: 32b9cd030a1917570346e9b9ea267fe409156b2f
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
\override Stem #'length = #(* 7.0 mag)
\override NoteHead #'font-size =
#(inexact->exact (* (/ 6.0 (log 2.0)) (log mag)))
- $music
+ #music
\revert Stem #'length
\revert NoteHead #'font-size
#})
"Draw a double box around text."
(interpret-markup layout props
#@{\markup \override #'(box-padding . 0.4) \box
- \override #'(box-padding . 0.6) \box @{ $text @}#@}))
+ \override #'(box-padding . 0.6) \box @{ #text @}#@}))
@end lisp
oder äquivalent
(interpret-markup layout props
#@{\markup \override #`(box-padding . ,inter-box-padding) \box
\override #`(box-padding . ,box-padding) \box
- @{ $text @} #@}))
+ @{ #text @} #@}))
@end lisp
Wiederum wäre die entsprechende Version mit dem @code{markup}-Makro
(interpret-markup layout props
#{\markup \override #`(box-padding . ,inter-box-padding) \box
\override #`(box-padding . ,box-padding) \box
- { $text } #}))
+ { #text } #}))
\markup \double-box A
\markup \override #'(inter-box-padding . 0.8) \double-box A
#(define-markup-list-command (paragraph layout props args) (markup-list?)
#:properties ((par-indent 2))
(interpret-markup-list layout props
- #@{\markuplist \justified-lines @{ \hspace #par-indent $args @} #@}))
+ #@{\markuplist \justified-lines @{ \hspace #par-indent #args @} #@}))
@end example
Die Version nur in Scheme ist etwas komplexer:
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: 233fb6a8b3b6e31de1841641dbbd4c4f43423151
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
* LilyPond Scheme-Syntax::
* LilyPond-Variablen::
* Eingabe-Variablen und Scheme::
+* Scheme in LilyPond importieren::
* Objekteigenschaften::
* Zusammengesetzte LilyPond-Variablen::
* Interne musikalische Repräsentation::
übergeben.
Das ist auch der gleiche Mechanismus, nach dem LilyPond funktioniert, wenn man eine Variable oder musikalische Funktion mit ihrer Bezeichnung ausruft, wie
-in @code{\Bezeichnung}, mit dem einzigen Unterschied, dass ihr Ende durch den
+in @code{\Bezeichnung}, mit dem einzigen Unterschied, dass ihre Bezeichnung durch den
LilyPond-Lexer bestimmt wird, ohne den Scheme-reader einzubeziehen, und also
nur Variablen akzeptiert werden, die im aktuellen LilyPond-Modus gültig sind.
-Die direkte Auswirkung von @code{$} kann zu Überraschungen führen, siehe auch
+Die direkte Auswirkung von @code{$} kann zu Überraschungen führen, siehe
@ref{Eingabe-Variablen und Scheme}. Es bietet sich daher an, @code{#} immer
-zu benützen, wenn der Parser es unterstützt.
+zu benützen, wenn der Parser es unterstützt. Innerhalb von musikalischen
+Ausdrücken werden Ausdrücke, die mit @code{#} erstellt werden, @emph{tatsächlich}
+als Noten interpretiert. Sie werden jedoch @emph{nicht} vor der Benutzung
+kopiert. Wenn Sie Teil einer Struktur sind, die noch einmal benutzt werden
+soll, muss man eventuell @code{ly:music-deep-copy} explizit einsetzen.
+
+@funindex $@@
+@funindex #@@
+
+Es gibt auch die Operatoren @code{$@@} und @code{#@@}, die eine @qq{listentrennende}
+Funktion aufweisen, indem sie alle Elemente einer Liste in den umgebenden
+Kontext einfügen.
Jetzt wollen wir uns tatsächlichen Scheme-Code anschauen. Scheme-Prozeduren
können in LilyPond-Eingabedateien definiert werden:
#(define twice
(make-sequential-music newLa))
-{ \twice }
+\twice
@end lilypond
Das ist ein interessantes Beispiel. Die Zuweisung findet erst statt,
auszuwerten, so dass er weiterlesen und erst @emph{danach}
wird der Scheme-Code ohne Probleme ausführen kann.
+
+@node Scheme in LilyPond importieren
+@subsection Scheme in LilyPond importieren
+@translationof Importing Scheme in LilyPond
+
+@funindex $
+@funindex #
+
Das Beispiel zeigt, wie man musikalische Ausdrücke aus der Eingabe in den
Scheme-Auswerter @qq{exportieren} kann. Es geht auch andersherum. Indem
man Scheme-Werte nach @code{$} schreibt, wird ein
@example
...
-@{ $(make-sequential-music (list newLa)) @}
+$(make-sequential-music newLa)
@end example
Mann kann @code{$} zusammen mit einem Scheme-Ausdruck überall benutzen,
noch nicht definiert worden wäre. Zu einer Erklärung dieses Timingproblems
siehe @ref{LilyPond Scheme-Syntax}.
-Auf jeden Fall findet die Auswertung des Scheme-Codes spätestens im Parser
-statt. Wenn man es noch später ausgeführt haben möchte, muss man
+@funindex $@@
+@funindex #@@
+
+Eine weitere Bequemlichkeit können die @qq{listentrennenden} Operatoren
+@code{$@@} und @code{#@@} bieten, indem sie die Elemente einer Liste
+in den umgebenden Kontext einfügen. Wenn man sie einsetzt, hätte der
+letzte Teil des Beispiels auch so geschrieben werden können:
+
+@example
+...
+@{ #@@newLa @}
+@end example
+
+Hier wird jedes Element der Liste, welche in @code{newLa} gespeichert ist,
+der Reihenfolge nach genommen und in die Liste eingefügt, als ob man
+geschrieben hätte:
+
+@example
+@{ #(first newLa) #(second newLa) @}
+@end example
+
+In allen diesen Formen findet die Auswertung des Scheme-Codes statt,
+während die Eingabe noch gelesen wird, entweder im Lexer oder im Parser.
+Wenn man es später ausgeführt haben möchte, muss man
@ref{Leere Scheme-Funktionen} benutzen oder es in einem Makro speichern:
@example
@example
@{
- $(with-output-to-file "display.txt"
+ #(with-output-to-file "display.txt"
(lambda () #@{ \displayMusic @{ c'4\f @} #@}))
@}
@end example
@noindent
in LilyPond nicht funktioniert. Das Problem könnte vermieden
-werden, indem das Artikulationszeichen an eine Pseudonote
+werden, indem das Artikulationszeichen an einen leeren Akkord
gehängt wird:
@example
-@{ << \music s1*0-.-> @}
+@{ << \music <> -. -> >> @}
@end example
@noindent
@lilypond[quote,verbatim,ragged-right]
tempoPadded = #(define-music-function (parser location padding tempotext)
- (number? string?)
+ (number? markup?)
#{
- \once \override Score.MetronomeMark #'padding = $padding
+ \once \override Score.MetronomeMark #'padding = #padding
\tempo \markup { \bold #tempotext }
#})
\relative c'' {
\tempo \markup { "Low tempo" }
c4 d e f g1
- \tempoPadded #4.0 #"High tempo"
+ \tempoPadded #4.0 "High tempo"
g4 f e d c1
}
@end lilypond
@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
+ #x e8 a b $y b a e
#})
\relative c''{
@c contributor/introduction.itely
@ignore
- Translation of GIT committish: 233fb6a8b3b6e31de1841641dbbd4c4f43423151
+ Translation of GIT committish: a0077273ac8bf29ae472c8712bc78a02d138f898
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@macro helpusNeed
@subheading Wir brauchen Sie!
-Das Entwicklerteam von LilyPond ist ziemlich klein -- es wäre
-wirklich notwendig, dass mehr Leute sich einbringen. Bitte
-erwägen Sie, Ihren LilyPond-Benutzerkollegen zu helfen indem
-Sie einen Beitrag leisten.
+Vielen Dank, dass Sie sich dafür interessieren, uns zu helfen -- wir
+freuen uns sehr, wenn Sie sich einbringen. Bitte denken Sie daran,
+dass Sie auch allen anderen LilyPond-Benutzern helfen, wenn Sie sich
+an der Entwicklung beteiligen.
Auch kleine Aufgaben können große Auswirkungen haben: wenn man sich
ihnen annimmt, können sich die erfahrenen Entwickler den schwierigen
Aufgaben widmen anstatt diese einfachen Probleme zu lösen.
+Bei einem so großen und vielfältigen Projekt wie LilyPond ist es
+oft schwierig zu entscheiden, wo man anfangen soll. Zusätzlich zu
+den Vorschlägen, die sich weiter unten finden, können Sie auch eine
+E-Mail (auf Englisch) an den @email{mike@@mikesolomon.org, Frog meister}
+schicken und Ihre Fähigkeiten mitteilen, sodass er Ihnen einen Einstieg
+zeigen oder Ihnen bei ihren eigenen Projekten helfen kann.
+
@end macro
einrichten, sondern anstattdessen lilybuntu benutzen, welches
besprochen ist in @rcontribnamed{Quick start,Schnellstart}.}
-Beitragende, die Linux oder FreBSD benutzen, können auch lilybuntu
+Beitragende, die GNU/Linux oder FreBSD benutzen, können auch lilybuntu
einsetzen, aber wenn Sie Ihre eigene Entwicklungsumgebung einrichten
wollen, lesen Sie bitte @rcontribnamed{Working with source code,Mit dem Sourcecode arbeiten}
und @rcontribnamed{Compiling,Kompilieren}.
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: ebe492ca408fb0d9abf80b94c56197eef8dc2f09
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: ebe492ca408fb0d9abf80b94c56197eef8dc2f09
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
(Stimme) genannt. Stimmen werden in anderen Notationsprogrammen
manchmal auch als @qq{layer} (Ebene) bezeichnet.
-Tatsächlich ist die Stimmenebene die einzige, die wirklich Noten
-enthalten kann. Wenn kein Stimmenkontext explizit erstellt wird,
+Tatsächlich ist die Voice-Ebene die einzige, die wirklich Noten
+enthalten kann. Wenn kein Voice-Kontext explizit erstellt wird,
wird er automatisch erstellt, wie am Anfang dieses Kapitels
gezeigt. Manche Instrumente wie etwa die Oboe können nur eine
-Note gleichzeitig spielen. Noten für solche Instrumente sind
-monophon und brauchen nur eine einzige Stimme. Instrumente, die
+Note gleichzeitig spielen. Noten für solche Instrumente brauchen nur
+eine einzige Stimme. Instrumente, die
mehrere Noten gleichzeitig spielen können, wie das Klavier, brauchen
dagegen oft mehrere Stimmen, um die verschiedenen gleichzeitig
erklingenden Noten mit oft unterschiedlichen Rhythmen darstellen
<< { g4 fis8( g) a4 g } \\ { d4 d d d } >>
@end lilypond
-Beachte, dass die Hälse der zweiten Stimme nun nach unten zeigen.
+Beachten Sie, dass die Hälse der zweiten Stimme nun nach unten zeigen.
Hier ein anderes Beispiel:
angewendet werden, wenn man drei oder mehr Stimmen hat, indem man weitere
Backslash-Trenner hinzufügt.
-Die Stimmenkontexte tragen die Namen @code{"1"}, @code{"2"} usw. In jedem
-dieser Kontexte wird die vertikale Ausrichtung von Hälsen, Bögen, Dynamik-Zeichen
-usw. entsprechend ausgerichtet.
+Die Stimmenkontexte tragen die Namen @code{"1"}, @code{"2"} usw. Der erste
+Kontext stellt die @qq{äußeren} Stimmen ein, die höchste Stimme im
+Kontext @code{"1"} und die tiefste Stimme im Kontext @code{"2"}. Die
+inneren Stimmen kommen in die Kontexte @code{"3"} und @code{"4"}. In
+jeder dieser Kontexte wird die vertikale Ausrichtung von Bögen, Hälsen,
+Dynamik usw. entsprechend eingestellt.
@lilypond[quote,verbatim]
\new Staff \relative c' {
<< % Voice one
{ c2 aes4. bes8 }
\\ % Voice two
- { aes2 f4 fes }
- \\ % No voice three
- \\ % Voice four
{
% Ignore these for now - they are explained in Ch 4
- \once \override NoteColumn #'force-hshift = #0
- <ees c>2
+ \once \override NoteColumn #'ignore-collision = ##t
+ <ees, c>2
\once \override NoteColumn #'force-hshift = #0.5
des2
}
+ \\ % No voice three
+ \\ % Voice four
+ {
+ \override NoteColumn #'force-hshift = #0
+ aes'2 f4 fes
+ }
>> |
<c ees aes c>1 |
}
}
\\ % Voice two
{ \voiceTwoStyle
- aes2 f4 fes
+ % Ignore these for now - they are explained in Ch 4
+ \once \override NoteColumn #'ignore-collision = ##t
+ <ees, c>2
+ \once \override NoteColumn #'force-hshift = #0.5
+ des2
}
\\ % No Voice three (we want stems down)
\\ % Voice four
{ \voiceThreeStyle
- % Ignore these for now - they are explained in Ch 4
- \once \override NoteColumn #'force-hshift = #0
- <ees c>2
- \once \override NoteColumn #'force-hshift = #0.5
- des2
+ \override NoteColumn #'force-hshift = #0
+ aes'2 f4 fes
}
- >>
- <c ees aes c>1
+ >> |
+ <c ees aes c>1 |
}
@end lilypond
\new Staff \relative c'' {
\key aes \major
<<
- { c2 aes4. bes8 } \\ { aes2 f4 fes } \\ { <ees c>2 des }
+ { c2 aes4. bes8 } \\ { <ees, c>2 des } \\ { aes'2 f4 fes }
>> |
<c ees aes c>1 |
}
Noten in die vierte Stimme verschieben. Das wird einfach vorgenommen,
indem noch ein Paar @code{\\}-Stimmen hinzugefügt wird.
-@c KEEP LY
@lilypond[quote,verbatim,ragged-right]
\new Staff \relative c'' {
\key aes \major
- << % erste Stimme
+ << % Voice one
{ c2 aes4. bes8 }
- \\ % zweite Stimme
- { aes2 f4 fes }
- \\ % Stimme drei auslassen
- \\ % vierte Stimme
- { <ees c>2 des }
- >>
- <c ees aes c>1
+ \\ % Voice two
+ { <ees, c>2 des }
+ \\ % Omit Voice three
+ \\ % Voice four
+ { aes'2 f4 fes }
+ >> |
+ <c ees aes c>1 |
}
@end lilypond
@noindent
-Wie zu sehen ist, ändert das die Richtung der Hälse, aber zeigt ein
-anderes Problem auf, auf das man manchmal bei mehreren Stimmen stößt:
-Die Hälse einer Stimme können mit den Hälsen anderer Stimmen kollidieren.
-LilyPond erlaubt Noten in verschiedenen Stimmen sich auf der gleichen
-vertikalen Position zu befinden, wenn die Hälse in entgegengesetzte
-Richtungen zeigen, und positioniert die dritte und vierte Stimme dann
-so, dass Zusammenstöße möglichst vermieden werden. Das funktioniert
-gewöhnlich recht gut, aber in diesem Beispiel sind die Noten der untersten
-Stimme eindeutig standardmäßig schlecht positioniert. LilyPond bietet
-verschiedene Möglichkeiten, die horizontale Position von Noten
-anzupassen. Wir sind aber noch nicht so weit, dass wir diese Funktionen
-anwenden könnten. Darum heben wir uns das Problem für einen späteren Abschnitt auf; siehe @code{force-hshift}-Eigenschaft in
+Wie zu sehen ist, ändert das die Richtung der Hälse, aber die horizontale
+Ausrichtung der Noten ist nicht so, wie wir sie wollen. LilyPond
+verschiebt die inneren NOten wenn sie oder ihre Hälse mit den äußeren
+Stimmen zusammenstoßen würden, aber das ist nicht richtig für Klaviermusik.
+In anderen Situationen können die Verschiebungen von LilyPond nicht
+ausreichend sein, um Überlappungen aufzulösen. LilyPond stellt verschiedene
+Möglichkeiten zur Verfügung, um die horizontale Ausrichtung von Noten
+zu beeinflussen. Wir sind aber noch nicht so weit, dass wir diese Funktionen
+anwenden könnten. Darum heben wir uns das Problem für einen späteren Abschnitt
+auf; siehe @code{force-hshift}-Eigenschaft in
@ref{Überlappende Notation in Ordnung bringen}.
@warning{Gesangstext und Strecker (wie etwa Bögen, Crescendo-Klammern usw.) können
@lilypond[quote,ragged-right,verbatim]
\new Staff \relative c' {
\voiceOneStyle
- % The following notes are monophonic
+ % This section is homophonic
c16^( d e f
% Start simultaneous section of three voices
<<
@lilypond[quote,verbatim,ragged-right]
\new Staff \with {
- \remove Staff_symbol_engraver
+ \remove "Staff_symbol_engraver"
}
\relative c' {
c4 d
@lilypond[quote,verbatim,ragged-right]
\new Staff <<
\new Voice \with {
- \consists Ambitus_engraver
+ \consists "Ambitus_engraver"
} {
\relative c'' {
\voiceOne
@lilypond[quote,verbatim,ragged-right]
\new Staff \with {
- \consists Ambitus_engraver
+ \consists "Ambitus_engraver"
}
<<
\new Voice {
\layout {
\context {
\Staff
- \consists Ambitus_engraver
+ \consists "Ambitus_engraver"
}
}
}
(parser location padding)
(number?)
#{
- \once \override TextScript #'padding = $padding
+ \once \override TextScript #'padding = #padding
#})
\relative c''' {
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: 8cbb38db1591ab95a178643e7bf41db018aa22c0
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: ebe492ca408fb0d9abf80b94c56197eef8dc2f09
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
{piano-template-with-melody-and-lyrics.ly}
-@appendixsubsec Klavier mit zentriertem Text
-
-@lilypondfile[verbatim,quote,ragged-right,texidoc]
-{piano-template-with-centered-lyrics.ly}
-
-
@node Streichquartett
@appendixsec Streichquartett
@translationof String quartet
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: 8cbb38db1591ab95a178643e7bf41db018aa22c0
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: ebe492ca408fb0d9abf80b94c56197eef8dc2f09
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
definiert werden muss.
Spätere Abschnitte behandeln umfassend Eigenschaften und ihre
-Werte, aber um ihre Funktion und ihr Format zu demonstrieren,
+Werte, siehe @ref{Typen von Eigenschaften}. Aber um ihre Funktion und ihr
+Format zu demonstrieren,
werden wir hier nur einige einfache Eigenschaften und Werte einsetzen,
die einfach zu verstehen sind.
auftreten wie der @code{\override}-Befehl.
Der @code{\tweak}-Befehl funktioniert anders. Er bezieht sich
-auf das direkt folgende Element in der Eingabe-Datei. Es wirkt
-aber auch nur mit Objekten, die direkt von der Eingabe kreiert
-werden, insbesondere Notenköpfe und Artikulationszeichen.
-Objekte wie etwa Hälse oder Versetzungszeichen werden erst
-später erstellt und lassen sich nicht auf diese Weise ändern.
+auf das direkt folgende Element in der Eingabe-Datei. In seiner
+einfachsten Form ist der Befehl nur an Objekten wirksam, die direkt
+vom vorhergehenden Element erstellt worden sind, insbesondere
+Notenköpfe und Artikulation.
Um also zu unserem Beispiel zurückzukommen, könnte man die
mittlere Note eines Akkordes auf diese Weise ändern:
@end lilypond
Beachten Sie, dass die Syntax des @code{\tweak}-Befehls sich
-von der des @code{\override}-Befehls unterscheidet. Weder
-Kontext noch Layout-Objekt können angegeben werden, denn
-das würde zu einem Fehler führen. Beide Angaben sind
-durch das folgende Element impliziert. Hier sollte auch
+von der des @code{\override}-Befehls unterscheidet. Der
+Kontext dürfen nicht angegeben werden, denn
+das würde zu einem Fehler führen. Sowohl Kontext als auch das Layout-Objekt sind
+durch das folgende Element im Inputstream impliziert. Hier sollte auch
kein Gleichheitszeichen vorhanden sein. Die verallgemeinerte
-Syntax des @code{\tweak}-Befehls ist also einfach
+Syntax des @code{\tweak}-Befehls ist also
@example
\tweak #'@var{layout-eigenschaft} #@var{Wert}
(@code{^} or @code{_}) gilt der Modifikator links außen, weil er als
letzter angefügt wird.
+@cindex @code{\tweak}, Versetzungszeichen
+@cindex @code{\tweak}, bestimmtes Layout-Objekt
+
+Objekte wie Hälse und Versetzungszeichen werden später erstellt und nicht
+direkt aus dem vorhergehenden Ereignis. Es ist dennoch möglich, @code{\tweak}
+mit solchen indirekt erstelltn Objekten zu verwenden, indem man die
+Layout-Objekte direkt benennt, vorausgesetzt dass LilyPond ihre Herkunft
+bis zu dem ursprünglichen Ereignis zurück verfolgen kann:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+<\tweak Accidental #'color #red cis4
+ \tweak Accidental #'color #green es
+ g>
+@end lilypond
+
+Diese Langform des @code{\tweak}-Befehls kann wie folgend beschrieben werden:
+
+@example
+\tweak @var{layout-object} #'@var{layout-property} @var{value}
+@end example
+
@cindex Triolen, geschachtelt
@cindex N-tolen, geschachtelt
@cindex Klammer, Triole
<<
{ c2 aes4. bes8 }
\\
- { aes2 f4 fes }
+ { <ees, c>2 des }
\\
- {
- \voiceFour
- <ees c>2 des
- }
+ \\
+ { aes'2 f4 fes }
>> |
<c ees aes c>1 |
}
@end lilypond
@noindent
-Die unteren zwei Noten des ersten Akkords (also die in der
-dritten Stimme) sollten nicht aus der Notenkolumne der
-oberen zwei Noten weggeschoben werden. Um das zu
-korrigieren, setzen wir @code{force-hshift}, das eine
-Eigenschaft von
-@code{NoteColumn} ist, für diese Noten auf Null.
-Die untere Note des zweiten Akkordes wird am besten
-direkt rechts von den oberen Noten gesetzt. Das erreichen
-wir, indem wir @code{force-hshift} für diese Note auf
-0.5 setzen, also eine halbe Notenkopfbreite nach rechts von
-der Kolumne der oberen Noten aus.
+Die inneren Noten des ersten Akkordes (also das As in der vierten Stimme)
+müssen nicht mit shift verschoben aus der Noten-Kolumne der höheren Stimme
+verschoben werden. Um das zu korrigieren, setzen wir den Wert von
+@code{force-hshift}, einer Eigenschaft von @code{NoteColumn}, auf Null.
+
+Im zweiten Akkord wollen wir, dass das F sich am A orientiert und die
+tiefste Note leicht nach rechts verschoben wird, damit ein Zusammenstoß
+der Hälse vermieden wird. Das erreicht man mit @code{force-hshift} in
+@code{NoteColumn} des unteren Des, um es nach rechts um einen halben
+Notenlinienzwischenraum zu verschieben.
Hier das Endergebnis:
<<
{ c2 aes4. bes8 }
\\
- { aes2 f4 fes }
- \\
{
- \voiceFour
- \once \override NoteColumn #'force-hshift = #0
- <ees c>2
+ <ees, c>2
\once \override NoteColumn #'force-hshift = #0.5
des2
}
+ \\
+ \\
+ {
+ \override NoteColumn #'force-hshift = #0
+ aes'2 f4 fes
+ }
>> |
<c ees aes c>1 |
}
% Stem on the d2 must be down to permit merging
\stemDown
% Stem on the d2 should be invisible
- \once \override Stem #'transparent = ##t
- \once \override Flag #'transparent = ##t
+ \tweak Stem #'transparent ##t
+ \tweak Flag #'transparent ##t
d2
}
\new Voice {
% Stem on the d2 must be down to permit merging
\stemDown
% Stem on the d2 should be invisible
- \once \override Stem #'transparent = ##t
- \once \override Flag #'transparent = ##t
+ \tweak Stem #'transparent ##t
d2
}
\new Voice {
@lilypond[quote,fragment,relative=2,verbatim]
<<
{
- \once \override Stem #'transparent = ##t
- \once \override Flag #'transparent = ##t
+ \tweak Stem #'transparent ##t
+ \tweak Flag #'transparent ##t
b8~ b\noBeam
}
\\
@lilypond[quote,fragment,relative=2,verbatim]
<<
{
- \once \override Stem #'transparent = ##t
- \once \override Flag #'transparent = ##t
- \once \override Stem #'length = #8
+ \tweak Stem #'transparent ##t
+ \tweak Flag #'transparent ##t
+ \tweak Stem #'length #8
b8~ b\noBeam
}
\\
}
@end lilypond
-Es gibt einige Probleme mit sich überschneidender Ausgabe, die wird
-zurechtgerückt mit den Techniken von @ref{Verschieben von Objekten}.
-Aber jetzt zu den Definitionen von @code{mpdolce} und @code{inst}.
+Vielleicht können die Definitionen von @code{mpdolce} und @code{inst} noch
+etwas verbessert werden.
Sie erstellen die gewünschte Ausgabe, aber wir wollen sie vielleicht
auch in einem anderen Stück verwenden. Wir könnten sie immer wieder
kopieren und oben in jedes Stück einfügen, aber das ist sehr aufwändig.
hängt a) davon ab, ob Ihre LilyPond-Installation mit der vorkompilierten
Version von der LilyPond-Internetseite vorgenommen wurde oder Sie
die Version durch Ihren Paketmanager installiert haben (also
-z. B. in einer Linux-Distribution oder unter fink oder cygwin
+z. B. in einer GNU/Linux-Distribution oder unter fink oder cygwin
installiert), und b) auf welchem Betriebssystem Sie das Programm
benutzen:
@strong{Von lilypond.org heruntergeladen}
@itemize @bullet
-@item Linux
+@item GNU/Linux
Wechseln Sie in das Verzeichnis
@example
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: 06f227dd80f3a30cbf33c879b7c125079dfaf5c3
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
* Alte Notation -- Allgemeines::
* Mesurale Musik setzen::
* Gregorianischen Choral setzen::
+* Kiever Quadratnotation setzen::
* Musiksatz Alter Musik in der Praxis -- Szenarien und Lösungen::
@end menu
Unterstützung für Notation der Alten Musik enthält einige Eigenheiten
-der Mensuralnotation und der Notation des gregorianischen
-Chorals. Diese Eigenheiten können eingestellt werden, indem
+der Mensuralnotation, der Notation des gregorianischen
+Chorals und der Kiever Quadratnotation. Diese Eigenheiten können
+eingestellt werden, indem
man Stileigenschaften von graphischen Objekten wie Notenköpfen
und Pausen verändert, oder indem man vordefinierte fertige
Kontexte für mensurale oder Choralnotation einsetzt.
\layout {
\context {
\Staff
- \consists Custos_engraver
+ \consists "Custos_engraver"
\override Custos #'style = #'mensural
}
}
@code{mensural-c1}, @code{mensural-c2},@*
@code{mensural-c3}, @code{mensural-c4}
@tab
-@lilypond[fragment,relative=1,notime]
+@lilypond[relative=1,notime]
\clef "mensural-c2"
\override NoteHead #'style = #'mensural
c
@tab
@code{mensural-f}
@tab
-@lilypond[fragment,relative=1,notime]
+@lilypond[relative=1,notime]
\clef "mensural-f"
\override NoteHead #'style = #'mensural
c
@tab
@code{mensural-g}
@tab
-@lilypond[fragment,relative=1,notime]
+@lilypond[relative=1,notime]
\clef "mensural-g"
\override NoteHead #'style = #'mensural
c
@code{neomensural-c1}, @code{neomensural-c2},@*
@code{neomensural-c3}, @code{neomensural-c4}
@tab
-@lilypond[fragment,relative=1,notime]
+@lilypond[relative=1,notime]
\clef "neomensural-c2" c
@end lilypond
@code{petrucci-c3}, @code{petrucci-c4},@*
@code{petrucci-c5}
@tab
-@lilypond[fragment,relative=1,notime]
+@lilypond[relative=1,notime]
\clef "petrucci-c2"
\override NoteHead #'style = #'mensural
c
@code{petrucci-c3}, @code{petrucci-c4},@*
@code{petrucci-c5}
@tab
-@lilypond[fragment,relative=1,notime]
+@lilypond[relative=1,notime]
\clef "petrucci-c2"
\override NoteHead #'style = #'mensural
c
@tab
@code{petrucci-g}
@tab
-@lilypond[fragment,relative=1,notime]
+@lilypond[relative=1,notime]
\clef "petrucci-g"
\override NoteHead #'style = #'mensural
c
indent = 0.0
\context {
\Staff
- \remove Staff_symbol_engraver
- \remove Clef_engraver
- \remove Time_signature_engraver
+ \remove "Staff_symbol_engraver"
+ \remove "Clef_engraver"
+ \remove "Time_signature_engraver"
}
}
{
neomensurale Stil verwendet. Im folgenden Beispiel sind die
unterschiedlichen Stile dargestellt.
-@lilypond[ragged-right,fragment,relative=1,quote]
+@lilypond[ragged-right,relative=1,quote]
{
\textLengthOn
@code{Accidental} und @code{KeySignature} bestimmt,
also etwa folgendermaßen:
-@code{\override Staff.Accidental #'glyph-name-alist =
-#alteration-mensural-glyph-name-alist}
+@example
+\override Staff.Accidental #'glyph-name-alist =
+ #alteration-mensural-glyph-name-alist
+@end example
@seealso
@funindex suggestAccidentals
-@lilypond[verbatim,fragment,relative=1]
+@lilypond[fragment,relative=1]
fis gis
\set suggestAccidentals = ##t
ais bis
\layout @{
\context @{
\Voice
- \remove Ligature_bracket_engraver
- \consists Mensural_ligature_engraver
+ \remove "Ligature_bracket_engraver"
+ \consists "Mensural_ligature_engraver"
@}
@}
@end example
\layout {
\context {
\Voice
- \remove Ligature_bracket_engraver
- \consists Mensural_ligature_engraver
+ \remove "Ligature_bracket_engraver"
+ \consists "Mensural_ligature_engraver"
}
}
}
@code{vaticana-do1}, @code{vaticana-do2},@*
@code{vaticana-do3}
@tab
-@lilypond[fragment,relative=1,notime]
+@lilypond[relative=1,notime]
\override Staff.StaffSymbol #'line-count = #4
\override Staff.StaffSymbol #'color = #red
\override Staff.LedgerLineSpanner #'color = #red
@tab
@code{vaticana-fa1}, @code{vaticana-fa2}
@tab
-@lilypond[fragment,relative=1,notime]
+@lilypond[relative=1,notime]
\override Staff.StaffSymbol #'line-count = #4
\override Staff.StaffSymbol #'color = #red
\override Staff.LedgerLineSpanner #'color = #red
@code{medicaea-do1}, @code{medicaea-do2},@*
@code{medicaea-do3}
@tab
-@lilypond[fragment,relative=1,notime]
+@lilypond[relative=1,notime]
\override Staff.StaffSymbol #'line-count = #4
\override Staff.StaffSymbol #'color = #red
\override Staff.LedgerLineSpanner #'color = #red
@tab
@code{medicaea-fa1}, @code{medicaea-fa2}
@tab
-@lilypond[fragment,relative=1,notime]
+@lilypond[relative=1,notime]
\override Staff.StaffSymbol #'line-count = #4
\override Staff.StaffSymbol #'color = #red
\override Staff.LedgerLineSpanner #'color = #red
@code{hufnagel-do1}, @code{hufnagel-do2},@*
@code{hufnagel-do3}
@tab
-@lilypond[fragment,relative=1,notime]
+@lilypond[relative=1,notime]
\override Staff.StaffSymbol #'line-count = #4
\override Staff.StaffSymbol #'color = #red
\override Staff.LedgerLineSpanner #'color = #red
@tab
@code{hufnagel-fa1}, @code{hufnagel-fa2}
@tab
-@lilypond[fragment,relative=1,notime]
+@lilypond[relative=1,notime]
\override Staff.StaffSymbol #'line-count = #4
\override Staff.StaffSymbol #'color = #red
\override Staff.LedgerLineSpanner #'color = #red
@tab
@code{hufnagel-do-fa}
@tab
-@lilypond[fragment,relative=1,notime]
+@lilypond[relative=1,notime]
\override Staff.StaffSymbol #'color = #red
\override Staff.LedgerLineSpanner #'color = #red
\override Voice.Stem #'transparent = ##t
@code{Accidental} und @code{KeySignature}
kontrolliert, beispielsweise:
-@code{\override Staff.Accidental #'glyph-name-alist =
-#alteration-mensural-glyph-name-alist}
+@example
+\override Staff.Accidental #'glyph-name-alist =
+ #alteration-mensural-glyph-name-alist
+@end example
@seealso
Glossar:
Präfixen in arbiträrer Reihenfolge notiert werden kann.
+@node Kiever Quadratnotation setzen
+@subsection Kiever Quadratnotation setzen
+@translationof Typesetting Kievan square notation
+
+@menu
+* Kiever Kontexte::
+* Kiever Schlüssel::
+* Kiever Notenköpfe::
+* Kiever Versetzungszeichen::
+* Kiever Taktstriche::
+@end menu
+
+@node Kiever Kontexte
+@unnumberedsubsubsec Kiever Kontexte
+@translationof Kievan contexts
+
+@funindex KievanVoiceContext
+@funindex KievanStaffContext
+
+Wie auch für die Mensural- und Gregorianische Notation können die Kontexte
+@code{KievanVoice} and @code{KievanStaff} eingesetzt werdne, um
+Noten der Kiever Quadratnotation zu setzen. Diese Kontexte initialisieren
+die benötigten Kontexteigenschaften und Grob-Eigenschaften mit den
+richtigen Werten, sodass man sofort den Choral notieren kann:
+
+@lilypond[quote,ragged-right,verbatim]
+\score {
+ <<
+ \new KievanVoice = "melody" \transpose c c' {
+ \cadenzaOn
+ c4 c c c c2 b,\longa
+ \bar "kievan"
+ }
+ \new Lyrics \lyricsto "melody" {
+ Го -- спо -- ди по -- ми -- луй.
+ }
+ >>
+}
+@end lilypond
+
+@seealso
+Glossar:
+@rglos{kievan notation}.
+
+@knownissues
+LilyPond unterstützt Kiever Notation des Synodischen Stils, welcher
+im Korpus der Gesangsbücher eingesetzt wurde, die durch Russische
+Heilige Synode 1910 gedruckt wurden und neuerdings durch das
+Moskauer Patriarchat Verlagshaus neu heruasgegeben wurden.
+LilyPond kann nicht die älteren (selteren) Formen der Kiever
+Notation setzen, mit denen in Galizien rusinischer Choral notiert
+worden ist.
+
+@node Kiever Schlüssel
+@unnumberedsubsubsec Kiever Schlüssel
+@translationof Kievan clefs
+
+@cindex Schlüssel, Kiever Notation
+
+Es gibt nur einen Schlüssel in der Kiever Notation (der Tse-fa-ut-Schlüssel).
+Er bezeichnet die Position von @code{c}:
+
+@lilypond[quote,relative=1,notime,verbatim]
+ \clef "kievan-do"
+ \override NoteHead #'style = #'kievan
+ c
+@end lilypond
+
+@seealso
+Glossar:
+@rglos{kievan notation},
+@rglos{clef}.
+
+Notationsreferenz:
+@ref{Notenschlüssel}.
+
+@node Kiever Notenköpfe
+@unnumberedsubsubsec Kiever Notenköpfe
+@translationof Kievan note heads
+
+@cindex Notenköpfe, Kiever Notation
+
+Für die Kiever Notation muss der richtige Notenkopfstil gewählt
+werden. Die erreicht man, indem man die @code{style}-Eigenschaft des
+@code{NoteHead}-Objekts auf @code{kievan} setzt.
+
+Die Kiever Schlussnote, welche am Ende eines Stückes gesetzt wird,
+kann gewählt werden, indem man die Notendauer @code{\longa} einsetzt.
+Das Kiever Rezitativzeichen, welches die Rezitation auf einer Tonhöhe
+anzeigt, kann gesetzt werden, indem die Notendauer @code{\breve}
+notiert wird. Folgendes Beispiel demonstriert die unterschiedlichen
+Notenköpfe:
+
+@lilypond[quote,fragment,ragged-right,verbatim]
+\autoBeamOff
+\cadenzaOn
+\override NoteHead #'style = #'kievan
+b'1 b'2 b'4 b'8 b'\breve b'\longa
+@end lilypond
+
+@seealso
+Glossar:
+@rglos{kievan notation},
+@rglos{note head}.
+
+Notationsreferenz:
+@ref{Notenkopfstile}.
+
+@knownissues
+LilyPond bestimmt automatisch die Richtung eines Halses. Für Gesang
+in der Quadratnotation zeigen die Hälse jedoch alle in die gleiche
+Richtung innerhalb eines Melismas. Das kann man manuell erreichen,
+indem man die @code{direction}-Eigenschaft des @code{Stem}-Objekts
+setzt.
+
+@node Kiever Versetzungszeichen
+@unnumberedsubsubsec Kiever Versetzungszeichen
+@translationof Kievan accidentals
+
+@cindex Versetzungszeichen, Kiever Notation
+
+Der Versetzungszeichenstil @code{kievan} wird durch die Eigenschaft
+@code{glyph-name-alist} des @code{Accidental}-Grobs ausgewählt.
+Dieser Stil stellt ein Kreuz und ein B-Zeichen zur Verfügung, die
+sich von den Standardzeichen unterscheiden. Es gibt kein Auflösungszeichen
+in der Kiever Notation. Das Kreuz wird in der Synodalen Musik nicht
+eingesetzt, kann aber in früheren Manuskripten auftreten. Es wurde
+vor allem der Vollständigkeit halber eingesetzt.
+
+@lilypond[quote,relative=1,notime,verbatim]
+\clef "kievan-do"
+\override NoteHead #'style = #'kievan
+\override Accidental #'glyph-name-alist =
+ #alteration-kievan-glyph-name-alist
+bes' dis,
+@end lilypond
+
+@seealso
+Glossar:
+@rglos{kievan notation},
+@rglos{accidental}.
+
+Notationsreferenz:
+@ref{Versetzungszeichen},
+@ref{Automatische Versetzungszeichen},
+@ref{Die Feta-Schriftart}
+
+@node Kiever Taktstriche
+@unnumberedsubsubsec Kiever Taktstriche
+@translationof Kievan bar line
+
+Eine dekorative Figur wird üblicherweise am Ende von eines
+Musikstückes der Kiever Notation gesetzt, was man als Kiever
+Schlussstrich bezeichnen kann. Es wird gesetzt mit @code{\bar "kievan"}.
+
+@lilypond[quote,relative=1,notime,verbatim]
+ \clef "kievan-do"
+ \override NoteHead #'style = #'kievan
+ c \bar "kievan"
+@end lilypond
+
+@seealso
+@ref{Takte},
+@ref{Die Feta-Schriftart}
+
+
@c Working with ancient music: scenarios and solutions:: {{{1
@node Musiksatz Alter Musik in der Praxis -- Szenarien und Lösungen
@subsection Musiksatz Alter Musik in der Praxis -- Szenarien und Lösungen
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: 06f227dd80f3a30cbf33c879b7c125079dfaf5c3
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@knownissues
-Normalerweise spielt es keine Rolle, in welcher Reihenfolge
-Engraver angegeben werden, aber in einigen Spezialfällen
+Die Reihenfolge, in der die Engraver definiert werden,
+ist die Reihenfolge, in welcher sie aufgerufen werden, um
+ihre Verarbeitung vorzunehmen. Normalerweise spielt die
+Reihenfolge, in welcher die Engraver angegeben werden,
+keine Rolle, aber in einigen Spezialfällen
ist die Reihenfolge sehr wichtig. Das kann beispielsweise
vorkommen, wenn ein Engraver eine Eigenschaft erstellt und
ein anderer von ihr liest, oder ein Engraver erstellt ein
-Grob und ein anderer wertet es aus. Die Reihenfolge, in der
-Engraver angegeben werden, ist die Reihenfolge, in der sie
-aufgerufen werden, um ihre Tätigkeiten auszuführen.
+Grob und ein anderer wertet es aus.
-Folgende Reihenfolgen müssen beachtet werden: der
-@code{Bar_engraver} muss normalerweise zuerst kommen, und
+Folgende Reihenfolgen müssen beachtet werden:
+
+@itemize
+@item
+der @code{Bar_engraver} muss normalerweise zuerst kommen,
+
+@item
der @code{New_fingering_engraver} muss vor dem
-@code{Script_column_engraver} kommen. Es gibt möglicherweise weitere
-Abhängigkeiten von der Reihenfolge geben.
+@code{Script_column_engraver} kommen,
+
+@item
+der @code{Timing_translator} muss vor dem @code{Bar_number_engraver}
+kommen.
+@end itemize
+
+@seealso
+Installlierte Dateien:
+@file{ly/engraver-init.ly}.
@node Die Standardeinstellungen von Kontexten ändern
@subsection Die Standardeinstellungen von Kontexten ändern
@translationof Changing context default settings
-Die Kontexteinstellungen, die standardmäßig in
-@code{Score}, @code{Staff} und @code{Voice}-Kontexten
-benutzt werden, können in einer @code{\layout}-Umgebung
-eingestellt werden, wie das folgende Beispiel zeigt. Die
-@code{\layout}-Umgebung sollte innerhalb der
-@code{\score}-Umgebung gesetzt werden, auf die sie sich
-auswirken soll, aber außerhalb von Notation.
+@cindex Standardkontexteigenschaften, ändern
+@cindex Kontexteigenschaften, Einstellungen ändern
+
+Kontext- und Grob-Eigenschaften können mit den Befehlen @code{\set}
+und @code{\override} verändert werden, wie beschrieben in
+@ref{Eigenschaften verändern}. Diese Befehle erstellen musikalische
+Ereignisse, damit die Veränderungen zum Zeitpunkt der Verarbeitung
+in den Noten erscheinen.
-Auch muss der @code{\set}-Befehl und der Kontext weggelassen
-werden, wenn die Einstellungen für den Kontext auf diese Weise
-vorgenommen werden:
+Dieser Abschnitt hingegen erklärt, wie man die @emph{Standardwerte} von
+Kontext- und Grob-Eigenschaften zum Zeitpunkt, an dem der Kontext erstellt
+wird, verändert. Es gibt hierzu zwei Möglichkeiten. Die eine verändert
+die Standardeinstellungen aller Kontexte eines bestimmten Typs, die andere
+verändert die Standardwerte nur eines bestimmten Kontextes.
+
+@menu
+* Alle Kontexte des gleichen Typs verändern::
+* Nur einen bestimmten Kontext verändern::
+* Rangfolge von Kontextwerten::
+@end menu
+
+@node Alle Kontexte des gleichen Typs verändern
+@unnumberedsubsubsec Alle Kontexte des gleichen Typs verändern
+@translationof Changing all contexts of the same type
+
+@cindex \context in \layout-Umgebung
+@funindex \context
+@funindex \layout
+
+Die Kontexteinstellungen, die standardmäßig in @code{Score}, @code{Staff},
+@code{Voice} und anderen Kontexten eingesetzt werden, können in einer
+@code{\context}-Umgebung innerhalb einer beliebigen @code{\layout}-Umgebung
+spezifiziert werden. Die @code{\layout}-Umgebung sollte innerhalb der
+@code{\score} (Partitur) stehen, auf die sie sich bezieht, nach den Noten.
+
+@example
+\layout @{
+ \context @{
+ \Voice
+ [Kontexteinstellungen für alle Voice-Kontexte]
+ @}
+ \context @{
+ \Staff
+ [Kontexteinstellungen für alle Staff-Kontexte]
+ @}
+@}
+@end example
+
+Folgende Einstellungstypen können angegeben werden:
+
+@itemize
+@item
+Ein @code{\override}-Befehl, aber ohne die Kontextbezeichnung:
@lilypond[quote,verbatim]
\score {
\relative c'' {
- a4^"Really small, thicker stems, no time signature" a a a
- a a a a
+ a4^"Thicker stems" a a a
+ a4 a a\ff a
}
\layout {
\context {
\Staff
- fontSize = #-4
\override Stem #'thickness = #4.0
- \remove "Time_signature_engraver"
}
}
}
@end lilypond
-Hier zeigt der @code{\Staff}-Befehl an, dass die folgenden Einstellungen
-sich auf alle Systeme in dieser Partitur erstrecken sollen.
+@item
+Eine Kontexteigenschaft kann direkt gesetzt werden:
-Veränderungen können auch für den @code{Score}- oder alle
-@code{Voice}-Kontexte auf gleiche Weise vorgenommen werden.
+@lilypond[quote,verbatim]
+\score {
+ \relative c'' {
+ a4^"Smaller font" a a a
+ a4 a a\ff a
+ }
+ \layout {
+ \context {
+ \Staff
+ fontSize = #-4
+ }
+ }
+}
+@end lilypond
-Kontextänderungen können in eine Variable geschrieben werden und dann
-einer @code{\context}-Definition zu gewiesen werden, indem man der
-Veränderung ein @code{\with} voranstellt:
+@item
+Ein vordefinierter Befehl wie etwa @code{\dynamicUp} oder ein
+musikalischer Ausdruck wie @code{\accidentalStyle "dodecaphonic"}:
@lilypond[quote,verbatim]
-blubb = \with {
- fontSize = #-4
- \override Stem #'thickness = #4.0
- \remove "Time_signature_engraver"
+\score {
+ \relative c'' {
+ a4^"Dynamics above" a a a
+ a4 a a\ff a
+ }
+ \layout {
+ \context {
+ \Voice
+ \dynamicUp
+ }
+ \context {
+ \Staff
+ \accidentalStyle "dodecaphonic"
+ }
+ }
}
+@end lilypond
-bla = \with {
- fontSize = #3
- \override Stem #'thickness = #-2.0
-}
+@item
+Eine vom Benutzer definierte Variable, die eine @code{\with}-Umgebung enthält;
+zu Details der @code{\with}-Umgebung, siehe
+@ref{Nur einen bestimmten Kontext verändern}.
-melody = \relative c'' {
- a4 a a a |
- a4 a a a |
+@lilypond[quote,verbatim]
+StaffDefaults = \with {
+ fontSize = #-4
}
\score {
- <<
- \new Staff <<
- \melody
- s1*0^"Small, thicker stems, no time signature"
- >>
- \new Staff \bla <<
- \melody
- s1*0^"Different"
- >>
- >>
+ \new Staff {
+ \relative c'' {
+ a4^"Smaller font" a a a
+ a4 a a a
+ }
+ }
\layout {
\context {
\Staff
- \blubb
+ \StaffDefaults
+ }
+ }
+}
+@end lilypond
+
+@end itemize
+
+Befehle, die die Eigenschaften verändern, können in einer @code{\layout}-Umgebung
+platziert werden, ohne von einer @code{\context}-Umgebung eingeschlossen zu werden.
+Derartige Einstellungen verhalten sich äquivalet wie Eigenschaftsveränderungen,
+die zu jedem Beginn eines bestimmten Kontextes angegeben werden. Wenn kein
+Kontext angegeben wird, wird @emph{jeder} Kontext auf der untersten Ebene
+beeinflusst, siehe auch @ref{Unterste Kontexte -- Stimmen}. Die Syntax eines
+Befehls zu Einstellung von Eigenschaftseinstellungen in einer @code{\layout}-Umgebung
+ist die gleiche wie für den Befehl direkt zwischen den Noten geschrieben.
+
+@lilypond[quote,verbatim]
+\score {
+ \new Staff {
+ \relative c'' {
+ a4^"Smaller font" a a a
+ a4 a a a
}
}
+ \layout {
+ \accidentalStyle "dodecaphonic"
+ \set fontSize = #-4
+ \override Voice.Stem #'thickness = #4.0
+ }
}
@end lilypond
- @c TODO: add \with in here.
-
+
+@node Nur einen bestimmten Kontext verändern
+@unnumberedsubsubsec Nur einen bestimmten Kontext verändern
+@translationof Changing just one specific context
+
+@cindex \with
+@funindex \with
+
+Die Kontexteigenschaften nur eines bestimmten Kontextes können mit einer
+@code{\with}-Umgebung geändert werden. Alle anderen Vorkommen des
+gleichen Kontexts behalten ihre Standardeinstellungen, möglicherweise
+durch Einstellungn in @code{\layout}-Umgebungen verändert. Die
+@code{\with}-Umgebung muss direkt nach dem Befehl @code{\new}
+@var{Kontext-Typ} gesetzt werden:
+
+@example
+\new Staff
+\with @{
+ [enthält Einstellungen nur für diesen spezifischen Kontext]
+@} @{
+...
+@}
+@end example
+
+Folgende Arten von Einstellungen können angegeben werden:
+
+@itemize
+@item
+Ein @code{\override}-Befehl, dessen Kontextbezeichnung ausgelassen wird:
+
+@lilypond[quote,verbatim]
+\score {
+ \new Staff {
+ \new Voice
+ \with {
+ \override Stem #'thickness = #4.0
+ }
+ {
+ \relative c'' {
+ a4^"Thick stems" a a a
+ a4 a a a
+ }
+ }
+ }
+}
+@end lilypond
+
+@item
+Eine Kontexeigenschaft direkt einstellen:
+
+@lilypond[quote,verbatim]
+\score {
+ <<
+ \new Staff {
+ \relative c'' {
+ a4^"Default font" a a a
+ a4 a a a
+ }
+ }
+ \new Staff
+ \with {
+ fontSize = #-4
+ } {
+ \relative c'' {
+ a4^"Smaller font" a a a
+ a4 a a a
+ }
+ }
+ >>
+}
+@end lilypond
+
+@item
+Ein vordefinierter Befehl wie etwa @code{\dynamicUp}
+
+@lilypond[quote,verbatim]
+\score {
+ <<
+ \new Staff {
+ \new Voice {
+ \relative c'' {
+ a4^"Dynamics below" a a a
+ a4 a a\ff a
+ }
+ }
+ }
+ \new Staff
+ \with { \accidentalStyle "dodecaphonic" }
+ {
+ \new Voice
+ \with { \dynamicUp }
+ {
+ \relative c'' {
+ a4^"Dynamics above" a a a
+ a4 a a\ff a
+ }
+ }
+ }
+ >>
+}
+@end lilypond
+
+@end itemize
+
+
+@node Rangfolge von Kontextwerten
+@unnumberedsubsubsec Rangfolge von Kontextwerten
+@translationof Order of precedence
+
+Der Wert einer Eigenschaft, die zu einer bestimmten Zeit aktiv ist, wird
+wie folgend bestimmt:
+
+@itemize
+@item
+wenn ein @code{\override}- oder @code{\set}-Befehl in der Eingabe aktiv ist,
+wird dieser Wert benützt,
+
+@item
+ansonsten wird der Standardwert aus einer @code{\with}-Umgebung zu
+Beginn des Kontextes benützt,
+
+@item
+ansonsten wied der Standardwert aus der letzten passenden
+@code{\context}-Umgebung in der letzten @code{\layout}-Umgebung benützt,
+
+@item
+ansonsten wird der Standardwert von LilyPond eingesetzt.
+@end itemize
+
+@seealso
+Handbuch zum Lernen:
+@rlearning{Kontexteigenschaften verändern}.
+
+Notationsreferenz:
+@ref{Was sind Kontexte?},
+@ref{Unterste Kontexte -- Stimmen},
+@ref{Der set-Befehl},
+@ref{Der override-Befehl},
+@ref{Die \layout-Umgebung}.
+
@node Neue Kontexte definieren
@subsection Neue Kontexte definieren
\consists "Note_heads_engraver"
\consists "Rhythmic_column_engraver"
\consists "Text_engraver"
- \consists Pitch_squash_engraver
+ \consists "Pitch_squash_engraver"
squashedPosition = #0
\override NoteHead #'style = #'slash
\override Stem #'transparent = ##t
hinzufügen, die für diese Aktionen zuständig sind:
@example
-\consists Note_heads_engraver
-\consists Text_engraver
+\consists "Note_heads_engraver"
+\consists "Text_engraver"
@end example
@noindent
aber die Noten sollen nur auf der mittleren Linie ausgegeben werden:
@example
-\consists Pitch_squash_engraver
+\consists "Pitch_squash_engraver"
squashedPosition = #0
@end example
\type "Engraver_group"
\consists "Note_heads_engraver"
\consists "Text_engraver"
- \consists Pitch_squash_engraver
+ \consists "Pitch_squash_engraver"
squashedPosition = #0
\override NoteHead #'style = #'slash
\override Stem #'transparent = ##t
sein kann. Dass kann zu unerwarteten neuen Systemgruppen oder Partituren
führen.
+@cindex alignAboveContext
+@cindex alignBelowContext
+@funindex alignAboveContext
+@funindex alignBelowContext
+
+Manchmal soll ein Kontext nur für einen kurzen Moment existieren,
+ein gutes Beispiel etwa ein System für ein Ossia. Das wird normalerweise
+erreicht, indem man die Kontextdefinition an der richtigen Stelle parallel
+mit dem existierenden Abschnitt der Hauptnoten anlegt. Standardmäßig wird
+der neue Kontext unter den existierenden Kontexten angelegt. Um ihn aber
+über dem Kontext mit der Bezeichnung @qq{Hauptstimme} zu positionieren,
+sollte er folgenderweise erstellt werden:
+
+@example
+@code{\new Staff \with @{ alignAboveContext = #"Hauptstimme" @} }
+@end example
+
+Eine ähnliche Situation entsteht, wenn man einen zeitweiligen Gesangstext
+in einem Layout mit mehreren Notensystemen anlegen und positionieren will,
+etwa wenn eine zweite Strophe zu einem wiederholten Abschnitt in einem
+@code{ChoirStaff} hinzugefügt wird. Standardmäßig wird der neue Text unter
+dem untersten System angelegt. Wenn der Gesangstext mit der Eigenschaft
+@code{alignBelowContext} definiert wird, kann er korrekt unter dem
+(bezeichneten) Gesangstext positioniert werden, der die erste Strophe
+enthält.
+
+Beispiele, die diese Neuordnung von temporären Kontexten zeigen, finden sich
+an anderen Stellen; siehe @rlearning{Musikalische Ausdrücke ineinander verschachteln},
+@ref{Einzelne Systeme verändern} und @ref{Techniken für die Gesangstextnotation}.
+
@seealso
+Handbuch zum Lernen:
+@rlearning{Musikalische Ausdrücke ineinander verschachteln}.
+
+Notationsreferenz:
+@ref{Einzelne Systeme verändern},
+@ref{Techniken für die Gesangstextnotation}.
+
Handbuch zur Benutzung:
@rprogram{Ein zusätzliches System erscheint}.
werden, mit dem man Optimierungen vornehmen kann:
@example
-\tweak #'@code{grob-eigenschaft} #@code{Wert}
+\tweak @var{Layout-Objekt} #'@code{grob-eigenschaft} #@code{Wert}
@end example
-Der @code{\tweak}-Befehl wirkt sich auf das Objekt aus, dass direkt auf
-@code{Wert} folgt.
+Die Angabe von @var{Layout-Objekt} ist optional.
+Der @code{\tweak}-Befehl wirkt sich auf das musikalische Objekt aus, dass direkt
+auf @code{Wert} folgt.
@ignore
In einigen Fällen ist es möglich, mit einem abgekürzten Befehl
@end lilypond
Damit der @code{\tweak}-Befehl funktioniert, muss er direkt vor dem
-Objekt stehen, auf das er sich bezieht. Manchmal kommt es vor, dass
-LilyPond während der Kompilierung der Datei zusätzliche Elemente
-einfügt, die dann zwischen der Optimierung und dem Objekt stehen.
-Noten, auch einzlene Noten, werden beispielsweise intern von LilyPond
-immer wie Akkorde behandelt, sodass auch ein @code{\tweak}-Befehl
-für eine einzelne Note innerhalb von Akkordzeichen notiert werden
-muss:
+Objekt stehen, auf das er sich bezieht. Einen ganzen Akkord kann man
+nicht mit @code{\tweak} verändern, weil der Akkord wie ein Kontainer
+ist, in dem alle Layoutelemente aus Ereignissen innerhalb von
+@code{EventChord} erstellt werden:
@lilypond[relative=2,verbatim,quote]
-\tweak #'color #red c4
-<\tweak #'color #red c>4
+\tweak #'color #red <c e>4
+<\tweak #'color #red c e>4
+@end lilypond
+
+Der einfache @code{\tweak}-Befehl kann @emph{nicht} eingesetzt werden, um
+Elemente zu verändern, die nicht direkt aus der Eingabe erstellt werden.
+Insbesondere Hälse, automatische Balken oder Versetzungszeichen lassen sich nicht
+beeinflussen, weil diese später durch die Layoutobjekte des Notenkopfs erstellt
+werden und nicht direkt durch
+den Quelltext.
+
+Derartige indirekt erstellt Layoutobjekte können mit @code{\tweak} verändert
+werden, indem man die ausführliche Form des Befehls einsetzt:
+
+@lilypond[relative=2,verbatim,quote]
+\tweak Stem #'color #red
+\tweak Beam #'color #green c8 e
+<c e \tweak Accidental #'font-size #-3 ges>4
@end lilypond
-Der @code{\tweak}-Befehl kann @emph{nicht} eingesetzt werden, um
-Elemente zu verändern, die sich nicht direkt im Notentext befinden.
-Insbesondere Hälse, Balken oder Versetzungszeichen lassen sich nicht
-beeinflussen, weil diese später durch den Notenkopf erstellt werden
-und nicht direkt durch
-den Quelltext. @code{\tweak} kann auch nicht verwendet werden,
+@code{\tweak} kann auch nicht verwendet werden,
um Schlüssel oder Taktarten zu verändern, denn sie werden von
dem @code{\tweak}-Befehl während der Interpretation durch
automatisches Einfügen von zusätzlichen Kontextelementen getrennt.
@knownissues
-@cindex tweak-Befehl in einer Variable
-@cindex Variable, tweak-Befehl benutzen
-@cindex Optimierung innerhalb einer Variable
-
-Der @code{\tweak}-Befehl kann nicht innerhalb von einer Variable eingesetzt werden.
-
-@cindex tweaks-Befehl in Gesangstext
-@cindex lyrics und tweak-Befehl
-@cindex Gesangstext und tweak-Befehl
-
-Der @code{\tweak}-Befehl kann nicht innerhalb von @code{\lyricmode} eingesetzt werden.
-
@cindex Kontrollpunkte und tweak
@cindex tweak und Kontrollpunkte
zeigen an, ob das Layout-Objekt an einer bestimmten Position
sichtbar sein wird oder nicht:
-@multitable {@code{begin-of-line-invisible}} {@code{'#(#t #t #t)}} {ja} {ja} {ja}
+@multitable {@code{begin-of-line-invisible}} {@code{'#(#t #t #t)}} {Vor} {Bei Nr.} {Nach}
@headitem Funktion @tab Vektor @tab Vor @tab kein @tab Nach
@headitem Form @tab Form @tab Umbruch @tab Umbruch @tab Umbruch
Argumente. Wiederum muss das erste Argument immer der Grob sein, aber
das erste und zweite Argument sind @qq{Beginn-} und @qq{Endeargumente}.
-
-
@var{start} (Beginn) und @var{end} (Ende) sind absichtlich
nur Platzhalter, die nur für die Strecker gelten (etwa @code{Hairpin} oder
@code{Beam}), die unterschiedliche Höhenberechnungen je nach beginnender und
@item @code{@var{@dots{}Noten@dots{}}}
@tab normale LilyPond-Eingabe, wobei @code{$} (wenn nur LilyPond-Konstruktionen
erlaubt sind) oder @code{#} (um es als Scheme-Wert oder Argument einer
-musikalischen Funktionen einzusetzen) benutzt wird, um
+musikalischen Funktionen oder als Noten innerhalb von Notenlisten einzusetzen) benutzt wird, um
Argumente zu referenzieren (etwa @samp{$Arg1}).
@end multitable
Neben Zahlen können auch musikalische Ausdrücke wie Noten
als Argumente für musikalische Funktionen eingesetzt werden:
-@c TODO: use a better example (the music argument is redundant).
-
@lilypond[quote,verbatim,ragged-right]
custosNote =
#(define-music-function
(parser location note)
(ly:music?)
#{
- \once \override Voice.NoteHead #'stencil =
- #ly:text-interface::print
- \once \override Voice.NoteHead #'text =
- \markup \musicglyph #"custodes.mensural.u0"
- \once \override Voice.Stem #'stencil = ##f
- $note
+ \tweak NoteHead #'stencil #ly:text-interface::print
+ \tweak NoteHead #'text
+ \markup \musicglyph #"custodes.mensural.u0"
+ \tweak Stem #'stencil ##f
+ #note
#})
\relative c' { c4 d e f \custosNote g }
tempoPadded =
#(define-music-function
(parser location padding tempotext)
- (number? string?)
+ (number? markup?)
#{
\once \override Score.MetronomeMark #'padding = #padding
\tempo \markup { \bold #tempotext }
\relative c'' {
\tempo \markup { "Low tempo" }
c4 d e f g1
- \tempoPadded #4.0 #"High tempo"
+ \tempoPadded #4.0 "High tempo"
g4 f e d c1
}
@end lilypond
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: 8cbb38db1591ab95a178643e7bf41db018aa22c0
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: 06f227dd80f3a30cbf33c879b7c125079dfaf5c3
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
-
@node Generalbass
@subsection Generalbass
@translationof Figured bass
-@lilypondfile[quote]{figured-bass-headword.ly}
+@c Line width hack because of instrument names
+@lilypondfile[quote,staffsize=18,line-width=14.5\cm]{figured-bass-headword.ly}
Generalbassnotation kann dargestellt werden.
@c -*- coding: utf-8; mode: texinfo; -*-
@ignore
- Translation of GIT committish: 8cbb38db1591ab95a178643e7bf41db018aa22c0
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: 06f227dd80f3a30cbf33c879b7c125079dfaf5c3
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: 06f227dd80f3a30cbf33c879b7c125079dfaf5c3
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: ebe492ca408fb0d9abf80b94c56197eef8dc2f09
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
Benutzung von @code{minimumFret} zu definieren. Der Standardwert von
@code{minimumFret} beträgt 0.
+Auch wenn @code{minimumFret} gesetzt ist, werden offene Saiten immer
+benützt, wenn es möglich ist. Dieses Verhalten kann verändert werden,
+indem @code{restrainOpenStrings} auf @code{#t} gesetzt wird.
+
@lilypond[quote,ragged-right,verbatim]
\layout { \override Voice.StringNumber #'stencil = ##f }
\new StaffGroup <<
c16 d e f g4
c,16\5 d\5 e\4 f\4 g4\4
\set TabStaff.minimumFret = #5
+ \set TabStaff.restrainOpenStrings = ##t
c,16 d e f g4
}
>>
}
\score {
<<
- \new Staff { \firstHarmonic }
+ \new Staff {
+ \clef "treble_8"
+ \firstHarmonic
+ }
\new TabStaff { \firstHarmonic }
>>
}
}
\score {
<<
- \new Staff { \fretHarmonics }
+ \new Staff {
+ \clef "treble_8"
+ \fretHarmonics
+ }
\new TabStaff { \fretHarmonics }
>>
}
}
\score {
<<
- \new Staff { \ratioHarmonics }
+ \new Staff {
+ \clef "treble_8"
+ \ratioHarmonics
+ }
\new TabStaff { \ratioHarmonics }
>>
}
Anhand der Beispiele in dieser Datei können auch für andere
Instrumente oder Stimmungen Diagramme definiert werden.
-Bunddiagramme für die Ukulele finden sich in der Datei
+Bunddiagramme für die Ukulele finden sich in der Datei @*
@file{predefined-ukulele-fretboards.ly}.
@lilypond[verbatim, ragged-right, quote]
@lilypond[verbatim, ragged-right, quote]
\include "predefined-guitar-fretboards.ly"
-\storePredefinedDiagram #default-fret-table
+\storePredefinedDiagram #default-fret-table
\chordmode { c:maj9 }
#guitar-tuning
#"x;3-2;o;o;o;o;"
% add some new chords based on the power chord shape
-\storePredefinedDiagram #default-fret-table
+\storePredefinedDiagram #default-fret-table
\chordmode { f'' }
#guitar-tuning
#(chord-shape 'powerf guitar-tuning)
-\storePredefinedDiagram #default-fret-table
+\storePredefinedDiagram #default-fret-table
\chordmode { g'' }
#guitar-tuning
#(offset-fret 2 (chord-shape 'powerf guitar-tuning))
@ref{Die vordefinierten Bund-Diagramme}.
Installierte Dateien:
-@file{ly/predefined-guitar-fretboards.ly},
-@file{ly/predefined-guitar-ninth-fretboards.ly},
-@file{ly/predefined-ukulele-fretboards.ly},
+@file{ly/predefined-guitar-fretboards.ly}, @*
+@file{ly/predefined-guitar-ninth-fretboards.ly}, @*
+@file{ly/predefined-ukulele-fretboards.ly}, @*
@file{ly/predefined-mandolin-fretboards.ly}.
Schnipsel:
@funindex rightHandFinger
@funindex \rightHandFinger
-Fingersatz für die rechte Hand in Akkorden @var{p-i-m-a}
+Fingersatz für die rechte Hand @var{p-i-m-a}
muss mit @code{\rightHandFinger}, gefolgt von einer Zahl, notiert werden.
@warning{Wenn die Zahl in Scheme-Notation eingegeben wird, muss darauf
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: 06f227dd80f3a30cbf33c879b7c125079dfaf5c3
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
Eine Ausgabedefinition, wie @code{\paper}, @code{\midi} und
@code{\layout}. Derartige Definitionen auf oberster Ebene verändern
die globalen Einstellungen für das ganze @qq{Buch}. Wenn mehr
-als eine derartige Definition desselben Typs angegeben wird, hat
-die spätere Vorrang.
+als eine derartige Definition desselben Typs auf oberster Ebene
+angegeben wird, hat die spätere Vorrang. Für Einzelheiten, wie dadurch
+die @code{\layout}-Umgebung beeinflusst wird, siehe
+@ref{Die \layout-Umgebung}.
@item
Ein direkter Scheme-Ausdruck, wie etwa
Handbuch zum Lernen:
@rlearning{Wie eine LilyPond-Eingabe-Datei funktioniert}.
+Notationsreferenz:
+@ref{The \layout block}.
+
@node Titel
@section Titel
@unnumberedsubsubsec Standardlayout von @code{book}- und Partitur-Titelumgebungen
@translationof Default layout of book and score title blocks
-Layout und Formatierung der Titelfelder wird durch zwei
-@code{\paper}-Variablen kontrolliert: @code{bookTitleMarkup} für
-die Hauptumgebung und @code{scoreTitleMarkup} für einzelne
-@code{\header}-Umgebungen innerhalb von einer @code{\score}-Umgebung.
-
-@lilypond[papersize=a6,quote,verbatim,noragged-right]
-\header {
- % The following fields are centered
- dedication = "Dedication"
- title = "Title"
- subtitle = "Subtitle"
- subsubtitle = "Subsubtitle"
- instrument = "Instrument"
-
- % The following fields are left-aligned on the left side
- poet = "Poet"
- meter = "Meter"
-
- % The following fields are right-aligned on the right side
- composer = "Composer"
- arranger = "Arranger"
-}
+Dieses Beispiel zeigt alle @code{\header}-(Überschrifen)-Variablen:
-\score {
- { s1 }
+@lilypond[papersize=a7,quote,verbatim,noragged-right]
+\book {
\header {
- % The following fields are placed at opposite ends of the same line
- piece = "Piece"
- opus = "Opus"
+ % The following fields are centered
+ dedication = "Dedication"
+ title = "Title"
+ subtitle = "Subtitle"
+ subsubtitle = "Subsubtitle"
+ % The following fields are evenly spread on one line
+ % the field "instrument" also appears on following pages
+ instrument = \markup \with-color #green "Instrument"
+ poet = "Poet"
+ composer = "Composer"
+ % The following fields are placed at opposite ends of the same line
+ meter = "Meter"
+ arranger = "Arranger"
+ % The following fields are centered at the bottom
+ tagline = "tagline goes at the bottom of the last page"
+ copyright = "copyright goes at the bottom of the first page"
+ }
+ \score {
+ { s1 }
+ \header {
+ % The following fields are placed at opposite ends of the same line
+ piece = "Piece 1"
+ opus = "Opus 1"
+ }
+ }
+ \score {
+ { s1 }
+ \header {
+ % The following fields are placed at opposite ends of the same line
+ piece = "Piece 2 on the same page"
+ opus = "Opus 2"
+ }
+ }
+ \pageBreak
+ \score {
+ { s1 }
+ \header {
+ % The following fields are placed at opposite ends of the same line
+ piece = "Piece 3 on a new page"
+ opus = "Opus 3"
+ }
}
}
@end lilypond
-@c Is the bit about \null markups true? -mp
+Beachten Sie:
+
+@itemize
+@item
+Die Instrumentenbezeichnung wird auf jeder Seite wiederholt.
+
+@item
+Nur @code{piece} (Stück)uand @code{opus} werden für eine Partitur
+(@code{\score}) gesetzt, wenn die @code{\paper}-Variable
+@code{print-all-headers} auf @code{##f} gesetzt ist (Standardeinstellung).
+@item
+@c Is the bit about \null markups true? -mp
Textfelder, die in einer @code{\header}-Umgebung nicht benutzt werden,
werden durch @code{\null}-Textbeschriftung ersetzt, sodass sie keinen
leeren Platz belegen.
+@item
Die Standardeinstellungen von @code{scoreTitleMarkup} platzieren
die Felder @code{piece} (Stück) und @code{opus} zu den gegenüberliegenden
Seiten der selben Zeile.
+@end itemize
+
+Um die Standardeinstellungen des Layouts zu ändern, siehe
+@ref{Angepasstes Layout für Titelumgebungen}.
+
@funindex breakbefore
Mit der Variable @code{breakbefore} innerhalb einer @code{\header}-Umgebung,
@rlearning{Wie eine LilyPond-Eingabe-Datei funktioniert},
Notationsreferenz:
-@ref{Die Dateistruktur}.
+@ref{Die Dateistruktur},
+@ref{Angepasstes Layout für Titelumgebungen}.
Installierte Dateien:
@file{ly/titling-init.ly}.
@unnumberedsubsubsec Angepasstes Layout für Titelumgebungen
@translationof Custom layout for title blocks
+@cindex bookTitleMarkup
+@cindex scoreTitleMarkup
+@funindex bookTitleMarkup
+@funindex scoreTitleMarkup
+
@code{\markup}-Befehle in der @code{\header}-Umgebung sind sinnvoll
für einfaches Formatieren von Text, aber sie gewähren keine genaue
Kontrolle über die Positionierung von Titeln. Um die Positionierung
@item @code{scoreTitleMarkup}
@end itemize
-Diese Beschriftungsvariablen sind behandelt in
+Die Positionierung von Titeln, wenn die Standardeinstellung dieser
+Variablen benützt werden, wird anhand einem Beispiel gezeigt in
@ref{Standardlayout von book und Partitur Titelumgebungen}.
Die Standardeinstellungen von @code{scoreTitleMarkup}, wie in der
@item @code{evenFooterMarkup}
@end itemize
+@cindex Beschriftung mit Bedingung
+@cindex on-the-fly
+@funindex \on-the-fly
+
+Der @code{\markup}-Befehl @code{\on-the-fly} kann eingesetzt werden,
+um Beschriftung anhand einer Bedingung zu Kopf- und Fußzeilentext
+innerhalb der @code{\paper}-Umgebung hinzuzufügen. Hierzu wird folgende
+Syntax eingesetzt:
+
+@example
+@code{Variable} = @code{\markup} @{
+ ...
+ @code{\on-the-fly} #@var{Prozedur} @var{Beschriftung}
+ ...
+@}
+@end example
+
+Die @var{Prozedur} wird jedes mal aufgerufen, wenn dar
+@code{\markup}-Befehl, auf den sie sich auswirkt, ausgewertet wird.
+Die @var{Prozedur} sollte nach einer bestimmten Bedingung fragen und
+das @var{Beschriftung}-Argument ausführen (also setzen), wenn diese
+Bedinung wahr ist.
+
+Eine Anzahl von fertigen Prozeduren, um verschiedene Bedinungen zu testen,
+werden bereitgestellt:
+
+@quotation
+@multitable {print-page-number-check-first-----} {should this page be printed-----}
+
+@headitem Prozedurbezeichnung @tab Getestete Bedinung
+
+@item print-page-number-check-first @tab sollte diese Seitenzahl gesetzt werden?
+@item create-page-number-stencil @tab 'print-page-numbers wahr?
+@item print-all-headers @tab 'print-all-headers wahr?
+@item first-page @tab erste Seite im Buch?
+@item (on-page nmbr) @tab Seitenzahl = nmbr?
+@item last-page @tab letzte Seite im Buch?
+@item not-first-page @tab nicht erste Seite im Buch?
+@item part-first-page @tab erste Seite im book part?
+@item part-last-page @tab letzte Seite im book part?
+@item not-single-page @tab Seiten im book part > 1?
+
+@end multitable
+@end quotation
+
Das folgende Beispiel zentriert die Seitenzahlen unten auf jeder Seite.
Zuerst werden die Standardeinstellungen von @code{oddHeaderMarkup} und
@code{evenHeaderMarkup} entfernt, indem sie als @qq{Null}-Beschriftung
}
@end lilypond
+Verschiedene @code{\on-the-fly}-Bedingungen können mit dem Operator
+@qq{UND} verknüpft werden, beispielsweise bestimmt
+
+@example
+ @code{\on-the-fly #first-page}
+ @code{\on-the-fly #last-page}
+ @code{@{ \markup ... \fromproperty #'header: ... @}}
+@end example
+
+@noindent
+ob es sich um eine einzelne Seite bei der Ausgabe handelt.
+
@seealso
Notationsreferenz:
@ref{Wie funktioniert die Titel-Umgebung?},
@ref{Standardlayout von book und Partitur Titelumgebungen}.
+Installierte Dateien:
+@file{../ly/titling-init.ly}.
+
@node Fußnoten erstellen
@subsection Fußnoten erstellen
Automatische Fußnoten erstellen aufsteigende Zahlenverweise, während
mit manuellen Fußnoten eigene angepasste Verweise erstellt werden
-können. Alle Grobs, @code{\markup}-Beschriftung auf höchster Ebene
-und zu Akkord zusammengefasste Noten können mit Fußnoten versehen werden.
+können. Fußnoten werden normalerweise wie ein @code{\tweak}-Befehl
+an Noten gehängt und können deshalb auch direkt mit den Grobs
+(graphischen Objekten) verknüpft werden, die von den meisten
+musikalischen Elementen und Postelementen erstellt werden. In Fällen, wo
+das nicht funktioniert (etwa bei Taktstrichen und Taktartänderungen, wo
+die Grobs als Folge einer Eigenschaftsänderung erstellt werden), können
+Fußnoten als einzelnstehendes musikalisches Ereigenis ersetllt werden,
+das sich auf alle Grobs eines bestimmten Typs zu einer bestimmten Zeit
+bezieht.
+
+Der vollständige Befehl ist:
+
+@example
+\footnote @var{Zeichen} @var{Verschiebung} @var{Grob-Bezeichnung} @var{Fußnote}
+@var{Noten}
+@end example
+
+Die Elemente sind folgende:
-Die Reihenfolge, in welcher ein Grob erstellt wird, bestimmt die
-Reihenfolge der Nummerierung automatischer Fußnoten.
+@table @var
+@item
+Zeichen
+ist eine Beschriftung oder Zeichenkette, die das Fußnotenzeichen
+angbit, welches für den Referenzpunkt als auch für die Fußnote
+unten auf der Seite benützt wird. Es kann ausgelassen werden
+(oder durch @code{\default} ersetzt werden); in diesem Fall wird
+eine aufsteigende Zahlenfolge erstellt.
+
+@item Verschiebung (offset)
+ist ein Zahlenpaar wie etwa @samp{#(2 . 1)}, das die X- und Y-Verschiebung
+vom Referenzpunkt aus angibt, wo das Zeichen gesetzt werden soll.
+
+@item Grob-Bezeichnung
+gibt die Grob-Art an, der ein Fußnotenzeichen hinzugefügt werden soll
+(wie etwa @samp{#'Flag}). Wenn sie angegeben wird, wird der entsprechende
+Grob als Referenzpunkt eingesetzt, auch wenn das referenzierte Element
+nicht die @var{Noten} selber sind, sondern ein Grob, der durch sie
+erstellt wird. Das Element kann ausgelassen werden (oder durch
+@code{\default} ersetzt werden); dann wird nur ein direkt erstellter Grob
+mit Fußnote versehen.
+
+@item Fußnote
+Diese Beschriftung oder Zeichenkette bezeichnet den Fußnotentext, der
+am unteren Seitenrand gesetzt werden soll.
+
+@item Noten
+Das ist das Element, ein musikalisches Ereignis oder eine Akkordkonstruktion
+oder ein Post-Ereignis, das die Fußnote erhält. Man kann es nicht auslassen,
+aber man @emph{kann} es durch @code{\default} ersetzten. In diesem Fall
+wird die Fußnote aber nicht an einen bestimmten musikalischen Ausdruck
+angehänt, sondern an einen zeitlichen Moment. In diesem Fall muss man
+zwingend die @var{Grob-Bezeichnung} angeben, um den Grob-Typ auszuwählen, auf
+den sich die Fußnote bezieht (etwa @samp{#'TimeSignature}).
+@end table
+
+Wie auch mit @code{\tweak} muss dem @code{\footnote}-Befehl @code{-}
+vorangestellt werde,n wenn er an ein Post-Ereignis oder eine
+Artikulation angehängt werden soll, damit der Parser das Ergebnis
+der vorherigen Note oder Pause zuordnen kann.
@node Automatische Fußnoten
@cindex Fußnoten, automatisch
-Automatische Fußnoten brauchen drei Argumente: das @var{Layoutobjekt}, das die
-Anmerkung erhalten soll, die @var{(x . y)}-Position des Indikators und
-eine @code{\markup}-Beschriftung, die den Inhalt der Fußnote enthält.
+Automatische Fußnoten haben vier Argumente: die @var{(x . y)}-Position des Indikators,
+die optionale @var{Grob-Bezeichnung}, die die Anmerkung erhalten soll,
+die @var{Fußnote}-Beschriftung, die den Inhalt der Fußnote enthält, und
+natürlich die @var{Noten}, welche mit einer Fußnote versehen werden sollen.
Der Befehl @code{\footnote} muss @emph{vor} dem Grob geschrieben
werden, auf den sich die Fußnote bezieht.
\book {
\header { tagline = ##f }
\relative c' {
- \footnote #'(0.5 . -2) #'NoteHead
+ \footnote #'(0.5 . -2)
\markup { Die erste Note } \default
a'4 b8
- \footnote #'(0.5 . 1) #'NoteHead
+ \footnote #'(0.5 . 1) #'Flag
\markup { Die dritte Note } \default
- e c4 d4
+ e\noBeam c4 d4
}
}
@end lilypond
-Bei Noten in Akkorden muss der Befehl @code{\footnote} @emph{nach}
-der Note, auf der sie sich bezieht, in Form eines @code{TextScript}
-stehen:
+Noten in Akkorden stellen keine Schwierigkeit dar:
@c KEEP LY
@lilypond[verbatim,quote,ragged-right,papersize=a8]
\header { tagline = ##f }
\relative c' {
<
- c-\footnote #'(1 . -1.25) "Hier ein C" \default
- es-\footnote #'(2 . -0.25) \markup { \italic "Ein Es" } \default
- g-\footnote #'(2 . 3) \markup { \bold "Das ist ein G" } \default
+ \footnote #'(1 . -1.25) "Hier ein C" c
+ \footnote #'(2 . -0.25) \markup { \italic "Ein Es" } es
+ \footnote #'(2 . 3) \markup { \bold "Das ist ein G" } g
>1
}
}
\book {
\header { copyright = \markup { "Copyright 1970" } }
\relative c' {
- \footnote #'(-3 . 0) #'DynamicText
- \markup { \bold Forte } \default
-
- \footnote #'(0 . 1.5) #'Slur
- \markup { Ein Bogen } \default
- a'4\f(
-
- \footnote #'(0 . -2) #'Beam
- \markup { Balken } \default
- b8)[ e]
-
+ a'4-\footnote #'(-3 . 0) \markup { \bold Forte } \f
+ -\footnote #'(0 . 1.5) \markup { Ein Bogen } (
+ b8)-\footnote #'(0 . -2) \markup { Balken } [ e]
\footnote #'(1 . -1) #'Stem
- \markup { \teeny { Das ist ein Hals } } \default
+ \markup { \teeny { Das ist ein Hals } }
c4
-
\footnote #'(0 . 0.5) #'AccidentalCautionary
- \markup \italic { Ein Warnungsversetzungszeichen } \default
-
- \footnote #'(0.5 . -0.5) #'TextScript
- \markup \italic { Langsamer hier } \default
- dis?4_"rit."
+ \markup \italic { Ein warnendes Versetzungszeichen }
+ \footnote #'(1 . 1) "Die Note selber"
+ dis?4-\footnote #'(0.5 . -0.5) \markup \italic { langsamer werden }
+ _"rit."
}
}
@end lilypond
@cindex Fußnoten, manuell
-Manuell erstellte Fußnoten brauchen vier Argumente: das @var{Layoutobjekt},
-das die Anmerkung erhalten soll, die @var{(x . y)}-Position des
-Indikators und zwei @code{\markup}-Beschriftungen; die erste ist der
-Indikator, der an die Note oder den Grob gehängt wird, die zweite
-der Inhalt der Fußnote unten auf der Seite.
+Manuell erstellte Fußnoten haben ein zusätzliches erstes Argument
+@var{Zeichen}, das das Fußnotenzeichen erstellt. Im Gegensatz zu
+automatisch erstellten Fußnotenzeichen erscheinen sie nicht unbedingt
+vor dem Fußnotentext unten auf der Seite -- das Herstellen eines visualen
+Zusammenhanges ist dem Setzer überlassen. LilyPond stellt nur ischer, dass
+der zugehörige Text unten auf der selben Seite erscheint.
-Wie auch bei automatischen Fußnoten muss der Befehl @code{\footnote}
-@emph{vor} dem Grob kommen, an den die Fußnote gehängt wird und als
-@code{TextScript} geschrieben werden:
+Davon abgesehen ist die Benutzung identisch mit automatischen Fußnoten.
@c KEEP LY
@lilypond[verbatim,quote,ragged-right,papersize=a8]
\book {
\header { tagline = ##f }
\relative c' {
- a'4-\footnote
- "1" #'(0.5 . -2) #'NoteHead \markup { \italic "1. Die erste Note" } \default
+ \footnote
+ "1" #'(0.5 . -2)
+ \markup { \italic "1. Die erste Note" }
+ a'4
b8
- e-\footnote
- \markup { \bold "2" } #'(0.5 . 1) #'NoteHead "2. Die zweite Note" \default
+ \footnote
+ \markup { \bold "2" } #'(0.5 . 1)
+ "2. Die zweite Note"
+ e
c4
- d\p-\footnote "3" #'(0.5 . -1) #'DynamicText "3. Piano" \default
+ d-\footnote "3" #'(0.5 . -1) "3. Piano" \p
}
}
@end lilypond
\book {
\header { tagline = ##f }
\relative c' {
- \footnote
- \markup { \teeny 1 } #'(-3 . 0) #'DynamicText
- \markup { 1. \bold Forte } \default
-
- \footnote
- \markup { \teeny b } #'(0 . 1.5) #'Slur
- \markup { b. Ein Bogen } \default
- a'4\f(
-
- \footnote
- \markup { \teeny 3 } #'(0 . -2) #'Beam
- \markup { 3. Balken } \default
- b8)[ e]
-
+ a'4-\footnote
+ \markup { \teeny 1 } #'(-3 . 0)
+ \markup { 1. \bold Forte } \f
+ -\footnote
+ \markup { \teeny b } #'(0 . 1.5)
+ \markup { b. Ein Bogen } (
+ b8)-\footnote
+ \markup { \teeny 3 } #'(0 . -2)
+ \markup { 3. Balken } [
+ e]
\footnote
\markup { 4 } #'(1 . -1) #'Stem
- \markup { \bold 4. { Das ist ein Hals } } \default
+ \markup { \bold 4. { Das ist ein Hals } }
c4
-
\footnote
- \markup \concat \teeny { "sharp (v)" } #'(0 . 0.5) #'AccidentalCautionary
- \markup \italic { v. Ein Warnungsversetzungszeichen } \default
-
- \footnote
- \markup \concat \teeny { "a" } #'(0.5 . -0.5) #'TextScript
- \markup \italic { a. Langsamer hier } \default
- dis?4_"rit."
-
- \breathe
+ \markup \concat \teeny { "sharp (v)" }
+ #'(0 . 0.5) #'AccidentalCautionary
+ \markup \italic { v. Ein warndendes Versetzungszeichen }
+ dis?4-\footnote
+ \markup \concat \teeny { "a" } #'(0.5 . -0.5)
+ \markup \italic { a. Langsamer werden } _"rit."
\footnote
- \markup { \teeny \musicglyph #"rests.4" } #'(1.5 . -0.25) #'BreathingSign
- \markup { \null } \default
+ \markup { \teeny \musicglyph #"rests.4" }
+ #'(1.5 . -0.25)
+ \markup { \null } \breathe
}
}
@end lilypond
Eine @code{\markup}-Beschriftung der höchsten Ebene wird wie folgt
annotiert:
+
@c KEEP LY
@lilypond[verbatim,quote,ragged-right,papersize=a8]
\book {
(add-toc-item! 'tocActMarkup text))
@end verbatim
-@lilypond[line-width=11.0\cm]
+@lilypond[line-width=10.0\cm]
\header { tagline = ##f }
\paper {
tocActMarkup = \markup \large \column {
Die Zeile zwischen dem Inhalt und der Seitenzahl kann mit einer gepunkteten
Linie gefüllt werden:
-@lilypond[verbatim,quote]
+@lilypond[verbatim,quote,line-width=10.0\cm]
\header { tagline = ##f }
\paper {
tocItemMarkup = \tocItemWithDotsMarkup
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: 06f227dd80f3a30cbf33c879b7c125079dfaf5c3
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
\voiceOne
% Make space for fingering in the cross-staff voice
\once\override DynamicLineSpanner #'staff-padding = #3.4
- e''2\p\< d''\> s1*0\!
+ e''2\p\< d''\>
+ c''1\!
}
\new Staff = "down" <<
{
\clef bass
s4. e,8\rest g,2\rest
+ c1
} \\ {
c8\( g c'
\change Staff = "up"
e' g' b'-3 a' g'\)
+ f'1
}
>>
>>
@cindex Akkorde über zwei Systeme
@funindex Stem
-@funindex cross-staff
-@funindex length
-@funindex flag-style
+@funindex \cross-staff
+@funindex \autoBeamOff
+@funindex Span_stem_engraver
-Akkorde, die über zwei Systeme reichen, können erstellt werden,
-indem die Länge der Hälse im unteren System vergrößert wird,
-bis sie zum oberen System hinauf reichen bzw. umgekehrt bei
-Hälsen, die nach unten zeigen.
+Akkorde, die über zwei Systeme reichen, können mit dem
+@code{Span_stem_engraver} erstellt werden. Man muss dabei sicherstellen,
+dass die automatische Bebalkung die Noten nicht auf dem einen System
+mit Balken versieht, wenn es auf dem anderen nicht nötig wäre.
-@lilypond[verbatim,quote]
-\new PianoStaff <<
- \new Staff {
- \relative c' {
- f8 e4 d8 d f e4
- }
- }
- \new Staff {
- \relative c' {
- << {
- \clef bass
- % stems may overlap the other staff
- \override Stem #'cross-staff = ##t
- % extend the stems to reach the other staff
- \override Stem #'length = #12
- % do not print extra flags
- \override Flag #'style = #'no-flag
- % prevent beaming as needed
- a8 g4 f8 f bes\noBeam g4
- }
- \\
- {
- f,2 bes4 c
- } >>
- }
- }
->>
-@end lilypond
+@lilypondfile[verbatim,quote]
+{cross-staff-stems.ly}
@snippets
@lilypondfile[verbatim,quote,texidoc,doctitle]
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: 06f227dd80f3a30cbf33c879b7c125079dfaf5c3
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
Die Tabelle zeigt die zwei üblichen Möglichkeiten, wie Akkordbezeichnungen
ausgegeben werden. Es wird auch die entsprechende Note ausgegeben.
-@lilypondfile{chord-names-jazz.ly}
+@c The line width is a hack to allow space for instrument names
+@lilypondfile[quote,line-width=15\cm]{chord-names-jazz.ly}
@node Übliche Akkord-Variablen
Die Tabelle zeigt alle vordefinierten Bunddiagramme für Gitarre.
-@lilypondfile{display-predefined-fretboards.ly}
+@lilypondfile[line-width=15.5\cm]{display-predefined-fretboards.ly}
Die folgende Tabelle zeigt vordefinierte Bunddiagramme für Ukulele.
-@lilypondfile{display-predefined-ukulele-fretboards.ly}
+@lilypondfile[line-width=15.5\cm]{display-predefined-ukulele-fretboards.ly}
Die folgende Tabelle zeigt die vordefinierten Bunddiagramme für Mandoline.
-@lilypondfile{display-predefined-mandolin-fretboards.ly}
+@lilypondfile[line-width=15.5\cm]{display-predefined-mandolin-fretboards.ly}
@node Vordefinierte Papierformate
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: 8cbb38db1591ab95a178643e7bf41db018aa22c0
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: 06f227dd80f3a30cbf33c879b7c125079dfaf5c3
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
cb hc bd sn ss tomh tommh tomml toml tomfh tomfl s16 }
\score {
<< \new DrumStaff \with {
- \remove Bar_engraver
- \remove Time_signature_engraver
+ \remove "Bar_engraver"
+ \remove "Time_signature_engraver"
\override Stem #'transparent = ##t
\override Flag #'transparent = ##t
\override Stem #'Y-extent = ##f
<<
\new DrumStaff \with {
- \remove Bar_engraver
- \remove Time_signature_engraver
+ \remove "Bar_engraver"
+ \remove "Time_signature_engraver"
\override Stem #'transparent = ##t
\override Flag #'transparent = ##t
\override Stem #'Y-extent = ##f
<<
\new DrumStaff \with {
- \remove Bar_engraver
- \remove Time_signature_engraver
+ \remove "Bar_engraver"
+ \remove "Time_signature_engraver"
drumStyleTable = #congas-style
\override StaffSymbol #'line-count = #2
<<
\new DrumStaff \with {
- \remove Bar_engraver
- \remove Time_signature_engraver
+ \remove "Bar_engraver"
+ \remove "Time_signature_engraver"
\override StaffSymbol #'line-count = #2
drumStyleTable = #bongos-style
<<
\new DrumStaff \with{
- \remove Bar_engraver
+ \remove "Bar_engraver"
drumStyleTable = #percussion-style
\override StaffSymbol #'line-count = #1
- \remove Time_signature_engraver
+ \remove "Time_signature_engraver"
\override Stem #'transparent = ##t
\override Flag #'transparent = ##t
\override Stem #'Y-extent = ##f
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: 06f227dd80f3a30cbf33c879b7c125079dfaf5c3
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@funindex \inversion
@funindex inversion
-Ein musikalischer Ausdruck kann in seine Umkehrung transformiert werden:
+Ein musikalischer Ausdruck kann in seine Umkehrung transformiert und
+gleichzeitig transponiert werden:
@example
-\inversion @var{vonTonhöhe} @var{nachTonhöhe} @var{mus. Ausdruck}
+\inversion @var{umTonhöhe} @var{nachTonhöhe} @var{mus. Ausdruck}
@end example
-Der @code{@var{mus. Ausdruck}} wird Intervall für Intervall umgekehrt und dann
-von @code{v@var{vonTonhöhe}} nach @code{@var{nachTonhöhe}} transponiert.
+Der @code{@var{mus. Ausdruck}} wird Intervall für Intervall um
+@code{v@var{UmTonhöhe}} umgekehrt und dann von @code{v@var{UmTonhöhe}}
+nach @code{@var{nachTonhöhe}} transponiert.
@lilypond[verbatim,quote]
music = \relative c' { c d e f }
}
@end lilypond
+@warning{Motive, die umgekehrt werden, sollen in absoluten Tonhöhen
+notiert werden oder zuerst in absolute Tonhöhen umgewandelt werden,
+indem sie in eine @code{\relative}-Umgebung eingeschlossen werden.}
+
@seealso
Notationsreferenz:
@ref{Modale Transformierungen},
\transposition a
c d e f
\textLengthOn
-s1*0^\markup { B-Klarinette benutzen }
+<>^\markup { B-Klarinette benutzen }
R1
\key bes \major
@lilypond[verbatim,quote]
forget = #(define-music-function (parser location music) (ly:music?) #{
\accidentalStyle "forget"
- $music
+ #music
\accidentalStyle "modern"
#})
{
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: 06f227dd80f3a30cbf33c879b7c125079dfaf5c3
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
Die @code{measureLength}-Eigenschaft ist beschrieben in
@ref{Verwaltung der Zeiteinheiten}.
-@cindex \inStaffSegno
+@funindex \inStaffSegno
Der @code{\inStaffSegno}-Befehl kann angewandt werden, um das
Segno-Zeichen in die Notenzeile einzubinden, auch in Kooperation
voltaAdLib = \markup { 1. 2. 3... \text \italic { ad lib. } }
\relative c'' {
c1
- \set Score.repeatCommands = #(list(list 'volta voltaAdLib) 'start-repeat)
+ \set Score.repeatCommands =
+ #(list(list 'volta voltaAdLib) 'start-repeat)
c4 b d e
\set Score.repeatCommands = #'((volta #f) (volta "4.") end-repeat)
f1
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: 06f227dd80f3a30cbf33c879b7c125079dfaf5c3
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
}
\new Voice \with {
- \consists Pitch_squash_engraver
+ \consists "Pitch_squash_engraver"
} \relative c'' {
\improvisationOn
c4 c8 c c4 c8 c
@funindex \set
@funindex set
+Wenn die automatischen Balken angeschaltet sind, wird die Platzierung der
+automatischen Balken von drei Kontexteigenschaften bestimmt:
+@code{baseMoment}, @code{beatStructure} und @code{beamExceptions}.
+Wenn eine @code{beamExceptions}-Regel für die aktuelle Taktart definiert ist,
+wird diese Regel zur Bestimmmung der Balkenplatzierung herangezogen. Wenn keine
+@code{beamExceptions}-Regel für die aktuelle Taktart vorhanden ist, wird
+die Platzierung der Balken durch die Einstellungen von @code{baseMoment}
+und @code{beatStructure} bestimmt.
+
+Standardmäßig sind @code{beamExceptions}-Regel für alle häufigen Taktarten
+vordefiniert, sodass die @code{beamExceptions}-Regeln deaktiviert werden
+müssen, wenn die Balkenplatzierung aufgrund von @code{baseMoment} und
+@code{beatStructure} stattfinden soll. Die @code{beamExceptions}-Regeln werden
+deaktiviert durch
+
+@example
+\set Timing.beamExceptions = #'()
+@end example
+
+
+@subsubheading @i{Bebalkung basierend auf @code{baseMoment} und @code{beatStructure}}
+
In den meisten Fällen enden automatische Balken am Ende eines Taktes.
Die Endpunkte für Schläge werden durch die Kontexteigenschaften
@code{baseMoment} und @code{beatStructure} bestimmt. @code{beatStructure}
c16^"(3+2)" c c c c |
@end lilypond
+Wenn eine häufige Taktart benützt wird, @emph{muss} @code{beamExceptions}
+deaktiviert werden, damit @code{beatStructure} funktionieren kann.
+Der @code{\set Timing.beamExceptions = #'()}-Befehl kann immer eingefügt
+werden, wenn die Bebalkung von @code{beatStructure} bestimmt werden soll.
+
+@lilypond[quote,relative=2,verbatim]
+\time 4/4
+a8^"default" a a a a a a a
+
+\set Timing.baseMoment = #(ly:make-moment 1 4)
+\set Timing.beatStructure = #'(1 1 1 1)
+a8^"no change" a a a a a a a
+
+\set Timing.beamExceptions = #'()
+\set Timing.baseMoment = #(ly:make-moment 1 4)
+\set Timing.beatStructure = #'(1 1 1 1)
+a8^"changed" a a a a a a a
+@end lilypond
+
Balkenregelveränderungen können auf bestimmte Kontexte beschränkt
werden. Wenn keine Regeln in einen unteren Kontext definiert
sind, gelten die Regeln des höheren Kontext, in dem sich der
der Taktangabe. Alle Ausnahmen dieses Standards finden sich in der Datei
@file{scm/time-signature-settings.scm}.
+@subsubheading @i{Bebalkung basierend auf @code{beamExceptions}}
+
Besondere automatische Bebalkungsregeln (außer dass ein Balken auf einem
Taktschlag aufhört) sind in der @code{beamExceptions}-Eigenschaft
definiert.
\repeat unfold 8 {c8}
@end lilypond
-Im traditionellen Notensatz haben Achtelnoten besondere Bebalkungsregeln.
-Ein Takt, der nur aus Achteln besteht, kann als Ganzer bebalkt werden. Diese
-Regel wird durch die Eigenschaft @code{beamWholeMeasure} bestimmt.
+Auf gleiche Art werden Achtelnoten im 3/4-Takt über den ganzen Takt hin
+mit Balken versehen. Damit Achtelnoten im 3/4-Takt auf jedem Schlag
+einen neuen Balken erhalten, muss @code{beamExceptions} verändert werden:
@lilypond[quote,verbatim,relative=2]
\time 3/4
\repeat unfold 6 {a8}
@end lilypond
-In einigen Notenstichen der romantischen und klassischen Periode kann auch
-ein halber Takt Achtelnoten durchgehend bebalkt werden, auch wenn das die
-generelle Regel verletzt (siehe Gould, S. 153). Dieses Verhalten wird durch
-die Eigenschaft @code{beamHalfMeasure} bestimmt:
+In Notenstichen der romantischen und klassischen Periode wird teilweise auch
+ein halber Takt Achtelnoten im 3/4-Takt mit einem Balken versehen, moderner
+Notenstich vermeidet dies jedoch, um nicht den falschen Eindruck eines
+6/8-Taktes entstehen zu lassen (siehe Gould, S. 153). Eine ähnliche Situation
+entsteht im 3/8-Takt. Dieses Verhalten wird durch
+die Eigenschaft @code{beamHalfMeasure} bestimmt, welche sich nur auf
+Takte mit einer 3 im Zähler auswirkt:
@lilypond[quote,verbatim,relative=2]
\time 3/4
r4. a8 a a |
@end lilypond
-@i{@strong{Wie die automatische Bebalkung funktioniert}}
+@subsubheading @i{Wie die automatische Bebalkung funktioniert}
Wenn die automatische Bebalkung aktiviert ist, wird die Platzierung
der automatischen Balken durch die Kontexteigenschaften
\MyCadenza c'1
}
\new Staff {
- $(mmrest-of-length MyCadenza)
+ #(mmrest-of-length MyCadenza)
c'1
- $(skip-of-length MyCadenza)
+ #(skip-of-length MyCadenza)
c'1
}
>>
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: 06f227dd80f3a30cbf33c879b7c125079dfaf5c3
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@section Gleichzeitig erscheinende Noten
@translationof Simultaneous notes
-@lilypondfile[quote]{simultaneous-headword.ly}
+@lilypondfile[quote,ragged-right,line-width=16\cm]{simultaneous-headword.ly}
Polyphonie bedeutet in der musikalischen Terminologie das
Vorhandensein von mehr als einer (eigenständigen) Stimme
Ornamenten gefolgt werden.
@lilypond[verbatim,quote,relative=2]
-<a c\prall e>1 <a-> c-^ e>2 <f-. a c-. e-.>4 <a-+ c-->8. <g\fermata c e\turn>16
+<a c\prall e>1 <a-> c-^ e>2 <f-. a c-. e-.>4
+<a-+ c-->8. <g\fermata c e\turn>16
@end lilypond
Manche Notationselemente, wie etwa Dynamik, Crescendo-Klammern und
an einzelne Noten, damit sie ausgegeben werden.
@lilypond[verbatim,quote,relative=2]
-<a\f c( e>1 <a c) e>\f <a\< c e>( <a\! c e>) <a c e>\< <a c e> <a c e>\!
+<a\f c( e>1 <a c) e>\f <a\< c e>( <a\! c e>)
+<a c e>\< <a c e> <a c e>\!
+@end lilypond
+
+Ein Akkord ist sozusagen ein Container für die Noten, ihre Artikulationen
+und andere angehänge Elemente. Demzufolge hat also auch ein Akkord ohne
+wirkliche Noten innerhalb der Klammern keine Dauer. Alle angehängten
+Artikulationen geschehen zur selben musikalischen Zeit wie die folgende
+Note oder der folgende Akkord und werden damit kombiniert (für
+komplexere Möglichkeiten, derartige Elemente zu kombinieren, siehe
+@ref{Gleichzeitige Ausdrücke}.
+
+@lilypond[verbatim,quote,relative=2]
+\grace { g8[( a b] }
+<> ) \p \< -. -\markup \italic "sempre staccato"
+\repeat unfold 4 { c4 e } c1\f
@end lilypond
@cindex relative Tonhöhe, Akkorde
Dass kann benutzt werden, wenn die simultanen Abschnitte einen
identischen Rhythmus haben, aber wenn versucht wird, Noten mit
unterschiedlicher Dauer an denselben Hals zu setzen, gibt es
-Fehlermeldungen.
+Fehlermeldungen. Noten, Artikulationen und Eigenschaftsänderungen
+in einer @emph{einzelnen} @samp{Voice} werden gesammelt und
+in musikalischer Reihenfolge gesetzt:
+
+@lilypond[quote,verbatim,relative=2]
+<a c>4-. <>-. << c a >> << { c-. <c a> } { a s-. } >>
+@end lilypond
+
+Mehrfache Hälse oder Balken oder unterschiedliche Notendauern
+oder Eigenschaften zur selben musikalischen Zeit erfordern den
+Einsatz von mehreren Stimmen.
Das nächste Beispiel zeigt, wie ein simultaner Ausdruck implizit
mehrere Systeme erstellt:
<< { a4 b g2 } { d4 g2 c,4 } >>
@end lilypond
-In diesem Fall stellt der unterschiedliche Rhythmus kein Problem dar.
+In diesem Fall stellt der unterschiedliche Rhythmus kein Problem dar,
+weil sie in unterschiedlichen Stimmen interpretiert werden.
@cindex Zusammenstöße, kollidierende Notenkolumnen
@cindex Zusammenstöße, ignorieren
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: 06f227dd80f3a30cbf33c879b7c125079dfaf5c3
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@ref{Seitenumbrüche},
@ref{Optimale Seitenumbrüche},
@ref{Optimale Umbrüche zum Blättern},
-@ref{Minimale Seitenumbrüche}.
+@ref{Minimale Seitenumbrüche},
+@ref{Eine-Seite-Seitenumbrüche}.
Installierte Dateien:
@file{ly/paper-defaults-init.ly}.
@}
@end example
+Mehrfache @code{\layout}-Umbgebungen können als Ausdrücke auf höchster
+Ebene eingegeben werden. Das kann beispielsweise nützlich sein, wenn
+unterschiedliche Einstellungen in extra Dateien gespeichert werden und
+optional eingefügt werden. Intern wird eine Kopie der aktuellen
+@code{\layout}-Konfiguration gemacht, wenn eine @code{\layout}-Umgebung
+ausgewertet wird, dann erst werden Änderungen aus der Umgebung angewendet
+und das Ergebnis als die neue aktuelle Konfiguration gespeichert.
+Aus der Sicht des Benutzers werden die @code{\layout}-Umgebungen
+kombiniert, aber in Konfliktsituationen (wenn die gleiche Eigenschaft
+in unterschiedlichen Umgebungen geändert wird), erhält die spätere
+Definition den Vorrang.
+Wenn also diese Umgebung:
+
+@example
+\layout @{
+ \context @{
+ \Voice
+ \override TextScript #'color = #magenta
+ \override Glissando #'thickness = #1.5
+ @}
+@}
+@end example
+
+nach der Umgebung aus dem vorherigen Beispiel geschrieben wird, werden
+die @code{'padding}- und @code{'color}-Einstellungen für @code{TextScript}
+kombiniert, aber die spätere @code{'thickness}-Einstellung für
+@code{Glissando} ersetzt (oder versteckt) die vorherige.
+
+@code{\layout}-Umgebungen können einer Variable zur späteren Benutzung
+zugewiesen werden, aber die Funktionsweise dieser Zuweisung ist geringfügig
+aber deutlich unterschiedlich von der Variante, sie auszuschreiben.
+
+Wenn eine Variable etwa so definiert wird:
+
+@example
+layoutVariable = \layout @{
+ \context @{
+ \Voice
+ \override NoteHead #'font-size = #4
+ @}
+@}
+@end example
+
+@noindent
+dann enthält sie die aktuelle @code{\layout}-Konfiguration mit zusätzlicher
+Veränderung von @code{NoteHead #'font-size} (der Schriftgröße der Notenköpfe),
+aber diese Kombination wird @emph{nicht} als nächste aktuelle
+Konfiguration gespeichert. Man muss sich im klaren sein, dass die
+@qq{aktuelle Konfiguration} gelesen wird, wenn die Variable erstellt
+wird, nicht wenn sie benutzt wird. Darum ist der Inhalt der Variable
+abhängig von ihrer Position in der Partitur.
+
+Die Variable kann dann auch innerhalb einer anderen @code{\layout}-Umgebung
+eingesetzt werden, etwa:
+
+@example
+\layout @{
+ \layoutVariable
+ \context @{
+ \Voice
+ \override NoteHead #'color = #red
+ @}
+@}
+@end example
+
+Eine @code{\layout}-Umgebung, die eine Variable enthält wie im Beispiel oben,
+kopiert die aktuelle Konfiguration @emph{nicht}, sondern benützt den
+Inhalt von @code{\layoutVariable} als Basiskonfiguration für die weiteren
+Veränderungen. Das heißt, dass Änderungen, die zwischen der Definition
+der Variable und ihrer Benutzung definiert wurden, verloren gehen.
+
+Wenn @code{layoutVariable} kurz vor ihrer Benutzung definiert wird (oder
+mit @code{\include} eingefügt wird), entspricht ihr Inhalt der
+aktuellen Konfiguration plus die Änderungen, die die Variable definiert.
+Das obige Beispiel, das den Einsatz von @code{\layoutVariable} zeigt,
+würde in seiner finalen Version folgende @code{\layout}-Umgebung haben:
+
+@example
+ TextScript #'padding = #1
+ TextScript #'color = #magenta
+ Glissando #'thickness = #1.5
+ NoteHead #' font-size = #4
+ NoteHead #' color = #red
+@end example
+
+plus die Veränderungen an Einrückung (@code{indent}) und @code{StaffGrouper}.
+
+Aber wenn die Variable vor der ersten @code{\layout}-Umgebung definiert
+wird, würde die aktuelle Konfiguration nur enthalten:
+
+@example
+ NoteHead #' font-size= #4 % (written in the variable definition)
+ NoteHead #' color = #red % (added after the use of the variable)
+@end example
+
+Wenn man sorgfältig plant, können @code{\layout}-Variablen ein wertvolles
+Instrument sein, um das Layout-Design von Quellen zu strukturieren und
+auch dazu dienen, die Layout-Einstellungen an einer bestimmten Stelle
+wieder zurückzusetzen.
@seealso
Notationsreferenz:
* Optimale Seitenumbrüche::
* Optimale Umbrüche zum Blättern::
* Minimale Seitenumbrüche::
+* Eine-Seite-Seitenumbrüche::
* Ausdrückliche Umbrüche::
* Eine zusätzliche Stimme für Umbrüche benutzen::
@end menu
@lilypond[quote,ragged-right,verbatim]
\new Voice \with {
- \remove Forbid_line_break_engraver
+ \remove "Forbid_line_break_engraver"
} \relative c'' {
<<
{ c2. \times 2/3 { c4 c c } c2. | }
@}
@end example
-
@seealso
Schnipsel:
@rlsr{Spacing}.
+@node Eine-Seite-Seitenumbrüche
+@subsection Eine-Seite-Seitenumbrüche
+@translationof One-line page breaking
+
+@funindex ly:one-line-breaking
+
+Die Funktion @code{ly:one-line-breaking} ist ein besonderer
+Seitenumbruchalgorithmus, der jede Partitur (@code{score}) auf
+eine eigene Seite ausgibt, und in einer einzlenen Zeile. Diese
+Seitenumbruchfunktion gibt keine Titel oder Ränder aus, nur die
+Partitur wird dargestellt.
+
+Die Seitenbreite wird angepasst, sodass die längeste Partitur auf
+eine Zeile passt. Die Variablen @code{paper-width}, @code{line-width}
+und @code{indent} in der @code{\paper}-Umgebung werden ignoriert,
+wenn auch @code{left-margin} und @code{right-margin} noch beachtet
+werden. Die Höhe der Seite wird nicht verändert.
+
+
@node Ausdrückliche Umbrüche
@subsection Ausdrückliche Umbrüche
@translationof Explicit breaks
-
-
-
-
-
-
@node Explizite Positionierung von Systemen
@subsection Explizite Positionierung von Systemen
@translationof Explicit staff and system positioning
padding bezeichnet), kann durch @code{outside-staff-padding}
kontrolliert werden.
-@lilypond[quote,ragged-right,relative=2,verbatim]
+@lilypond[quote,ragged-right,relative=2,verbatim,staffsize=18]
\once \override TextScript #'outside-staff-padding = #0
a'^"This text is placed very close to the note"
\once \override TextScript #'outside-staff-padding = #3
@item @code{proportionalNotationDuration} (proportionale Notendauer)
@item @code{uniform-stretching} (gleichmäßige Dehnung)
@item @code{strict-note-spacing} (strenge Notenverteilung)
-@item @code{\remove Separating_line_group_engraver} (entferne Liniengruppentrennungsengraver)
+@item @code{\remove "Separating_line_group_engraver"} (entferne Liniengruppentrennungsengraver)
@item @code{\override PaperColumn #'used = ##t} (PapierSpalte benutzt = wahr)
@end itemize
}
\new Staff \with {
- \remove Separating_line_group_engraver
+ \remove "Separating_line_group_engraver"
} {
c'1
\break
@item @code{\override Beam #'breakable = ##t}
@item @code{\override Glissando #'breakable = ##t}
@item @code{\override TextSpanner #'breakable = ##t}
-@item @code{\remove Forbid_line_break_engraver in the Voice context}
+@item @code{\remove "Forbid_line_break_engraver" in the Voice context}
@end itemize
Diese Einstellungen bewirken, dass auch Verzierungsnoten proportional
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: 8cbb38db1591ab95a178643e7bf41db018aa22c0
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: 06f227dd80f3a30cbf33c879b7c125079dfaf5c3
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@section Notation auf Systemen
@translationof Staff notation
-@lilypondfile[quote]{staff-headword.ly}
+@c The line width is a bit of a hack to allow space for the
+@c instrument names.
+@lilypondfile[quote,ragged-right,line-width=14.5\cm,staffsize=16]{staff-headword.ly}
Dieser Abschnitt zeigt, wie die Erscheinung von Systemen beeinflusst
wird, wie Partituren mit mehr als einem System gesetzt werden und wie
oboeNotes = \relative c'' {
R1
- s1*0^\markup { \tiny "flute" }
+ \new CueVoice { \set instrumentCueName = "flute" }
\cueDuring #"flute" #UP { R1 }
g2 c,
}
}
@end lilypond
-Beschriftung kann auch benutzt werden, um die Bezeichnung des zitierten
-Instruments anzuzeigen. Wenn die Stichnoten einen Schlüsselwechsel
-erfordern, kann er manuell erzeugt werden -- dann muss aber der
-ursprüngliche Schlüssel am Ende der Stichnoten wieder hergestellt werden:
+Die Bezeichnung des gerade spielenden Instruments in den Stichnoten
+kann gesetzt werden, indem man die @code{instrumentCueName}-Eigenschaft
+in einen temporären @code{CueVoice}-Kontext setzt. Die Platzierung und
+der Stil von @code{instrumentCueName} wird durch das @code{\instrumentSwitch}-Objekt
+kontrolliert, siehe @ref{Instrumentenbezeichnungen}. Wenn die Stichnoten
+einen Schlüsselwechsel erfordern, kann dieser manuell hervorgerufen werden,
+aber der originale Schlüssel muss auch manuell am Ende der Stichnoten
+wieder hergestellt werden.
@lilypond[verbatim,quote]
fluteNotes = \relative c'' {
\clef bass
R1
\clef treble
- s1*0^\markup { \tiny "flute" }
+ \new CueVoice { \set instrumentCueName = "flute" }
\cueDuring #"flute" #UP { R1 }
\clef bass
g4. b8 d2
bassoonNotes = \relative c {
\clef bass
R1
- s1*0^\markup { \tiny "flute" }
+ \new CueVoice { \set instrumentCueName = "flute" }
\cueDuringWithClef #"flute" #UP #"treble" { R1 }
g4. b8 d2
}
R1
\tag #'part {
\clef treble
- s1*0^\markup { \tiny "flute" }
+ \new CueVoice { \set instrumentCueName = "flute" }
}
\cueDuring #"flute" #UP { R1 }
\tag #'part \clef bass
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: 06f227dd80f3a30cbf33c879b7c125079dfaf5c3
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: 06f227dd80f3a30cbf33c879b7c125079dfaf5c3
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: 06f227dd80f3a30cbf33c879b7c125079dfaf5c3
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
>>
@end lilypond
+Dabei ist zu beachten, dass Phrasierungsbogen die Erstellung eines
+Melsima nicht beeinflussen.
+
@item
Noten werden als ein Melisma betrachtet, wenn sie manuell mit einem Balken
versehen werden, vorausgesetzt, dass die automatische Bebalkung ausgeschaltet
>>
@end lilypond
-Mit dieser Methode können allerdings nicht zwei Melismen notiert werden,
-wenn sie direkt aufeinander folgen.
-
@item
Ein Melisma kann auch ausschließlich im Gesangstext notiert werden, indem man
einzlene Unterstriche (@code{_}) für jede Note eingibt, die zum Melisma
@}
@end example
-@c TODO Create and add lsr example of lyricMelismaAlignment
-@c It's used like this to center-align all lyric syllables,
-@c even when notes are tied. -td
-
-@ignore
-\layout
-{
- \context { \Score lyricMelismaAlignment = #0 }
-}
-@end ignore
-
@node Gesangstext und Wiederholungen
}
@end lilypond
+@cindex alignBelowContext
+@funindex alignBelowContext
+
+Wenn diese Konstruktion jedoch innerhalb eines Mehrsystemkontexts
+eingebettet ist, wie etwa ein @code{ChoirStaff}, werden die Texte
+der zweiten und dritten Strophe unter dem untersten System ausgegeben
+werden.
+
+Um sie richtig zu positionieren, kann @code{alignBelowContext}
+eingesetzt werden:
+
+@lilypond[verbatim,quote]
+\score {
+ <<
+ \new Staff {
+ \new Voice = "melody" {
+ \relative c'' {
+ a4 a a a
+ \repeat volta 3 { b4 b b b }
+ c4 c c c
+ }
+ }
+ }
+ \new Lyrics = "firstVerse" \lyricsto "melody" {
+ Not re -- peat -- ed.
+ <<
+ { The first time words. }
+ \new Lyrics = "secondVerse"
+ \with { alignBelowContext = #"firstVerse" } {
+ \set associatedVoice = "melody"
+ Sec -- ond time words.
+ }
+ \new Lyrics = "thirdVerse"
+ \with { alignBelowContext = #"secondVerse" } {
+ \set associatedVoice = "melody"
+ The third time words.
+ }
+ >>
+ The end sec -- tion.
+ }
+ \new Voice = "harmony" {
+ \relative c' {
+ f4 f f f \repeat volta 2 { g8 g g4 g2 } a4 a8. a16 a2
+ }
+ }
+ >>
+}
+@end lilypond
+
@c TODO positioning a common line of lyrics
c4. g8
% position name of cue-ing instrument just before the cue notes,
% and above the staff
- s1*0^\markup { \right-align { \tiny "Flute" } }
+ \new CueVoice {
+ \override InstrumentSwitch #'self-alignment-X = #RIGHT
+ \set instrumentCueName = "Flute"
+ }
\cueDuring "flute" #UP { g4 bes4 }
}
pianoLH = \relative c { c4 <c' e> e, <g c> }
pianoRH = \relative c'' {
\transposition c'
% position name of cue-ing instrument below the staff
- s1*0_\markup { \right-align { \tiny "Clar." } }
+ \new CueVoice {
+ \override InstrumentSwitch #'self-alignment-X = #RIGHT
+ \override InstrumentSwitch #'direction = #DOWN
+ \set instrumentCueName = "Clar."
+ }
\cueDuring "clarinet" #DOWN { c4. g8 }
g4 bes4
}
\layout {
\context {
\Staff
- \remove Bar_engraver
+ \remove "Bar_engraver"
}
}
}
\score {
\new ChoirStaff <<
\new Staff
- \with { \remove Bar_engraver } {
+ \with { \remove "Bar_engraver" } {
\relative c'' {
a4 b c2 |
a4 b c2 |
\layout {
\context {
\Staff
- \remove Bar_engraver
+ \remove "Bar_engraver"
}
}
}
\layout {
\context {
\Staff
- \remove Bar_engraver
- \remove Time_signature_engraver
- \remove Clef_engraver
+ \remove "Bar_engraver"
+ \remove "Time_signature_engraver"
+ \remove "Clef_engraver"
}
}
}
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: 06f227dd80f3a30cbf33c879b7c125079dfaf5c3
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
angezeigt werden; durch diese Befehle wird der Notensatz nicht
verändert.
-Neue Diagramme können erstellt werden, indem man die Muster in den Datei
+Neue Diagramme können erstellt werden, hierzu benötigt man jedoch
+Scheme-Kenntnisse. Die Muster für die Diagramme befinden sich in den Dateien
@file{scm/define-woodwind-diagrams.scm} und
-@file{scm/display-woodwind-diagrams.scm} befolgt. Das benötigt jedoch
-Scheme-Fähigkeit und ist nicht für alle Benutzer verständlich.
+@file{scm/display-woodwind-diagrams.scm}.
@snippets
@lilypondfile[verbatim,quote,texidoc,doctitle]
@seealso
Installierte Dateien:
-@file{scm/define-woodwind-diagrams.scm},
+@file{scm/define-woodwind-diagrams.scm}, @*
@file{scm/display-woodwind-diagrams.scm}.
Schnipsel:
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: ebe492ca408fb0d9abf80b94c56197eef8dc2f09
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
Hier ist eine Möglichkeit, Maqams zu gruppieren, womit die
häufigsten Maqams bestimmten Vorzeichen zugeordnet werden:
-@multitable @columnfractions 0.1 0.1 0.1 0.6
+@multitable @columnfractions 0.15 0.1 0.1 0.6
@headitem Maqam-Gruppe
@tab Vorzeichen (@code{\key})
@tab Finalis
<!--
- Translation of GIT committish: ebe492ca408fb0d9abf80b94c56197eef8dc2f09
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
<!--
we depend on an external entity here, which we cannot control. Suppose
-we go from 2.15.x to 2.17.x and put the documentation under "v2.17".
+we go from 2.16.x to 2.17.x and put the documentation under "v2.17".
For some time, Google won't have the new location in its index, so the
-search would get nothing. It would be better to keep "v2.15" in the
-search for a while and have a redirection from "v2.15" to "v2.17".
+search would get nothing. It would be better to keep "v2.16" in the
+search for a while and have a redirection from "v2.16" to "v2.17".
-->
<form action="http://google.com/search"
method="get"
name="search"
- onSubmit="search.q.value='site:lilypond.org/doc/v2.15 '
+ onSubmit="search.q.value='site:lilypond.org/doc/v2.16 '
+ search.brute_query.value"
- onMouseMove="search.q.value='site:lilypond.org/doc/v2.15 '
+ onMouseMove="search.q.value='site:lilypond.org/doc/v2.16 '
+ search.brute_query.value"
- onKeyUp="search.q.value='site:lilypond.org/doc/v2.15 '
+ onKeyUp="search.q.value='site:lilypond.org/doc/v2.16 '
+ search.brute_query.value">
<input type="hidden" name="btnG" value="Mit Google suchen">
<input type="text" name="brute_query" onfocus="this.value=''" value="Suche">
--- /dev/null
+%% Translation of GIT committish: a0077273ac8bf29ae472c8712bc78a02d138f898
+ texidocde = "
+Dieses Schnipsel zeigt den Einsatz von {Span_stem_engraver} und
+@code{\\crossStaff}, um Hälse über Systeme hinweg automatisch zu
+verbinden. Die Länge des Halses muss definiert werden, da der
+variable Abstand zwischen Notenköpfen und Notensystemen automatisch
+errechnet wird.
+"
+ doctitlede = "Hälse über beide Systeme"
+
@c -*- coding: utf-8; mode: texinfo; -*-
@ignore
- Translation of GIT committish: ebe492ca408fb0d9abf80b94c56197eef8dc2f09
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@item --lxml
Benutzt das lxml.etree Python-Paket für die Verarbeitung von XML (benötigt weniger Speicher und Rechenleistung)
-@item --nd --no-articulation-directions
+@item -m --midi
+Aktiviert die MIDI-Umgebung
+
+@item -nd --no-articulation-directions
Konvertiert keine Richtungsangaben (@code{^}, @code{_} oder @code{-})
von Artikulations- und Lautstärkebezeichnungen.
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: ebe492ca408fb0d9abf80b94c56197eef8dc2f09
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
<textobject>
<programlisting language="lilypond" role="fragment verbatim staffsize=16 ragged-right relative=2">
\context Staff \with @{
- \remove Time_signature_engraver
- \remove Clef_engraver@}
+ \remove "Time_signature_engraver"
+ \remove "Clef_engraver"@}
@{ c4( fis) @}
</programlisting>
</textobject>
@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
@ignore
- Translation of GIT committish: ebe492ca408fb0d9abf80b94c56197eef8dc2f09
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@menu
* lilypond aufrufen::
-* Optionen auf der Kommandozeile für lilypond::
+* Grundlegende Optionen auf der Kommandozeile für LilyPond::
+* Fortgeschrittene Optionen auf der Kommandozeile für LilyPond::
* Umgebungsvariablen::
* LilyPond in chroot-Kerker::
@end menu
haben.
-@node Optionen auf der Kommandozeile für lilypond
-@unnumberedsubsec Optionen auf der Kommandozeile für @command{lilypond}
-@translationof Command line options for lilypond
+@node Grundlegende Optionen auf der Kommandozeile für LilyPond
+@unnumberedsubsec Grundlegende Optionen auf der Kommandozeile für LilyPond
+@translationof Basic command line options for LilyPond
Die folgenden Kommandozeilenoptionen werden von @command{lilypond} unterstützt:
@table @code
@item -d,--define-default=@var{Variable}=@var{Wert}
-Damit wird die interne Programmoption @var{Variable} auf den Scheme-Wert
-@var{Wert} gesetzt. Wird kein @var{Wert} angegeben, so wird @var{#t} benutzt.
-Um eine Option auszuschalten, kann der Präfix @code{no-} dem Namen
-@var{Variable} der Variable vorangestellt werden. So ist etwa
-
-@cindex Point and Click, Kommandozeile
-
-@example
--dno-point-and-click
-@end example
-
-@noindent
-dasselbe wie
-@example
--dpoint-and-click=#f
-@end example
-
-Folgende Optionen werden unterstützt:
-
-@cindex Hilfe, Kommandozeile
-
-@table @code
-
-@item help
-Die Ausführung von @code{lilypond -dhelp} zeigt alle verfügbaren
-@option{-d}-Optionen.
-
-@cindex Papierformat, Kommandozeile
-
-@item paper-size
-Setzt das Standard-Papierformat,
-@example
--dpaper-size=\"letter\"
-@end example
-
-@noindent
-Die Zeichenkette, die das Format angibt, muss in Anführungszeichen mit Backslash
-( @code{\"} ) stehen.
-
-@cindex sicher, Kommandozeile
-@cindex safe, Kommandozeile
-
-@item safe
-Vertraut der @file{.ly} Datei nicht.
-
-Wenn LilyPond über einen Webserver verfügbar gemacht wird, @b{MUSS} unbedingt
-eine die Optionen @option{--safe} oder @option{--jail} angegeben werden.
-Die @option{--safe} Option verhindert, dass in der @file{.ly}-Datei angegebener
-Scheme-Code das System gefährden kann, wie etwa in folgendem Beispiel:
-
-@quotation
-@verbatim
-#(system "rm -rf /")
-{
- c4^$(ly:gulp-file "/etc/passwd")
-}
-@end verbatim
-@end quotation
-
-Mit der @option{-dsafe} Option werden alle Scheme-Ausdrücke einem speziellen
-sicheren Modus ausgewertet. Dieser Modus ist vom GUILE @file{safe-r5rs} Modul
-abgeleitet und fügt noch zahlreiche weitere erlaubte Funktionen der
-LilyPond Programm-Schnittstelle hinzu. Diese Funktionen sind in
-@file{scm/safe-lily.scm} angegeben.
-
-Zusätzliche verbietet der sichere Modus auch @code{\include} Befehle.
-
-Im sicheren Modus ist es nicht möglich, LilyPond-Variablen nach Scheme
-zu exportieren.
-
-@option{-dsafe} erkennt jedoch @emph{KEINE} Überbeanspruchung der verfügbaren
-Ressourcen. In diesem Modus ist es also trotzdem möglich, dass LilyPond in einer
-Endlosschleife hängt, z.B. wenn zyklische Datenstrukturen an das Backend
-übergeben werden. Wenn LilyPond also auf einem öffentlich zugänglichen
-Webserver verfügbar gemacht wird, sollte der Prozess sowohl in der CPU-
-als auch in der Speichernutzung limitiert werden.
-
-Der sichere Modus verhindert auch, dass zahlreiche nützliche
-Musikfragmente von LilyPond verarbeitet werden. Die @option{--jail}-Option ist
-eine sicherere Alternative, benötigt allerdings auch mehr Aufwand zur
-Einrichtung.
-
-@cindex Ausgabeformat, Definition von
-
-@item backend
-Gibt an, welches Ausgabeformat das LilyPond Backend benutzt. Mögliche Werte
-für diese Option sind:
-
-@table @code
-@item ps
-PostScript-Ausgabeformat.
-
-@cindex PostScript Ausgabeformat
-
-Postscript-Dateien enthalten auch TTF-, Type1- und OTF-Schriften. Allerdings
-wird die gesamte Schriftart eingefügt und nicht nur die benötigten Zeichen.
-Vor allem wenn nicht-westliche Zeichensätze benutzt werden, kann dies zu sehr
-großen Dateien führen.
-
-@cindex PostScript Ausgabeformat
-@cindex EPS (encapsulated PostScript)
-
-@item eps
-Erzeugt @q{encapsulated PostScript} (EPS). Jede Seite (oder jedes System) wird
-als eigene @file{EPS}-Datei ausgegeben, inklusive Schriftarten. Außerdem wird
-eine Datei mit allen Seiten (bzw. Systemen) und Schriftarten erzeugt.
-
-Dies ist die Standardeinstellung von @command{lilypond-book}.
-
-@cindex SVG (scalable vector graphics)
-@cindex Vektorgraphik (SVG)
-
-@item svg
-
-SVG-Ausgabe (Scalable Vector Graphics).
-
-Hiermit wird eine einzelne SVG-Datei ohne eingebundene Schriften
-für jede Seite der Partitur erstellt. Es wird empfohlen, Century
-Schoolbook-Schriftarten zu installieren, die auch in der LilyPond-Installation
-enthalten sind, um optimales Rendern zu erhalten. Unter UNIX können
-diese Schriftarten einfach aus dem LilyPond-Verzeichnis (normalerweise
-@file{/usr/share/lilypond/@/VERSION/fonts/otf/}) nach @file{~/.fonts}
-kopiert werden. Die SVG-Ausgabe sollte mit allen SVG-Editoren oder
-Betrachtungsprogrammen kompatibel sein.
-
-@cindex Scheme-dump
-
-@item scm
-gibt die rohen Scheme-basierenden Zeichenbefehle aus (@qq{Scheme-dump}),
-wie sie intern von LilyPond benutzt werden.
-
-@item null
-Keine Partitur wird ausgegeben, hat gleichen Effekt wie @option{-dno-print-pages}.
-
-@end table
-
-Beispiel: @code{lilypond -dbackend=svg @var{Dateiname}.ly}
-
-@cindex Vorschau
-
-@item preview
-Unterstützt von allen Backendes: @code{pdf}, @code{png}, @code{ps},
-@code{eps} und @code{svg} aber nicht @code{scm} und erzeugt eine
-Ausgabedatei, die nur die Titelzeilen und das erste System
-enthält. Wenn @code{\bookpart}-Umgebungen benutzt werden, erscheinen die
-Titel und ersten Systeme jedes @code{\bookpart}-Abschnitts in der Datei.
-
-Zusätzlich wird eine Datei in der Form @code{meineDatei.preview.Endung}
-erstellt, um das zu vermeiden, können die zusätzlichen Optionen
-@option{-dprint-pages} oder @option{-dno-print-pages} je nach gewünschtem
-Ergebnis gewählt werden.
-
-@item gui
-Stiller Durchlauf, alle Ausgabe wird in eine Log-Datei umgeleitet.
-
-Bemerkung für Windows-Benutzer: Standardmäßig schreibt @code{lilypond.exe}
-alle Fortschrittinformation in die Kommandozeile, während
-@code{lilypond-windows.exe} keine Fortschrittinformation angibt und
-sofort die Eingabeaufforderung anzeigt. Die Option @option{-dgui} kann
-in diesem Fall eingesetzt werden, um die Ausgabe in eine Log-Datei umzuleiten.
-
-@item print-pages
-Erzeugt vollständige Seiten (Standardeinstellung). @option{-dno-print-pages}
-ist in Verbindung mit @option{-dpreview} nützlich.
-
-@end table
+Siehe @ref{Fortgeschrittene Optionen auf der Kommandozeile für LilyPond}.
@cindex Scheme, Auswertung von Ausdrücken
@cindex Auswertung von Ausdrücken, Scheme
@item -j,--jail=@var{Benutzer},@var{Gruppe},@var{Jail-Verzeichnis},@var{Arbeitsverzeichnis}
Führt @command{lilypond} in einem chroot-Jail aus.
-Die @option{--jail} Option ist eine flexiblere Alternative zu @option{--safe}, wenn
-LilyPond über das Internet verfügbar gemacht wird oder LilyPond-Quelldateien
-von Dritten automatisch verarbeitet werden.
+Die @option{--jail} Option ist eine flexiblere Alternative zu @option{-dsafe}, wenn
+LilyPond über das Internet verfügbar gemacht wird oder LilyPond Befehle ausführt,
+die aus externe Quellen stammen (siehe @ref{Fortgeschrittene Optionen auf der Kommandozeile für LilyPond}).
Sie funktioniert dergestalt, dass das Wurzelverzeichnis von
@command{lilypond} auf @var{Jail-Verzeichnis} gesetzt wird, bevor die
sofort wieder abgibt), beispielsweise mittels @command{sudo}. Außerdem
ist es eine gute Idee, die LilyPond zur Verfügung stehende CPU-Zeit zu
limitieren (z. B. mit @command{ulimit -t}) und -- falls das Betriebssystem
-dies unterstützt -- auch den zur Verfügung stehenden Hauptspeicher.
+dies unterstützt -- auch den zur Verfügung stehenden Hauptspeicher. Siehe
+auch @ref{LilyPond in chroot-Kerker}
@end table
@end table
+
@cindex Verzeichnis, Ausgabe speichern in
@cindex Ausgabedateiname
@cindex Dateiname der Ausgabe bestimmen
@end table
+
+@node Fortgeschrittene Optionen auf der Kommandozeile für LilyPond
+@unnumberedsubsec Fortgeschrittene Optionen auf der Kommandozeile für LilyPond
+@translationof Advanced command line options for LilyPond
+
+@table @code
+
+@item -d@var{[Optionsbezeichnung]}=@var{[Wert]},--define-default=@var{[Optionsbezeichnung]}=@var{[Wert]}
+Hiermit wird die entsprechende interne Scheme-Funktion auf den @var{Wert}
+gesetzt. Wenn kein @var{value} angegeben wird, wird der Standardwert
+eingesetzt. Die Vorsilbe @code{no-} kann zur @var{Optionsbezeichnung}
+hinzugefügt werden, um eine Funktion @qq{auszuschalten}. Beispielsweise
+
+@cindex Point and Click, Kommandozeile
+
+@example
+-dpoint-and-click=#f
+@end example
+
+@noindent
+ist das gleiche wie
+@example
+-dno-point-and-click
+@end example
+@end table
+
+@noindent Folgende Optionen sind mit ihren entsprechenden Standardwerten
+unterstützt:
+
+@multitable @columnfractions .33 .16 .51
+@item @strong{Symbol}
+@tab @strong{Wert}
+@tab @strong{Erklärung/Optionen}
+
+@item @code{anti-alias-factor}
+@tab @code{1}
+@tab Die Bilder in einer höheren Auflösung rendern (Faktor angegeben) und
+das Resultat herunterrechnen, um @qq{Zacken} in @code{PNG}-Bildern zu
+vermeiden.
+
+@item @code{aux-files}
+@tab @code{#t}
+@tab Erstelle @code{.tex}, @code{.texi}, @code{.count}-Dateien im
+@code{EPS}-Backend.
+
+@item @code{backend}
+@tab @code{'ps}
+@tab Auswahl des Backend. Poststscript-Dateien (Standart) enthalten
+@code{TTF}, @code{Type1} und @code{OTF}-Schriftarten. Ihr Zeichenvorrat
+wird nicht reduziert (Subsetting). Die Benutzung von östlichen
+Schriftarten kann zu sehr großen Dateien führen.
+
+@item
+@tab @code{'eps}
+@tab Encapsulated PostScript. Hiermit wird jede Seite (System) als eine
+eigene @file{EPS}-Datei gespeichert, ohne Schriftarten, sowie als eine
+kombinierte @file{EPS}-Datei mit allen Seiten (Systemen) inclusive
+Schriftarten. Wird als Standard von @command{lilypond-book} benützt.
+
+@item
+@tab @code{'null}
+@tab Keine graphische Partitur ausgeben; hat den gleichen Effekt wie
+@code{-dno-print-pages}.
+
+@item
+@tab @code{'svg}
+@tab Scalable Vector Graphics. Hiermit wird eine einzelne @code{SVG}-Datei
+für jede Seite der Ausgabe erstellt, ohne Schriftarten. Es wird
+empfohlen, die Century Schoolbook-Schriftarten zu installieren, welche
+mit der LilyPond-Installation mitkommen, um optimales Rendern zu erreichen.
+Unter UNIX kann man einfach die Schriftartdateien aus dem LilyPond-Verzeichnis
+(üblicherweise @file{/usr/share/lilypond/VERSION/fonts/otf/}) nach
+@file{~/.fonts/}. Die @code{SVG}-Ausgabe sollte mit allen SVG-Programmen
+oder -Editoren kompatibel sein. Es gibt auch die Option @code{svg-woff}
+(siehe unten) um woff-Schriftarten im SVG-Backend zu benützen.
+
+@item
+@tab @code{'scm}
+@tab Ausgabe der rohen internen Scheme-basierten Zeichnungsbefehle.
+
+@item @code{check-internal-types}
+@tab @code{#f}
+@tab Überprüfe jede Eigenschaftszuweisung für Typen.
+
+@item @code{clip-systems}
+@tab @code{#f}
+@tab Erstelle ausgeschnittene Schnipsel einer Partitur.
+
+@item @code{datadir}
+@tab
+@tab Präfix für Datendateien (read-only).
+
+@item @code{debug-gc}
+@tab @code{#f}
+@tab Gebe Debugging-Statistik für Speicher aus.
+
+@item @code{debug-gc-assert-parsed-dead}
+@tab @code{#f}
+@tab Für Speicher-Debugging: Gehe sicher, dass alle Referenzen zu geparsten
+Objekten tot sind. Das ist eine interne Option und sie wird automatisch
+für @code{`-ddebug-gc'} angestellt.
+
+@item @code{debug-lexer}
+@tab @code{#f}
+@tab Debugging des Flex-lexer.
+
+@item @code{debug-page-breaking-scoring}
+@tab @code{#f}
+@tab Gebe viele unterschiedliche Seitenumbruchsituationen für Partituren
+aus.
+
+@item @code{debug-parser}
+@tab @code{#f}
+@tab Debugging des Bison-Parsers.
+
+@item @code{debug-property-callbacks}
+@tab @code{#f}
+@tab Debugging von zyklischen Callback-Ketten.
+
+@item @code{debug-skylines}
+@tab @code{#f}
+@tab Debugging von Skylines.
+
+@item @code{delete-intermediate-files}
+@tab @code{#t}
+@tab Entferne unbenutzbare, zwischenzeitliche @code{.ps}-Dateien, die während
+der Kompilations erstellt werden.
+
+@item @code{dump-cpu-profile}
+@tab @code{#f}
+@tab Gebe CPU-Zeitinformation aus (abhängig vom System).
+
+@item @code{dump-profile}
+@tab @code{#f}
+@tab Gebe Speicher- und CPU-Zeitbenutzung für jede Datei aus.
+
+@item @code{dump-signatures}
+@tab @code{#f}
+@tab Gebe Ausgabesignaturen für jedes System aus. Wird für das Prüfen
+der Regressionsteste eingesetzt.
+
+@item @code{eps-box-padding}
+@tab @code{#f}
+@tab Verschiebe die linke Ecke der ausgegebenen EPS-Boundingbox um die
+angegebene Entfernung (in mm).
+
+@item @code{gs-load-fonts}
+@tab @code{#f}
+@tab Lade die Schriftarten durch Ghostscript.
+
+@item @code{gs-load-lily-fonts}
+@tab @code{#f}
+@tab Lade nur die LilyPond-Schriftarten durch Ghostscript.
+
+@item @code{gui}
+@tab @code{#f}
+@tab Gibt keine Ausgabe auf der Kommandozeile aus, sondern schreibt alles in
+die Log-Datei.
+@end multitable
+
+@noindent
+@strong{Anmerkung für Windows-Benutzer:} Standardmäßig gibt @code{lilypond.exe} alle Fortschrittsinformation auf der Kommandozeile aus;
+@code{lilypond-windows.exe} gibt aber keine Fortschrittinformation aus und
+zeigt sofort den Prompt an. Die Option @option{-dgui} kann hier benutzt
+werden, um die Ausgabe in eine Log-Datei umzuleiten.
+
+@multitable @columnfractions .33 .16 .51
+@item @code{help}
+@tab @code{#f}
+@tab Zeige die Hilfe.
+
+@item @code{include-book-title-preview}
+@tab @code{#t}
+@tab Füge Titel eines Buches (book) in die Vorschaubilder ein.
+
+@item @code{include-eps-fonts}
+@tab @code{#t}
+@tab Füge Schriftarten in EPS-Dateien von einzelnen Systemen ein.
+
+@item @code{include-settings}
+@tab @code{#f}
+@tab Füge eine Datei für globale Einstellungen ein, dieses wird gelesen, bevor die Partitur verarbeitet wird.
+
+@item @code{job-count}
+@tab @code{#f}
+@tab Bearbeite Dateien parallel, mit der angegebenen Anzahl von Prozessen.
+
+@item @code{log-file}
+@tab @code{#f [file]}
+@tab Wenn die Zeichenkette @code{FOO} als ein zweites Argument angegeben wird,
+wird die Ausgabe in die Log-Datei @code{FOO.log} umgeleitet.
+
+@item @code{max-markup-depth}
+@tab @code{1024}
+@tab Maximale Tiefe eines Beschriftungs-(markup)-Baumes. Wenn eine
+Beschriftung mehr Ebenen hat, wird angenommen, dass die Beschriftung
+nicht von sich aus schließt, eine Warnung ausgegeben und eine leere
+Beschriftung gesetzt.
+
+@item @code{midi-extension}
+@tab @code{"midi"}
+@tab Schreibe als Standarddateierweiterung für MIDI die angegebene Zeichenkette.
+
+@item @code{music-strings-to-paths}
+@tab @code{#f}
+@tab Konvertiere Textzeichenketten in Pfade, wenn die Glyphen einer
+Musik-Schriftart gehören.
+
+@item @code{old-relative}
+@tab @code{#f}
+@tab Lässt den @code{\relative}-Modus für simultane Musik ähnlich wie die
+Akkord-Syntax funktionieren.
+
+@item @code{paper-size}
+@tab @code{\"a4\"}
+@tab Stelle die Standardpapiergröße ein. Beachten Sie, dass die Zeichenkette
+von doppelten Anführungszeichen mit Backslash umgeben werden muss.
+
+@item @code{pixmap-format}
+@tab @code{png16m}
+@tab Stellt das Ausgabeformat von GhostScript für Pixel-Bilder ein.
+
+@item @code{point-and-click}
+@tab @code{#f}
+@tab Füge @q{point & click}-Links in die @code{PDF}-Ausgabedatei ein. Siehe auch
+@ref{Point and click}.
+
+@item @code{preview}
+@tab @code{#f}
+@tab Erstelle Vorschaubilder zusätzlich zur normalen Ausgabe.
+@end multitable
+
+@noindent
+Diese Option wird von allen Backends unterstützt: @code{pdf}, @code{png},
+@code{ps}, @code{eps} und @code{svg}, allerdings nicht @code{scm}. Hiermit
+wird eine Ausgabedatei in der Form @code{meineDatei.preview.Dateierweiterung}
+erstellt, die die Titel und das erste Notensystem enthält. Wenn @code{\book}-
+oder @code{\bookpart}-Umgebungen inegesetzt werden, werden die Titel von
+@code{\book}, @code{\bookpart} oder @code{\score} in die Ausgabe aufgenommen,
+sowie das erste System jeder @code{\score}-Umgebung, wenn die
+Variable @code{print-all-headers} in der @code{paper}-Umgebung auf @code{#t}
+eingesetllt ist.
+
+Um die normale Ausgabe zu unterdrücken, können die Optionen @option{-dprint-pages}
+oder @option{-dno-print-pages} eingesetzt werden.
+
+@multitable @columnfractions .33 .16 .51
+@item @code{print-pages}
+@tab @code{#t}
+@tab Erstelle vollständige Seiten, der Standard. @option{-dno-print-pages} ist
+hilfreich im Zusammenhang mit @option{-dpreview}.
+
+@item @code{profile-property-accesses}
+@tab @code{#f}
+@tab Speichere Statistiken von @code{get_property()}-Funktionsaufrufen.
+
+@item @code{protected-scheme-parsing}
+@tab @code{#t}
+@tab Fahre fort, wenn Fehler in eingefügtem Scheme-Code im Parser bemerkt
+werden. Wenn auf @code{#f} gesetzt, halte an Fehlern an und gebe einen
+Stacktrace aus.
+
+@item @code{read-file-list}
+@tab @code{#f [file]}
+@tab Gibt den Dateinamen einer Datei an, die eine Liste mit Eingabedateien
+enthält, die kompiliert werden sollen.
+
+@item @code{relative-includes}
+@tab @code{#f}
+@tab Wenn ein @code{\include}-Befehl bearbeitet wird, suche nach der
+eingefügten Datei relativ zur aktuellen Datei (und nicht relativ zur untersten
+Ebene).
+
+@item @code{resolution}
+@tab @code{101}
+@tab Setzt die Auflösung, mit der @code{PNG}-Bilder erstellt werde, auf einen
+bestimmten Wert (in dpi).
+
+@item @code{safe}
+@tab @code{#f}
+@tab Der @code{.ly}-Eingabe nicht trauen.
+@end multitable
+
+@noindent
+Wenn LilyPond-Notensatz über einen Webserver zur Verfügung gestellt wird,
+@b{müssen} entweder die Option @option{--safe} oder die Option @option{--jail}
+mitgegeben werden. Die Option @option{--safe} verhindert eingefügten
+Scheme-Code daran, Schaden auszuüben, etwa
+
+@quotation
+@verbatim
+#(system "rm -rf /")
+{
+ c4^$(ly:gulp-file "/etc/passwd")
+}
+@end verbatim
+@end quotation
+
+Die Option @option{-dsafe} interpretiert eingefügte Scheme-Ausdrücke
+in einem besonderen sicheren Modul. Das ist aus dem GUILE
+@file{safe-r5rs}-Modul abgeleitet, fügt aber einige Funktionen der
+LilyPond API hinzu, welche sich in @file{scm/safe-lily.scm} aufgelistet finden.
+
+Zusätzliche verbietet der sichere Modus @code{\include}-Befehle und
+stellt die Benutzung von Backslash in @TeX{}-Zeichenketten aus. Im sicheren
+Modus ist es auch
+nicht möglich, LilyPond-Variablen in Scheme zu importieren.
+
+@option{-dsafe} kann jedoch @emph{nicht} Überbenutzung von Resourcen
+entdecken, sodass man trotzdem das Programm abschießen kann, etwa
+indem man eine sich wiederholende Datenstruktur in das Backend
+leitet. Darum sollte LilyPond sowohl in der CPU- als auch Speicherbenutzung
+eingeschränkt betrieben werden, wenn es über einen Webserver öffentlich zugänglich
+gemacht wird.
+
+Der sichere Modus verhindert die Kompilierung von vielen nützlichen
+LilyPond-Schnipseln.
+
+die Option @option{--jail} ist noch sicherer, erfordert aber mehr Arbeit
+beim Setup. Siehe auch @ref{Grundlegende Optionen auf der Kommandozeile für LilyPond}.
+
+@multitable @columnfractions .33 .16 .51
+@item @code{separate-log-files}
+@tab @code{#f}
+@tab Für Eingabedateien @code{Datei1.ly}, @code{Datei2.ly} usw. die
+Log-Daten in die Dateien @code{Datei1.log}, @code{Datei2.log} ... schreiben.
+
+@item @code{show-available-fonts}
+@tab @code{#f}
+@tab Eine Liste der verfügbaren Schriftarten.
+
+@item @code{strict-infinity-checking}
+@tab @code{#f}
+@tab Erzwinge einen Programmabsturz wenn @code{Inf} und @code{NaN}
+Fließkommaausnahmen gefunden werden.
+
+@item @code{strip-output-dir}
+@tab @code{#t}
+@tab Verzeichnisse von Eingabedateien nicht in die Konstruktion der
+Ausgabedateinamen einbeziehen.
+
+@item @code{svg-woff}
+@tab @code{#f}
+@tab Woff-Schriftarten im SVG-Backend benuützen..
+
+@item @code{trace-memory-frequency}
+@tab @code{#f}
+@tab Zeichnet die Benutzung von Scheme so oft pro Sekunde auf. Das Resultat
+wird in die Dateien @code{FILE.stacks} und @code{FILE.graph} ausgegeben.
+
+@item @code{trace-scheme-coverage}
+@tab @code{#f}
+@tab Abdeckung der Scheme-Dateien in Datei @code{FILE.cov} schreiben.
+
+@item @code{verbose}
+@tab @code{#f}
+@tab Ausfühliche Ausgabe, also Logstufe DEBUG (read-only).
+
+@item @code{warning-as-error}
+@tab @code{#f}
+@tab Alle Warnungen und @q{Programmierfehler}-Nachrichten in Fehler ändern.
+@end multitable
+
+
+
@node Umgebungsvariablen
@unnumberedsubsec Umgebungsvariablen
@translationof Environment variables
Einen Server einzurichten, der LilyPond in einem chroot-Kerker bedient, ist
recht kompliziert. Die einzelnen Schritten finden sich unten aufgeliestet.
-Beispiele sind für Ubuntu Linux und erfordern evtl. die Benutzung von
+Beispiele sind für Ubuntu GNU/Linux und erfordern evtl. die Benutzung von
@code{sudo} an den entsprechenden Stellen.
@itemize
@c -*- coding: utf-8; mode: texinfo; -*-
@ignore
- Translation of GIT committish: 8cbb38db1591ab95a178643e7bf41db018aa22c0
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
sich die Erstellung einer Make-Datei. Diese Dateien können sehr
unterschiedliche ausfallen, und ihre Komplexität und Flexibilität kann
den Bedürfnissen aber auch Kenntnissen des Schreibers angepasst werden.
-Das Programm GNU Make ist auf GNU/Linux Distributionen und MacOS X
+Das Programm GNU Make ist auf GNU/Linux-Distributionen und MacOS X
installiert, aber es ist auch für Windows erhältlich.
Das @strong{GNU Make Manual} gibt eine vollständige Anleitung, wie
Blicke auf die vielfältigen Möglichkeiten geworfen werden.
Die Befehle, um Regeln in einer Make-Datei zu erstellen, unterscheidet
-sich zwischen den Betriebssystemen. Die verschiedenen Linuxe und
+sich zwischen den Betriebssystemen. Die verschiedenen GNU/Linuxe und
MacOS X benutzen @code{bash}, während unter Windows @code{cmd} eingesetzt
wird. Unter MacOS X muss man das System so konfigurieren, dass
die Kommandozeile benutzt wird. Hier einige Beispiele für Make-Dateien,
-mit Versionen für Linux/MacOS und Windows.
+mit einer Version für GNU/Linux und MacOS und einer für Windows.
Das erste Beispiel ist für ein Orchesterstück in vier Stätzen unt mit
der folgenden Dateistruktur:
@c -*- coding: utf-8; mode: texinfo; -*-
@ignore
- Translation of GIT committish: ebe492ca408fb0d9abf80b94c56197eef8dc2f09
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@subheading Was ist LilyPond?
LilyPond ist ein Notensatzprogramm, dass es sich zum Ziel gemacht hat, Notendruck von der bestmöglichen Qualität zu erstellen. Mit dem Programm wird es
-möglich, die Ästhetik handgestochenen traditionellen Notensatzes mit computergesetzen Noten zu erreichen. LilyPond ist ein Open Source-Programm
+möglich, die Ästhetik handgestochenen traditionellen Notensatzes mit computergesetzen Noten zu erreichen. LilyPond ist Freie Software
und Teil des @uref{http://gnu.org,GNU Projekts}.
@divClass{align-right}
@c -*- coding: utf-8; mode: texinfo; -*-
@ignore
- Translation of GIT committish: 233fb6a8b3b6e31de1841641dbbd4c4f43423151
+ Translation of GIT committish: a0077273ac8bf29ae472c8712bc78a02d138f898
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@ref{Entwicklung}: für Mitarbeiter und Tester.
@item
-@ref{GSoC}: Liste der Projekte für den Google Summer of Code.
+@ref{GSoC 2012}: Liste der Projekte für den Google Summer of Code.
@item
@ref{Autoren}: die Menschen, die LilyPond zu dem gemacht haben,
* Helfen Sie uns::
* Sponsoren::
* Entwicklung::
-* GSoC::
+* GSoC 2012::
* Autoren::
* Veröffentlichungen::
* Ältere Neuigkeiten::
@divEnd
-@node GSoC
-@unnumberedsec GSoC (Google Summer of Code)
-@translationof GSoC
+@node GSoC 2012
+@unnumberedsec GSoC (Google Summer of Code) 2012
+@translationof GSoC 2012
@divClass{column-center-top}
@subheading Was ist Google Summer of Code?
-Der @uref{http://www.google-melange.com/gsoc/homepage/google/gsoc2012,
-GSoC-Webseite} zufolge ist Google Summer of Code ein globales Programm,
-das Studenten Stipendien offeriert, um Code für Open-Source-Projekte zu schreiben.
-Google arbeitet mit der Open-Source-Gemeinschaft zusammen und hat unterstützenswerte
-Projekt für den nächsten Sommer gefunden.
+Google Summer of Code ist ein globales Programm,
+das Studenten Stipendien offeriert, um an Open-Source-Projekten während
+der Sommerferien zu arbeiten.
Das LilyPond-Team hat beschlossen, dass sich hier eine ausgezeichnete Möglichkeit
-bietet neue Mitarbeiter zu finden, Studenten, die sich schon an LilyPond beteiligen,
-weiter einzubinden und -- das Wichtigste -- aufregenden Code zur freien Benutzung
-für alle zu schreiben.
-
-Wir nehmen an GSoC als Teil des GNU-Projekts teil. Siehe auch
-@uref{http://www.gnu.org/software/soc-projects/guidelines.html,
-GNU GSoC-Webseite} zu Informationen über die Teilnahme.
+bietet neue Mitarbeiter zu finden und Studenten, die sich schon an LilyPond beteiligen, weiter einzubinden. Einer unserer Mitarbeiter wurde für den
+Sommer 2012 als Teil des @uref{http://www.gnu.org/, GNU-Projekts} angenommen;
+wir hoffen, dass wir auch in kommenden Jahren an dem Programm teilnehmen können.
@divEnd
@divClass{column-center-bottom}
-@subheading Unsere Ideenliste
+@subheading Unsere Ideenliste 2012
-Unten befindet sich eine Liste mit empfohlenen Projekten für GSoC-Stundenten.
-Wenn Sie kein Projekt finden, das Ihnen passt, schlagen Sie einfach ein eigenes
-vor! Es ist auch möglich, ein Projekt einzuschränken, wenn Sie das Gefühl haben,
-es ist zu umfangreich.
+Unten befindet sich eine Liste mit empfohlenen Projekten für GSoC-Stundenten für
+den Sommer 2012. Wenn auch die Anmeldefrist vorbei ist, lassen wir die Informationen
+trotzdem online, weil sie als Anregung für alle LilyPond-Entwickler dienen
+können. Einige Mitglieder des Entwicklungsteams helfen gerne Freiwilligen,
+die sich an diese Projekte wagen wollen.
-Wir erfordern, dass jeder Student grundlegende Kenntnis von @code{git} hat und
-empfehlen, dass alle, die sich für die Projekte (außer dem letzten) interessieren,
-grundlegende Kenntnisse in Musiknotation haben. Zusätzlich sollten Sie
-Englisch sprechen können.
+Es gibt natürlich viel mehr, was an LilyPond verbessert werden kann, darunter
+auch sehr kleine Projekte. Eine vollständige Liste aller bekannten Probleme
+findet sich @uref{http://code.google.com/p/lilypond/issues/list, hier}.
@subheading Stichnoten
@strong{Mentoren:} Mike Solomon, Carl Sorensen
-@subheading Bessere Unterstützung für Tabulaturen
-
-@divClass{keep-bullets}
-@itemize
-
-@item
-Nicht-monotonische Saitenstimmungen, wie Ukulele
-
-@item
-Ein Eingabemodus für Tabulaturen (im Moment wird die Information notiert
-wie die übliche westliche Notation, beispielsweise eine Viertelnote Fis,
-und dann in eine Tabulatur konvertiert), um mittelalterliche Lautentabulaturen
-transkribieren zu können.
-
-@item
-Wenn ein Bunddiagramm für einen Akkord definiert ist, sollte diese Information
-benützt werden, um den Akkord auf dem System darzustellen (und nicht nur eine
-Standarddarstellung benützt werden).
-
-@end itemize
-@divEnd
-
-@strong{Schwierigkeit:} leicht
-
-@strong{Erfordernisse:} C++
-
-@strong{Empfohlene Kenntnisse:} Kenntnis von Tabulaturnotation familiarity
-
-@strong{Mentor:} Carl Sorensen
-
@subheading Kompilationswarnungen aufräumen
Aufräumen von Kompilationswarnungen, statischer Codeanalyse und Valgrind-Warnungen.
@c -*- coding: utf-8; mode: texinfo; -*-
@ignore
- Translation of GIT committish: ebe492ca408fb0d9abf80b94c56197eef8dc2f09
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@item
@ref{Unix, @sourceimage{logo-linux,,,}
@sourceimage{logo-freebsd,,,}}
-@ref{Unix, Unix (Linux und FreeBSD)}
+@ref{Unix, Unix (GNU/Linux und FreeBSD)}
@item
@ref{MacOS X, @sourceimage{logo-macosx,,,}}
@item
@sourceimage{logo-fedora,,,}
@uref{http://koji.fedoraproject.org/koji/packageinfo?packageID=2447,
-Fedora: LilyPond 2.14.1}
+Fedora: LilyPond 2.14.2}
@item
@sourceimage{logo-ubuntu,,,}
@uref{http://packages.ubuntu.com/search?keywords=lilypond,
-Ubuntu: LilyPond 2.12.3}
+Ubuntu: LilyPond 2.14.2}
@item
@sourceimage{logo-slackware,,,}
@uref{http://www.johannes-schoepfer.de/lilypond/,
-Slackware: LilyPond 2.14.1}
+Slackware: LilyPond 2.14.2}
@item
@sourceimage{logo-debian,,,}
@divClass{h-scroll-auto}
@example
+#!/bin/bash
exec @var{DIR}/LilyPond.app/Contents/Resources/bin/lilypond "$@@"
@end example
@divEnd
@c -*- coding: utf-8; mode: texinfo; -*-
@ignore
- Translation of GIT committish: 233fb6a8b3b6e31de1841641dbbd4c4f43423151
+ Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
geben}.
@item
-Arbeitserfahrung: zu einem Open Source Projekt beizutragen ist
+Arbeitserfahrung: zu einem freien Softwareprojekt beizutragen ist
eine gute Weise, sich im Programmieren, Schreiben und Übersetzen
von Dokumentation oder Design zu üben. Diese Übung hat einigen
Entwicklern geholfen, Arbeitsangebote oder Stipendien zu erhalten.
@unnumberedsec Leichteres Editieren
@translationof Easier editing
+@ignore
+GNU policy forbids us from linking to non-Free software, so don't
+add such links.
+
+In particular, don't link to:
+- the LilyPond bundle for TextMate (a commercial editor for MacOS).
+
+@end ignore
+
@divClass{column-center-top}
@subheading LilyPondTool
@uref{http://www.frescobaldi.org}
-Frescobaldi ist ein eigener Musik- und Texteditor für LilyPond
-mit eingebauter PDF-Vorschau, einer vielseitigen Hilfe zum
-Erstellen neuer Partituren und vielen Editionseigenschaften.
-Er ist auf Grundlage der KDE4-Bibliotheken programmiert und läuft
-zur Zeit auf allen Arten von Linux-Systemen und anderen
-UNIX-artigen Betriebssystemen.
+Frescobaldi ist ein leichter, aber sehr mächtiger LilyPond-Musik- und -Texteditor
+mit eingebauter PDF-Vorschau. Er ist einfach zu benutzen und läuft auf allen
+gängigen Betriebssystemen (GNU/Linux, Mac OS X und Windows).
@divEnd
@uref{http://users.dimi.uniud.it/~nicola.vitacolonna/home/content/lilypond-scripts}.
@end example
-
-@sourceimage{logo-macosx,,,}
-Es gibt ein LilyPond-Paket für TeXMate, ein kommerzieller Editor für
-MacOS. Es kann installiert
-werden, indem man folgendes auf der Kommandozeile ausführt:
-
-@example
-mkdir -p /Library/Application\ Support/TextMate/Bundles
-cd /Library/Application\ Support/TextMate/Bundles
-git clone http://github.com/textmate/lilypond.tmbundle.git
-
-@end example
-
@divEnd
@item
@uref{http://www.holmessoft.co.uk/homepage/software/NWC2LY/index.htm,
NW2LY} ist ein C#-Programm, das
-@uref{http://www.noteworthysoftware.com/,NoteWorthy}-Lieder nach LilyPond
+@c @uref{http://www.noteworthysoftware.com/}
+NoteWorthy-Lieder nach LilyPond
konvertieren kann.
@item
der auch einen Noteneditor für einzelne Systeme unterstützt.
@item
-@uref{http://www.volny.cz/smilauer/rumor/rumor.html,Rumor},
+@uref{https://launchpad.net/rumor/,Rumor},
ein monophoner Echtzeitkonverter von MIDI nach LilyPond.
@item
\layout {
\context {
\Staff
- \remove Dot_column_engraver
+ \remove "Dot_column_engraver"
} \context {
\Voice
- \consists Dot_column_engraver
+ \consists "Dot_column_engraver"
}
}
\relative c'' <<
ofrezca resultados.
@item
-@code{\tweak} now takes an optional layout object specification. It can
-be used for tweaking layout objects that are only indirectly caused by
-the tweaked event, like accidentals, stems, and flags:
+@code{\tweak} toma ahora opcionalmente la especificación de un objeto
+de presentación. Se puede usar para trucar objetos de presentación
+que están causados sólo indirectamente por el evento trucado, como
+alteraciones accidentales, plicas y corchetes:
@lilypond[verbatim,quote,ragged-right,relative=2]
<\tweak Accidental #'color #red cis4
Asimismo, se ha añadido la función @code{\slashedGrace} que no imprime
ninguna ligadura partiendo de la nota del mordente.
-@lilypond[fragment,relative=2]
+@lilypond[fragment,quote,relative=2]
c4( \appoggiatura e8 d4 \acciaccatura e8 d4 \slashedGrace e8 c4)
@end lilypond
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 7c3242c2474c98f8ec96c0de0b05066e5f0ef248
+ Translation of GIT committish: 44011e382e91f43fb6752b3fbbf8d8984131a565
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
\layout {
\context {
\Staff
- \consists Horizontal_bracket_engraver
+ \consists "Horizontal_bracket_engraver"
}
}
}
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 2055f35c47a045a50a01ff4dba8524322cfc3b48
+ Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c This file is part of extending.tely
@ignore
- Translation of GIT committish: 3c169262c8f580c0f42c09f3a61b9ae9f0d6261c
+ Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 3c169262c8f580c0f42c09f3a61b9ae9f0d6261c
+ Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: d6b6b53d09a0fb8e137e7cfcec39fe22dc7b6872
+ Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
@end example
-
-
@node Añadir títulos
@subsection Añadir títulos
@translationof Adding titles
@cindex título
-@cindex cabeceras
-@cindex bloque de cabeceras
+@cindex encabezamientos
+@cindex bloque de encabezamientos
@funindex \header
@funindex header
Cuando se procesa el archivo, el título y el autor se imprimen por
encima de la música. Puede obtener más información sobre los títulos
-en @ruser{Crear títulos cabeceras y pies de página}.
+en @ruser{Crear títulos encabezamientos y pies de página}.
@node Nombres de nota absolutos
exactamente dónde deben buscar la ayuda. Si emplea cinco minutos en
leer cuidadosamente esta sección ¡se ahorrará horas de frustración
buscando en el sitio equivocado!
-
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 3c169262c8f580c0f42c09f3a61b9ae9f0d6261c
+ Translation of GIT committish: 6da27f9b294c385ff8fc75876e152d67f0b4794e
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@lilypond[quote,verbatim,ragged-right]
\new Staff \with {
- \remove Staff_symbol_engraver
+ \remove "Staff_symbol_engraver"
}
\relative c' {
c4 d
@lilypond[quote,verbatim,ragged-right]
\new Staff <<
\new Voice \with {
- \consists Ambitus_engraver
+ \consists "Ambitus_engraver"
} {
\relative c'' {
\voiceOne
@lilypond[quote,verbatim,ragged-right]
\new Staff \with {
- \consists Ambitus_engraver
+ \consists "Ambitus_engraver"
}
<<
\new Voice {
\layout {
\context {
\Staff
- \consists Ambitus_engraver
+ \consists "Ambitus_engraver"
}
}
}
}
ManualTwoMusic = \relative c' {
c16 b c8~ c16 b c g a8 g~ g16 g aes ees |
- f16 ees f d g aes g f ees d e8~ ees16 f ees d |
+ f16 ees f d g aes g f ees d ees8~ ees16 f ees d |
}
PedalOrganMusic = \relative c {
r8 c16 d ees d ees8~ ees16 a, b g c b c8 |
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 2055f35c47a045a50a01ff4dba8524322cfc3b48
+ Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: f71ede90de06fdc16dad9ed75f38558efe819080
+ Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 2055f35c47a045a50a01ff4dba8524322cfc3b48
+ Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 2936a7a6c5bca895dfd5725ab2422ad1c6b3ff11
+ Translation of GIT committish: 6da27f9b294c385ff8fc75876e152d67f0b4794e
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
Como podremos ver en breve, las propiedades de distintos tipos de
objeto se modifican por parte de diferentes instrucciones; así pues,
-es útil poder reconocer el tipo de objeto a partir de sus nombres de
-propiedad.
+es útil poder reconocer los tipos de objetos y propiedades
+a partir de sus nombres.
@node Métodos de trucaje
@subsection Métodos de trucaje
Esta página sobre las ligaduras de expresión dentro del manual RFI nos
dice en primer lugar que los objetos Slur se crean por el grabador
Slur_engraver. A continuación relaciona los ajustes estándar.
-Observe que @strong{no} están en orden alfabético. Navegue hacia
-abajo buscando una propiedad que pudiera controlar el grosor de las
-ligaduras, y encontrará
+Navegue por ellos buscando una propiedad que pudiera controlar
+el grosor de las ligaduras, y encontrará
@example
@code{thickness} (number)
ligaduras de expresión se crean en cualquier contexto en el que se
encuentre el grabador @code{Slur_engraver}. Siga el enlace a la
página del grabador @code{Slur_engraver}. Al final del todo, dice que
-el grabador @code{Slur_engraver} es parte de cinco contextos de voz,
+el grabador @code{Slur_engraver} es parte de siete contextos de voz,
incluido el contexto de voz estándar, @code{Voice}, por lo que nuestra
suposición era acertada. Y a causa de que @code{Voice} es uno de los
contextos de más bajo nivel que se encuentra implícito sin ambigüedad
@end lilypond
Finalmente, existe también una escala de grises como parte del
-conjunto de colores de X11. Varían desde el negro, @code{'grey0'},
+conjunto de colores de X11. Varían desde el negro, @code{'grey0},
hasta el blanco, @code{'grey100}, en pasos de 1. Vamos a ilustrar esto
estableciendo todos los objetos de presentación de nuestro ejemplo a
varias gradaciones de gris:
@cindex objetos, cambiar el tamaño de
Empezaremos examinando de nuevo un ejemplo anterior (véase
-@ref{Anidado de expresiones musicales}) que nos mostraba cómo introducir un
-pentagrama temporal, como en un @rglos{ossia}.
+@ref{Anidado de expresiones musicales}) que nos mostraba cómo
+introducir un pentagrama temporal, como en un @rglos{ossia}.
@cindex alignAboveContext, propiedad, ejemplo
@cindex @code{\with}, ejemplo
Ya hemos visto cómo las instrucciones @code{\voiceXXX} afectan a la
dirección de las ligaduras de expresión y de unión, digitaciones y
-todo lo demás que dependa de la dirección de las plicas. Cuando se
+todo lo demás que dependa de la dirección de las plicas (véase
+@ref{Voces explícitas}). Cuando se
escribe música polifónica, estas instrucciones son esenciales para que
puedan distinguirse varias líneas melódicas entrelazadas. Pero
ocasionalmente puede ser necesario sobreescribir este comportamiento
La instrucción para volver al comportamiento predeterminado es
@code{\textLengthOff}. Recuerde que @code{\once} funciona solamente
-con @code{\override}, @code{\set}, @code{\revert} o @code{unset}, así
+con @code{\override}, @code{\set}, @code{\revert} o @code{\unset}, así
que no se puede usar con @code{\textLengthOn}.
@cindex marcado, texto de, permitir las colisiones en
Las indicaciones de matiz dinámico normalmente se colocarán por debajo
del pentagrama, pero se pueden posicionar por encima con la
-instrucción @code{dynamicUp}. Se situarán verticalmente respecto a la
+instrucción @code{\dynamicUp}. Se situarán verticalmente respecto a la
nota a la que van adosadas, y flotarán por debajo (o por encima) de
todos los objetos dentro-del-pentagrama tales como ligaduras de fraseo
y números de compás. Esto puede ofrecer resultados bastante
Para corregirlo, ajustamos a cero el valor para esta nota de
@code{force-hshift}, que es una propiedad de @code{NoteColumn}.
-En el segundo acorde preferimos que el Fa esté alineado con el La y
-que la nota grave se coloque ligeramente a la derecha para evitar una
+En el segundo acorde preferimos que el Fa esté alineado con el La bemol
+y que la nota grave se coloque ligeramente a la derecha para evitar una
colisión de las plicas. Lo conseguimos ajustando el valor de
@code{force-hshift} en la @code{NoteColumn} del Re bemol grave para
moverlo a la derecha medio espacio de pentagrama.
también vamos a aumentar el tamaño general de la salida.
@example
-%%% definiciones.ily
+%%% publicar-web.ily
mpdolce =
#(make-dynamic-script
#@{ \markup @{ \hspace #0
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c vim: foldmethod=marker
@ignore
- Translation of GIT committish: 844e5387a003bde2c10389ad863184defe893b6c
+ Translation of GIT committish: 44011e382e91f43fb6752b3fbbf8d8984131a565
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
\layout {
\context {
\Staff
- \consists Custos_engraver
+ \consists "Custos_engraver"
\override Custos #'style = #'mensural
}
}
indent = 0.0
\context {
\Staff
- \remove Staff_symbol_engraver
- \remove Clef_engraver
- \remove Time_signature_engraver
+ \remove "Staff_symbol_engraver"
+ \remove "Clef_engraver"
+ \remove "Time_signature_engraver"
}
}
{
\layout @{
\context @{
\Voice
- \remove Ligature_bracket_engraver
- \consists Mensural_ligature_engraver
+ \remove "Ligature_bracket_engraver"
+ \consists "Mensural_ligature_engraver"
@}
@}
@end example
\layout {
\context {
\Voice
- \remove Ligature_bracket_engraver
- \consists Mensural_ligature_engraver
+ \remove "Ligature_bracket_engraver"
+ \consists "Mensural_ligature_engraver"
}
}
}
en la década de 1910 y recientemenre reimpreso por la Casa de
Publicaciones del Patriarcado de Moscú. LilyPond no contempla las
formas anteriores (menos corrientes) de notación kievana que se usaban
-en Galicia para la notación del canto llano ruso.
+en Galitzia para la notación del canto llano ruteno.
@node Claves del canto kievano
@unnumberedsubsubsec Claves del canto kievano
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
-Translation of GIT committish: 47abfd11dbf3902963836c42db1c38a7137af16e
+Translation of GIT committish: 44011e382e91f43fb6752b3fbbf8d8984131a565
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
\consists "Note_heads_engraver"
\consists "Rhythmic_column_engraver"
\consists "Text_engraver"
- \consists Pitch_squash_engraver
+ \consists "Pitch_squash_engraver"
squashedPosition = #0
\override NoteHead #'style = #'slash
\override Stem #'transparent = ##t
que añadir los grabadores que aportan esta funcionalidad:
@example
-\consists Note_heads_engraver
-\consists Text_engraver
+\consists "Note_heads_engraver"
+\consists "Text_engraver"
@end example
pero sólo necesitamos esto en la línea central:
@example
-\consists Pitch_squash_engraver
+\consists "Pitch_squash_engraver"
squashedPosition = #0
@end example
\type "Engraver_group"
\consists "Note_heads_engraver"
\consists "Text_engraver"
- \consists Pitch_squash_engraver
+ \consists "Pitch_squash_engraver"
squashedPosition = #0
\override NoteHead #'style = #'slash
\override Stem #'transparent = ##t
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 2055f35c47a045a50a01ff4dba8524322cfc3b48
+ Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 844e5387a003bde2c10389ad863184defe893b6c
+ Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 2055f35c47a045a50a01ff4dba8524322cfc3b48
+ Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@c This file is included from notation.itely
@ignore
- Translation of GIT committish: c28baa15608b96e15ae3971ac2a70cc65282c110
+ Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 9830313f5f1f76df8b46bdeffe716fd5b2d6f331
+ Translation of GIT committish: d47930b56be83c6433a577cb574daee43aa96a84
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@funindex \glissando
@funindex glissando
-Se crea un @notation{glissando} adjuntando @code{\glissando} a la
-nota:
+Se crea un @notation{glissando} añadiendo @code{\glissando} después de
+la nota:
@lilypond[verbatim,quote,relative=2]
g2\glissando g'
c2\glissando c,
+\afterGrace f,1\glissando f'16
+@end lilypond
+
+Un glissando puede conectar notas de un pentagrama a otro:
+
+@lilypond[verbatim,quote]
+\new PianoStaff <<
+ \new Staff = "right" {
+ e'''2\glissando
+ \change Staff = "left"
+ a,,4\glissando
+ \change Staff = "right"
+ b''8 r |
+ }
+ \new Staff = "left" {
+ \clef bass
+ s1
+ }
+>>
+@end lilypond
+
+Un glissando puede conectar las notas dentro de un acorde. Si se
+necesita hacer algo que no sea una conexión de una nota con otra entre
+los dos acordes, las conexiones entre las notas vienen definidas por
+medio de @code{\glissandoMap}, donde las notas de un acorde se suponen
+numeradas, empezando en cero, en el orden en que aparecen en el código
+de entrada del archivo @file{.ly}.
+
+@lilypond[verbatim,quote,relative=2]
+<c, e>1\glissando g' |
+<c, e>1\glissando |
+<g' b> |
+\break
+\set glissandoMap = #'((0 . 1) (1 . 0))
+<c, g'>1\glissando |
+<d a'> |
+\set glissandoMap = #'((0 . 0) (0 . 1) (0 . 2))
+c1\glissando |
+<d f a> |
+\set glissandoMap = #'((2 . 0) (1 . 0) (0 . 1))
+<f d a'>1\glissando |
+<c c'> |
@end lilypond
Se pueden crear distintos tipos de glissando. Para ver más detalles,
consulte @ref{Estilos de línea}.
@snippets
+@lilypondfile[verbatim,quote,texidoc,doctitle]
+{contemporary-glissando.ly}
@lilypondfile[verbatim,quote,texidoc,doctitle]
-{glissandi-can-skip-grobs.ly}
+{adding-timing-marks-to-long-glissandi.ly}
@lilypondfile[verbatim,quote,texidoc,doctitle]
-{contemporary-glissando.ly}
+{making-glissandi-breakable.ly}
@seealso
Glosario musical:
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 9f1c61a1ea1f5c01e7beb5da14b947a6ae0fb3db
+ Translation of GIT committish: dcddb2c1a9126b5987ab04b62c867c5f4524881d
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
}
\score {
<<
- \new Staff { \firstHarmonic }
+ \new Staff {
+ \clef "treble_8"
+ \firstHarmonic
+ }
\new TabStaff { \firstHarmonic }
>>
}
}
\score {
<<
- \new Staff { \fretHarmonics }
+ \new Staff {
+ \clef "treble_8"
+ \fretHarmonics
+ }
\new TabStaff { \fretHarmonics }
>>
}
}
\score {
<<
- \new Staff { \ratioHarmonics }
+ \new Staff {
+ \clef "treble_8"
+ \ratioHarmonics
+ }
\new TabStaff { \ratioHarmonics }
>>
}
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 4c2851d28c0a94a30cc7652b9b0052ce7f0ade7e
+ Translation of GIT committish: ba92a1755026936bebe14a6c8ff6d2cfc704eeb1
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@menu
* Estructura del código de entrada::
-* Títulos y cabeceras::
+* Títulos y encabezamientos::
* Trabajar sobre los archivos de entrada::
* Controlar la salida::
* Salida MIDI::
@item
Un bloque @code{\header}. Esto establece el bloque de encabezamiento
-global. Es el bloque que contiene las definiciones de los ajustes
-para todo el libro, como el compositor, título, etc.
+global (es decir, al principio del archivo). Es el bloque que
+contiene los ajustes predeterminados de los campos de encabezamientos
+como el compositor, título, etc. para todos los libros que están
+dentro del archivo (véase @ref{Explicación de los títulos}).
@item
Un bloque @code{\score}. Esta partitura se reúne con otras partituras
@rlearning{Cómo funcionan los archivos de entrada de LilyPond}.
Referencia de la notación:
+@ref{Explicación de los títulos},
@ref{El bloque \layout}.
-@node Títulos y cabeceras
-@section Títulos y cabeceras
+@node Títulos y encabezamientos
+@section Títulos y encabezamientos
@translationof Titles and headers
Casi toda la música impresa tiene un título y el nombre del
compositor; ciertas piezas tienen mucha más información.
@menu
-* Crear títulos cabeceras y pies de página::
-* Cabeceras pies y títulos personalizados::
+* Crear títulos encabezamientos y pies de página::
+* Títulos encabezamientos y pies de página personalizados::
* Crear notas al pie::
* Referencia a números de página::
* Índice general::
@end menu
-@node Crear títulos cabeceras y pies de página
-@subsection Crear títulos, cabeceras y pies de página
+@node Crear títulos encabezamientos y pies de página
+@subsection Crear títulos, encabezamientos y pies de página
@translationof Creating titles headers and footers
@menu
-* Explicación de los bloques de títulos::
-* Presentación predeterminada de los bloques de título del libro y la partitura::
+* Explicación de los títulos::
+* Presentación predeterminada de los títulos de partes de libro y partitura::
* Disposición predeterminada de las cabeceras y pies de página::
@end menu
-@node Explicación de los bloques de títulos
-@unnumberedsubsubsec Explicación de los bloques de títulos
-@translationof Title blocks explained
+@node Explicación de los títulos
+@unnumberedsubsubsec Explicación de los títulos
+@translationof Titles explained
-@c TODO: figure out how \bookpart titles work
+Cada bloque @code{\book} de un solo archivo de entrada produce un
+archivo de salida distinto, véase @ref{Estructura del archivo}.
+Dentro de cada archivo de salida están disponibles dos tipos de zonas
+para títulos: @emph{Títulos de parte de libro} al principio de cada
+parte de un libro y @emph{Títulos de partitura} al comienzo de una
+partitura.
-Existen dos clases de bloques de títulos: el bloque principal de
-títulos que aparece encima del primer bloque @code{\score} de un
-libro, y los bloques individuales de título que aparecen dentro de
-cada bloque @code{\score}. Los campos de texto para los dos tipos de
-bloque se introducen mediante un bloque @code{\header}.
+Los valores de los campos para encabezamientos tales como @code{title}
+(para el título) y @code{composer} (para el autor) se establecen en
+bloques @code{\header} (para ver la sintaxis de los bloques
+@code{\header} y una lista completa de los campos disponibles de forma
+predeterminada, consulte @ref{Presentación predeterminada de los
+títulos de partes de libro y partitura}). Tanto los títulos de parte
+de libro como los títulos de partitura pueden contener los mismos
+campos, aunque de forma predeterminada los campos de los títulos de
+partitura se limitan a @code{piece} (pieza) y @code{opus}.
-Si el libro tiene una única partitura, el bloque @code{\header} se
-puede situar dentro o fuera del bloque @code{\score}.
+Los bloques @code{\header} se pueden situar en cuatro lugares
+distintos para formar una jerarquía descendente de bloques
+@code{\header}:
-@warning{Recuerde que al añadir un bloque @bs{}@code{header} dentro de
+@itemize
+
+@item
+Al principio del archivo de entrada, antes de cualquier otro bloque
+@code{\book}, @code{\bookpart} o @code{\score}.
+
+@item
+Dentro de un bloque @code{\book} pero fuera de los bloques
+@code{\bookpart} y @code{\score} que están dentro de ese libro.
+
+@item
+Dentro de un bloque @code{\bookpart} pero fuera de cualquier bloque
+@code{\score} dentro de dicha parte de libro.
+
+@item
+Después de la expresión musical de un bloque @code{\score}.
+
+@end itemize
+
+Los valores de los campos se fitran a través de esta jerarquía,
+persistiendo aquellos que se establecen más arriba a no ser que se
+sobreescriban por un valor establecido más abajo en la jerarquía, y
+así:
+
+@itemize
+
+@item
+Un título de parte de libro se deriva de los campos fijados al
+principio del archivo de entrada, modificado por los campos
+establecidos dentro del bloque @code{\book}, y posteriormente
+modificado por los campos que se fijan dentro del bloque
+@code{\bookpart}. Los valores resultantes se usan para imprimir el
+título de parte de libro para esa parte.
+
+@item
+Un título de partitura se deriva de los campos que se fijan al
+principio del archivo de entrada, modificados por los campos fijados
+dentro del bloque @code{\book}, posteriormente modificados por los
+campos que se fijan dentro del bloque @code{\bookpart} y finalmente
+modificados por los campos establecidos dentro del bloque
+@code{\score}. Los valores restulantes se utilizan para imprimir el
+título de partitura. Observe, sin embargo, que de forma
+predeterminada solamente se imprimen los campos @code{piece} y
+@code{opus} en los títulos de partitura a no ser que la variable de
+@code{\paper}, @code{print-all-headers}, tenga el valor @code{#t}.
+
+@end itemize
+
+@warning{Recuerde que al poner un bloque @bs{}@code{header} dentro de
un bloque @bs{}@code{score}, la expresión musical debe aparecer antes
del bloque @bs{}@code{header}.}
+No es necesario aportar bloques @code{\header} en los cuatro lugares:
+cualquiera de ellos o incluso todos pueden omitirse. De forma
+similar, los archivos de entrada sencillos pueden omitir los bloques
+@code{\book} y @code{\bookpart}, dejando que se creen de forma
+implícita.
+
+Si el lobro solamente tiene una partitura, el bloque @code{\header}
+debiera situarse normalmente al principio del archivo de forma que
+solamente se produce una zona de título de parte de libro, haciendo
+que estén disponibles para su uso todos los títulos de
+encabezamientos.
+
+Si el libro tiene varias partituras, son posibles distintas
+combinaciones de bloques @code{\header}, según los distintos tipos de
+publicaciones musicales. Por ejemplo, si la publicación contiene
+varias piezas del mismo autor, un bloque @code{\header} colocado al
+principio del archivo que especifique el título del libro y el autor,
+con bloques @code{\header} en cada bloque @code{\score} que
+especifique la @code{piece} y/o el @code{opus} sería lo más adecuado,
+como aquí:
+
@lilypond[papersize=a5,quote,verbatim,noragged-right]
\header {
title = "SUITE I."
}
@end lilypond
-Los campos de texto extraídos del bloque prinicipal de título de un
-libro se pueden imprimir en todos los bloques @code{\score}, o
-suprimirse manualmente:
+Son posibles disposiciones más complejas. Por ejemplo, los campos de
+texto extraídos del bloque @code{\header} de un libro se pueden
+imprimir en todos los títulos de partitura, con ciertos campos
+sobreescritos y otros suprimidos manualmente:
@lilypond[papersize=a5,quote,verbatim,noragged-right]
\book {
@seealso
Referencia de la notación:
@ref{Estructura del archivo},
-@ref{Personalización de los bloques de título}.
+@ref{Presentación predeterminada de los títulos de partes de libro y partitura},
+@ref{Personalización de los títulos}.
-@node Presentación predeterminada de los bloques de título del libro y la partitura
-@unnumberedsubsubsec Presentación predeterminada de los bloques de título del libro y la partitura
-@translationof Default layout of book and score title blocks
+@node Presentación predeterminada de los títulos de partes de libro y partitura
+@unnumberedsubsubsec Presentación predeterminada de los títulos de partes de libro y partitura
+@translationof Default layout of bookpart and score titles
Este ejemplo muestra todas las variables de @code{\header}:
@end itemize
Para cambiar la disposición predeterminada, véase
-@ref{Personalización de los bloques de título}.
+@ref{Personalización de los títulos}.
@cindex breakbefore
@rlearning{Cómo funcionan los archivos de entrada de LilyPond}
Referencia de la notación:
-@ref{Personalización de los bloques de título},
+@ref{Personalización de los títulos},
@ref{Estructura del archivo}.
Archivos de inicio:
@code{##f}.
-@node Cabeceras pies y títulos personalizados
-@subsection Cabeceras, pies y títulos personalizados
-@translationof Custom headers footers and titles
+@node Títulos encabezamientos y pies de página personalizados
+@subsection Títulos, encabezamientos y pies de página personalizados
+@translationof Custom titles headers and footers
@c TODO: somewhere put a link to header spacing info
@c (you'll have to explain it more in NR 4).
@menu
-* Formateo personalizado del texto de los bloques de título::
-* Personalización de los bloques de título::
+* Formateo personalizado del texto de los títulos::
+* Personalización de los títulos::
* Disposición personalizada de cabeceras y pies de página::
@end menu
-@node Formateo personalizado del texto de los bloques de título
+@node Formateo personalizado del texto de los títulos
@unnumberedsubsubsec Formateo personalizado del texto de los bloques de título
-@translationof Custom text formatting for title blocks
+@translationof Custom text formatting for titles
Se pueden usar instrucciones @code{\markup} estándar para personalizar
el texto de cualquier cabecera, pie o título dentro del bloque
@ref{Formatear el texto}.
-@node Personalización de los bloques de título
-@unnumberedsubsubsec Personalización de los bloques de título
-@translationof Custom layout for title blocks
+@node Personalización de los títulos
+@unnumberedsubsubsec Personalización de los títulos
+@translationof Custom layout for titles
@cindex bookTitleMarkup
@cindex scoreTitleMarkup
La colocación de los títulos cuando se utilizan los valores
predeterminados de estas variables de @code{\markup} se muestra en los
ejemplos de
-@ref{Presentación predeterminada de los bloques de título del libro y la partitura}.
+@ref{Presentación predeterminada de los títulos de partes de libro y partitura}.
Los ajustes predeterminados para @code{scoreTitleMarkup} tal y como
están definidos en el archivo @file{ly/titling-init.ly} son:
}
@end lilypond
-Los campos de texto reservados normalmente para el bloque principal de
-título se pueden insertar dentro de los bloques de título de las
-partituras individuales con la variable @code{print-all-headers}
-establecida dentro del bloque @code{\paper}. Una desventaja de la
+Los campos de texto que normalmente no son efectivos
+dentro de los bloques @code{\header} de una partitura
+se pueden imprimir el la zona del Título de la partitura
+si se coloca @code{print-all-headers} dentro del bloque @code{\paper}.
+Una desventaja de la
utilización de este método es que los campos de texto que están
-orientados específicamente para el bloque @code{\header} del nivel
-superior han de suprimirse manualmente en cada uno de los bloques
-@code{\score}. Véase @ref{Explicación de los bloques de títulos}.
+orientados específicamente para la zona del título de parte de libro
+han de suprimirse manualmente en cada uno de los bloques
+@code{\score}. Véase @ref{Explicación de los títulos}.
Para evitarlo, añada el campo de texto deseado a la definición de
@code{scoreTitleMarkup}. En el ejemplo siguiente, el campo de texto
@seealso
Referencia de la notación:
-@ref{Explicación de los bloques de títulos}.
+@ref{Explicación de los títulos}.
@node Disposición personalizada de cabeceras y pies de página
@seealso
Referencia de la notación:
-@ref{Explicación de los bloques de títulos},
-@ref{Presentación predeterminada de los bloques de título del libro y la partitura}.
+@ref{Explicación de los títulos},
+@ref{Presentación predeterminada de los títulos de partes de libro y partitura}.
Archivos instalados:
@file{../ly/titling-init.ly}.
@subsection Crear notas al pie
@translationof Creating footnotes
+@cindex notas al pie
+
Se pueden crear dos tipos de notas al pie: automáticas y manuales.
@menu
-* Panorámica de las notas al pie::
-* Notas al pie automáticas::
-* Notas al pie manuales::
+* Notas al pie dentro de expresiones musicales::
+* Notas al pie en texto independiente::
@end menu
-@node Panorámica de las notas al pie
-@unnumberedsubsubsec Panorámica de las notas al pie
-@translationof Footnotes overview
+@node Notas al pie dentro de expresiones musicales
+@unnumberedsubsubsec Notas al pie dentro de expresiones musicales
+@translationof Footnotes in music expressions
-Las notas al pie automáticas crean indicadores numéricos crecientes;
-en cambio las notas al pie manuales permiten crear un indicador
-personalizado. Normalmente, las notas al pie se aplican como
-@code{\tweak}s y por ello se pueden colocar directamente sobre los
-grobs (objetos gráficos) creados por la mayor parte de los elementos y
-post-eventos musicales. En los casos en que esto no funciona así
-(como con las líneas divisorias y los cambios de compás, donde los
-grobs se producen como consecuencia de cambios en propiedades), las
-notas al pie se pueden también especificar como un evento musical
-independiente que afecta a todos los grobs de un tipo dado en un punto
-temporal concreto.
+@cindex notas al pie dentro de expresiones musicales
+@funindex \footnote
-La forma completa de una instrucción de nota al pie es
+@subsubsubheading Panorámica de las notas al pie
+
+Las notas al pie dentro de expresiones musicales caen dentro de dos
+categorías:
+
+@table @emph
+@item Notas al pie basadas en eventos
+Se adjuntan a un evento en particular. Son ejemplos de tales eventos
+las notas sueltas, notas dentro de un acorde, articulaciones (como
+barras, ligaduras de expresión, indicaciones de digitación, acentos,
+indicaciones dinámicas) y letra de las canciones.
+
+@item Notas al pie basadas en tiempo
+Se ligan a un punto temporal determinado, dentro de un contexto
+musical. Algunas instrucciones como @code{\time} y @code{\clef} en
+realidad no usan eventos para crear objetos como la indicación de
+compás y la clave. Un acorde tampoco crea un evento por sí mismo: su
+plica o corchete se crea al final de un paso de tiempo (nominalmente,
+a través de uno de los eventos de nota que contiene). Una nota al pie
+basada en tiempo permite anotar tales objetos de presentación sin
+referirse a ningún evento.
+
+@end table
+
+La forma completa de una instrucción de nota al pie tanto para las
+notas al pie basadas en eventos como para las basadas en tiempo, es:
@example
-\footnote @var{marca} @var{desplazamiento} @var{grob} @var{nota}
-@var{música}
+[@var{dirección}] \footnote [@var{marca}] @var{desplazamiento} [@var{nombre-del-grob}] @var{texto-de-la-nota} @var{música}
@end example
Los elementos son como sigue:
@table @var
+
+@item dirección
+Si (y sólo si) el @code{\footnote} se está aplicando a un post-evento
+o articulación, debe ir precedida de un indicador de dirección
+(@code{-, _, ^}) con el objeto de adjuntar la @var{música} (con una
+marca de nota al pie) a la nota o silencio precedente.
+
@item marca
-es un elemento de marcado o cadena que especifica la nmarca de nota al
-pie que se usa tanto para señalar el punto de referencia como la nota
-en sí en la parte inferior de la página. Se puede omitir (o, de forma
-equivalente, sustituirse con @code{\default}) en cuyo caso se genera
-un número en secuencia.
+es un elemento de marcado o cadena de caracteres que especifica la
+marca de nota al pie que se usa para marcar tanto el punto de
+referencia como la propia nota al pie en la parte inferior de la
+página. Se puede omitir (o, de forma equivalente, sustituirse por
+@code{\default}) en cuyo caso se genera un número secuencialmente de
+forma automática. Tales secuencias numéricas se reinician en cada
+página que contiene una nota al pie.
+
@item desplazamiento
-es una pareja de números como @samp{#(2 . 1)} que especifica los
-desplazamientos X e Y a partir del punto de referencia en que se
-situará la marca.
-@item grob
-especifica, por su nombre, un tipo de objeto gráfico o grob que marcar
-(como @samp{#'Flag} para el corchete de una nota). Si se da, el grob
-respectivo se usa como punto de referencia incluso en el caso de que
-su @q{causa} no sea la propia @var{música} referenciada sino un grob
-creado a partir de ella. Se puede omitit (o sustituirse por
-@code{\default}), y entonces sólo se anotará un grob creado
-directamente.
-@item nota
-Esta cadena o elemento de marcado especifica el texto de la nota que
-utilizar en la parte inferior de la página.
+es una pareja de números tal como @samp{#(2 . 1)} que especifica los
+desplazamientos en X y en Y en unidades de espacios de pentagrama a
+partir del límite del objeto en que se desea situar la marca. Los
+valores de desplazamiento positivos se toman a partir del borde
+superior derecho, los valores negativos a partir del borde inferior
+izquierdo y cero implica que la marca se centra sobre el borde.
+
+@item nombre-del-grob
+especifica un tipo de grob que marcar (como @samp{#'Flag} para el
+corchete). Si se da, se usa como punto de referencia un grob de ese
+tipo asociado con la @var{música} referenciada. Se puede omitir (o
+sustituirse con @code{\default}) si se desea que la marca de nota al
+pie se adjunte al grob directamente creado dentro de @var{música}.
+
+@item texto-de-la-nota
+es el elemento de marccado o cadena de caracteres que especifica el
+texto de la nota al pie que utilizar en la parte baja de la página.
+
@item música
-Éste es el elemento, evento musical o componente de un acorde o
-post-evento, que se está anotando. Aunque no puede omitirse, @emph{sí
-puede} sustituirse por @code{\default} en cuyo caso la nota al pie no
-se adjunta a una expresión musical dada, sino a un momento de tiempo.
-Es obligatorio en este caso utilizar el argumento @var{grob} para
-seleccionar un tipo de grob afectado, como @samp{#'TimeSignature}
-(indicación de compás).
+es el evento musical o componente de un acorde o post-evento que se
+está anotando. Aunque no se puede omitir, se puede sustituir por
+@code{\default} en cuyo caso la nota al pie no se adjunta a ninguna
+expresión en particular, sino más bien a un momento de tiempo. Es
+obligatorio en este caso utilizar el argumento @var{nombre-del-grob}
+para seleccionar un tipo de grob afectado, como por ejemplo
+@samp{#'TimeSignature}.
+
@end table
-Como ocurre con @code{\tweak}, si nuestra @code{\footnote} se aplica a
-un post-evento o articulación, tendrá que ser ella misma precedida de
-@code{-} para que el analizador sintáctico adjunte el resultado a la
-nota o silencio precedente.
+@subsubsubheading Notas al pie basadas en eventos
+@cindex Notas al pie, basadas en eventos
-@node Notas al pie automáticas
-@unnumberedsubsubsec Notas al pie automáticas
-@translationof Automatic footnotes
+La forma más simple de una nota al pie basada en eventos es
+sencillamente
-Las notas al pie automáticas toman cuatro argumentos: la posición
-@samp{(x . y)} del indicador, el nombre opcional del @var{grob} que
-especifica el objeto de presentación que se anota, el elemento de
-marcado de la porpia @var{nota} que aparecerá en la parte inferior de
-la página, y por supuesto la @var{música} a que adjuntar la nota al
-pie.
+@example
+\footnote @var{desplazamiento} @var{texto-de-la-nota} @var{música}
+@end example
-@lilypond[verbatim,quote,ragged-right,papersize=a8]
+Este tipo de nota al pie se adjunta a un objeto de presentación
+causado directamente por el evento que corresponde a @var{música}.
+
+@lilypond[quote,verbatim,papersize=a8landscape]
\book {
\header { tagline = ##f }
- \relative c' {
- \footnote #'(0.5 . -2)
- \markup { The first note }
- a'4 b8
- \footnote #'(0.5 . 1) #'Flag
- \markup { The third note }
- e\noBeam c4 d4
+ \relative c'' {
+ \footnote #'(-1 . 3) "A note" a4
+ a4
+ \footnote #'(2 . 2) "A rest" r4
+ a4
}
}
@end lilypond
-Las notas en acorde no ofrecen ninguna dificultad especial:
+Si se desea que la nota al pie se adjunte a un post-evento o
+articulación, la instrucción @code{\footnote} debe ir precedida por un
+indicador de dirección, @code{-, _, ^}, y seguida por el post-evento o
+articulación que se desea anotar como argumento @var{música}. En esta
+forma, la @code{\footnote} se puede considerar como una simple copia
+de su último argumento con una marca de nota al pie adjunta.
-@lilypond[verbatim,quote,ragged-right,papersize=a8]
+@lilypond[quote,verbatim,papersize=a8landscape]
\book {
\header { tagline = ##f }
- \relative c' {
- <
- \footnote #'(1 . -1.25) "Here is a C" c
- \footnote #'(2 . -0.25) \markup { \italic "An E-flat" } es
- \footnote #'(2 . 3) \markup { \bold "This is a G" } g
- >1
+ \relative c'' {
+ a4_\footnote #'(0 . -1) "A slur forced down" (
+ b8^\footnote #'(1 . 0.5) "A manual beam forced up" [
+ b8 ]
+ c4 )
+ c-\footnote #'(1 . 1) "Tenuto" --
}
}
@end lilypond
-@warning{Cuando las notas al pie tienen la misma posición vertical, se
-imprimen en orden de descendencia: cuando más alta es la nota al pie,
-más arriba está en la lista.}
+Se pueden usar marcas personalizadas como altenativas a las marcas
+numéricas, y la línea de anotación que une el objeto marcado con la
+marca puede suprimirse:
-He aquí unos ejemplos más de grobs con notas al pie, que
-muestran también la posición relativa de las notas respecto de la
-línea informativa y la línea de copyright.
-
-@lilypond[verbatim,quote,ragged-right,papersize=a8]
+@lilypond[quote,verbatim,papersize=a8landscape]
\book {
- \header { copyright = \markup { "Copyright 1970" } }
+ \header { tagline = ##f }
\relative c' {
- a'4-\footnote #'(-3 . 0) \markup { \bold Forte } \f
- -\footnote #'(0 . 1.5) \markup { A slur } (
- b8)-\footnote #'(0 . -2) \markup { Beam } [ e]
- \footnote #'(1 . -1) #'Stem
- \markup { \teeny { This is a stem } }
- c4
- \footnote #'(0 . 0.5) #'AccidentalCautionary
- \markup \italic { A cautionary accidental }
- \footnote #'(1 . 1) "The note itself"
- dis?4-\footnote #'(0.5 . -0.5) \markup \italic { Slow Down }
- _"rit."
+ \footnote "*" #'(0.5 . -2) \markup { \italic "* The first note" }
+ a'4 b8
+ \footnote \markup { \super "$" } #'(0.5 . 1)
+ \markup { \super "$" \italic " The second note" }
+ e c4
+ \once \override Score.FootnoteItem #'annotation-line = ##f
+ b-\footnote \markup \tiny "+" #'(0.1 . 0.1)
+ \markup { \super "+" \italic " Editorial" } \p
}
}
@end lilypond
-Para los elementos @code{\markup} del nivel superior, se requiere el
-uso de la instrucción @code{\auto-footnote}:
+Se pueden ver más ejemplos de marcas personalizadas en
+@ref{Notas al pie en texto independiente}.
-@lilypond[verbatim,quote,ragged-right,papersize=a8]
+No es posible hacer un acorde completo de esta forma porque un acorde
+no produce un evento distinto al de las notas que lo componen, pero
+las propias notas que lo componen sí se pueden marcar.
+
+Si el objeto de presentación que se está anotando está causado
+@emph{indirectly} por un evento (como una alteración accidental o una
+plica causados por una cabeza de nota), se requiere un argumento
+adicional de símbolo, el @var{nombre-del-grob}, antes del texto de la
+nota al pie:
+
+@lilypond[quote,verbatim,papersize=a8landscape]
\book {
\header { tagline = ##f }
- \markup { \auto-footnote "A simple tune" \italic "By me" }
- \relative c' {
- a'4 b8 e c4 d
+ \relative c'' {
+ % footnotes may be added to chord constituents
+ < \footnote #'(-1 . -3) #'Accidental "Another flat" aes
+ c
+ \footnote #'(-1 . 0.5) #'Accidental "A flat" ees
+ >2
+ \footnote #'(-1 . 2) #'Stem "A stem" ees2
}
}
@end lilypond
-
-@node Notas al pie manuales
-@unnumberedsubsubsec Notas al pie manuales
-@translationof Manual footnotes
-
-@cindex notas al pie manuales
-
-Las notas al pie marcadas manualmente toman un primer argumento
-adicional de marcado, @var{marca} para construir la marca de
-referencia. A diferencia de las marcas de notas al pie generadas
-automáticamente, no aparecen antes del elemento de marcado @var{nota}
-en la parte inferior de la página: el establecimiento de la conexión
-visual se deja para el usuario. LilyPond sólo asegura que el marcado
-correspondiente aparece en la parte inferior de la misma página.
-
-Aparte de esto, su uso es idéntico al de las notas al pie numeradas
-automáticamente.
-
-@lilypond[verbatim,quote,ragged-right,papersize=a8]
+@warning {Cuando las notas al pie se adjuntan a varios elementos musicales que
+están dentro del mismo momento musical, las notas al pie se numeran
+desde los elementos más altos a los más bajos tal y como aparecen en
+la salida impresa, no en el orden en que se escriben en el flujo de
+entrada.}
+
+@subsubsubheading Notas al pie basadas en tiempo
+
+@cindex Notas al pie, basadas en tiempo
+
+Los objetos de presentación como las claves y las armaduras de
+tonalidad están producidas mayormente como consecuencia de propiedades
+cambiadas, más que como verdaderos eventos. Otros, como las líneas
+divisorias y los números de compás, son una consecuencia directa de la
+cuenta de tiempo. Por este motivo, las notas al pie basadas en estos
+objetos tienen que estar basadas en su cuenta de tiempo musical. Las
+notas al pie basadas en tiempo son preferibles también cuando se están
+creando funcionalidades como plicas y barras dentro de @emph{acordes}:
+mientras que tales funcionalidades por cada acorde se asignan
+normalmente a @emph{un} evento dentro del acorde, confiar en una
+elección en particular sería imprudente.
+
+Una nota al pie basada en tiempo se escribe de la misma manera que con
+una nota al pie basada en evento, excepto que se usa @code{\default}
+en lugar de la música que indica un evento. El objeto de presentación
+en cuestión debería siempre especificarse explícitamente para las
+notas al pie basadas en tiempo para evitar acabar teniendo marcas en
+los objetos más inesperados.
+
+@lilypond[quote,verbatim,papersize=a8landscape]
\book {
\header { tagline = ##f }
- \relative c' {
- \footnote
- "1" #'(0.5 . -2)
- \markup { \italic "1. The first note" }
- a'4
- b8
- \footnote
- \markup { \bold "2" } #'(0.5 . 1)
- "2. The second note"
- e
- c4
- d-\footnote "3" #'(0.5 . -1) "3. Piano" \p
+ \relative c'' {
+ r1 |
+ \footnote #'(-0.5 . -1) #'TimeSignature "Meter change" \default
+ \time 3/4
+ \footnote #'(1 . -1) #'Stem "Chord stem" \default
+ <c e g>4 q q
+ \footnote #'(-0.5 . 1) #'BarLine "Bar line" \default
+ q q
+ \footnote #'(0.5 . -1) #'KeySignature "Key change" \default
+ \key c\minor
+ q
}
}
@end lilypond
-Para anotar notas de acordes con notas al pie manuales:
+
+@node Notas al pie en texto independiente
+@unnumberedsubsubsec Notas al pie en texto independiente
+@translationof Footnotes in stand-alone text
+
+@cindex notas al pie en texto independiente
+
+Se utilizan dentro de un elemento de marcado fuera de cualquier
+expresión musical. No se traza una líne hasta el punto de referencia:
+la marca simplemente sigue al elemento de marcado que se referencia.
+Se pueden insertar las marcas automáticamente, en cuyo caso son
+numéricas. De forma alternativa, se pueden aportar manualmente marcas
+personalizadas.
+
+Las notas al pie para texto independiente con marcas automáticas y
+personalizadas se crean de distintas formas.
+
+@subsubsubheading Notas al pie en texto independiente con marcas automáticas
+
+La sintaxis de una nota al pue sobre texto independiente con marcas
+automáticas es
+
+@example
+\markup @{ ... \auto-footnote @var{texto} @var{nota} ... @}
+@end example
+
+Los elementos son:
+
+@table @var
+
+@item texto
+es el elemento de marcado o cadena de caracteres que se desea anotar.
+
+@item nota
+es el elemento de marcado o cadena de caracteres que especifica el
+texto de la nota al pie que utilizar en la parte baja de la página.
+
+@end table
+
+Por ejemplo:
@lilypond[verbatim,quote,ragged-right,papersize=a8]
\book {
\header { tagline = ##f }
+ \markup {
+ "A simple"
+ \auto-footnote "tune" \italic " By me"
+ "is shown below. It is a"
+ \auto-footnote "recent" \italic " Aug 2012"
+ "composition."
+ }
\relative c' {
- <
- \footnote "1" #'(1 . -1.25) "1. C" c
- \footnote
- \markup { \bold "b" } #'(2 . -0.25) "b. E-flat" es
- \footnote "3" #'(2 . 3) \markup { \italic "iii. G" } g
- >1
+ a'4 b8 e c4 d
}
}
@end lilypond
-@warning {Cuando las notas al pie tienen la misma posición vertical, las
-anotaciones se imprimen en orden de descendencia; cuanto más alta es
-la nota al pie, más arriba está en la lista.}
+@subsubsubheading Notas al pie sobre texto independiente con marcas personalizadas
-He aquí algunos ejemplos de grobs anotados manualmente, mostrando
-también la posición relativa de las notas al pie respecto a la línea
-informativa a la de copyright:
+La sintaxis de una nota al pie sobre texto independiente con marcas
+personalizadas es
+
+@example
+\markup @{ ... \footnote @var{marca} @var{nota} ... @}
+@end example
+
+Los elementos son:
+
+@table @var
+
+@item marca
+es un elemento de marcado o cadena de caracteres que especifica la
+marca que se usa para señalar el punto de referencia. Observe que
+esta marca @emph{no} se inserta automáticamente antes de la propia
+nota al pie.
+
+@item nota
+es el elemento de marcado o cadena de caracteres que especifica el
+texto de la nota que aparece en la parte baja de la página, precedida
+por la @var{marca} especificada.
+
+@end table
+
+Se puede usar como marca un carácter fácil de teclear, como * ó +,
+según se muestra en @ref{Notas al pie dentro de expresiones musicales}.
+De forma alternativa, se pueden usar alias en ASCII (véase
+@ref{Alias de ASCII}):
@lilypond[verbatim,quote,ragged-right,papersize=a8]
\book {
+ \paper { #(include-special-characters) }
\header { tagline = ##f }
+ \markup {
+ "A simple tune"
+ \footnote "*" \italic "* By me"
+ "is shown below. It is a recent"
+ \footnote \super † \concat {
+ \super † \italic " Aug 2012"
+ }
+ "composition."
+ }
\relative c' {
- a'4-\footnote
- \markup { \teeny 1 } #'(-3 . 0)
- \markup { 1. \bold Forte } \f
- -\footnote
- \markup { \teeny b } #'(0 . 1.5)
- \markup { b. A slur } (
- b8)-\footnote
- \markup { \teeny 3 } #'(0 . -2)
- \markup { 3. Beam } [
- e]
- \footnote
- \markup { 4 } #'(1 . -1) #'Stem
- \markup { \bold 4. { This is a stem } }
- c4
- \footnote
- \markup \concat \teeny { "sharp (v)" }
- #'(0 . 0.5) #'AccidentalCautionary
- \markup \italic { v. A cautionary accidental }
- dis?4-\footnote
- \markup \concat \teeny { "a" } #'(0.5 . -0.5)
- \markup \italic { a. Slow Down } _"rit."
- \footnote
- \markup { \teeny \musicglyph #"rests.4" }
- #'(1.5 . -0.25)
- \markup { \null } \breathe
+ a'4 b8 e c4 d
}
}
@end lilypond
-Para anotar manualmente un elemento @code{\markup} del nivel superior:
+También pueden utilizarse códigos de caracteres Unicode para
+especificar las marcas (véase @ref{Unicode}):
@lilypond[verbatim,quote,ragged-right,papersize=a8]
\book {
\header { tagline = ##f }
- \markup { "A simple tune" \footnote "*" \italic "* By me" }
+ \markup {
+ "A simple tune"
+ \footnote \super \char##x00a7 \concat {
+ \super \char##x00a7 \italic " By me"
+ }
+ "is shown below. It is a recent"
+ \footnote \super \char##x00b6 \concat {
+ \super \char##x00b6 \italic " Aug 2012"
+ }
+ "composition."
+ }
\relative c' {
- a'4 b8 e c4 d4
+ a'4 b8 e c4 d
}
}
@end lilypond
@rlearning{Objetos e interfaces}.
Referencia de la notación:
+@ref{ASCII aliases},
@ref{Globos de ayuda},
-@ref{Disposición de la página},
+@ref{List of special characters},
@ref{Indicaciones de texto},
@ref{Guiones de texto},
-@ref{Títulos y cabeceras}.
+@ref{Unicode}.
Referencia de funcionamiento interno:
@rinternals{FootnoteEvent},
@knownissues
Varias notas al pie en la misma página solo pueden ir apiladas unas
-sobre otras, y no se pueden imprimir en la misma línea. Las notas al
-pie no se pueden adjuntar a elementos de silencio multicompás
-@code{MultiMeasureRests}, y pueden colisionar con el objeto
-@code{Staff}, objetos de @code{\markup} y otras anotaciones
-@code{footnote}. Cuando use una cualquiera de las instrucciones
-@code{footnote} se requiere un bloque @code{\paper} que contenga
-@code{footnote-auto-number = ##f}.
+sobre otras; no se pueden imprimir en la misma línea.
+
+Las notas al pie no se pueden adjuntar a @code{MultiMeasureRests}
+(silencios multicompás) o a barras de corchea automáticas y las notas
+al pie pueden colisionar con las pautas, objetos @code{\markup}, otras
+marcas de notas al pie y líneas de anotación.
@node Referencia a números de página
incorporan al archivo principal, por lo que los nombres de archivo que
especifican deben ser relativos al directorio que contiene el archivo
principal, no al directorio que contiene el archivo incluido. Sin
-embargo, este comportamiento se puede modificar pasando la opción
-@option{-drelative-includes} en la línea de órdenes (o mediante la
-adición de @code{#(ly:set-option 'relative-includes #t)} al principio
-del archivo principal de entrada). Con el valor de
-@code{relative-includes} establecido, la ruta de cada instrucción
-@code{\include} se considera relativa al archivo que contiene dicha
-instrucción. Este comportamiento es el recomendado y se convertirá en
-el comportamiento predeterminado en una versión futura de lilypond.
+embargo, este comportamiento se puede modificar globalmente pasando la
+opción @option{-drelative-includes} en la línea de órdenes (o mediante
+la adición de @code{#(ly:set-option 'relative-includes #t)} al
+principio del archivo principal de entrada).
+
+Cuando @code{relative-includes} está establecido al valor @code{#t},
+la ruta de cada instrucción @code{\include} se considera relativa al
+archivo que contiene dicha instrucción. Este comportamiento es el
+recomendado y se convertirá en el comportamiento predeterminado en una
+versión futura de lilypond.
+
+Tanto los archivos relativos al directorio principal como los archivos
+relativos a algún otro directorio se pueden @code{\include}ar mediante
+el establecimiento de @code{relative-includes} al valor @code{#t} o a
+@code{#f} en los lugares apropiados dentro de los archivos. Por
+ejemplo, si se ha creado una biblioteca genérica, libA, que a su vez
+utiliza sub-archivos que se @code{\include}an por medio del archivo de
+entrada de dicha biblioteca, esas instrucciones @code{\include}
+tendrán que venir precedidas por @code{#(ly:set-option
+#relative-includes #t)} de manera que se interpreten correctamente al
+construir el archivo de entrada @code{.ly} principal, de esta forma:
+
+@example
+libA/
+ libA.ly
+ A1.ly
+ A2.ly
+ ...
+@end example
+
+@noindent
+entonces el archivo de entrada, @code{libA.ly}, contiene
+
+@example
+#(ly:set-option 'relative-includes #t)
+\include "A1.ly"
+\include "A2.ly"
+...
+% vuelta al ajuste predeterminado
+#(ly:set-option 'relative-includes #f)
+@end example
+
+Cualquier archivo @file{.ly} puede entonces incluir la biblioteca
+completa, simplemente con
+
+@example
+\include "~/libA/libA.ly"
+@end example
+
+Se pueden usar estructuras de archivo más complejas instando los
+cambios en los lugares adecuados.
También se pueden incluir archivos de un directorio que está en una
ruta de búsqueda especificada como opción al invocar a LilyPond desde
@node Unicode
@unnumberedsubsubsec Unicode
+@translationof Unicode
@cindex Unicode
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 2e3c5412eacdbfd976d2cd6c5cc90f272ddfc263
+ Translation of GIT committish: a8855343a15503ca5bb4a30d41a3bff9c60e66f2
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@lilypondfile[verbatim,quote]
{cross-staff-stems.ly}
+Por el momento no se puede especificar este grabador por su
+nombre entre comillas, sino prefijando el nombre con un símbolo
+de almohadilla @code{#}, a causa de la manera en que está
+implementado.
+
@snippets
@lilypondfile[verbatim,quote,texidoc,doctitle]
{indicating-cross-staff-chords-with-arpeggio-bracket.ly}
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 844e5387a003bde2c10389ad863184defe893b6c
+ Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 2055f35c47a045a50a01ff4dba8524322cfc3b48
+ Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 80340bdefc128536c79733d8c6f3467d91b01f72
+ Translation of GIT committish: 44011e382e91f43fb6752b3fbbf8d8984131a565
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
cb hc bd sn ss tomh tommh tomml toml tomfh tomfl s16 }
\score {
<< \new DrumStaff \with {
- \remove Bar_engraver
- \remove Time_signature_engraver
+ \remove "Bar_engraver"
+ \remove "Time_signature_engraver"
\override Stem #'transparent = ##t
\override Flag #'transparent = ##t
\override Stem #'Y-extent = ##f
<<
\new DrumStaff \with {
- \remove Bar_engraver
- \remove Time_signature_engraver
+ \remove "Bar_engraver"
+ \remove "Time_signature_engraver"
\override Stem #'transparent = ##t
\override Flag #'transparent = ##t
\override Stem #'Y-extent = ##f
<<
\new DrumStaff \with {
- \remove Bar_engraver
- \remove Time_signature_engraver
+ \remove "Bar_engraver"
+ \remove "Time_signature_engraver"
drumStyleTable = #congas-style
\override StaffSymbol #'line-count = #2
<<
\new DrumStaff \with {
- \remove Bar_engraver
- \remove Time_signature_engraver
+ \remove "Bar_engraver"
+ \remove "Time_signature_engraver"
\override StaffSymbol #'line-count = #2
drumStyleTable = #bongos-style
<<
\new DrumStaff \with{
- \remove Bar_engraver
+ \remove "Bar_engraver"
drumStyleTable = #percussion-style
\override StaffSymbol #'line-count = #1
- \remove Time_signature_engraver
+ \remove "Time_signature_engraver"
\override Stem #'transparent = ##t
\override Flag #'transparent = ##t
\override Stem #'Y-extent = ##f
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 3c169262c8f580c0f42c09f3a61b9ae9f0d6261c
+ Translation of GIT committish: 35d565c89b853ed87b1bb2feb59f6ce8bef6263b
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@warning{Cualquier nota que no entre en la escada dada, se dejará sin
transformar.}
-@subsubheading Transposición modal
+@subsubsubheading Transposición modal
@cindex transporte
@cindex transporte modal
}
@end lilypond
-@subsubheading Inversión modal
+@subsubsubheading Inversión modal
@cindex modal, inversion
@cindex inversión modal
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: f3cacac4bafd2bace7dd23033618895cf11ef695
+ Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: bc573af397a1b54f35fb1f95b3ee2e5360d4152f
+ Translation of GIT committish: 1141313811fa104882b882085f1a7c80fee69f91
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@funindex \overrideTimeSignatureSettings
Además de ajustar la indicación de compás que se imprime, la
-instrucción @code{\time} establece también los valores predeterminados
-basados en el tipo de compás para las propiedades @code{baseMoment},
+instrucción @code{\time} establece también los valores de las
+propiedades basadas en el tipo de compás @code{baseMoment},
@code{beatStructure} y @code{beamExceptions}. Los valores
predefinidos de estas propiedades están en
-@file{scm/time-signature-settings.scm}. Los valores predefinidos
-existentes se pueden cambiar, o pueden añadirse valores nuevos:
+@file{scm/time-signature-settings.scm}.
+
+El valor predeterminado de @code{beatStructure} puede sobreescribirse
+dentro de la propia instrucción @code{\time} escribiéndolo como primer
+argumento opcional:
+
+@lilypond[quote,verbatim]
+\score {
+ \new Staff {
+ \relative c' {
+ \time #'(2 2 3) 7/8
+ \repeat unfold 7 { c8 } |
+ \time #'(3 2 2) 7/8
+ \repeat unfold 7 { c8 } |
+ }
+ }
+}
+@end lilypond
+
+De forma alternativa, los valores predeterminados de todoas estas
+variables basadas en la indicación de compás, incluidas
+@code{baseMoment} y @code{beamExceptions}, se pueden establecer
+juntas. Los valores se pueden fijar independientemente para varios
+tipos de compás distintos. Los nuevos valores tienen efecto cuando se
+ejecuta una instrucción @code{\time} posterior con el mismo valor del
+tipo de compás:
@lilypond[quote,verbatim]
\score {
@item
@code{@var{timeSignatureFraction}}, una fracción que describe
-el tipo de compás.
+el tipo de compás al que se aplican estos valores.
@item
@code{@var{baseMomentFraction}}, una fracción que contiene el
}
@end lilypond
+Otro método para cambiar estas variables relacionadas con el tipo de
+compás, que evita la reimpresión de la indicación de compás en el
+momento del cambio, se muestra en
+@ref{Establecer el comportamiento de las barras automáticas}.
+
@predefined
@code{\numericTimeSignature},
@code{\defaultTimeSignature}.
@endpredefined
+
@snippets
@lilypondfile[verbatim,quote,texidoc,doctitle]
{time-signature-printing-only-the-numerator-as-a-number-instead-of-the-fraction.ly}
Referencia de la notación:
@ref{Indicaciones de compás de la música mensural},
+@ref{Establecer el comportamiento de las barras automáticas},
@ref{Gestión del tiempo}.
+Archivos instalados:
+@file{scm/time-signature-settings.scm}.
+
Fragmentos de código:
@rlsr{Rhythms}.
d4 g e c
@end lilypond
+
@snippets
@lilypondfile[verbatim,quote,texidoc,doctitle]
{printing-metronome-and-rehearsal-marks-below-the-staff.ly}
mediante la modificación manual de la indicación visible del compás y/o el
escalado de la duración de las notas.
-@subsubheading Pentagramas con distintas indicaciones de compás y compases de igual longitud
+@subsubsubheading Pentagramas con distintas indicaciones de compás y compases de igual longitud
Establezca una indicación de compás común para cada pentagrama, y fije
@code{timeSignatureFraction} a la fracción deseada. Luego use la función
>>
@end lilypond
-@subsubheading Pentagramas con distintas indicaciones de compás y longitudes de compás distintas
+@subsubsubheading Pentagramas con distintas indicaciones de compás y longitudes de compás distintas
Se puede dar a cada pentagrama su propia indicación de compás
independiente trasladando los grabadores @code{Timing_translator} y
@cindex compuesto, indicaciones de compás
@cindex compás compuesto, indicación de
-@subsubheading Indicaciones de compás compuesto
+@subsubsubheading Indicaciones de compás compuesto
Se crean usando la función @code{\compoundMeter}. La sintaxis es:
}
}
\new Voice \with {
- \consists Pitch_squash_engraver
+ \consists "Pitch_squash_engraver"
} \relative c'' {
\improvisationOn
c4 c8 c c4 c8 c
>>
@end lilypond
+
@predefined
@code{\improvisationOn},
@code{\improvisationOff}.
@endpredefined
+
@snippets
+
@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
{guitar-strum-rhythms.ly}
Cuando está habilitado el barrado automático, la colocación de las
barras automñaticas viene determinada por tres propiedades de
contexto: @code{baseMoment}, @code{beatStructure} y
-@code{beamExceptions}. Si hay definida una regla de
+@code{beamExceptions}. Los valores predeterminados de estas variables
+se pueden sobreescribir como se describe más abajo, o de forma
+alternativa los propios valores predeterminados se pueden cambiar como
+se explica en @ref{Indicación de compás}.
+
+Si hay definida una regla de
@code{beamExceptions} para el compás en curso, se usa dicha regla para
determinar la colocación de las barras. Si no está definida ninguna
regla de @code{beamExceptions} para el tipo de compás en curso, la
@end example
-@subsubheading @i{Barrado basado en @code{baseMoment} y @code{beatStructure}}
+@subsubsubheading Barrado basado en @code{baseMoment} y @code{beatStructure}
En la mayor parte de los casos, las barras automáticas terminan al
final de un pulso. Los puntos finales de las barras vienen
predeterminado están en
@file{scm/time-signature-settings.scm}.
-@subsubheading @i{Barrado basado en @code{beamExceptions}}
+@subsubsubheading Barrado basado en @code{beamExceptions}
Las reglas de autobarrado especiales (distintas de terminar una barra
sobre un pulso) están definidas en la propiedad @code{beamExceptions}.
r4. a8 a a |
@end lilypond
-@subsubheading @i{Cómo funciona el barrado automático}
+@subsubsubheading Cómo funciona el barrado automático
Cuando se habilita el barrado automático, la colocación de las barras
de corchea automáticas viene determinada por las propiedades de
{beam-endings-in-score-context.ly}
@seealso
+Referencia de la notación:
+@ref{Indicación de compás}.
+
Archivos de inicio:
-@file{scm/beam-settings.scm}.
+@file{scm/time-signature-settings.scm}.
Fragmentos de código:
@rlsr{Rhythms}.
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 844e5387a003bde2c10389ad863184defe893b6c
+ Translation of GIT committish: 35d565c89b853ed87b1bb2feb59f6ce8bef6263b
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@funindex \oneVoice
@funindex oneVoice
-@strong{@i{Instanciar las voces explícitamente}}
+@subsubsubheading Instanciar las voces explícitamente
La estructura básica necesaria para obtener varias voces
independientes en un mismo pentagrama se ilustra en el ejemplo
@code{\oneVoice} (una voz) devuelve todos los ajustes de las voces al
estado neutro predeterminado.
-@strong{@i{Pasajes polifónicos temporales}}
+@subsubsubheading Pasajes polifónicos temporales
Se puede crear un pasaje polifónico temporal con la construcción
siguiente:
Aquí, las instrucciones @code{\voiceOne} y @code{\voiceTwo} son
necesarias para definir los ajustes de cada voz.
-@strong{@i{La construcción de la doble barra invertida}}
+@subsubsubheading La construcción de la doble barra invertida
La construcción @code{<< @{...@} \\ @{...@} >>}, en que las dos
expresiones (o más) están separadas por doble barra invertida, se
contextos @code{Voice} explícitos como aparece explicado en
@rlearning{Contextos y grabadores} y en @rlearning{Voces explícitas}.
-@strong{@i{Orden de las voces}}
+@subsubsubheading Orden de las voces
Al escribir varias voces en el archivo de entrada,
utilice el orden siguiente:
@warning{No se pueden crear letras ni elementos de extensión
(como ligaduras, reguladores, etc.) que se crucen de una voz a otra.}
-@strong{@i{Duraciones idénticas}}
+@subsubsubheading Duraciones idénticas
En el caso especial en que queremos tipografiar fragmentos de música
que discurre en paralelo y con las mismas duraciones, se pueden
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 844e5387a003bde2c10389ad863184defe893b6c
+ Translation of GIT committish: b2bdfeb83d3dd8460ffe0afef5f99e08dbe7f1ba
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@code{\paper} que se ocupan de la disposición de la página
se estudian en secciones posteriores. Las definiciones de elementos
de marcado que se encargan de los encabezamientos, pies y títulos se
-estudian en @ref{Cabeceras pies y títulos personalizados}.
+estudian en @ref{Títulos encabezamientos y pies de página personalizados}.
Casi todas las variables de @code{\paper} funcionan solamente dentro
de un bloque @code{\paper}. Las pocas que funcionan también en un
@seealso
Referencia de la notación:
@ref{Tamaño del papel y escalado automático},
-@ref{Cabeceras pies y títulos personalizados},
+@ref{Títulos encabezamientos y pies de página personalizados},
@ref{El bloque \layout}.
Archivos instalados:
#(set-default-paper-size "a6" 'landscape)
@end example
-La salida de música @emph{no} se gira, solo las dimensiones de la
-página lo hacen.
+Se pueden intercambiar las dimensiones del papel @emph{sin que la
+impresión resulte girada} (como cuando se imprime en tamaño tarjeta
+postal, o al crear gráficos para su inclusión en lugar de un documento
+independiente) añadiendo @samp{landscape} después del nombre del
+propio tamaño del papel:
+
+@example
+#(set-default-paper-size "a6landscape")
+@end example
+
+Cuando el tamaño del papel termina de forma explícita con
+@samp{landscape} o con @samp{portrait}, la presencia de un símbolo
+@code{'landscape} @emph{solamente} afecta a la orientación de la
+impresión, no a las dimensiones del papel que se usan para la
+disposición.
@seealso
Referencia de la notación:
@lilypond[quote,ragged-right,verbatim]
\new Voice \with {
- \remove Forbid_line_break_engraver
+ \remove "Forbid_line_break_engraver"
} \relative c'' {
<<
{ c2. \times 2/3 { c4 c c } c2. | }
>>
@end example
-@c TODO Check this
-Una configuración de división de líneas se puede guardar como archivo
-@file{.ly} automáticamente. Ello permite que alineaciones verticales
-se estiren para que encajen en las páginas durante una segunda
-ejecución del proceso de formateo. Esta posibilidad es bastante
-novedosa y difícil. Hay más detalles disponibles en @rlsr{Spacing}.
@predefined
@funindex \break
@item @code{proportionalNotationDuration}
@item @code{uniform-stretching}
@item @code{strict-note-spacing}
-@item @code{\remove Separating_line_group_engraver}
+@item @code{\remove "Separating_line_group_engraver"}
@item @code{\override PaperColumn #'used = ##t}
@end itemize
}
\new Staff \with {
- \remove Separating_line_group_engraver
+ \remove "Separating_line_group_engraver"
} {
c'1
\break
@item @code{\override Beam #'breakable = ##t}
@item @code{\override Glissando #'breakable = ##t}
@item @code{\override TextSpanner #'breakable = ##t}
-@item @code{\remove Forbid_line_break_engraver in the Voice context}
+@item @code{\remove "Forbid_line_break_engraver" in the Voice context}
@end itemize
Estos ajustes dan a las notas de adorno un espaciado estricto,
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 2055f35c47a045a50a01ff4dba8524322cfc3b48
+ Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: bc918b0b39c7e432a6be7ecb4c5b9b2b0ed9dabc
+ Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: dd8a0b7cc3280f273e66d20c72f1d4097dc6645a
+ Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@noindent
Ciertos elementos de texto de los que no nos ocupamos aquí se tratan
-en otras secciones específicas: @ref{Música vocal}, @ref{Títulos y
-cabeceras}.
+en otras secciones específicas: @ref{Música vocal},
+@ref{Títulos y encabezamientos}.
@menu
* Escritura del texto::
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 80340bdefc128536c79733d8c6f3467d91b01f72
+ Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: bcd9d85bfc1dd6cc2dd3e98901b4df33fd6d0989
+ Translation of GIT committish: 44011e382e91f43fb6752b3fbbf8d8984131a565
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
\layout {
\context {
\Staff
- \remove Bar_engraver
+ \remove "Bar_engraver"
}
}
}
\score {
\new ChoirStaff <<
\new Staff
- \with { \remove Bar_engraver } {
+ \with { \remove "Bar_engraver" } {
\relative c'' {
a4 b c2 |
a4 b c2 |
\layout {
\context {
\Staff
- \remove Bar_engraver
+ \remove "Bar_engraver"
}
}
}
\layout {
\context {
\Staff
- \remove Bar_engraver
- \remove Time_signature_engraver
- \remove Clef_engraver
+ \remove "Bar_engraver"
+ \remove "Time_signature_engraver"
+ \remove "Clef_engraver"
}
}
}
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 844e5387a003bde2c10389ad863184defe893b6c
+ Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 844e5387a003bde2c10389ad863184defe893b6c
+ Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
<!--
- Translation of GIT committish: 427bb2b004227f3afc7de10dfd896fc375cbc320
+ Translation of GIT committish: 55cabbf80554d813284d7f1dc0e08965e2b3644d
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
we depend on an external entity here, which we cannot control. Suppose
-we go from 2.15.x to 2.17.x and put the documentation under "v2.17".
+we go from 2.16.x to 2.17.x and put the documentation under "v2.17".
For some time, Google won't have the new location in its index, so the
-search would get nothing. It would be better to keep "v2.15" in the
-search for a while and have a redirection from "v2.15" to "v2.17".
+search would get nothing. It would be better to keep "v2.16" in the
+search for a while and have a redirection from "v2.16" to "v2.17".
-->
<form action="http://google.com/search"
method="get"
name="search"
- onSubmit="search.q.value='site:lilypond.org/doc/v2.15 '
+ onSubmit="search.q.value='site:lilypond.org/doc/v2.16 '
+ search.brute_query.value"
- onMouseMove="search.q.value='site:lilypond.org/doc/v2.15 '
+ onMouseMove="search.q.value='site:lilypond.org/doc/v2.16 '
+ search.brute_query.value"
- onKeyUp="search.q.value='site:lilypond.org/doc/v2.15 '
+ onKeyUp="search.q.value='site:lilypond.org/doc/v2.16 '
+ search.brute_query.value">
<input type="hidden" name="btnG" value="Búsqueda en Google">
<input type="text" name="brute_query" onfocus="this.value=''" value="Buscar">
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Los símbolos específicos de acordeón discanto se escriben mediante
@code{\\markup}. Se puede trucar la colocación vertical de los
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Al escribir un bajo cifrado, podemos situar las cifras encima o debajo
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
doctitlees = "Añadir un ámbito por voz"
texidoces = "
Se puede añadir un ámbito por cada voz. En este caso, el ámbito se
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Al añadir un pentagrama nuevo en un salto de línea, por desgracia
se añade un espacio adicional al final de la línea antes del salto
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se puede añadir (posiblemente de forma temporal) un pentagrama
nuevo una vez que la pieza ha comenzado.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Para añadir indicaciones de línea divisoria dentro del contexto de
los nombres de acorde @code{ChordNames}, incluya el grabador
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
La sintaxis de LilyPond puede implicar muchas colocaciones poco
comunes para los paréntesis, corchetes, etc, que a veces se tienen
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Mediante la utilización de las potentes herramientas preconfiguradas
como la función @code{\\drummode} y el contexto @code{DrumStaff}, la
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Para añadir digitaciones a las tablaturas, utilice una combinación de
@code{\\markup} y @code{\\finger}.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Este ejemplo muestra una forma de simplificar la adición de muchas
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
La función @code{\\parenthesize} es un truco especial que encierra
objetos entre paréntesis. El grob asociado es @code{ParenthesesItem}.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Con algo de código de Scheme, se puede añadir fácilmente la fecha
actual a una partitura.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
El grabador @code{Volta_engraver} reside de forma predeterminada
dentro del contexto de @code{Score}, y los corchetes de la repetición
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
doctitlees = "Voces adicionales para evitar colisiones"
texidoces = "
En ciertos casos de polifonía compleja, se necesitan voces adicionales
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se puede ajustar la separación entre las notas de adorno utilizando la
propiedad @code{spacing-increment} de @code{Score.GraceSpacing}.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Este fragmento de código muestra cómo situar la línea de base de la
letra más cerca del pentagrama.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Puede ser necesario trucar la propiedad
@code{shortest-duration-space} para poder ajustar el tamaño de las
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
La alineación horizontal de los nombres de instrumento se puede
trucar modificando la propiedad @code{Staff.InstrumentName
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Los números de compás se alinean de forma predeterminada por la
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Si están especificadas, las marcas de texto se pueden alinear con
objetos de notación distintos a las líneas divisorias. Entre estos
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Las cifras de digitación orientadas verticalmente se colocan de forma
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se puede variar la longitud de las plicas de las figuras unidas por
una barra mediante la sobreescritura de la propiedad
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se pueden seleccionar dos métodos alternativos para la numeración de
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Este código muestra cómo usar la forma alternativa de la breve o
cuadrada con dos líneas verticales a los lados de la cabeza, en lugar
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
doctitlees = "Ámbitos con varias voces"
texidoces = "
La adición del grabador @code{Ambitus_engraver} al contexto de
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
De forma predeterminada se añaden corchetes de análisis sencillos
debajo del pentagrama. El ejemplo siguiente muestra una manera de
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Aquí se muestran muchos de (¿o quizá todos?) los símbolos que
están contemplados por la capacidad de LilyPond para la música
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Este ejemplo muestra cómo hacer una transcripción moderna de canto
gregoriano. El canto gregoriano no tiene compás ni plicas; utiliza
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Al transcribir música mensural, es útil un «incipit» al compienzo
de la pieza para indicar la tonalidad y el tempo
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Las indicaciones de compás también se pueden grabar en estilo antiguo.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Esta plantilla muestra una forma de preparar un cántico salmódico
anglicano. También muestra cómo se pueden añadir estrofas adicionales
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
doctitlees = "Aplicar estilos de cabeza según la nota de la escala"
texidoces = "
La propiedad @code{shapeNoteStyles} se puede usar para definir varios
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Para las improvisaciones o @emph{taqasim} que son libres durante unos
momentos, se puede omitir la indicación de compás y se puede usar
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se puede hacer que una ligadura de expresión sea asimétrica para
adaptarse mejor a un patrón asimétrico de notas.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se pueden subdividir las barras automáticamente. Estableciendo la
propiedad @code{subdivideBeams}, las barras se subdividen en
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
He aquí cómo imprimir acordes con cejilla o con media cejilla (quite
la marca de comentario de la línea adecuada para seleccionar uno de
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Las reglas de final de barra especificadas en el contexto
@code{Score} se aplican a todos los pentagramas, pero se pueden
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
No está especificada ninguna agrupación predeterminada automática de
las barras para el compás de 7/8, de forma que si se requieren barras
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Normalmente están prohibidos los saltos de línea si las barras
atraviesan las líneas divisorias. Se puede cambiar este
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
La instrucción @code{\\whiteout} intercala un rectángulo blanco
debajo de un elemento de marcado. Este rectángulo blanco no tapa
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Para hacer invisibles partes de un regulador de crescendo, se usa
el método de dibujar un rectángulo blanco encima de la parte
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
A veces se denota una «cesura» mediante una doble marca de respiración
parecida a las vías del tren, con un calderón encima. Este fragmento
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Este ejemplo proporciona una función para tipografiar un regulador con
texto por debajo, como @qq{molto} o @qq{poco}. El ejemplo ilustra
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Para hacer más pequeño el círculo de @code{\\flageolet} (armónico)
utilice la siguiente función de Scheme.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se pueden modificar notas individuales de un acorde con la instrucción
@code{\\tweak}, alterando la propiedad @code{font-size}.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se insertan automáticamente barras en ángulo cuando se detecta un
intervalo muy grande entre las notas. Se puede hacer un ajuste
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se puede establecer el separador entre las distintas partes del
nombre de un acorde para que sea cualquier elemento de marcado.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
doctitlees = "Cambiar la forma de los silencios multicompás"
texidoces = "
Si hay diez compases de silencio o menos, se imprime en el pentagrama
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Al producir una salida MIDI, el comportamiento predeterminado es que
cada pentagrama representa un canal MIDI, con todas las voces de dicho
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Al utilizar la posibilidad de combinación automática de partes, se
puede modificar el texto que se imprime para las secciones de solo
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se puede modificar el texto empleado para los crescendos y
decrescendos modificando las propiedades de contexto
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Es posible ajustar la separación en las indicaciones de tesitura.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se puede cambiar el aspecto de las ligaduras de expresión de
continuas a punteadas o intermitentes.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
El glifo de la marca de respiración se puede ajustar
sobreescribiendo la propiedad de texto del objeto de presentación
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
La nomenclatura inglesa (predeterminada) para los acordes del cifrado
americano se puede cambiar por la alemana (@code{\\germanChords}
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Este código muestra cómo cambiar la cantidad de puntillos de una nota.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Las alteraciones y los signos «más» pueden aparecer antes o
después de los números, según el valor de las propiedades
-%%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Para cambiar el tempo en la salida MIDI sin
imprimir nada, hacemos invisible la indicación metronómica:
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se puede usar @code{Staff.pedalSustainStrings} para fijar el texto de
las indicaciones de pisar pedal y levantar pedal. Observe que las
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
doctitlees = "Cambiar el número del grupo especial"
texidoces = "
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
La propiedad @code{measureLength}, junto con
@code{measurePosition}, determina cuándo es necesario dibujar una
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Este tipo de notación se utiliza para el canto de los Salmos, en
que las estrofas no siempre tienen la misma longitud.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Los deslizamientos para acordes se pueden indicar tanto en el contexto
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se puede usar la propiedad @code{chordNameExceptions} para
almacenar una lista de notaciones espaciales para acordes
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
La presentación del acorde de séptima mayor se
puede ajustar mediante majorSevenSymbol.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se puede hacer que los diagramas de posiciones se muestren sólo
cuando el acorde cambia o al comienzo de una nueva línea.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Este código muestra cómo recortar (extraer) fragmentos a partir de una
partitura completa.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Los «clusters» o racimos son un mecanismo para indicar la
interpretación de un ámbito de notas al mismo tiempo.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Ciertas indicaciones dinámicas pueden llevar textos (como @qq{più
forte} o @qq{piano subito}). Se pueden producir usando un bloque
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
La herramienta de combinación de partes (instrucción
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
doctitlees = "Indicaciones de compases compuestos"
texidoces = "
Las indicaciones de compás poco frecuentes como @qq{5/8} se pueden
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
La agrupación de pulsos dentro de un compás está controlada por la
propiedad de contexto @code{beatStructure}. Hay establecidos valores
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se puede tipografiar un gissando contemporáneo sin nota final
utilizando una nota oculta y temporalización de cadenza.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
La visibilidad de los objetos de extensión que acaban en la primera
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se puede controlar con precisión la colocación de los números de
digitación. Para que se tenga en cuenta la orientación de las
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
El orden vertical que ocupan las inscripciones gráficas está
controlado con la propiedad @code{'script-priority}. Cuanto más
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
El comportamiento predeterminado de la visibilidad de los corchetes de
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
La creación de un grupeto circular de anticipación entre dos notas,
donde la nota inferior del grupeto utiliza una alteración, requiere
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
En una música que tenga muchas apariciones de la
misma secuencia de notas a distintas alturas, podría ser de
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se puede trazar un símbolo de arpegio entre notas de distintas
voces que están sobre el mismo pentagrama si el grabador
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Para crear pentagramas en blanco, genere compases vacíos y después
elimine el grabador de números de compás @code{Bar_number_engraver}
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Dentro de un @code{PianoStaff}, es posible hacer que un arpegio
cruce entre los pentagramas ajustando la propiedad
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se pueden crear arpegios que se cruzan entre pentagramas dentro de
contextos distintos a @code{GrandStaff}, @code{PianoStaff} y
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se pueden crear indicaciones metronómicas nuevas en modo de
marcado, pero no cambian el tempo en la salida MIDI.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Aunque la manera más fácil de añadir paréntesis a una indicación
de dinámica es utilizar un bloque @code{\\markup}, este método
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
A diferencia de las inscripciones de texto, las lestras de ensayo
no se pueden apilar en un punto concreto de la partitura: sólo se
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
En determinadas situaciones es necesario crear ligaduras de
expresión entre notas que están en voces distintas.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Las instrucciones @code{\\startTextSpan} y @code{\\stopTextSpan}
permiten la creación de elementos de extensión textuales tan
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se pueden tipografiar «custos» en diferentes estilos.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se pueden establecer las propiedades de los diagramas de
posiciones de acordes por medio de @code{'fret-diagram-details}.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se pueden establecer las propiedades de los diagramas de
posiciones a través de @code{'fret-diagram-details}. Para los
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
La dirección predeterminada de las plicas sobre la tercera línea
del pentagrama está determinada por la propiedad
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se pueden añadir diagramas de posiciones predefinidas para
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Si hay un solo pentagrama en un de los tipos de sistema
@code{ChoirStaff} o @code{StaffGroup}, el comportamiento
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
He aquí una forma de imprimir un acorde en el que suena la misma nota
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Al trabajar con los callbacks de un grob, puede ser de mucha ayuda
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Funciones postfijas para la creación de objetos de extensión de texto
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Los objetos de extensión \cresc, \dim y \decresc ahora se pueden
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se puede insertar códico PostScript directamente dentro de un
bloque @code{\\markup}.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Del problema central de la notación, esto es, crear un determinado
símbolo, se encargan los «plugins» o complementos añadidos. Cada
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
doctitlees = "Grabado manual de las ligaduras"
texidoces = "
Se pueden grabar a mano las ligaduras modificando la propiedad
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
doctitlees = "Escribir varios grupos especiales usando una sola instrucción \\times"
texidoces = "
La propiedad @code{tupletSpannerDuration} establece cuánto debe durar
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se puede simular un @qq{hammer} o ligado ascendente con ligaduras de
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se pueden conseguir símbolos especiales combinando glifos existentes,
lo que es de utilidad para la notación de instrumentos de viento.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
En este ejemplo se combinan las digitaciones de la mano izquierda,
indicaciones del número de cuerda y digitaciones de la mano
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Son posibles tanto los corchetes rectos sobre notas sueltas como
extremos de barra sueltos en figuras unidas, con una combinación de
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
doctitlees = "Forzar el desplazamiento horizontal de las notas"
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Si LilyPond no cree que haya sitio suficiente para un guión separador
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Es posible usar el modo de marcado para dar formato a sílabas
individuales dentro de la letra.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se pueden crear tablas alternativas de diagramas de posiciones. Se
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Armónicos sobre cuerdas pisadas (armónicos artificiales):
"
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Este fragmento de código basado en Scheme genera
24 notas aleatorias (o tantas como se necesiten), basándose en la
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Los objetos gráficos de columna de nota (los grobs @code{NoteColumn})
pueden ser sobrepasados por los glissandos.
-%%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
En muchos casos, las llaves que no están en la columna central se
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se puede cambiar el aspecto de las líneas de rejilla
sobreescribiendo algunas de sus propiedades.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se pueden trazar líneas verticales normales entre pentagramas para
mostrar la relación entre notas; sin embargo, en caso de música
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Para la música de guitarra, es posible mostrar los ritmos de rasgueo,
además de las notas de la melodía, acordes y diagramas de posiciones.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Los reguladores pueden imprimirse en uno cualquiera de los estilos de
@code{line-interface}: discontinuo, punteado, línea, trino o zig-zag.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Aquí se muestra la manera de ocultar las alteraciones de las notas
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Los cambios de dinámica con estilo de texto (como cresc. y dim.)
se imprimen con una línea intermitente que muestra su alcance.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Este fragmento de código muestra una forma de preparar un himno cuando
cada línea comienza con un compás parcial. También muestra cómo
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Los «incipit» se pueden escribir utilizando el grob del nombre del
instruemento, pero manteniendo independientes las definiciones del
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Un corchete de arpegio puede indicar que se tienen que tocar con la
misma mano notas que están en dos pentagramas distintos. Para hacerlo,
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Las marcas de cesura se pueden crear sobreescribiendo la propiedad
@code{'text} del objeto @code{BreathingSign}. También está disponible
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
También se pueden imprimir símbolos de porcentaje sueltos.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Ésta es una plantilla bastante avanzada, para un conjunto de
jazz. Observe que la notación de todos los instrumentos está en
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Cuando se produce un cambio de clave, el símbolo de clave se imprime a
un tamaño menor que la clave inicial. Esto se puede ajustar con
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
La tablatura se puede formatear utilizando letras en lugar de números.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se pueden aplicar puntas de flecha a los elementos de extensión de
texto y de línea (como el Glissando).
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
La alineación horizontal de la letra se puede ajustar sobreescribiendo
la propiedad @code{self-alignment-X} del objeto @code{LyricText}.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
El «Makam» es un tipo de melodía de Turquía que
utiliza alteraciones microtonales de 1/9 de tono. Consulte el
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Las ligaduras de expresión se pueden construir con patrones de
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se puede engrosar una línea del pentagrama con fines pedagógicos
(p.ej. la tercera línea o la de la clave de Sol). Esto se puede
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Este fragmento de código proporciona una solución alternativa a la
producción de contadores de compás utilizando repeticiones
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
La disposición «mensurstriche» en que las líneas divisorias no
están dibujadas sobre los pentagramas, sino entre ellos, se puede
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Las abreviaturas se encuentran definidas dentro del archivo
@file{ly/script-init.ly}, donde las variables @code{dashHat},
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Cuando se puede una nota en la voz superior para evitar la colisión
con una nota de otra voz, el comportamiento predeterminado es
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se puede ajustar la posición vertical de una ligadura de
expresión utilizando la propiedad @code{positions} del objeto
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Los elementos de marcado aplicados a un silencio multicompás se
centran encima o debajo de éste. Los elementos de marcado extensos
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se puede utilizar la propiedad
@code{systemStartDelimiterHierarchy} para crear grupos de
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
LilyPond también proporciona funciones de formato para imprimir
números de grupo especial diferentes a la propia fracción, así
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
doctitlees = "Armaduras de tonalidad no tradicionales"
texidoces = "
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Las cabezas de nota de notación fácil utilizan la propiedad
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
El motor de espaciado vertical cambió en la versión 2.14. Esto puede
hacer que se altere el espaciado de la letra de las canciones. Es
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Referencia para armónicos sobre cuerdas al aire (armónicos naturales):
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Esta plantilla muestra el uso de contextos @code{StaffGroup} y
@code{GrandStaff} anidados para sub-agrupar instrumentos del mismo
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Internamente, @code{\\ottava} establece las propiedades
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se pueden mostrar los contadores de las repeticiones del tipo
porcentaje a intervalos regulares mediante el establecimiento de
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Las repeticiones de compases completos de más de dos repeticiones
pueden llevar un contador si se activa la propiedad adecuada, como se
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
doctitlees = "Permitir saltos de línea dentro de grupos especiales con barra"
texidoces = "
Este ejemplo artificial muestra cómo se pueden permitir tanto los
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Presentamos a continuación una plantilla de piano sencilla con algunas
notas.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
En lugar de tener un pentagrama dedicado a la melodía y la letra, ésta
se puede centrar entre los pentagramas de un sistema de piano.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
He aquí el típico formato dde una canción: un pentagrama con la
melodía y la letra, y el acompañamiento de piano por debajo.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Es posible ejercer un mayor control sobre la colocación de las
digitaciones de la mano derecha estableciendo el valor de una
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
La polifonía se crea de la misma forma en un @code{TabStaff} que
en una pauta normal.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Si necesitamos alargar o acortar un símbolo de arpegio, podemos
modificar independientemente los extremos superior e inferior.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Cuando se colocan figuras sobre líneas adicionales, sus barras se
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Al establecer la propiedad @code{'strict-grace-spacing} hacemos que
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
doctitlees = "Posicionar los silencios multicompás"
texidoces = "
A diferencia de los silencios normales, no existe una instrucción
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Los elementos de marcado de texto deben tener la propiedad
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
doctitlees = "Evitar que se añadan becuadros adicionales automáticamente"
texidoces = "
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
doctitlees = "Evitar que se impriman becuadros cuando cambia la armadura"
texidoces = "
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se puede imprimir una línea divisoria de la forma @code{|:} al
principio de la pieza, sobreescribiendo la propiedad correspondiente:
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se pueden imprimir los números de compás a intervalos regulares
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Los números de compás también se pueden imprimir dentro de rectángulos o de circunferencias.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se pueden imprimir reguladores con un círculo en la punta (notación
«al niente») estableciendo la propiedad @code{circled-tip} del objeto
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Aunque normalmente las marcas de ensayo textuales sólo se imprimen
sobre el pentagrama superior, también se pueden imprimir en otro
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
De forma predeterminada, las indicaciones metronómicas y las
letras de ensayo se imprimen encima del pentagrama. Para
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se puede usar el contexto @code{NoteNames} para imprimir el valor
textual de las notas. La propiedad @code{printOctaveNames} activa o
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
De forma predeterminada se suprime el número del primer compás de una
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Los pasajes citados tienen en cuenta la transposición de la fuente
tanto como la del destino. En este ejemplo, todos los
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
La propiedad @code{quotedEventTypes} determina los tipos de eventos
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
El ejemplo siguiente muestra cómo se pueden realizar diagramas de
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Los valores predeterminados para las notas de adorno están
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se pueden eliminar completamente los números de compás quitando el
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
De forma predeterminada, las líneas divisorias en los grupos
StaffGroup, PianoStaff o GrandStaff se conectan entre los pentagramas.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
El primer pentagrama vacío también se puede suprimir de la
partitura estableciendo la propiedad @code{remove-first} de
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
doctitlees = "Estilos de silencios"
texidoces = "
Los silencios se pueden imprimir en distintos estilos.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Para tipografiar las barras agrupadas en la forma @code{3-4-3-2} sólo
es necesario modificar la estructura de pulsos:
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Plantilla de coro SATB (en cuatro pentagramas)
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Si la nota que da fin a un regulador cae sobre la primera parte de
un compás, el regulador se detiene en la línea divisoria
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se pueden insertar separadores sistema entre los sistemas de una
página. Se puede usar cualquier elemento de marcado, pero
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Si los reguladores son demasiado cortos, se pueden alargar
modificando la propiedad @code{minimum-length} del objeto
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
De forma predeterminada, los corchetes de primera y segunda vez se
trazan encima de los finales alternativos completos, pero es posible
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se pueden imprimir los acordes exclusivamente al comienzo de las
líneas y cuando cambia el acorde.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Al juntar nombres de acorde en cifrado americano, melodía y letra,
obtenemos una hoja guía de acordes o «lead sheet»:
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Esta plantilla facilita la preparación de una canción con melodía,
letra y acordes.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Presentamos a continuación un ejemplo de plantilla para una hoja
guía de acordes con melodía, letra, acordes y diagramas de
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
¿Quiere preparar una hoja guía de acordes (o «lead sheet») con
melodía y acordes? ¡No busque más!
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Esta pequeña plantilla muestra una melodía sencilla con letra. Córtela
y péguela, escriba las notas y luego la letra. Este ejemplo desactiva
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Esta plantilla simple prepara un pentagrama con notas, adecuado para
un instrumento solista o un fragmento melódico. Córtelo y péguelo en
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Los deslizamientos se pueden componer tipográficamente tanto en los
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Los textos independientes se pueden disponer en varias columnas
utilizando instrucciones @code{\\markup}:
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
La dirección de las plicas se contola de la misma forma en la
tablatura que en la notación tradicional. Las barras se pueden
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se puede hacer que las barras secundarias apunten en la dirección del
pulso o fracción a que pertenecen. La primera barra evita los
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Esta plantilla muestra un cuarteto de cuerda normal. También utiliza
una sección @code{\\global} para el compás y la armadura
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
El fragmento de código @qq{Plantilla de cuarteto de cuerda} produce un
resultado satisfactorio para el cuarteto, pero ¿y si tenemos que
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
A veces, la indicación de compás no debe imprimir la fracción completa
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
A modo de alternativa para obtener auténticos «incipit»
independientes de la partitura principal, se incluyen como
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
doctitlees = "Transportar música con el menor número de alteraciones"
texidoces = "
Este ejemplo utiliza código de Scheme para forzar las
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
doctitlees = "Trucaje de las propiedades de clave"
texidoces = "
La instrucción @code{\\clef \"treble_8\"} equivale a un ajuste de
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
La disposición de las expresiones de adorno se puede cambiar a lo
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se puede usar el delimitador de comienzo de un sistema
@code{SystemStartSquare} estableciéndolo explícitamente dentro de
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Se pueden imprimir estilos alternativos del corchete o gancho de las
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
El corchete de arpegios @code{arpeggioBracket} se puede usar para
indicar la división de voces cuando no hay plicas que puedan ofrecer
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Algunos compositores escriben dos ligaduras cuando quieren acordes
legato. Esto se puede conseguir estableciendo @code{doubleSlurs}.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Es posible aplicar la barrita que cruza la barra de las
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
doctitlees = "Uso de ligaduras en los arpegios"
texidoces = "
En ocasiones se usan ligaduras de unión para escribir los arpegios.
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Mediante el establecimiento de la propiedad @code{'Y-extent} a un valor
adecuado, todos los objetos @code{DynamicLineSpanner} (reguladores e
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Las expresiones dinámicas que se comienzan, terminan o se producen
en la misma nota se alinean verticalmente. Para asegurar que las
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Este fragmento de código muestra el uso de las propiedades de
contexto @code{alignBelowContext} y @code{alignAboveContext} para
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Allí donde se utilicen líneas extensoras para el bajo cifrado mediante
el establecimiento de @code{useBassFigureExtenders} al valor
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Esta plantilla añade una reducción de piano automática a la partitura
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Esta plantilla es, básicamente, la misma que la sencilla plantilla
@qq{Conjunto vocal}, excepto que aquí todas las líneas de letra se
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Esta plantilla crea una partitura que comienza con una estrofa para
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
He aquí una partitura vocal estándar para cuatro voces SATB. Con
grupos mayores, suele ser útil incluir una sección que aparezca en
-%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
Mediante la adición del grabador @code{Volta_engraver} al
pentagrama pertinente, se pueden poner los corchetes de primera y
-%%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
-%%% Translation of GIT committish: 596761e4a1c62fc2e85fe3396a378b814504e7b1
+%%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidoces = "
El fragmento de música que aparece a continuación presenta todos los
diagramas de viento madera que se encuentran definidos en LilyPond por
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: da632500cfc55fcd3660f72b39c7dbcd7542f9bc
+ Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: f71ede90de06fdc16dad9ed75f38558efe819080
+ Translation of GIT committish: 44011e382e91f43fb6752b3fbbf8d8984131a565
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
<textobject>
<programlisting language="lilypond" role="fragment verbatim staffsize=16 ragged-right relative=2">
\context Staff \with @{
- \remove Time_signature_engraver
- \remove Clef_engraver@}
+ \remove "Time_signature_engraver"
+ \remove "Clef_engraver"@}
@{ c4( fis) @}
</programlisting>
</textobject>
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 2936a7a6c5bca895dfd5725ab2422ad1c6b3ff11
+ Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 2936a7a6c5bca895dfd5725ab2422ad1c6b3ff11
+ Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 2aeac5e3815effa47427dad86d6be811c7b0d8a2
+ Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 2936a7a6c5bca895dfd5725ab2422ad1c6b3ff11
+ Translation of GIT committish: 4239aa2369f74d8e8622c2235154e9f064c394f7
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
Para MacOS X 10.4 o superior sobre
CPU Intel (si no está seguro, utilice éste).
-MacOS X 10.7 Lion no está contemplado aún.
@item
@sourceimage{logo-macosx,,,}
Para MacOS X 10.4 o superior sobre
CPUs G3 y G4 (ordenadores Apple antiguos).
-MacOS X 10.7 Lion no está contemplado aún.
@end itemize
@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: 488508ff926c03b14d030ffc255ae19fc3ce1f50
+ Translation of GIT committish: 2b55f813985dd14f8e61011d1c76ecf00e45691e
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c used for news about the upcoming release; see CG 10.2
+@newsItem
+@subsubheading ¡Lanzado Lilypond 2.16.0! @emph{24 de agosto de 2012}
+
+Nos llena de orgullo anunciar el lanzamiento de GNU LilyPond 2.16.0.
+LilyPond es un programa de tipografía musical para editar partituras,
+consagrado a la producción de música impresa de la mayor calidad
+posible. Lleva al ordenador la estética de la música grabada de la
+forma tradicional.
+
+Durante el último año y a partir de la principal versión estable
+anterior, se han realizado multitud de mejoras. Algunas de las
+mejoras fundamentales son:
+
+@itemize
+@item
+Soporte para la notación cuadrada del canto kievano
+@item
+Se han mejorado espectacularmente las interfaces de programación y del usuario
+@item
+Las funciones musicales son ahora mucho más versátiles
+@end itemize
+
+Hay una lista completa de todas las funcionalidades nuevas en
+
+@example
+@uref{http://lilypond.org/doc/v2.16/Documentation/changes/}
+@end example
+
+¡Que tenga una feliz tipografía musical! LilyPond 2.16 ha sido hecho para usted por...
+
+El equipo principal de desarrollo:
+
+Bertrand Bordage, Trevor Daniels, Colin Hall, Phil Holmes, Ian Hulin,
+Reinhold Kainhofer, David Kastrup, Jonathan Kulp, Werner Lemberg,
+John Mandereau, Patrick McCarty, Joe Neeman, Han-Wen Nienhuys,
+Jan Nieuwenhuizen, Graham Percival, Mark Polesky, Neil Puttock,
+Mike Solomon, Carl Sorensen, Francisco Vila, Valentin Villenave,
+Jan Warchoł
+
+Colaboradores de programación:
+
+Aleksandr Andreev, Sven Axelsson, Peter Chubb, Karin Hoethker,
+Marc Hohl, David Nalesnik, Justin Ohmie, Benkő Pál, Julien Rioux, Patrick Schmidt,
+Adam Spiers, Heikki Taurainen, Piers Titus van der Torren,
+Jan-Peter Voigt, Janek Warchol
+
+Colaboradores de documentación:
+
+James Lowe, Pavel Roskin, Alberto Simoes, Stefan Weil
+
+Escuadrón de caza de fallos:
+
+Colin Campbell, Eluze, Phil Holmes, Marek Klein, Ralph Palmer,
+James Lowe
+
+Apoyo:
+
+Colin Campbell, Christian Hitz, Phil Holmes
+
+Colaboradores de traducciones:
+
+Jean-Charles Malahieude, Till Paala, Yoshiki Sawada
+
+@newsEnd
+
+
@newsItem
@subsubheading ¡Lanzado LilyPond 2.15.95! @emph{11 de agosto de 2012}
\layout {
\context {
\Staff
- \consists Horizontal_bracket_engraver
+ \consists "Horizontal_bracket_engraver"
}
}
}
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: c8d018351dac201da482291ad1f14f3771a1a679
+ Translation of GIT committish: f199e875f7a7beb0afd17eae2038819baab767ff
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
universitaires, avant même qu'il serve à imprimer la plus simple des
mélodies, avant que la communauté des utilisateurs de LilyPond
s'étende sur toute la planète, LilyPond est parti du constat
-suivant@tie{}:
+suivant :
@quotation
Pourquoi la plupart des partitions qui sortent d'un ordinateur ne
parvient-elle pas à égaler la beauté et l'élégance des partitions
-gravées à la main@tie{}?
+gravées à la main ?
@end quotation
@noindent
@iftex
des pages qui suivent.
@end iftex
-La première, qui date des années 1950, a été gravée à la main@tie{}; la
+La première, qui date des années 1950, a été gravée à la main ; la
seconde est une édition informatisée contemporaine.
@ifnottex
@quotation
@noindent
-Bärenreiter BA 320, @copyright{}1950@tie{}:
+Bärenreiter BA 320, @copyright{}1950 :
@sourceimage{baer-suite1-fullpage,,,png}
@end quotation
@quotation
@noindent
-Henle n° 666, @copyright{}2000@tie{}:
+Henle n° 666, @copyright{}2000 :
@sourceimage{henle-suite1-fullpage,,,png}
@end quotation
l'air terne et mécanique.
Ce qui rend cette nouvelle édition différente n'est pas évident au
-premier coup d'œil@tie{}: c'est propre et condensé, presque @qq{mieux}
+premier coup d'œil : c'est propre et condensé, presque @qq{mieux}
que l'autre dans la mesure où tout y est @qq{calculé} pour atteindre
l'uniformité. À vrai dire, il nous a fallu un moment pour nous en
rendre compte. Notre but étant d'améliorer la notation informatisée, il
Le problème se situe au niveau même de la précision toute mathématique
qui amène à l'uniformité de cette nouvelle édition. Considérons les
-barres de mesure en milieu de ligne@tie{}: dans la partition
+barres de mesure en milieu de ligne : dans la partition
traditionnelle, leur emplacement varie quelque peu, à l'inverse de la
nouvelle, où toutes les barres sont rigoureusement alignées. Pour que
ce soit bien clair, le schéma ci-dessous montre en parallèle ce
@iftex
@page
@noindent
-Bärenreiter BA 320, @copyright{}1950@tie{}:
+Bärenreiter BA 320, @copyright{}1950 :
@sourceimage{baer-suite1-fullpage,16cm,,}
@page
@noindent
-Henle no 666, @copyright{}2000@tie{}:
+Henle no 666, @copyright{}2000 :
@sp 3
@sourceimage{henle-suite1-fullpage,16cm,,}
@page
Les images ci-dessous mettent en évidence certaines différences entre
l'art du graveur traditionnel et le résultat habituel sorti d'un
ordinateur. L'image de gauche est un fac-similé d'un bémol tiré
-d'une édition Bärenreiter traditionnelle@tie{}; celle de droite est
+d'une édition Bärenreiter traditionnelle ; celle de droite est
issue de la même partition, éditée en 2000. Bien que toutes deux soient
imprimées avec le même encrage, la version @qq{ancienne} paraît plus
-noire@tie{}: les lignes de la portée y sont plus épaisses et le galbe du
+noire : les lignes de la portée y sont plus épaisses et le galbe du
bémol de Bärenreiter est à la limite de la volupté. Sur l'autre image,
les lignes sont plus fines et le bémol semble raide, coincé.
trouver maintenant de piètre qualité des polices que nous avions tout
d'abord appréciées.
-À titre d'exemple, voici deux fontes musicales@tie{}: la première ligne
+À titre d'exemple, voici deux fontes musicales : la première ligne
comporte des caractères de la police par défaut du logiciel Sibelius --
la police @emph{Opus} -- et la deuxième, ces mêmes caractères dans notre
propre police pour LilyPond.
des notes. Néanmoins, et comme nous l'avons vu plus haut avec la suite
de Bach, la plupart des éditions modernes se basent sur des durées à la
précision mathématique, ce qui entraîne un effet des plus monotones.
-Dans l'exemple qui suit, le même motif est imprimé deux fois@tie{}: la
+Dans l'exemple qui suit, le même motif est imprimé deux fois : la
première en appliquant un espacement chronométrique, la seconde avec
-quelques corrections. Quelle version remporte vos suffrages@tie{}?
+quelques corrections. Quelle version remporte vos suffrages ?
@cindex optique et espacement
@cindex espacement et effet d'optique
Chaque mesure de ce fragment comporte des notes d'égale valeur, ce qui
devrait se constater au niveau de l'espacement. Malheureusement, notre
-œil nous trompe@tie{}: non seulement il considère la distance séparant
+œil nous trompe : non seulement il considère la distance séparant
deux têtes de notes mais, de surcroît, il prend en compte l'espace
entre deux hampes. Par voie de conséquence, une succession de notes
hampe en haut puis hampe en bas devrait comporter un espace accru et,
@cindex lignes supplémentaires
@cindex collisions
-Les lignes supplémentaires sont une gageure pour le typographe@tie{}:
+Les lignes supplémentaires sont une gageure pour le typographe :
les différents symboles musicaux doivent être suffisamment rapprochés
pour que le lecteur identifie la hauteur au premier coup d'œil. Vous
noterez, dans l'exemple qui suit, que les lignes supplémentaires sont un
meilleur rendu selon la taille de la partition. L'avènement des fontes
digitalisées permet d'obtenir n'importe quelle taille à partir d'un
simple tracé. Bien que ceci constitue un progrès en soi, il nous faut
-cependant nuancer@tie{}: les glyphes sont moins forts lorsqu'ils sont de
+cependant nuancer : les glyphes sont moins forts lorsqu'ils sont de
taille réduite.
Pour les besoins de LilyPond, nous avons créé des polices de graisse
différente selon la taille. Voici ce que produit LilyPond dans une
-taille de portée de 26@tie{}points@tie{}:
+taille de portée de 26 points :
@quotation
@iftex
@end quotation
@noindent
-et la même musique en 11@tie{}points, grossie de 236@tie{}% pour obtenir
-une taille identique à l'image précédente@tie{}:
+et la même musique en 11 points, grossie de 236 % pour obtenir
+une taille identique à l'image précédente :
@quotation
@iftex
jouent la musique que sur son apparence, aussi ces pinailleries sur des
détails de typographie peuvent paraître académiques. Il n'en est rien.
La partition contribue, au même titre que bien d'autres éléments, à
-l'existence même d'une représentation@tie{}: tout doit être fait pour
+l'existence même d'une représentation : tout doit être fait pour
que l'interprète donne le meilleur de lui-même, et ce qui est peu clair
ou pas agréable à lire constitue un frein.
devrait être soignée, non seulement pour l'amour de l'art, mais plus
spécialement parce qu'elle vient en aide au lecteur dans sa tâche.
Pour du matériel d'interprétation tel que les partitions de musique,
-ceci est doublement important@tie{}: les musiciens sont limités dans
+ceci est doublement important : les musiciens sont limités dans
leur attention. Au moins leur attention se porte sur la lecture, au
plus ils peuvent se concentrer sur l'exécution. En d'autres termes, une
meilleure typographie se traduit par une meilleure interprétation.
@unnumberedsubsec Concours de beauté
@translationof Beauty contests
-Quels sont en réalité nos critères de formatage@tie{}? Considérant
+Quels sont en réalité nos critères de formatage ? Considérant
l'image suivante, laquelle de ces trois configurations devrions-nous
-choisir pour formater la liaison@tie{}?
+choisir pour formater la liaison ?
@lilypond
\relative c {
mauvaise.
Voici, à titre d'exemple, trois configurations possibles pour le tracé
-d'une liaison@tie{}; LilyPond leur attribue individuellement une @qq{note
-de laideur}. Le premier essai se voit attribuer 15,39@tie{}points
+d'une liaison ; LilyPond leur attribue individuellement une @qq{note
+de laideur}. Le premier essai se voit attribuer 15,39 points
notamment pour l'effleurement de la tête de note.
@lilypond
La liaison ci-dessous reste à une distance uniforme des notes, mais il
faut tenir compte du fait qu'elle n'est pas rattachée aux première et
-dernière notes. Ceci nous fait 1,71@tie{}points pour le début de la
+dernière notes. Ceci nous fait 1,71 points pour le début de la
liaison et 9,37 pour la terminaison -- qui est beaucoup plus éloignée de
la dernière note. Par ailleurs, la liaison monte alors que la mélodie
-redescend, ce qui entraîne une pénalité de 2@tie{}points. Ceci nous
-fait un total de 13,08@tie{}points de laideur.
+redescend, ce qui entraîne une pénalité de 2 points. Ceci nous
+fait un total de 13,08 points de laideur.
@lilypond
\relative c {
@end lilypond
Quant à la liaison qui suit, seule la terminaison reste éloignée de la
-dernière note, ce qui donne 10,04@tie{}points de laideur auxquels nous
+dernière note, ce qui donne 10,04 points de laideur auxquels nous
ajoutons 2 autres points pour la pente ascendante. Cette configuration
étant la moins laide, ou plutôt la version la plus satisfaisante, nous
la sélectionnons.
croches, formater des accords liés, formater des accords avec des
valeurs pointées, positionner les sauts de ligne ou de page. Cette
technique est consommatrice de temps de calcul, dans la mesure où elle
-examine de nombreuses possibilités@tie{}; néanmoins, le jeu en vaut la
+examine de nombreuses possibilités ; néanmoins, le jeu en vaut la
chandelle, puisque le résultat final est bien meilleur et nous rapproche
des éditions traditionnelles.
s'améliorer lorsqu'on le compare aux partitions gravées à la main.
Voici un extrait de l'une de nos éditions de référence (Bärenreiter
-BA@tie{}320)@tie{}:
+BA 320) :
@iftex
@sourceimage{baer-sarabande-hires,16cm,,}
@noindent
et ce que génère l'une des anciennes versions de LilyPond -- la 1.4,
-publiée en mai@tie{}2001@tie{}:
+publiée en mai 2001 :
@iftex
@sourceimage{pdf/lily14-sarabande,16cm,,}
@noindent La sortie LilyPond est certes lisible, et acceptable pour
beaucoup de gens. Cependant, une comparaison minutieuse avec une
édition gravée à la main révèle de nombreuses erreurs de
-formatage@tie{}:
+formatage :
@iftex
@sourceimage{lily14-sarabande-annotated-hires,16cm,,}
@noindent
Passons sous silence les notes et indications absentes, tout comme
-la faute de hauteur@tie{}!
+la faute de hauteur !
En ajustant les algorithmes, paramètres et polices concernés, nous avons
pu améliorer le résultat. La deuxième ligne ci-dessous a été générée
Nous pouvons aussi évaluer les capacités de LilyPond dans ses choix, en
comparant ses résultats avec ce que génèrent d'autres d'autres logiciels
-du marché. Notre choix s'est porté sur Finale@tie{}2008, l'un des
+du marché. Notre choix s'est porté sur Finale 2008, l'un des
logiciels les plus populaires notamment en Amérique du Nord. Son plus
proche concurrent est Sibelius, très répandu sur le marché européen.
Pour cette analyse comparative, nous avons choisi la fugue en sol mineur
-du premier livre du Clavier bien tempéré de Bach (BWV@tie{}861). En
-voici le thème@tie{}:
+du premier livre du Clavier bien tempéré de Bach (BWV 861). En
+voici le thème :
@lilypond
\relative c' {
ligne -- pour la dernière mesure.
La plupart des différences entre ces deux éditions -- Finale pour la
-première image -- se situent dans les mesures 28 et 29@tie{}:
+première image -- se situent dans les mesures 28 et 29 :
@iftex
@sourceimage{pdf/bwv861mm28-29,14cm,,}
}
@end lilypond
-Entre autres défauts du résultat brut de Finale, nous notons@tie{}:
+Entre autres défauts du résultat brut de Finale, nous notons :
@itemize @bullet
@item La majorité des ligatures est trop éloignée de la portée.
@item Finale n'ajuste pas la position des notes qui s'entrecroisent. Il
en résulte une lecture peu évidente lorsque les voix supérieure et
-inférieure de croisent temporairement@tie{}:
+inférieure de croisent temporairement :
@c KEEP LY
@lilypond
fixe de la portée. Si l'utilisateur peut les déplacer à loisir, le
logiciel ne se soucie en rien de ce qui se passe dans les autres voix.
Par chance, il n'y a aucune collision entre un silence et une note dans
-cet exemple@tie{}; cela tient plutôt à la position des notes qu'à celle
+cet exemple ; cela tient plutôt à la position des notes qu'à celle
des silences. Tout compte fait, le mérite en revient à Bach plutôt qu'à
Finale d'éviter les collisions.
pourra obtenir quelque chose d'excellent, mais au prix d'une bonne dose
tant de dextérité que de temps. La différence fondamentale entre
LilyPond et les générateurs de partition commerciaux réside dans le fait
-suivant@tie{}: LilyPond tend à réduire l'intervention de l'utilisateur à
+suivant : LilyPond tend à réduire l'intervention de l'utilisateur à
sa plus simple expression, alors que les autres programmes font tout
pour avoir une interface attractive pour effectuer toutes les retouches.
-Par ailleurs, Finale commet une erreur particulièrement flagrante@tie{}:
+Par ailleurs, Finale commet une erreur particulièrement flagrante :
il manque un bémol à la mesure 33
@quotation
autres versions. Vous noterez certaines variations entre les éditions
traditionnelles, et LilyPond tient un rang acceptable. Il reste tout de
même quelques petits défauts à régler, comme le raccourcissement peut
-être exagéré des hampes@tie{}; il y a donc encore de quoi faire pour les
+être exagéré des hampes ; il y a donc encore de quoi faire pour les
développeurs.
La typographie relevant d'un jugement humain, les personnes ne peuvent
être remplacées. Beaucoup de tâches rébarbatives peuvent cependant être
-automatisées@tie{}: si LilyPond parvenait à gérer la plupart des
+automatisées : si LilyPond parvenait à gérer la plupart des
situations usuelles correctement, ce serait un grand pas en avant pour
l'édition informatisée. Au fil du temps, le logiciel pourra être révisé
afin d'automatiser de plus en plus d'actions, de sorte que les
Le format de saisie idéal pour un système évolué de formatage consiste
en la description abstraite du contenu. Dans le cas qui nous occupe, il
s'agit tout bonnement de la musique. Cela n'est pas sans poser un
-énorme problème@tie{}: comment définir @emph{ce qu'est} la
-musique@tie{}? Pour résoudre ce problème, nous l'avons inversé. Au
+énorme problème : comment définir @emph{ce qu'est} la
+musique ? Pour résoudre ce problème, nous l'avons inversé. Au
lieu de définir ce qu'est la musique, notre programme sert de
-définition@tie{}: nous avons écrit un programme capable de produire des
+définition : nous avons écrit un programme capable de produire des
partitions, et avons ajusté son format de saisie pour être aussi léger
que possible. Lorsque le format ne peut plus être simplifié, nous
avons par définition atteint le contenu même. Autrement dit, notre
programme utilise la définition formelle d'un document musical.
La syntaxe est également celle de l'interface utilisateur de LilyPond,
-puisqu'elle peut être facilement tapée au clavier@tie{}:
+puisqu'elle peut être facilement tapée au clavier :
@example
@{
À petite échelle, une telle syntaxe est pratique. À plus grande
échelle, une structuration est nécessaire. Sans cela, comment saisir
-des pièces aussi complexes qu'un opéra ou une symphonie@tie{}? La
+des pièces aussi complexes qu'un opéra ou une symphonie ? La
structure est construite selon le même concept que les expressions
-musicales@tie{}: c'est en combinant de petits fragments qu'une musique
-plus complexe peut être représentée. Par exemple@tie{}:
+musicales : c'est en combinant de petits fragments qu'une musique
+plus complexe peut être représentée. Par exemple :
@lilypond[quote,verbatim,fragment,relative=1]
f4
@noindent
Quand des notes sont combinées simultanément, il suffit de les insérer
-entre @code{<<} et @code{>>}@tie{}:
+entre @code{<<} et @code{>>} :
@example
<<c4 d4 e4>>
@end lilypond
@noindent
-Insérées dans une paire d'accolades @code{@{@tie{}@dots{}@tie{}@}}, ces
-expressions sont intégrées dans une séquence@tie{}:
+Insérées dans une paire d'accolades @code{@{ @dots{} @}}, ces
+expressions sont intégrées dans une séquence :
@example
@{ f4 <<c4 d4 e4>> @}
@noindent
Ceci constitue une nouvelle expression, qui peut être à son tour
combinée avec une autre expression simultanée (en l'occurrence une
-blanche) à l'aide de @code{<<}, @code{\\} et @code{>>}@tie{}:
+blanche) à l'aide de @code{<<}, @code{\\} et @code{>>} :
@example
<< g2 \\ @{ f4 <<c4 d4 e4>> @} >>
Elles sont sujettes à discussion, puisque relatives aux goûts de chacun.
Bien que ces discussions soient intéressantes, elles ne sont pas
productives. À l'échelle de LilyPond, l'importance du format de saisie
-est minime@tie{}: inventer une syntaxe claire est bien plus aisé
+est minime : inventer une syntaxe claire est bien plus aisé
qu'écrire un code de mise en page décent. Ceci est d'ailleurs
illustré par le nombre de lignes de code de ces composants
-respectifs@tie{}: l'analyse du texte de saisie et sa représentation
-pèsent moins de 10@tie{}% du code.
+respectifs : l'analyse du texte de saisie et sa représentation
+pèsent moins de 10 % du code.
Dans la conception des structures utilisées par LilyPond, nous avons
pris certaines options divergentes des autres logiciels. Considérons la
-nature par essence hiérarchique de la notation musicale@tie{}:
+nature par essence hiérarchique de la notation musicale :
@lilypond[quote,fragment]
<<
Nous y voyons des hauteurs regroupées en accords appartenant à des
mesures elles-mêmes rattachées à des portées. On pourrait représenter
-cela par un système de boîtes imbriquées@tie{}:
+cela par un système de boîtes imbriquées :
@quotation
@iftex
Cette structure est cependant réductrice car reposant sur des postulats
extrêmement restrictifs. Cela devient plus évident dès lors que la
-musique se complique@tie{}:
+musique se complique :
@lilypond[quote]
\layout {
est de clairement distinguer la notation -- @emph{quels} symboles
utiliser -- de la gravure -- @emph{où} les placer. Pour appréhender la
notation, nous l'avons disséquée en éléments simples (et
-programmables)@tie{}: chaque type de symbole est géré par un module --
+programmables) : chaque type de symbole est géré par un module --
ou greffon -- différent. Tous ces modules sont entièrement
configurables et indépendants, chacun pouvant être développé et amélioré
séparément. Nous appelons ces modules des graveurs (@emph{engravers} en
Le module le plus basique, qu'on appelle @code{Note_heads_engraver},
-crée les têtes de notes@tie{}:
+crée les têtes de notes :
@lilypond[quote,ragged-right]
\include "engraver-example.ily"
@noindent
Puis le module @code{Staff_symbol_engraver} génère les objets
-représentant les lignes de portée@tie{}:
+représentant les lignes de portée :
@lilypond[quote,ragged-right]
\include "engraver-example.ily"
@noindent
le module @code{Clef_engraver} fournit au @code{Note_heads_engraver}
-la hauteur à laquelle doit être placée chaque tête de note@tie{}:
+la hauteur à laquelle doit être placée chaque tête de note :
@lilypond[quote,ragged-right]
\include "engraver-example.ily"
@noindent
et, enfin, les hampes et leurs crochets sont gérés par le
-@code{Stem_engraver}@tie{}:
+@code{Stem_engraver} :
@lilypond[quote,ragged-right]
\include "engraver-example.ily"
\score { \topVoice }
@end lilypond
-@cindex polyphony
-@cindex engraving multiple voices
-@cindex contexts
+@cindex polyphonie
+@cindex gravure de plusieurs voix
+@cindex contextes
Le principe décrit plus haut fonctionne très bien pour de la musique
-monophonique, mais qu'en est-il de la polyphonie@tie{}? Dans ce cas,
-plusieurs voix peuvent partager la même portée@tie{}:
+monophonique, mais qu'en est-il de la polyphonie ? Dans ce cas,
+plusieurs voix peuvent partager la même portée :
@lilypond[quote,ragged-right]
\include "engraver-example.ily"
(contexte de portée). Dans le cas d'une polyphonie, un contexte de
portée contient plusieurs contextes de voix. De même, plusieurs
contextes de portée peuvent être assemblés dans un contexte de partition
-(@emph{Score context})@tie{}:
+(@emph{Score context}) :
@lilypond[quote,ragged-right]
\include "engraver-example.ily"
@translationof Flexible architecture
Pour ses premiers pas, LilyPond était totalement écrit en langage
-C++@tie{}; les programmeurs gravaient les fonctionnalités du programme
+C++ ; les programmeurs gravaient les fonctionnalités du programme
dans le marbre. Cela s'est avéré peu satisfaisant pour plusieurs
-raisons@tie{}:
+raisons :
@itemize
l'apparence peut être changée en remplaçant ces procédures par d'autres.
Dans l'exemple suivant, la règle permettant à l'objet @qq{tête de note}
de dessiner son symbole est modifiée au cours de l'extrait
-musical@tie{}:
+musical :
@lilypond[quote,ragged-right]
#(set-global-staff-size 30)
\layout {
\context {
\Staff
- \consists Horizontal_bracket_engraver
+ \consists "Horizontal_bracket_engraver"
}
}
}
Cette annexe présente quatre éditions de référence et deux éditions
informatisées des sept dernières mesures de la fugue en sol mineur
extraite du Premier livre du clavier bien tempéré de Bach
-(BWV@tie{}861).
+(BWV 861).
@noindent
Bärenreiter BA5070 (Neue Ausgabe Sämtlicher Werke, Serie V, Band 6.1,
-1989)@tie{}:
+1989) :
@iftex
@sourceimage{bwv861-baer,16cm,,}
1989), à partir d'une autre source. En plus de différences au niveau
des éléments textuels, ce travail montre que, au sein d'une même maison
d'édition, les appréciations peuvent être différentes selon le
-graveur@tie{}:
+graveur :
@iftex
@sourceimage{bwv861-baer-alt,16cm,,}
@noindent
Breitkopf & Härtel, édité par Ferruccio Busoni (Wiesbaden, 1894),
-disponible à la Petrucci Music Library (IMSLP@tie{}#22081). Les
+disponible à la Petrucci Music Library (IMSLP #22081). Les
éléments éditoriaux tels que doigtés et articulations en ont été gommés
-aux fins de comparaison avec les autres éditions@tie{}:
+aux fins de comparaison avec les autres éditions :
@iftex
@sourceimage{bwv861-breitkopf,16cm,,}
@noindent
Bach-Gesellschaft edition (Leipzig, 1866), disponible à la Petrucci
-Music Library (IMSPL@tie{}#02221)@tie{}:
+Music Library (IMSPL #02221) :
@iftex
@sourceimage{bwv861-gessellschaft,16cm,,}
@end ifnottex
@noindent
-Finale 2008@tie{}:
+Finale 2008 :
@iftex
@sourceimage{pdf/bwv861-finale2008a,,,}
@sp 4
@noindent
-LilyPond, version @version{}@tie{}:
+LilyPond, version @version{} :
@lilypond[staffsize=14.3,line-width=15.9\cm]
global = {\key g \minor}
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: c299f84d574ac9b97ab7ffbb640b5c3a1cdca5cc
+ Translation of GIT committish: f37e505be4a6005fb28c373f2057a4d27aa08b38
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
* Bibliographie développée::
@end menu
+
@node Bibliographie succincte
@section Bibliographie succincte
@translationof Short literature list
-
Voici quelques titres intéressants pour en savoir plus
sur la notation de la musique.
Klaus Ignatzek, Die Jazzmethode für Klavier. Schott's Söhne
1995. Mainz, Germany ISBN 3-7957-5140-3.
-Une méthode d'introduction pour le jazz au piano. Un des premiers
+Une méthode d'introduction pour le jazz au piano. Un des premiers
chapitres contient une présentation des accords couramment utilisés
dans la musique de jazz.
@item Gerou 1996
-
Tom Gerou and Linda Lusk, Essential Dictionary of Music
Notation. Alfred Publishing, Van Nuys CA ISBN 0-88284-768-6.
Un ouvrage canonique sur la notation de la musique.
+
@item Ross 1987
Ted Ross, Teach yourself the art of music engraving and processing.
Hansen House, Miami, Florida 1987.
ainsi que d'intéressants chapitres traitant de détails techniques et
historiques.
+
@item Schirmer 2001
The G.Schirmer/AMP Manual of Style and Usage. G.Schirmer/AMP, NY, 2001.
(Ce livre peut être commandé depuis le service de location.)
Ce manuel se concentre spécifiquement sur la préparation d'épreuves
pour les publications de Schirmer. Il traite de plusieurs
-détails qu'on ne trouve pas dans les livres plus conventionnels. Il
+détails qu'on ne trouve pas dans les livres plus conventionnels. Il
donne également une bonne idée de la qualité requise pour des tirages
destinés à la publication.
-@item Stone 1980
+@item Stone 1980
Kurt Stone, Music Notation in the Twentieth Century.
Norton, New York 1980.
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+
@ignore
- Translation of GIT committish: 952705bbbb000581a13836e6a733df04511e93c5
+ Translation of GIT committish: ea78e54687b8beb80958e55bcd3ddfbe90ab5967
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+
@ignore
- Translation of GIT committish: 952705bbbb000581a13836e6a733df04511e93c5
+ Translation of GIT committish: ea78e54687b8beb80958e55bcd3ddfbe90ab5967
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+
@ignore
- Translation of GIT committish: 1dea8bf1d7182f3d1a1c70bb2010f4585f56b3e6
+ Translation of GIT committish: 8df40d45e4366f4e9baa2cec3b7eb38b6482150f
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
* Dernières précisions::
@end menu
+
@node Notation sur une seule portée
@section Notation sur une seule portée
@translationof Single staff notation
@subsection Contrôle de mesure
@translationof Bar checks
-
Les contrôles de barre de mesure -- @emph{bar checks} en anglais -- ne
sont à priori pas strictement nécessaires. Ils permettent cependant
d'indiquer directement dans le code saisi -- à l'aide d'une barre
@warning{Si, comme nombre de nouveaux utilisateurs, ce qui suit vous
paraît déroutant, lisez cette partie jusqu'au bout, à plus forte raison
-si vous n'avez jamais fait de solfège@tie{}!}
+si vous n'avez jamais fait de solfège !}
@subheading Altérations
comme l'allemand ou le hollandais.
@c DIV specific
-Cependant, si vous utilisez la commande
-@w{@code{@w{\language@tie{}"italiano"}}} pour entrer les noms de note
-français au lieu des noms hollandais, il faudra ajouter un @code{d} pour
-obtenir un dièse, et un @code{b} pour un bémol. Le double dièse et le
-double bémol s'obtiennent en ajoutant respectivement @code{dd} et
-@code{bb}. Pour en savoir plus sur les autres langues disponibles,
-consultez @ruser{Nom des notes dans d'autres langues}.
+Cependant, si vous utilisez la commande @code{\language "italiano"} pour
+entrer les noms de note français au lieu des noms hollandais, il faudra
+ajouter un @code{d} pour obtenir un dièse, et un @code{b} pour un bémol.
+Le double dièse et le double bémol s'obtiennent en ajoutant
+respectivement @code{dd} et @code{bb}. Pour en savoir plus sur les
+autres langues disponibles, consultez
+@ruser{Nom des notes dans d'autres langues}.
@c END DIV
@lilypond[verbatim,quote,relative=2]
cis1 ees fisis, aeses
@end lilypond
+
@subheading Armures
@cindex armure, définition de l'
@smallspace
+
@subheading Attention aux armures et aux hauteurs
Glossaire musicologique :
compris les altérations -- permet à LilyPond de déterminer dans quel
cas imprimer des @notation{altérations accidentelles}. L'armure
n'affecte que les altérations @emph{imprimées}, et non les hauteurs
-réelles@tie{}! Cette fonctionnalité est souvent source de confusion pour
+réelles ! Cette fonctionnalité est souvent source de confusion pour
les nouveaux utilisateurs, aussi expliquons-la en détail.
LilyPond fait une distinction nette entre le contenu musical et la
note correspondante est une question qui relève de la mise en forme.
La gravure d'une partition suit des règles, en particulier des règles
d'indication des altérations accidentelles. Les hauteurs de note, en
-revanche, relèvent de ce que vous voulez entendre@tie{}; et, dans la
+revanche, relèvent de ce que vous voulez entendre ; et, dans la
mesure où la musique que vous entrez est censée être celle que vous
voulez entendre, LilyPond, qui n'est chargé que de la gravure, ne les
choisira pas à votre place.
entrer le @code{is} pour les notes @code{cis} et @code{fis}.
Le code @code{b} ne veut pas dire @qq{Imprimez-moi un point noir sur
-la troisième ligne de la portée.} Cela signifie plutôt@tie{}: @qq{Ici se
+la troisième ligne de la portée.} Cela signifie plutôt : @qq{Ici se
trouve une note dont la hauteur est un si naturel.} Avec une armure
de la bémol majeur, ce @code{si} est flanqué d'un bécarre
-accidentel@tie{}:
+accidentel :
@lilypond[verbatim,quote,relative=2]
\key aes \major
aes4 c b c
@end lilypond
-Prenons un autre exemple@tie{}: imaginez-vous devant un piano@tie{}; dès
+Prenons un autre exemple : imaginez-vous devant un piano ; dès
lors que vous voulez enfoncer l'une des touches noires, il vous faudra
@strong{ajouter} un @code{is} ou un @code{es} au nom de la note.
peuvent être imprimées, consultez
@ruser{Altérations accidentelles automatiques}.
-
@seealso
Manuel de notation :
@ruser{Nom des notes dans d'autres langues},
@funindex ( ... )
@funindex \( ... \)
+
@subheading Liaisons de prolongation
Glossaire musicologique :
g4~ g c2~ | c4 ~ c8 a8 ~ a2 |
@end lilypond
+
@cindex liaisons d'articulation
@cindex articulation, liaisons d'
-
@subheading Liaisons d'articulation
@c Le terme de "slur" a deux sens en français : articulation et phrasé.
d4( c16) cis( d e c cis d) e( d4)
@end lilypond
+
@cindex liaisons de phrasé
@cindex phrasé, liaisons de
@cindex legato
@smallspace
+
@cindex liaisons d'articulation et de prolongation, différences
@subheading Attention aux types de liaison
c4~( c8 d~ d4 e)
@end lilypond
-
@seealso
Manuel de notation :
@ruser{Liaisons de prolongation},
@rglos{articulation}.
Des @notation{articulations} peuvent être ajoutées à une note, au moyen
-d'un tiret @code{-} suivi d'un caractère@tie{}:
+d'un tiret @code{-} suivi d'un caractère :
@lilypond[verbatim,quote,relative=2]
c4-^ c-+ c-- c-|
c4-> c-. c2-_
@end lilypond
-@subheading Doigtés
+@subheading Doigtés
@cindex doigtés
@funindex ^
@rglosnamed{fingering,doigté}.
De même, des indications de doigté peuvent être ajoutées à une note en
-utilisant un tiret (@samp{-}) et le chiffre à écrire@tie{}:
+utilisant un tiret (@samp{-}) et le chiffre à écrire :
@lilypond[verbatim,quote,relative=2]
c4-3 e-5 b-2 a-1
c4_-^1 d^. f^4_2-> e^-_+
@end lilypond
+
@subheading Nuances
@cindex nuances
@rglos{decrescendo}.
On obtient un signe de @notation{nuance} en ajoutant à la note les
-lettres du signe, précédées d'un anti-slash @code{\}@tie{}:
+lettres du signe, précédées d'un anti-slash @code{\} :
@lilypond[verbatim,quote,relative=2]
c4\ff c\mf c\p c\pp
@notation{Crescendos} et @notation{decrescendos} débutent avec les
commandes @code{\<} et @code{\>}. Ils se terminent soit par une
nuance d'arrivée, par exemple @code{\f}, soit par la commande
-@code{\!}@tie{}:
+@code{\!} :
@lilypond[verbatim,quote,relative=2]
c4\< c\ff\> c c\!
@end lilypond
-
@seealso
Manuel de notation :
@ruser{Articulations et ornements},
c2^"espr" a_"legato"
@end lilypond
-Pour mettre en forme du texte, on utilise la commande
-@code{\markup}@tie{}:
+Pour mettre en forme du texte, on utilise la commande @code{\markup} :
@lilypond[verbatim,quote,relative=2]
c2^\markup{ \bold espr}
}
@end lilypond
-
@seealso
Manuel de notation :
@ruser{Ajout de texte}.
Glossaire musicologique :
@rglosnamed{beam,ligature}.
-Toutes les barres de ligature sont dessinées automatiquement@tie{}:
+Toutes les barres de ligature sont dessinées automatiquement :
@lilypond[verbatim,quote,relative=2]
a8 ais d ees r d c16 b a8
a8 c b4 d8. c16 b4 |
@end lilypond
-
@seealso
Manuel de notation :
@ruser{Barres de ligature automatiques},
Glossaire musicologique : @rglosnamed{anacrusis,anacrouse}.
On crée une levée (ou anacrouse) avec la commande @code{\partial},
-suivie d'une durée@tie{}: @code{\partial@tie{}4} produit une levée d'une
-noire et @code{\partial@tie{}8} d'une croche.
+suivie d'une durée : @code{\partial 4} produit une levée d'une
+noire et @code{\partial 8} d'une croche.
@lilypond[verbatim,quote,relative=2]
\partial 8 f8 |
c2 d |
@end lilypond
+
@subheading Nolets
@cindex nolets
@rglosnamed{triplet,triolet}.
Les @notation{nolets} sont créés avec la commande @code{\times}, qui
-prend deux arguments@tie{}: une fraction et une expression musicale. La
+prend deux arguments : une fraction et une expression musicale. La
durée des notes de l'expression musicale est multipliée par la
fraction. Par exemple les notes d'un @notation{triolet} durent les
deux tiers de la durée de leur notation réelle, cette fraction est
-donc de 2/3 pour les triolets@tie{}:
+donc de 2/3 pour les triolets :
@lilypond[verbatim,quote,relative=2]
\times 2/3 { f8 g a }
\times 2/3 { d4 a8 }
@end lilypond
+
@subheading Notes d'ornement
@cindex notes d'ornement
@funindex acciaccatura
Glossaire musicologique :
-@rglosnamed{grace notes,ornements}, @rglosnamed{acciaccatura,acciacature},
+@rglosnamed{grace notes,ornements},
+@rglosnamed{acciaccatura,acciaccature},
@rglosnamed{appoggiatura,appogiature}.
Des @notation{notes d'ornement} s'obtiennent en appliquant la commande
@code{\grace}, @code{\appoggiatura} ou @code{\acciaccatura} à une
-expression musicale@tie{}:
+expression musicale :
@lilypond[verbatim,quote,relative=2]
c2 \grace { a32[ b] } c2 |
c2 \acciaccatura b16 c2 |
@end lilypond
-
@seealso
Manuel de notation :
@ruser{Notes d'ornement},
@translationof Multiple notes at once
Cette section traite de situations où l'on a plus d'une note à la
-fois@tie{}: plusieurs instruments, plusieurs voix ou portées pour un
+fois : plusieurs instruments, plusieurs voix ou portées pour un
même instrument (le piano, par exemple), et les accords.
En théorie musicale, la polyphonie désigne une musique constituée de
-plusieurs voix@tie{}; dans LilyPond, ce terme désigne les situations où
+plusieurs voix ; dans LilyPond, ce terme désigne les situations où
il y a plus d'une voix sur une même portée.
@menu
Dans les fichiers source LilyPond, la musique est représentée par ce
qu'on appelle des @emph{expressions musicales}. En soi, une seule note
-peut constituer une expression musicale@tie{}:
+peut constituer une expression musicale :
@lilypond[verbatim,quote,relative=2]
a4
Mettre un groupe de notes entre accolades crée une nouvelle expression
musicale, appelée @emph{expression musicale composée}. En voici un
-exemple avec deux notes@tie{}:
+exemple avec deux notes :
@lilypond[verbatim,quote,relative=2]
{ a4 g4 }
successivement, les unes après les autres. Le résultat est une
expression, qui peut elle-même être regroupée séquentiellement avec
d'autres expressions. Ici, l'expression de l'exemple précédent est
-combinée à deux notes@tie{}:
+combinée à deux notes :
@lilypond[verbatim,quote,relative=2]
{ { a4 g } f g }
@end lilypond
+
@subheading Analogie avec les expressions mathématiques
@cindex expression
-Ce mécanisme est similaire aux formules mathématiques@tie{}: une grosse
+Ce mécanisme est similaire aux formules mathématiques : une grosse
formule est créée en assemblant plusieurs petites formules. De telles
formules sont appelées expressions, elles ont une définition
récursive, de telle sorte que vous pouvez fabriquer des expressions
-arbitrairement longues et complexes. Par exemple@tie{}:
+arbitrairement longues et complexes. Par exemple :
@example
1
Cette technique est utile pour de la musique @notation{polyphonique}.
Pour entrer une musique avec plusieurs voix ou plusieurs portées, nous
-pouvons aussi combiner @emph{en parallèle} les expressions@tie{}: deux
+pouvons aussi combiner @emph{en parallèle} les expressions : deux
voix qui doivent être jouées en même temps, sont entrées comme une
combinaison simultanée de deux expressions. Une expression musicale
@qq{simultanée} est formée en entourant les expressions entre @code{<<}
Pour déterminer le nombre de portées, LilyPond regarde le début
de la première expression. Si c'est une seule note, une seule portée
-est produite@tie{}; si c'est une expression simultanée, plusieurs
+est produite ; si c'est une expression simultanée, plusieurs
portées sont produites. Nous avons dans l'exemple ci-dessous une
-expression complexe@tie{}; dans la mesure où elle débute par une note
+expression complexe ; dans la mesure où elle débute par une note
seule, elle sera produite sur une unique portée.
@lilypond[verbatim,quote]
}
@end lilypond
-
La commande @code{\new} introduit un @qq{contexte de notation}. Un
contexte de notation est un environnement dans lequel les événements
musicaux -- comme les notes ou les commandes @code{\clef} -- sont
@notation{accolade}. La gravure de ce type de portée est semblable à
l'exemple de musique polyphonique de @ref{Plusieurs portées}, mais
maintenant cette expression entière est interprétée dans un contexte
-@code{PianoStaff}@tie{}:
+@code{PianoStaff} :
@example
\new PianoStaff <<
@end lilypond
Vous pouvez générer d'autres formes de regroupement, avec
-@w{@code{\new GrandStaff}} pour une partition d'orchestre, ou
-@w{@code{\new ChoirStaff}} qui sied particulièrement aux partitions
+@code{\new GrandStaff} pour une partition d'orchestre, ou
+@code{\new ChoirStaff} qui sied particulièrement aux partitions
chorales. Chacun de ces regroupements constitue un contexte à part
entière, avec ses particularités, tant au niveau du signe qui regroupe
les portées au sein d'un @notation{système} qu'au niveau de l'étendue
des barres de mesure.
-
@seealso
Manuel de notation :
@ruser{Instruments utilisant des portées multiples},
Beaucoup d'éléments de notation que l'on peut attacher à une note
simple, comme une liaison, un crochet indiquant un début ou une fin de
lien, un signe d'articulation, peuvent être également attachés à un
-accord@tie{}: il faut ajouter ces indications après les hauteurs et la
+accord : il faut ajouter ces indications après les hauteurs et la
durée, donc @emph{à l'extérieur} des chevrons.
@lilypond[verbatim,quote,relative=2]
Des @notation{paroles} peuvent être associées à ces notes, en les
combinant avec la commande @code{\addlyrics}. On entre les paroles en
-séparant chaque syllable par une espace@tie{}:
+séparant chaque syllable par une espace :
@lilypond[verbatim,quote]
<<
au risque de voir apparaître une
@rprogram{Erreur renvoyant à ../ly/init.ly}.}
-
Notez les doubles chevrons @w{@code{<< ... >>}} encadrant
-toute la pièce@tie{}; ils indiquent simplement que la musique et les
+toute la pièce ; ils indiquent simplement que la musique et les
paroles se produisent en même temps.
+
@node Alignement des paroles sur une mélodie
@subsection Alignement des paroles sur une mélodie
@translationof Aligning lyrics to a melody
>>
@end lilypond
-Si vous compilez ce code en l'état, vous verrez apparaître@tie{}:
+Si vous compilez ce code en l'état, vous verrez apparaître :
@example
song.ly:12:29: Avertissement : échec du contrôle de mesure (barcheck) à : 5/8
|
@end example
-Voici qui illustre bien l'utilité des contrôles de barre de
-mesure@tie{}! Remarquez que les paroles ajoutées ne s'alignent pas bien
-avec les notes. Le mot @emph{shine} devrait être chanté sur deux notes
-au lieu d'une. On appelle ceci un @notation{mélisme}@tie{}: il s'agit
-d'une seule syllabe chantée sur plus d'une note. Il existe plusieurs
-façons d'étaler une sylabe sur plusieurs notes, la plus simple étant de
-lier les notes du mélisme. Pour les détails, consultez @ref{Liaisons}.
+Voici qui illustre bien l'utilité des contrôles de barre de mesure !
+Remarquez que les paroles ajoutées ne s'alignent pas bien avec les
+notes. Le mot @emph{shine} devrait être chanté sur deux notes au lieu
+d'une. On appelle ceci un @notation{mélisme} : il s'agit d'une seule
+syllabe chantée sur plus d'une note. Il existe plusieurs façons
+d'étaler une syllabe sur plusieurs notes, la plus simple étant de lier
+les notes du mélisme. Pour les détails, consultez @ref{Liaisons}.
@lilypond[verbatim,quote]
<<
Les paroles sont maintenant correctement alignées, mais les liens de
croche automatiques ne conviennent pas pour les notes au-dessus de
@emph{shine as}. On peut les corriger en ajoutant des liens de croche
-manuels@tie{}; pour ceci consultez
+manuels ; pour ceci consultez
@ref{Barres de ligature automatiques et manuelles}.
@lilypond[verbatim,quote]
@end lilypond
Avec certaines paroles, en particulier en italien, il se produit la
-situation inverse@tie{}: il peut y avoir plusieurs syllabes sur une
-seule note. On réalise ceci avec LilyPond grâce à un caractère souligné
+situation inverse : il peut y avoir plusieurs syllabes sur une seule
+note. On réalise ceci avec LilyPond grâce à un caractère souligné
@code{_} sans espace entre les syllabes, ou alors en groupant les
-syllabes avec des guillemets. L'exemple suivant est extrait de l'air
-de Figaro @emph{Largo al factotum}, dans @notation{Figaro} de Rossini, où
+syllabes avec des guillemets. L'exemple suivant est extrait de l'air de
+Figaro @emph{Largo al factotum}, dans @notation{Figaro} de Rossini, où
la syllabe @emph{al} est chantée sur la même note que @emph{go}.
@c no ragged-right here because otherwise the hyphens get lost,
>>
@end lilypond
-
@seealso
Manuel de notation :
@ruser{Musique vocale}.
@subsection Paroles pour plusieurs portées
@translationof Lyrics to multiple staves
-@cindex paroles et portées mutiples
+@cindex paroles et portées multiples
@cindex portées multiples et paroles
La méthode simple d'ajout de paroles avec @code{\addlyrics} peut être
Pour produire des partitions plus complexes ou plus longues que cet
exemple simple, il est vivement conseillé de séparer la structure de
la partition des notes et paroles, grâce à des variables. Ceci sera
-détaillé plus loin dans @ref{Organisation du code source avec des variables}.
-
+détaillé plus loin dans
+@ref{Organisation du code source avec des variables}.
@seealso
Manuel de notation :
En utilisant des variables, parfois appelées identificateurs ou
macros, on peut scinder des expressions musicales complexes en des
-expressions plus simples. Une variable se définit comme suit@tie{}:
+expressions plus simples. Une variable se définit comme suit :
@example
musiqueToto = @{ @dots{} @}
alphabétiques non accentués, aucun nombre ni tiret ne sont autorisés.
On peut utiliser une variable déjà définie autant de fois que l'on
-veut, y compris dans la définition d'une nouvelle variable@tie{}; par
+veut, y compris dans la définition d'une nouvelle variable ; par
exemple, cela peut servir à saisir un motif qu'une seule fois, même
s'il se répète un grand nombre de fois dans la pièce.
Jusqu'ici nous n'avons utilisé que le mode @code{\relative} pour
définir les hauteurs de notes. Si c'est souvent le moyen le plus
simple de saisir la musique au clavier, il existe une autre façon de
-procéder@tie{}: le mode de hauteurs absolues.
+procéder : le mode de hauteurs absolues.
Si vous omettez la commande @code{\relative}, LilyPond considérera
toutes les hauteurs comme des hauteurs absolues. Un @code{c'} désigne
}
@end lilypond
-Voici une gamme sur 4 octaves :
+Voici une gamme sur quatre octaves :
@lilypond[verbatim,quote]
{
@end lilypond
Si d'aventure vous faites une erreur d'octaviation, le mode
-@code{\relative} la mettra en évidence@tie{}: toutes les notes suivantes
+@code{\relative} la mettra en évidence : toutes les notes suivantes
seront placées à la mauvaise octave. En mode de hauteurs absolues,
une erreur isolée ne serait pas autant visible, et serait donc plus
difficile à dénicher.
Après avoir écrit quelques pièces courtes, lisez les chapitres 3 à 5
du manuel d'initiation. Rien ne s'oppose à ce que vous consultiez dès
-à présent ces chapitres, bien sûr@tie{}! Néanmoins, le reste du manuel
+à présent ces chapitres, bien sûr ! Néanmoins, le reste du manuel
d'initiation part du principe que vous avez déjà bien assimilé la
syntaxe de base de LilyPond. Vous pouvez toujours survoler ces
chapitres 3 à 5, et y revenir plus tard après avoir acquis de
Dans ce tutoriel comme dans le reste de ce manuel, se trouve à chaque
section un paragraphe @strong{Voir aussi} contenant des références
-vers d'autres sections@tie{}: il est conseillé de ne pas les suivre en
-première lecture@tie{}; lorsque vous aurez lu l'ensemble du manuel
+vers d'autres sections : il est conseillé de ne pas les suivre en
+première lecture ; lorsque vous aurez lu l'ensemble du manuel
d'initiation, vous pourrez en relisant certaines sections suivre ces
références pour approfondir certains aspects.
Si vous ne l'avez pas encore fait, lisez
@ref{Vue d'ensemble des manuels}. Les sources de documentation et
d'information sur LilyPond sont vastes, il est normal pour un débutant
-de ne pas savoir où chercher@tie{}; si vous passez quelques minutes à
+de ne pas savoir où chercher ; si vous passez quelques minutes à
lire attentivement cette section, vous vous épargnerez certainement la
frustration causée par des heures de recherches infructueuses.
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+
@ignore
- Translation of GIT committish: 952705bbbb000581a13836e6a733df04511e93c5
+ Translation of GIT committish: f199e875f7a7beb0afd17eae2038819baab767ff
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
* Extension des modèles::
@end menu
+
@node Organisation des fichiers LilyPond
@section Organisation des fichiers LilyPond
@translationof How LilyPond input files work
* Non-imbrication des crochets et liaisons::
@end menu
+
@node Introduction à la structure de fichier LilyPond
@subsection Introduction à la structure de fichier LilyPond
@translationof Introduction to the LilyPond file structure
@cindex format d'entrée
@cindex structure de ficher
-Un fichier d'entrée LilyPond ressemble à@tie{}:
+Un fichier d'entrée LilyPond ressemble à :
@example
\version @w{"@version{}"}
@end example
@noindent
-Dès lors que tout cela est entre accolades@tie{}: @code{@{ @dots{} @}},
+Dès lors que tout cela est entre accolades : @code{@{ @dots{} @}},
LilyPond le considère comme une et une seule expression musicale.
Comme nous l'avons vu précédemment, un bloc @code{\score} peut contenir
-d'autres informations@tie{}:
+d'autres informations :
@example
\score @{
@noindent
Gardez à l'esprit que ces trois commandes -- @code{\header},
-@code{\layout} et @code{\midi} -- sont spécifiques@tie{}: à l'inverse de
+@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
(@emph{recueil} ou @emph{ouvrage}) n'est pas obligatoire -- elle sera
créée implicitement. Néanmoins, le recours à la commande @code{\book}
vous permettra d'obtenir des fichiers résultants distincts à partir
-d'un même fichier source @file{.ly} -- par exemple un fichier par pupitre.
+d'un même fichier source @file{.ly} -- par exemple un fichier par
+pupitre.
En résumé :
-Dès que LilyPond rencontre un bloc @code{\book}, il crée un
-fichier distinct (@file{.pdf} par exemple). Dans le cas où il n'est pas
+Dès que LilyPond rencontre un bloc @code{\book}, il crée un fichier
+distinct (@file{.pdf} par exemple). Dans le cas où il n'est pas
mentionné explicitement, LilyPond regroupera l'intégralité du code dans
un bloc @code{\book}.
@cindex layout, effets selon l'emplacement
Tout bloc @code{\layout} affecte le bloc @code{\score} ou @code{\book}
-au sein duquel il intervient@tie{}: si c'est à l'intérieur d'un bloc
+au sein duquel il intervient : si c'est à l'intérieur d'un bloc
@code{\score}, seul celui-ci en sera affecté. Dans le cas où le bloc
@code{\layout} se trouve à l'extérieur du bloc @code{\score}, que le
bloc @code{\book} soit explicite ou non, il affectera chacun des
Un autre raccourci pratique est la possibilité de définir
des variables, également appelées @qq{identificateurs} -- voir
@ref{Organisation du code source avec des variables} à ce sujet. Dans
-tous les modèles, vous trouverez@tie{}:
+tous les modèles, vous trouverez :
@example
melodie = \relative c' @{
@end example
Lorsque LilyPond examinera ce fichier, il va prendre la valeur de la
-variable @code{melodie}, c'est-à-dire tout ce qui suit le signe @code{=},
-et l'insérer partout où il rencontrera @code{\melodie}. Vous êtes
-libre de choisir comment dénommer vos variables@footnote{Les noms de
-variables sont sensibles à la casse, et ne peuvent contenir ni
-chiffre, ni ponctuation, ni caractère accentué, ni espace.}@tie{}; ce
-peut être @code{melodie}, @code{global}, @code{maindroitepiano}, ou
+variable @code{melodie}, c'est-à-dire tout ce qui suit le signe
+@code{=}, et l'insérer partout où il rencontrera @code{\melodie}. Vous
+êtes libre de choisir comment dénommer vos variables@footnote{Les noms
+de variables sont sensibles à la casse, et ne peuvent contenir ni
+chiffre, ni ponctuation, ni caractère accentué, ni espace.} ; ce peut
+être @code{melodie}, @code{global}, @code{maindroitepiano}, ou
@code{laTeteAToto}, tant qu'il ne s'agit pas de @qq{mot réservé}. Pour
plus de détails, voir
@ref{Économie de saisie grâce aux identificateurs et fonctions}.
-
@seealso
Pour une description complète du format des fichiers d'entrée, voir
@ruser{Structure de fichier}.
Dans la section précédente,
@ref{Introduction à la structure de fichier LilyPond}, nous
avons vu l'organisation générale des fichiers d'entrée de LilyPond.
-Mais c'est comme si nous avions éludé la question essentielle@tie{}:
-comment diable peut-on savoir quoi mettre après @code{\score}@tie{}?
+Mais c'est comme si nous avions éludé la question essentielle :
+comment diable peut-on savoir quoi mettre après @code{\score} ?
-En fait, nous ne l'avons pas éludée du tout@tie{}: le grand mystère est
+En fait, nous ne l'avons pas éludée du tout : le grand mystère est
tout simplement qu'@strong{il n'y a pas} de mystère. Allez,
-expliquons-le en une ligne@tie{}:
+expliquons-le en une ligne :
@quotation
@emph{Un bloc @code{\score} doit commencer par une et une seule
Peut-être serait-il judicieux de relire la section
@ref{Les expressions musicales en clair}, dans laquelle vous avez
appris à construire de grandes expressions musicales petit bout
-par petit bout -- nous avons vu les notes, puis les accords, etc.
+par petit bout -- nous avons vu les notes, puis les accords, etc.
Maintenant, nous allons partir d'une grande expression musicale,
et remonter la pente. Pour rester simple, nous nous contenterons d'un
chanteur accompagné au piano. On n'a pas besoin d'une partition
Nous avons ici attribué des noms aux portées -- @qq{chanteur} et
@qq{piano}. Bien que cela ne soit pas primordial, c'est une
-habitude qu'il est bon d'adopter dès le départ@tie{}: vous saurez au
+habitude qu'il est bon d'adopter dès le départ : vous saurez au
premier coup d'œil à quoi correspond chaque portée.
Vous vous souvenez que nous avons recours à @code{<<} et @code{>>}
-en lieu et place de @code{@{ @dots{} @}} pour gérer des musiques
+en lieu et place de @code{@{ @dots{} @}} pour gérer des musiques
simultanées. Et, pour le coup, on aimerait @emph{vraiment} que la
partie vocale et l'accompagnement soient imprimés ensemble@dots{} Bien
-que faire appel à @code{<< ... >>} ne soit pas réellement nécessaire
+que faire appel à @code{<< @dots{} >>} ne soit pas réellement nécessaire
pour la portée du chanteur, dans la mesure où elle ne contient qu'une
seule expression musicale, nous vous recommandons de prendre l'habitude
de l'encadrer ainsi plutôt que par de simples accolades -- une portée
partie du chanteur, qui contient un ensemble @code{Voice}, ce qui dans
LilyPond correspond à une voix, au sens de voix d'une polyphonie plutôt
que de voix chantée -- ce pourrait être une partie de violon par
-exemple --, et des paroles.
-Nous avons également une partie de piano, qui contient deux
-portées@tie{}: une pour la main droite, une autre pour la main gauche.
-Il nous faudra d'ailleurs ajouter une clef de fa à cette dernière.
+exemple --, et des paroles. Nous avons également une partie de piano,
+qui contient deux portées : une pour la main droite, une autre pour la
+main gauche. Il nous faudra d'ailleurs ajouter une clef de fa à cette
+dernière.
À ce point, on pourrait commencer à ajouter les notes. Dans les
-accolades qui suivent @code{\new Voice = "chant"}, on pourrait
+accolades qui suivent @code{\new Voice = "chant"}, on pourrait
commencer à écrire
@example
différents types de données -- voir @ruser{Modes de saisie} pour plus de
détails.
-Avec quelques notes de plus et une clef de fa, nous pourrions
-avoir@tie{}:
+Avec quelques notes de plus et une clef de fa, nous pourrions avoir :
@lilypond[verbatim,quote,ragged-right]
melody = \relative c'' { r4 d8\noBeam g, c4 r }
Quand on écrit ou que l'on lit une section @code{\score}, mieux vaut
y aller lentement et soigneusement. Commencez par le niveau le plus
large, puis travaillez sur chaque niveau plus détaillé. À ce propos,
-une indentation stricte et propre est vraiment d'une aide
-précieuse@tie{}: assurez-vous que chaque élément d'un même niveau a le
-même décalage horizontal dans votre éditeur de texte@tie{}!
-
+une indentation stricte et propre est vraiment d'une aide précieuse :
+assurez-vous que chaque élément d'un même niveau a le même décalage
+horizontal dans votre éditeur de texte !
@seealso
Manuel de notation :
@cindex ossias
Déclarer toutes les portées dès le départ n'est pas une
-obligation@tie{}; elles peuvent intervenir temporairement n'importe où
+obligation ; elles peuvent intervenir temporairement n'importe où
dans la partition. Ceci est tout à fait indiqué pour créer des sections
@rglos{ossia}. L'exemple suivant illustre la manière de créer
-temporairement une nouvelle portée, l'espace de trois notes@tie{}:
+temporairement une nouvelle portée, l'espace de trois notes :
@lilypond[verbatim,quote,ragged-right]
\new Staff {
@cindex portée, positionnement
-Une section ossia se placera au dessus de la portée en procédant
-ainsi@tie{}:
+Une section ossia se placera au dessus de la portée en procédant ainsi :
@lilypond[verbatim,quote,ragged-right]
\new Staff = "main" {
placer au-dessus de la portée @qq{principal} plutôt qu'en dessous, ce
qui est le comportement par défaut.
-
@seealso
Les ossias apparaissent souvent sans clef ni métrique, et dans une
taille plus petite. Ceci requiert des commandes dont nous n'avons pas
Nous avons déjà rencontré plusieurs types de crochets au fil de nos
fichiers LilyPond. Ils obéissent à des règles différentes qui peuvent
paraître déroutantes de prime abord. Avant d'examiner ces règles, voici
-une liste des différents types de crochet@tie{}:
+une liste des différents types de crochet :
@c attempt to force this onto a new page
@need 50
@end multitable
D'autres constructions permettent d'obtenir des lignes regroupant ou en
-travers des notes@tie{}: les liaisons de prolongation indiquées par un
-tilde (@code{~}), les marques de nolet avec
-@w{@code{\times x/y @{..@}}}, ou
+travers des notes : les liaisons de prolongation indiquées par un tilde
+(@code{~}), les marques de nolet avec @code{\times x/y @{..@}}, ou
encore les notes d'ornement avec @code{\grace@{..@}}.
En dehors de LilyPond, l'imbrication correcte de différents types de
crochets exige un strict respect des conventions, telles que
-@code{<<@tie{}[@tie{}@{@tie{}(@tie{}..@tie{})@tie{}@}@tie{}]@tie{}>>},
-où les marques de fermeture interviennent
+@code{<< [ @{ ( .. ) @} ] >>}, où les marques de fermeture interviennent
obligatoirement dans l'ordre exactement inverse à celles d'ouverture.
-Ceci @strong{doit} être rigoureusement respecté pour les trois
-types de crochets utilisés pour @strong{délimiter} comme l'indique le
-tableau ci-dessus.
-Une telle rigueur dans l'imbrication n'est @strong{pas} requise pour les
-types de crochets dont la fonction est de @strong{marquer}, selon le
-tableau ci-dessus, lorsqu'il sont utilisés en combinaison avec des
-liaisons de prolongation ou des nolets. En effet, il ne s'agit pas
-de crochets ayant pour fonction de borner quelque chose@tie{}; ils
-agissent plutôt comme marquant le début de quelque chose et sa fin.
+Ceci @strong{doit} être rigoureusement respecté pour les trois types de
+crochets utilisés pour @strong{délimiter} comme l'indique le tableau
+ci-dessus. Une telle rigueur dans l'imbrication n'est @strong{pas}
+requise pour les types de crochets dont la fonction est de
+@strong{marquer}, selon le tableau ci-dessus, lorsqu'il sont utilisés en
+combinaison avec des liaisons de prolongation ou des nolets. En effet,
+il ne s'agit pas de crochets ayant pour fonction de borner quelque
+chose ; ils agissent plutôt comme marquant le début de quelque chose et
+sa fin.
Ainsi, et bien que ce ne soit pas très musical, une liaison de phrasé
peut débuter avant l'insertion d'une ligature manuelle et s'arrêter
-avant la fin de la ligature@tie{}:
+avant la fin de la ligature :
@lilypond[quote,verbatim,ragged-right,relative=2]
g8\( a b[ c b\) a] g4
@section Les voix contiennent la musique
@translationof Voices contain music
-Les chanteurs utilisent leur voix pour chanter@tie{}; il en va de même
+Les chanteurs utilisent leur voix pour chanter ; il en va de même
pour LilyPond. En fait, la musique de chacun des instruments d'une
partition est contenue dans des voix (@emph{Voices} en anglais), qui
se trouvent être le concept fondamental de LilyPond.
* Voix et paroles::
@end menu
+
@node J'entends des Voix
@subsection J'entends des Voix
@translationof I'm hearing Voices
Dans une partition gérée par LilyPond, le niveau le plus bas, ou bien
élémentaire ou fondamental, est le @qq{contexte de voix} -- @emph{Voice
-context} en anglais --. Pour d'autres logiciels, on fait tantôt
-référence à la notion de @qq{couche} ou de @qq{calque}.
+context} en anglais. Pour d'autres logiciels, on fait tantôt référence
+à la notion de @qq{couche} ou de @qq{calque}.
En réalité, le contexte de voix est le seul à pouvoir contenir de la
musique. S'il n'est pas déclaré explicitement, il sera créé
Si une voix unique peut tout à fait contenir plusieurs notes dans un
accord, à partir de quand aurons-nous vraiment besoin de plusieurs
-voix@tie{}? Considérons déjà ces quatre accords@tie{}:
+voix ? Considérons déjà ces quatre accords :
@lilypond[quote,verbatim,ragged-right,relative=1]
\key g \major
@end lilypond
Nous exprimons ici chacun des accords par l'utilisation de
-chevrons gauche et droite simples, @w{@code{< ... >}}, puisque nous
+chevrons gauche et droite simples, @code{< @dots{} >}, puisque nous
n'avons besoin que d'une seule voix. Supposons maintenant que le fa
dièse soit une croche, suivie d'un sol croche -- une note de passage
-vers le la@tie{}? Nous avons alors deux notes qui débutent au même
-moment, mais dont la durée est différente@tie{}: un ré noire et un fa
-dièse croche. Comment coder cela@tie{}? Dans la mesure où toutes les
-notes d'un accord doivent avoir la même durée, nous ne pouvons pas
-écrire un accord. Nous ne pouvons pas non plus écrire deux notes
-séparées, puisqu'elles débutent en même temps. Nous avons alors besoin
-de deux voix.
+vers le la ? Nous avons alors deux notes qui débutent au même moment,
+mais dont la durée est différente : un ré noire et un fa dièse croche.
+Comment coder cela ? Dans la mesure où toutes les notes d'un accord
+doivent avoir la même durée, nous ne pouvons pas écrire un accord. Nous
+ne pouvons pas non plus écrire deux notes séparées, puisqu'elles
+débutent en même temps. Nous avons alors besoin de deux voix.
Voyons comment cela se pratique selon la grammaire de LilyPond.
polyphonie.
Voici comment éclater les accords en deux voix, avec la note de passage
-et la liaison@tie{}:
+et la liaison :
@lilypond[quote,verbatim,ragged-right,relative=2]
\key g \major
Le recours à une construction @code{<< \\ >>} particulière à chaque
mesure n'est pas nécessaire. Bien qu'on y gagne en lisibilité si chaque
mesure ne contient que quelques notes, il est plus judicieux de
-carrément séparer chaque voix@tie{}:
+carrément séparer chaque voix :
@lilypond[quote,verbatim,ragged-right,relative=2]
\key d \minor
} >>
@end lilypond
-
@cindex voix, nommage
@cindex voix et constructions simultanées
@cindex liaisons et constructions simultanées
traiter trois voix ou plus en ajoutant autant de séparateurs @code{\\}
que de besoin.
-Les contextes @code{Voice} portent les noms @code{"1"}, @code{"2"}, etc.
+Les contextes @code{Voice} portent les noms @code{"1"}, @code{"2"}, etc.
Les premiers contextes définissent les voix @emph{extrêmes}, la plus
haute au contexte @code{"1"}, le plus basse au contexte @code{"2"}. Les
voix intermédiaires seront affectées aux contextes @code{"3"} et
@code{"4"}. Pour chacun de ces contextes, le positionnement et
-l'orientation des liaisons, hampes, nuances, etc. est définie
+l'orientation des liaisons, hampes, nuances, etc. est définie
automatiquement.
@lilypond[quote,verbatim]
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@tie{}; elles ne peuvent ni pénétrer une
+appartiennent à la même voix ; elles ne peuvent ni pénétrer une
construction simultanée, ni en sortir. Inversement, les voix parallèles
issues de constructions simultanées apparaissant sur une même portée
appartiennent à la même voix. Les autres propriétés liées au contexte
permettre une meilleure distinction entre les différentes voix. La
première voix comporte des têtes en losange rouge, la deuxième en
triangle bleu, la troisième en cercle barré vert, la quatrième (non
-utilisée ici) en croix magenta@tie{}; @code{\voiceNeutralStyle} (non
-utilisé ici) revient au style par défaut. Nous verrons plus tard
-comment créer de telles commandes.
-Voir @ref{Visibilité et couleur des objets} et
+utilisée ici) en croix magenta ; @code{\voiceNeutralStyle} (non utilisé
+ici) revient au style par défaut. Nous verrons plus tard comment créer
+de telles commandes. Voir @ref{Visibilité et couleur des objets} et
@ref{Utilisation de variables dans les retouches}.
@cindex polyphonie et mode relatif
Une méthode alternative, et qui peut simplifier les choses si les notes
des différentes voix sont espacées, consiste à placer une commande
-@code{\relative} au début de chacune des voix@tie{}:
+@code{\relative} au début de chacune des voix :
@example
\relative c' @{ noteA ... @}
Mais le réel besoin de multiples voix se fait sentir dès lors que
plusieurs notes qui débutent en même temps ont des durées différentes.
-C'est évident au troisième temps de la première mesure@tie{}: le la
-bémol est une noire pointée, le fa une noire, et le ré bémol une
-blanche. On ne peut les grouper dans un accord, puisque toutes les
-notes composant un accord doivent être de même durée. On ne peut non
-plus les écrire séquentiellement, puisqu'elles débutent toutes au même
-instant. Ce fragment de mesure nécessite trois voix, et une bonne
-pratique voudrait que l'intégralité de la mesure soit sur trois voix,
-comme ci-dessous où nous avons une allure et une couleur différentes aux
-notes de chacune d'entre elles. Une fois de plus, nous reviendrons plus
-tard sur le code que vous ne comprendriez pas.
+C'est évident au troisième temps de la première mesure : le la bémol est
+une noire pointée, le fa une noire, et le ré bémol une blanche. On ne
+peut les grouper dans un accord, puisque toutes les notes composant un
+accord doivent être de même durée. On ne peut non plus les écrire
+séquentiellement, puisqu'elles débutent toutes au même instant. Ce
+fragment de mesure nécessite trois voix, et une bonne pratique voudrait
+que l'intégralité de la mesure soit sur trois voix, comme ci-dessous où
+nous avons une allure et une couleur différentes aux notes de chacune
+d'entre elles. Une fois de plus, nous reviendrons plus tard sur le code
+que vous ne comprendriez pas.
@c The following should appear as music without code
@c The three voice styles should be defined in -init
Essayons à présent de coder cette musique en partant de zéro. Comme
nous le verrons, certaines difficultés vont se présenter. Partons de ce
-que nous avons appris@tie{}: utilisons la construction
-@code{<<@tie{}\\@tie{}>>} pour saisir la première mesure dans trois
-voix@tie{}:
+que nous avons appris : utilisons la construction @code{<< \\ >>} pour
+saisir la première mesure dans trois voix :
@lilypond[quote,verbatim,ragged-right]
\new Staff \relative c'' {
@cindex voix et direction des hampes
@cindex direction des hampes et voix
-La direction des hampes est attribuée automatiquement@tie{}: les voix
+La direction des hampes est attribuée automatiquement : les voix
impaires portent des hampes vers le haut, les voix paires des hampes
vers le bas. Les hampes des voix 1 et 2 sont orientées comme il faut
mais celles de la voix 3 devraient, dans le cas qui nous occupe, aller
vers le bas. Nous pouvons corriger cela en sautant la voix 3 et en
-plaçant la musique dans la voix 4 grâce à un @code{\\}
-supplémentaire@tie{}:
+plaçant la musique dans la voix 4 grâce à un @code{\\} supplémentaire :
@lilypond[quote,verbatim,ragged-right]
\new Staff \relative c'' {
viendrait à chevaucher celles des voix extrêmes. Bien entendu, ce n'est
pas souhaitable dans le cas d'une partition pour piano. Dans d'autres
situations, les décalages que LilyPond applique peuvent ne pas éviter
-certaines collisions. LilyPond met à notre disposition plusieurs
-moyens d'ajuster le positionnement horizontal des notes. Nous ne sommes
-pas encore tout à fait prêts pour voir comment corriger cela, aussi nous
+certaines collisions. LilyPond met à notre disposition plusieurs 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{Correction des collisions d'objets}).
-@warning{Paroles et objets étendus (liaisons, soufflets etc.) ne peuvent
+@warning{Paroles et objets étendus (liaisons, soufflets, etc.) ne peuvent
passer d'une voix à l'autre.}
-
@seealso
Manuel de notation :
@ruser{Plusieurs voix}.
@cindex Voice, création de contextes
Les contextes @rinternals{Voice} peuvent être déclarés manuellement
-dans un bloc @code{@w{<< >>}} pour créer de la musique polyphonique, en
-utilisant @code{\voiceOne}, @dots{} jusqu'à @code{\voiceFour} pour
+dans un bloc @code{<< >>} pour créer de la musique polyphonique, en
+utilisant @code{\voiceOne}@dots{} jusqu'à @code{\voiceFour} pour
assigner des directions de hampes et un déplacement horizontal pour
chaque partie. Cette méthode apporte de la clarté pour des partitions
plus importantes puisqu'elle permet de bien séparer les voix et de leur
affecter un nom plus parlant.
En particulier, la construction @code{<< \\ >>} que nous avons vue
-précédemment@tie{}:
+précédemment :
@example
\new Staff @{
polyphonique, à partir d'un exemple de la section précédente. Chacune
d'elles aura ses avantages selon les circonstances.
-Une expression séquentielle qui apparaît en premier dans un @code{<< >>}
--- attention, @strong{pas} dans une construction @code{<< \\ >>} --
+Une expression séquentielle qui apparaît en premier dans un @code{<< >>}
+-- attention, @strong{pas} dans une construction @code{<< \\ >>} --
appartient à la voix principale. Ceci est utile lorsque des voix
supplémentaires apparaissent pendant que la voix principale est jouée.
-Voici une meilleure réalisation de notre exemple.
-Les notes colorées et en croix mettent en évidence le fait que la
-mélodie principale est maintenant dans un seul contexte de voix, ce qui
-permet d'ajouter une liaison de phrasé à l'ensemble.
+Voici une meilleure réalisation de notre exemple. Les notes colorées et
+en croix mettent en évidence le fait que la mélodie principale est
+maintenant dans un seul contexte de voix, ce qui permet d'ajouter une
+liaison de phrasé à l'ensemble.
@lilypond[quote,ragged-right,verbatim]
\new Staff \relative c' {
{ g4 f e | d2 e) | }
% Initiate second voice
\new Voice {
- % Set stems, etc., down
+ % Set stems, etc., down
\voiceTwo
r8 e4 d c8~ | c8 b16 a b8 g~ g2 |
}
@cindex voix temporaires
@cindex voix, imbrication
-
Dans certaines circonstances de polyphonie complexe, vous pourrez être
amené à recourir à une voix temporaire, ce qui peut être une manière
-plus naturelle de saisir la musique@tie{}:
+plus naturelle de saisir la musique :
@lilypond[quote,ragged-right,verbatim]
\new Staff \relative c' {
>>
@end lilypond
+
@subsubheading Empilement des notes
@translationof Note columns
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@tie{}: le do de la deuxième voix est décalé à droite du ré de
+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.
-Les commandes @code{\shiftOn}, @code{\shiftOnn}, @code{\shiftOnnn}, et
+Les commandes @code{\shiftOn}, @code{\shiftOnn}, @code{\shiftOnnn} et
@code{\shiftOff} spécifient le degré nécessaire de décalage qui sera
appliqué aux notes ou accords de la voix en question afin d'éviter une
collision. Par défaut, les voix extérieures -- normalement les
identiques, LilyPond vous le signalera par le message @qq{Trop
d'empilements en conflit}.
-
@seealso
Manuel de notation :
@ruser{Plusieurs voix}.
@subsection Voix et paroles
@translationof Voices and vocals
-La musique vocale est une gageure en soi@tie{}: il nous faut combiner
+La musique vocale est une gageure en soi : il nous faut combiner
deux expressions différentes -- des notes et des paroles.
@funindex \new Lyrics
gérer des partitions simples. Cette technique est cependant
relativement limitée. Pour de la musique un peu plus compliquée, il
vous faudra contenir les paroles dans un contexte @code{Lyrics}, créé
-par la commande @code{\new Lyrics}@tie{}; vous relierez ensuite ces
-paroles aux notes grâce à la commande @code{\lyricsto@{@}} et au nom
-assigné à la voix en question.
+par la commande @code{\new Lyrics} ; vous relierez ensuite ces paroles
+aux notes grâce à la commande @code{\lyricsto@{@}} et au nom assigné à
+la voix en question.
@lilypond[quote,verbatim]
<<
@funindex \autoBeamOff
@funindex autoBeamOff
-Si la ligature automatique que LilyPond applique par défaut
-est pleinement adaptée en matière de musique instrumentale, il
-n'en va pas de même dans le cas d'une musique associée à des paroles,
-et pour laquelle soit les ligatures sont carrément absentes, soit elles
-servent à indiquer un mélisme -- plusieurs notes pour une même syllabe.
+Si la ligature automatique que LilyPond applique par défaut est
+pleinement adaptée en matière de musique instrumentale, il n'en va pas
+de même dans le cas d'une musique associée à des paroles, et pour
+laquelle soit les ligatures sont carrément absentes, soit elles servent
+à indiquer un mélisme -- plusieurs notes pour une même syllabe.
Dans l'exemple qui suit, nous utilisons la commande @code{\autoBeamOff}
afin de désactiver les ligatures automatiques.
}
@end lilypond
-
@seealso
Manuel de notation :
@ruser{Musique vocale}.
@translationof Contexts and engravers
Nous avons évoqué rapidement les contextes et graveurs dans les
-chapitres précédents@tie{}; examinons en détail ces concepts essentiels
+chapitres précédents ; examinons en détail ces concepts essentiels
à la maîtrise de LilyPond.
@menu
* Ajout et suppression de graveurs::
@end menu
+
@node Tout savoir sur les contextes
@subsection Tout savoir sur les contextes
@translationof Contexts explained
Imprimer de la musique impose d'ajouter un certain nombre d'éléments de
notation. Par exemple, voici un fragment de partition, précédé du code
-qui l'engendre@tie{}:
+qui l'engendre :
@lilypond[quote,verbatim,relative=2]
cis4 cis2. | a4 a2. |
Si le code est assez austère, dans la partition ont été ajoutés un
chiffre de mesure, des barres de mesure, des altérations et une clé.
-Pour une bonne raison@tie{}: LilyPond @emph{interprète} le code. Il le
+Pour une bonne raison : LilyPond @emph{interprète} le code. Il le
compulse dans l'ordre chronologique, de même qu'on lit une partition de
-gauche à droite@tie{}; et pendant ce traitement, le logiciel garde en
+gauche à droite ; et pendant ce traitement, le logiciel garde en
mémoire les limites des mesures, ou encore quelles hauteurs de note
demandent des altérations accidentelles. Ces informations se présentent
-à plusieurs niveaux@tie{}: ainsi, une altération n'a d'effet que sur une
+à plusieurs niveaux : ainsi, une altération n'a d'effet que sur une
seule portée, tandis qu'une barre de mesure doit être synchronisée sur
toute l'étendue verticale de la partition.
@emph{Contextes}. Certains contextes sont les voix (contexte
@code{Voice}), les portées (contexte @code{Staff}), ou la partition dans
son ensemble (contexte @code{Score}). Ils sont ordonnés
-hiérarchiquement@tie{}: ainsi un contexte @code{Staff} peut contenir
+hiérarchiquement : ainsi un contexte @code{Staff} peut contenir
plusieurs contextes @code{Voice}, et un contexte @code{Score} peut
contenir plusieurs contextes @code{Staff}.
dans la suite de la mesure.
Les barres de mesure, quant à elles, sont alignées verticalement grâce
-au contexte @code{Score} par défaut.
-En revanche, dans une musique polymétrique, par exemple mêlant une
-portée à 3/4 et une autre à 4/4, les barres de mesures n'ont plus à être
-alignées@tie{}: il faut alors modifier les comportement par défaut des
-contextes @code{Score} et @code{Staff}.
+au contexte @code{Score} par défaut. En revanche, dans une musique
+polymétrique, par exemple mêlant une portée à 3/4 et une autre à 4/4,
+les barres de mesures n'ont plus à être alignées : il faut alors
+modifier les comportement par défaut des contextes @code{Score} et
+@code{Staff}.
Dans une partition très simple, les contextes sont créés implicitement
et peuvent être ignorés. Mais lorsqu'il s'agit de morceaux plus amples
@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 diagrammes pour
-instruments frettés, la basse chiffrée, etc.
+instruments frettés, la basse chiffrée, etc.
Le nom de chacun des contextes est formé d'un ou plusieurs mots aux
initiales en capitale et directement accolés les uns aux autres sans
ponctuation, comme par exemple @code{GregorianTranscriptionStaff}.
-
@seealso
Manuel de notation :
@ruser{Tout savoir sur les contextes}.
@cindex nouveaux contextes
@cindex contextes, création de
-Il en va des contextes comme de toute hiérarchie@tie{}: il faut un
-sommet -- le contexte @code{Score} en l'occurrence. La commande
-@code{\score} est chargée de le créer, mais pour des partitions simples,
-il le sera automatiquement. Le bloc @code{\score} contient donc une
-expression musicale unique ainsi que la définition des supports à
-produire -- @code{\layout} pour du visuel ou @code{\midi} pour de
-l'acoustique.
+Il en va des contextes comme de toute hiérarchie : il faut un sommet --
+le contexte @code{Score} en l'occurrence. La commande @code{\score} est
+chargée de le créer, mais pour des partitions simples, il le sera
+automatiquement. Le bloc @code{\score} contient donc une expression
+musicale unique ainsi que la définition des supports à produire --
+@code{\layout} pour du visuel ou @code{\midi} pour de l'acoustique.
Lorsqu'une partition ne comporte qu'une voix et une seule portée, vous
pouvez laisser LilyPond créer automatiquement les contextes @code{Voice}
-et @code{Staff}@tie{}; mais leur présence explicite devient
-indispensable dès que la situation se complique.
-Le moyen le plus simple est d'utiliser la commande @code{\new}. Elle
-doit intervenir avant une expression musicale, ainsi@tie{}:
+et @code{Staff} ; mais leur présence explicite devient indispensable dès
+que la situation se complique. Le moyen le plus simple est d'utiliser
+la commande @code{\new}. Elle doit intervenir avant une expression
+musicale, ainsi :
@example
\new @var{type} @var{expression-musicale}
Nous avons déjà vu au cours des chapitres précédents de nombreux
exemples où des contextes @code{Staff} ou @code{Voice} étaient créés au
besoin. Dans un but didactique, voici maintenant une application
-complète et abondamment commentée@tie{}:
+complète et abondamment commentée :
@lilypond[quote,verbatim,ragged-right]
\score { % start of single compound music expression
} % end of single compound music expression
@end lilypond
-Notez que toute déclaration qui ouvre un bloc par une
-accolade, @code{@{}, ou un double chevron gauche, @code{<<}, est
-indentée de deux espaces supplémentaires, et de deux autres pour sa
-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é sont 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 qu'une voix -- bornée par des accolades simples.
+Notez que toute déclaration qui ouvre un bloc par une accolade,
+@code{@{}, ou un double chevron gauche, @code{<<}, est indentée de deux
+espaces supplémentaires, et de deux autres pour sa 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é sont 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 qu'une voix --
+bornée par des accolades simples.
@cindex contexte, nommage
@cindex nommage des contextes
La commande @code{\new} peut aussi permettre de nommer le contexte créé,
-et ainsi le distinguer des autres contextes déjà existants@tie{}:
+et ainsi le distinguer des autres contextes déjà existants :
@example
\new @var{type} = @var{"UnNom"} @var{expression-musicale}
@end example
Vous noterez la distinction entre le nom du type de contexte,
-@code{Staff}, @code{Voice}, etc. et le nom -- une simple suite de
+@code{Staff}, @code{Voice}, etc. et le nom -- une simple suite de
lettres au bon gré de l'utilisateur -- permettant d'identifier une
instance particulière du type en question. Vous pouvez utiliser des
chiffres et espaces, à la stricte condition d'englober le tout dans des
-guillemets@tie{}; l'identificateur suivant est tout à fait valide@tie{}:
-@w{@code{\new Staff = "MaPortee 1" @var{expression-musicale}}}.
+guillemets ; l'identificateur suivant est tout à fait valide :
+@code{\new Staff = "MaPortee 1" @var{expression-musicale}}.
Comme nous l'avons déjà vu dans le chapitre consacré aux paroles
(@ref{Voix et paroles}), cet identifiant permettra ensuite de se
référer à ce contexte particulier.
-
@seealso
Manuel de notation :
@ruser{Création d'un contexte}.
Tout point qui compose une partition générée par LilyPond est
produit par un graveur (@emph{engraver} en anglais). Ainsi, il y en a
un qui imprime les portées, un autre les têtes de note, un autre les
-hampes, un autre encore pour les ligatures, etc. LilyPond dispose de
-plus de 120 graveurs@tie{}! La plupart des partitions ne requièrent de
+hampes, un autre encore pour les ligatures, etc. LilyPond dispose de
+plus de 120 graveurs ! La plupart des partitions ne requièrent de
s'intéresser qu'à quelques-uns seulement, et pour des partitions
simples, vous n'aurez même pas à vous en préoccuper.
contexte de plus haut niveau -- le contexte @code{Score}.
Les graveurs @code{Clef_engraver} et @code{Key_engraver} seront logés
-dans chacun des contextes @code{Staff}@tie{}; deux portées peuvent
+dans chacun des contextes @code{Staff} ; deux portées peuvent
requérir des clefs et des armures différentes.
Les graveurs @code{Note_heads_engraver} et @code{Stem_engraver} résident
@headitem Graveur
@tab Fonction
@item Accidental_engraver
- @tab Crée les altérations, y compris de précaution, accidentelles ou suggérées
+ @tab Crée les altérations, y compris de précaution, accidentelles ou
+ suggérées
@item Beam_engraver
@tab Grave les ligatures (@emph{beams})
@item Clef_engraver
Nous verrons plus avant comment le résultat de LilyPond peut changer
lorsqu'on modifie l'action des graveurs.
-
@seealso
Référence des propriétés internes :
@rinternals{Engravers and Performers}.
@emph{propriétés} qui leur sont attachées. Beaucoup d'entre elles
sont susceptibles d'être modifiées afin d'influer sur l'interprétation
de l'input et ainsi changer l'apparence du résultat. On les modifie
-grâce à la commande @code{\set}, qui s'utilise ainsi@tie{}:
+grâce à la commande @code{\set}, qui s'utilise ainsi :
@example
\set @emph{ContexteNommé}.@emph{propriétéNommée} = #@emph{valeur}
@tab @code{50}
@item doubleSlurs
@tab Booléen
- @tab Si vrai, imprime les liaisons au-dessous @strong{et} au-dessus des notes
+ @tab Si vrai, imprime les liaisons au-dessous @strong{et} au-dessus
+ des notes
@tab @code{#t}, @code{#f}
@item instrumentName
@tab Texte
un nombre entier positif, un réel est un nombre décimal positif ou
négatif, et texte correspond à une suite de caractères encadrée par des
apostrophes doubles. Attention à la présence des signes dièse
-(@code{#}) dans deux cas particuliers@tie{}: ils sont partie intégrante
+(@code{#}) dans deux cas particuliers : ils sont partie intégrante
des valeurs booléennes et précèdent les @code{t} ou @code{f}, mais
doivent aussi précéder @emph{valeur} dans le libellé de la commande
@code{\set}. Il faudra donc, dans le cas d'une valeur booléenne, ne pas
@rinternals{Tunable context properties}, ou @rinternals{Contexts}.
La propriété @code{instrumentName} ne sera prise en compte que si elle
-est définie dans un contexte @code{Staff}@tie{}; d'autres propriétés
+est définie dans un contexte @code{Staff} ; d'autres propriétés
peuvent par contre être définies dans plusieurs contextes différents.
C'est le cas de la propriété @code{extraNatural} qui est définie par
défaut à @code{##t} (vrai) pour toutes les portées. Si vous lui
attribuez la valeur @code{##f} (faux) dans un contexte @code{Staff}
particulier, elle ne s'appliquera qu'aux altérations de la portée en
-question@tie{}; si vous lui attribuez la valeur @qq{faux} au niveau du
+question ; si vous lui attribuez la valeur @qq{faux} au niveau du
contexte @code{Score}, cela s'appliquera alors à toutes les portées.
-Voici comment supprimer les bécarres supplémentaires pour une
-portée@tie{}:
+Voici comment supprimer les bécarres supplémentaires pour une portée :
@lilypond[quote,verbatim,ragged-right]
<<
Autre exemple, si la propriété @code{clefOctavation} est déterminée au
niveau du contexte @code{Score}, elle modifiera la valeur de l'octave en
-cours pour toutes les portées actives@tie{}; cette valeur sera considérée
+cours pour toutes les portées actives ; cette valeur sera considérée
comme étant la nouvelle valeur par défaut pour toutes les portées à
venir.
-La commande opposée, @code{\unset}, efface la propriété du
-contexte@tie{}; la plupart des propriétés reviennent de ce fait à leur
-valeur par défaut. En règle générale, la commande @code{\unset} n'est
-pas nécessaire dès lors que vous faites appel à une nouvelle commande
-@code{\set} pour modifier le réglage.
+La commande opposée, @code{\unset}, efface la propriété du contexte ; la
+plupart des propriétés reviennent de ce fait à leur valeur par défaut.
+En règle générale, la commande @code{\unset} n'est pas nécessaire dès
+lors que vous faites appel à une nouvelle commande @code{\set} pour
+modifier le réglage.
Les commandes @code{\set} et @code{\unset} peuvent intervenir n'importe
où dans votre fichier source. Elles seront effectives dès leur
apparition et jusqu'à la fin de la partition, à moins d'être affectées
par un @code{\unset} ou un nouveau @code{\set}. À titre d'exemple, nous
-allons jouer avec la taille des fontes, ce qui affecte entre
-autres la grosseur des têtes de note. Les modifications s'appliquent
-toujours par rapport à la valeur par défaut, non par rapport à la
-dernière valeur définie.
+allons jouer avec la taille des fontes, ce qui affecte entre autres la
+grosseur des têtes de note. Les modifications s'appliquent toujours par
+rapport à la valeur par défaut, non par rapport à la dernière valeur
+définie.
@lilypond[quote,verbatim,ragged-right,relative=1]
c4 d
être précédés d'un signe dièse (@code{#}) et les valeurs vrai ou faux de
deux signes dièse -- respectivement @code{##t} et @code{##f} --. Une
valeur textuelle doit être encadrée de guillemets anglais,
-@code{"@dots{ }"}, bien que, comme nous le constaterons plus tard, la
+@code{"@dots{}"}, bien que, comme nous le constaterons plus tard, la
commande @code{\markup} permet aussi de spécifier du texte.
+
@subsubheading Définition des propriétés de contexte avec @code{\with}
@translationof Setting context properties with @code{\with}
de spécifier les valeurs d'une propriété pour la durée de vie du
contexte. Lorsque vous créez un contexte à l'aide de la commande
@code{\new}, vous pouvez la faire suivre immédiatement d'un bloc
-@w{@code{\with @{ .. @}}} qui contiendra les réglages des différentes
+@code{\with @{ .. @}} qui contiendra les réglages des différentes
propriétés. Ainsi, si nous voulions par exemple annuler l'impression
des bécarres supplémentaires sur la durée d'une portée, nous
-écririons@tie{}:
+écririons :
@example
\new Staff \with @{ extraNatural = ##f @}
@end lilypond
Les propriétés réglées de cette manière peuvent néanmoins être modifiées
-de façon dynamique grâce à @code{\set}@tie{}; un @code{\unset} les
-ramènera à leur valeur initialisée par @code{\with}.
+de façon dynamique grâce à @code{\set} ; un @code{\unset} les ramènera à
+leur valeur initialisée par @code{\with}.
@cindex fontSize, valeur par défaut et réglage
-La propriété @code{fontSize} constitue une exception@tie{}: lorsqu'elle
+La propriété @code{fontSize} constitue une exception : lorsqu'elle
est déterminée au sein d'un bloc @code{\with}, cela redéfinit la valeur
par défaut de la taille de fonte. Une modification est possible par la
commande @code{\set}, mais la commande @code{\unset fontSize} fera
revenir à la nouvelle valeur par défaut.
+
@subsubheading Définition des propriétés de contexte avec @code{\context}
@translationof Setting context properties with @code{\context}
@code{\context} inclus dans un bloc @code{\layout}. Chaque bloc
@code{\context} affectera tous les contextes concernés par le bloc
@code{\score} ou @code{\book} au sein duquel apparaît ce bloc
-@code{\layout}. Voici comment le mettre en place@tie{}:
+@code{\layout}. Voici comment le mettre en place :
@lilypond[verbatim,quote]
\score {
@end lilypond
Dans le cas où ces ajustements de propriété doivent affecter
-toutes les portées de la partition, nous utiliserons alors@tie{}:
+toutes les portées de la partition, nous utiliserons alors :
@lilypond[quote,verbatim]
\score {
chacun des contextes en particulier grâce à un bloc @code{\with} ou bien
une commande @code{\set} au fil des notes.
-
@seealso
Manuel de notation :
@ruser{Modification des réglages par défaut d'un contexte},
Nous avons vu que chaque contexte met en œuvre plusieurs graveurs, et
que chacun de ces graveurs est chargé de générer une composante
particulière du fichier de sortie, qui les barres de mesure, qui la
-portée, qui les têtes de note, les hampes, etc. Le fait de supprimer un
+portée, qui les têtes de note, les hampes, etc. Le fait de supprimer un
graveur d'un contexte éliminera sa contribution au fichier de sortie.
Bien que ce soit là un moyen radical de modifier le résultat, cette
pratique est dans quelques cas fort utile.
+
@subsubheading Modification d'un seul contexte
@translationof Changing a single context
@lilypond[quote,verbatim,ragged-right]
\new Staff \with {
- \remove Staff_symbol_engraver
+ \remove "Staff_symbol_engraver"
}
\relative c' {
c4 d
@cindex ambitus, graveur
Vous pouvez aussi ajouter individuellement un graveur à un contexte. La
-commande se formule ainsi@tie{}:
+commande se formule ainsi :
@code{\consists @var{Nom_du_graveur}}
d'indiquer ses notes extrêmes. L'ambitus est généré par
l'@code{Ambitus_engraver}, que l'on peut adjoindre à n'importe quel
contexte. Si nous l'ajoutons au contexte @code{Voice}, seule la
-tessiture de cette voix sera calculée@tie{}:
+tessiture de cette voix sera calculée :
@lilypond[quote,verbatim,ragged-right]
\new Staff <<
\new Voice \with {
- \consists Ambitus_engraver
+ \consists "Ambitus_engraver"
} {
\relative c'' {
\voiceOne
@noindent
alors que si nous l'ajoutons au contexte @code{Staff},
l'@code{Ambitus_engraver} calculera l'écart maximal à partir de toutes
-les notes de toutes les voix de la portée@tie{}:
+les notes de toutes les voix de la portée :
@lilypond[quote,verbatim,ragged-right]
\new Staff \with {
- \consists Ambitus_engraver
+ \consists "Ambitus_engraver"
}
<<
\new Voice {
>>
@end lilypond
+
@subsubheading Modification de tous les contextes d'un même type
@translationof Changing all contexts of the same type
supprimer des graveurs à tous les contextes d'un même type en insérant
les commandes pour le contexte approprié au sein d'un bloc
@code{\layout}. Si nous voulions afficher un ambitus pour chacune des
-portées d'un système à quatre portées, il nous suffirait d'écrire@tie{}:
+portées d'un système à quatre portées, il nous suffirait d'écrire :
@lilypond[quote,verbatim,ragged-right]
\score {
\layout {
\context {
\Staff
- \consists Ambitus_engraver
+ \consists "Ambitus_engraver"
}
}
}
@translationof Extending the templates
Bon, vous avez lu le tutoriel, vous savez écrire de la musique. Mais
-comment obtenir les portées que vous voulez@tie{}? Les @ref{Modèles},
-c'est bien beau, mais que faire quand ils ne traitent pas ce que l'on
-veut précisément@tie{}?
+comment obtenir les portées que vous voulez ? Les @ref{Modèles}, c'est
+bien beau, mais que faire quand ils ne traitent pas ce que l'on veut
+précisément ?
Les exemples qui suivent vous donneront des méthodes générales pour
adapter des modèles.
* Conducteurs et parties::
@end menu
+
@node Soprano et violoncelle
@subsection Soprano et violoncelle
@translationof Soprano and cello
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@tie{}: dans ce cas, on pourrait commencer
-par les @qq{notes et paroles}, pour la partie de soprano.
+pour soprano et violoncelle : dans ce cas, on pourrait commencer par les
+@qq{notes et paroles}, pour la partie de soprano.
@example
\version @w{"@version{}"}
@end example
Maintenant, on veut ajouter une partie de violoncelle.
-Jetons un coup d'œil sur l'exemple avec les notes seules@tie{}:
+Jetons un coup d'œil sur l'exemple avec les notes seules :
@example
\version @w{"@version{}"}
On n'a pas besoin de deux commandes @code{\version}. Ce dont on a
besoin, 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@tie{}; 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}.
+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@tie{}; il nous faut donc les
+retrouvera avec deux sections de ce nom ; il nous faut donc les
renommer. Appelons la section pour la soprano @code{sopranoMusique} et
celle pour le violoncelle @code{violoncelleMusique}. Tant qu'on y est,
renommons @code{texte} en @code{sopranoParoles}. Attention à bien
-renommer les deux occurrences de chacune de ces dénominations@tie{}:
-c'est-à-dire la définition de départ, où l'on trouve @w{@code{melodie =
-\relative c' @{ }}, et l'endroit où cette dénomination est utilisée,
-dans la section @code{\score}.
+renommer les deux occurrences de chacune de ces dénominations :
+c'est-à-dire la définition de départ, où l'on trouve
+@code{melodie = \relative c' @{ }, et l'endroit où cette dénomination
+est utilisée, dans la section @code{\score}.
Et puis, toujours tant qu'on y est, mettons le violoncelle en clé de fa,
comme le veut l'usage, et donnons-lui d'autres notes.
Voilà qui est mieux, mais la partie de violoncelle n'apparaît pas sur
la partition -- en effet, nous n'y avons pas fait appel dans la section
@code{\score}. Si l'on veut que la partie de violoncelle s'imprime sous
-la partie de soprano, on va devoir ajouter@tie{}:
+la partie de soprano, on va devoir ajouter :
@example
\new Staff \musiqueVioloncelle
@end example
@noindent
-C'est un peu le bazar dans tout ça@tie{}; mais il vous sera facile de
+C'est un peu le bazar dans tout ça ; mais il vous sera facile de
mettre un peu d'ordre dans l'indentation. Voici le modèle pour
-soprano et violoncelle au complet@tie{}:
+soprano et violoncelle au complet :
@lilypond[quote,verbatim,ragged-right,addversion]
sopranoMusic = \relative c' {
}
@end lilypond
-
@seealso
Les patrons originaux sont disponibles à l'annexe @qq{Modèles}, voir
@ref{Portée unique}.
la musique et les paroles du chœur sur quatre portées -- soprano, alto,
ténor et basse -- surmontant une réduction pour piano de
l'accompagnement orchestral. En voici un exemple, tiré du Messie de
-Haendel@tie{}:
+Haendel :
@c The following should appear as music without code
@lilypond[quote,ragged-right]
Aucun des modèles ne permet d'arriver exactement à cette mise en forme.
Celui qui s'en rapprocherait le plus est @qq{SATB vocal score and
automatic piano reduction} -- voir @ref{Ensemble vocal} -- mais encore
-faudrait-il en modifier la mise en forme et refaire la partie de
-piano qui n'est plus une simple reprise des parties vocales. Les
-variables qui gèrent la musique et les paroles du chœur ne nécessitent
-pas de modification, mais il nous faut d'autres variables pour la
-réduction de piano.
+faudrait-il en modifier la mise en forme et refaire la partie de piano
+qui n'est plus une simple reprise des parties vocales. Les variables
+qui gèrent la musique et les paroles du chœur ne nécessitent pas de
+modification, mais il nous faut d'autres variables pour la réduction de
+piano.
L'ordre dans lequel apparaissent les contextes dans le @code{ChoirStaff}
du modèle ne correspond pas à ce que nous voyons ci-dessus. Il nous
faudra y revenir pour obtenir quatre portées avec des paroles en dessous
de chacune d'elles. Toutes les voix devraient être @code{\voiceOne},
-ce qui est la position par défaut@tie{}; il nous faudra donc éliminer
-toutes les commandes @code{\voiceXXX}. Les ténors auront besoin d'une
-clé spécifique. Enfin, nous n'avons pas encore abordé la façon dont les
-paroles sont présentées dans le modèle@tie{}; nous procéderons donc
-comme nous en avons l'habitude. Il faudra aussi ajouter un nom à chaque
+ce qui est la position par défaut ; il nous faudra donc éliminer toutes
+les commandes @code{\voiceXXX}. Les ténors auront besoin d'une clé
+spécifique. Enfin, nous n'avons pas encore abordé la façon dont les
+paroles sont présentées dans le modèle ; nous procéderons donc comme
+nous en avons l'habitude. Il faudra aussi ajouter un nom à chaque
portée.
-Une fois tout ceci accompli, voici notre @code{ChoirStaff}@tie{}:
+Une fois tout ceci accompli, voici notre @code{ChoirStaff} :
@example
\new ChoirStaff <<
@end example
Il nous faut maintenant nous occuper de la partie de piano. Nous allons
-nous contenter de récupérer la partie de piano du modèle
-@qq{Solo piano}@tie{}:
+nous contenter de récupérer la partie de piano du modèle @qq{Solo
+piano} :
@example
\new PianoStaff <<
@code{inferieur}.
Les systèmes pour chœur et pour piano doivent être combinés à l'aide de
-doubles chevrons gauche/droite puisqu'ils doivent s'empiler@tie{}:
+doubles chevrons gauche/droite puisqu'ils doivent s'empiler :
@example
<< % combine ChoirStaff et PianoStaff l'un au-dessus de l'autre
@end example
Une fois tout cela mis en place, et après avoir ajouté les notes et les
-paroles de ces trois mesures du Messie, nous obtenons@tie{}:
+paroles de ces trois mesures du Messie, nous obtenons :
@lilypond[quote,verbatim,ragged-right,addversion]
global = { \key d \major \time 4/4 }
particulièrement. Pour voir comment procéder, nous allons monter la
partition d'un prélude pour orgue.
-Nous débutons par une section d'en-tête@tie{}; nous y mettrons entre
+Nous débutons par une section d'en-tête ; nous y mettrons entre
autres le titre et le nom du compositeur. Puis viennent toutes les
définitions de toutes les variables. Nous terminons par le bloc
@code{\score}. Attelons-nous pour cette aventure, en gardant bien à
-l'esprit ce que nous venons de dire@tie{}; nous nous occuperons des
+l'esprit ce que nous venons de dire ; nous nous occuperons des
détails en temps voulu.
Nous nous appuyons sur les deux premières mesures du prélude sur
voir ces deux mesures au bas de cette page. La main droite comporte
deux voix, la main gauche et le pédalier une seule. Il nous faut donc
quatre définitions de musique, plus une qui contiendra la métrique et
-l'armure@tie{}:
+l'armure :
@example
\version @w{"@version{}"}
sous le système de piano, mais puisqu'elle doit rester synchrone avec
lui, nous utilisons des doubles chevrons pour les regrouper.
Négliger ceci nous renverrait une erreur, et personne n'est à l'abri de
-cette faute@tie{}! Pour preuve, il vous suffit de copier l'exemple
+cette faute ! Pour preuve, il vous suffit de copier l'exemple
complet en fin de chapitre, de supprimer ces @code{<<} et @code{>>}, et
de le compiler, pour voir de quoi il retourne.
\ManuelUnVoixDeuxMusique
@}
>> % fin du contexte de portée ManuelUn
- \new Staff = "ManualDeux" <<
+ \new Staff = "ManuelDeux" <<
\new Voice @{
\ManuelDeuxMusique
@}
La construction en simultané -- @code{<<...>>} -- n'est pas strictement
obligatoire pour les portées manuel deux et pédalier, qui ne contiennent
-chacune qu'une seule expression musicale@tie{}; mais cela ne mange pas
-de pain, et c'est une bonne habitude que de toujours encadrer par des
-doubles chevrons gauche/droite ce qui suit une commande @code{\new
-Staff} au cas où il y aurait plusieurs voix. Il en va autrement pour
-les contextes @code{Voice}@tie{}: ils doivent être toujours suivis
-d'accolades -- @code{@{...@}} -- au cas où vous auriez employé
+chacune qu'une seule expression musicale ; mais cela ne mange pas de
+pain, et c'est une bonne habitude que de toujours encadrer par des
+doubles chevrons gauche/droite ce qui suit une commande
+@code{\new Staff} au cas où il y aurait plusieurs voix. Il en va
+autrement pour les contextes @code{Voice} : ils doivent être toujours
+suivis d'accolades -- @code{@{...@}} -- au cas où vous auriez employé
plusieurs variables qui doivent intervenir consécutivement.
Ajoutons donc cette structure au bloc @code{\score}, tout en fignolant
-l'indentation. Nous en profitons pour ajouter les clés appropriées,
+l'indentation. Nous en profitons pour ajouter les clefs appropriées,
effectuer les réglages concernant les hampes et liaisons de la portée
supérieure grâce à @code{\voiceOne} et @code{\voiceTwo}, et mettre en
place la métrique et l'armure de chaque portée grâce à notre variable
@cindex portées, espacement
Cette partition pour orgue est presque parfaite. Reste juste ce petit
-défaut qui ne se remarque pas lorsque l'on considère un seul
-système@tie{}: la distance qui sépare la portée de pédalier de celle de
-la main gauche devrait être plus ou moins égale à celle qui sépare les
-deux mains. En fait, la distance entre les deux portées d'un
-@code{PianoStaff} ne saurait trop se dilater@tie{}; le pédalier devrait
-adopter le même comportement.
+défaut qui ne se remarque pas lorsque l'on considère un seul système :
+la distance qui sépare la portée de pédalier de celle de la main gauche
+devrait être plus ou moins égale à celle qui sépare les deux mains. En
+fait, la distance entre les deux portées d'un @code{PianoStaff} ne
+saurait trop se dilater ; le pédalier devrait adopter le même
+comportement.
@cindex sous-propriétés
@cindex propriétés et sous-propriétés
propriété @code{staff-staff-spacing}, attachée à @qq{l'objet graphique}
@code{VerticalAxisGroup} -- la documentation de LilyPond utilise souvent
l'abréviation @emph{grob} pour @emph{graphical object}. Pas de
-panique@tie{}! Tout ceci sera expliqué plus tard -- pour les curieux,
+panique ! Tout ceci sera expliqué plus tard -- pour les curieux,
jetez un œil au chapitre
@ruser{Vue d'ensemble de la modification des propriétés}.
-Revenons à notre propos@tie{}: nous voulons modifier uniquement la
+Revenons à notre propos : nous voulons modifier uniquement la
sous-propriété @code{stretchability}. Les impatients trouveront les
valeurs par défaut de la propriété @code{staff-staff-spacing} dans le
fichier @file{scm/define-grobs.scm}, en examinant la définition du
}
ManualTwoMusic = \relative c' {
c16 b c8~ c16 b c g a8 g~ g16 g aes ees |
- f16 ees f d g aes g f ees d e8~ ees16 f ees d |
+ f16 ees f d g aes g f ees d ees8~ ees16 f ees d |
}
PedalOrganMusic = \relative c {
r8 c16 d ees d ees8~ ees16 a, b g c b c8 |
@cindex variables
@cindex identificateurs
-Jusqu'à maintenant, vous avez vu ce type de code@tie{}:
+Jusqu'à maintenant, vous avez vu ce type de code :
@lilypond[quote,verbatim,ragged-right]
hornNotes = \relative c'' { c4 b dis c }
@end lilypond
Vous comprendrez combien cela peut être utile pour écrire de la
-musique minimaliste@tie{}:
+musique minimaliste :
@lilypond[quote,verbatim,ragged-right]
fragmentA = \relative c'' { a4 a8. b16 }
}
@end lilypond
-Néanmoins vous pouvez aussi utiliser ces identificateurs
--- aussi connus sous le nom de variables, macros, ou commandes
-(définies par l'utilisateur) -- pour des retouches@tie{}:
+Néanmoins vous pouvez aussi utiliser ces identificateurs -- aussi connus
+sous le nom de variables, macros, ou commandes (définies par
+l'utilisateur) -- pour des retouches :
@c TODO Avoid padtext - not needed with skylining
@lilypond[quote,verbatim,ragged-right]
Ces identificateurs sont évidemment utiles pour économiser de la
frappe. Mais ils peuvent l'être même si vous ne les utilisez qu'une
-seule fois@tie{}: ils réduisent la complexité. Regardons l'exemple
+seule fois : ils réduisent la complexité. Regardons l'exemple
précédent sans aucun identificateur. C'est beaucoup plus laborieux à
lire, et particulièrement la dernière ligne.
@c TODO Replace the following with a better example -td
@c Skylining handles this correctly without padText
-Jusqu'ici nous avons vu des substitutions statiques@tie{}: quand
-LilyPond rencontre @code{\padText}, il le remplace par le contenu que
-nous lui avons défini -- c'est-à-dire le contenu à droite de
-@code{padText=}.
+Jusqu'ici nous avons vu des substitutions statiques : quand LilyPond
+rencontre @code{\padText}, il le remplace par le contenu que nous lui
+avons défini -- c'est-à-dire le contenu à droite de @code{padText=}.
LilyPond gère également des substitutions non-statiques -- vous
pouvez les voir comme des fonctions.
@end example
@noindent
-On établira alors une partie séparée en constituant un nouveau
-fichier@tie{}:
+On établira alors une partie séparée en constituant un nouveau fichier :
@example
\include "musique-Cor.ly"
@noindent
sera substitué le contenu du fichier @file{musique-Cor.ly}, et de ce
fait la variable @code{notesCor} se trouvera définie. La commande
-@code{\transpose@tie{}f@tie{}c'} indique que son argument
-@code{\notesCor} sera transposé à la quinte supérieure@tie{}: le son
-réel @code{f} s'écrit @code{c'}, ce qui est la caractéristique d'un Cor
-en fa. La transposition est visible comme suit@tie{}:
+@code{\transpose f c'} indique que son argument @code{\notesCor} sera
+transposé à la quinte supérieure : le son réel @code{f} s'écrit
+@code{c'}, ce qui est la caractéristique d'un Cor en fa. La
+transposition est visible comme suit :
@lilypond[quote,ragged-right]
\transpose f c' \relative c {
Dans les pièces d'ensemble, il arrive souvent qu'une voix ne joue pas
pendant plusieurs mesures. Un silence spécial, appelé silence
multimesures, l'indique alors. On l'obtient par un @code{R} majuscule,
-suivi d'une durée@tie{}: @code{1}@tie{}pour une pause,
-@code{2}@tie{}pour une demi-pause, etc. Cette durée peut être
-multipliée pour établir de plus longs silences. Par exemple, le silence
-suivant dure 3@tie{}mesures à 2/4.
+suivi d'une durée : @code{1} pour une pause, @code{2} pour une
+demi-pause, etc. Cette durée peut être multipliée pour établir de plus
+longs silences. Par exemple, le silence suivant dure 3 mesures à 2/4.
@example
R2*3
@end example
Dans une partie séparée, les silences multimesure sont compressés.
-Il faut pour cela définir la propriété @code{skipBars} à
-@qq{vrai}@tie{}:
+Il faut pour cela définir la propriété @code{skipBars} à @qq{vrai} :
@example
\set Score.skipBars = ##t
@noindent
Cette commande assigne la valeur @qq{vrai} -- @emph{true} en anglais, et
-@code{#t} dans le langage Scheme -- à cette propriété dans le
-contexte @code{Score}. Si l'on ajoute dans la musique ci-dessus le
-silence multimesure et cette option, on obtient le résultat suivant@tie{}:
+@code{#t} dans le langage Scheme -- à cette propriété dans le contexte
+@code{Score}. Si l'on ajoute dans la musique ci-dessus le silence
+multimesure et cette option, on obtient le résultat suivant :
@lilypond[quote,ragged-right]
\transpose f c' \relative c {
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@c This file is part of lilypond.tely
@ignore
- Translation of GIT committish: 5f722f1688eff7436789f8ca011205bdb16c04b7
+ Translation of GIT committish: 8df40d45e4366f4e9baa2cec3b7eb38b6482150f
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
Notre principale motivation vient sans doute de l'utilité réelle de
notre logiciel. En flânant sur Internet, nous trouvons beaucoup de
gens qui utilisent LilyPond pour réaliser d'impressionnantes
-partitions@tie{}: c'est incroyable, mais en même temps très flatteur.
+partitions : c'est incroyable, mais en même temps très flatteur.
Les utilisateurs ne se contentent pas de nous encourager en utilisant
-notre logiciel@tie{}; nombre d'entre eux nous aident aussi en faisant des
+notre logiciel ; nombre d'entre eux nous aident aussi en faisant des
suggestions et en signalant des bogues. Aussi, nous voudrions
remercier ici tous les utilisateurs qui nous ont signalé des bugs, ont
fait des suggestions ou ont contribué d'une façon ou d'une autre au
ensemble, et qu'on éprouve une satisfaction profonde à aider les gens,
au bout du compte, notre travail sur LilyPond est avant tout une
manière d'exprimer notre amour sincère de la musique. Puisse-t-il
-vous aider à créer de nombreuses et belles œuvres@tie{}!
+vous aider à créer de nombreuses et belles œuvres !
Han-Wen et Jan
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: 0f93dd92ffa0319328e58148458d22c5448b3d58
+ Translation of GIT committish: 8df40d45e4366f4e9baa2cec3b7eb38b6482150f
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
Lilypond, prets à l'emploi. Il vous suffira d'y ajouter quelques notes,
de lancer LilyPond, et d'aprécier le résultat.
-
@menu
* Portée unique::
* Modèles pour piano::
* Autres modèles::
@end menu
+
@node Portée unique
@appendixsec Portée unique
@translationof Single staff
@lilypondfile[verbatim,quote,ragged-right,texidoc,addversion]
{single-staff-template-with-only-notes.ly}
+
@appendixsubsec Notes et paroles
@lilypondfile[verbatim,quote,ragged-right,texidoc,addversion]
{single-staff-template-with-notes-and-lyrics.ly}
+
@appendixsubsec Notes et accords
@lilypondfile[verbatim,quote,ragged-right,texidoc]
{single-staff-template-with-notes-and-chords.ly}
+
@appendixsubsec Notes, paroles et accords
@lilypondfile[verbatim,quote,ragged-right,texidoc]
@lilypondfile[verbatim,quote,ragged-right,texidoc]
{piano-template-simple.ly}
+
@appendixsubsec Chant et accompagnement
@lilypondfile[verbatim,quote,ragged-right,texidoc]
{piano-template-with-melody-and-lyrics.ly}
+
@appendixsubsec Piano et paroles entre les portées
@lilypondfile[verbatim,quote,ragged-right,texidoc]
@lilypondfile[verbatim,quote,ragged-right,texidoc]
{string-quartet-template-simple.ly}
+
@appendixsubsec Parties pour quatuor à cordes
@lilypondfile[verbatim,quote,ragged-right,texidoc]
@lilypondfile[verbatim,quote,ragged-right,texidoc]
{vocal-ensemble-template.ly}
+
@appendixsubsec Partition pour chœur SATB avec réduction pour piano
@lilypondfile[verbatim,quote,ragged-right,texidoc]
{vocal-ensemble-template-with-automatic-piano-reduction.ly}
+
@appendixsubsec Partition pour chœur SATB avec alignement des contextes
@lilypondfile[verbatim,quote,ragged-right,texidoc]
{vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly}
+
@appendixsubsec Chœur à quatre voix mixtes sur quatre portées
@lilypondfile[verbatim,quote,ragged-right,texidoc]
{satb-choir-template---four-staves.ly}
+
@appendixsubsec Couplet pour solo et refrain à deux voix
@lilypondfile[verbatim,quote,ragged-right,texidoc]
{vocal-ensemble-template-with-verse-and-refrain.ly}
+
@appendixsubsec Hymnes et cantiques
@lilypondfile[verbatim,quote,ragged-right,texidoc]
{hymn-template.ly}
+
@appendixsubsec Psalmodie
@lilypondfile[verbatim,quote,ragged-right,texidoc]
@lilypondfile[verbatim,quote,ragged-right,texidoc,line-width=140]
{ancient-notation-template----modern-transcription-of-mensural-music.ly}
+
@appendixsubsec Transcription du grégorien
@lilypondfile[verbatim,quote,ragged-right,texidoc]
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: 5f722f1688eff7436789f8ca011205bdb16c04b7
+ Translation of GIT committish: 8df40d45e4366f4e9baa2cec3b7eb38b6482150f
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
* Ligne de commande::
@end menu
+
@node Saisie de la musique
@subsection Saisie de la musique
@translationof Entering input
@end lilypond
@c DIV specific
-Il est aussi possible d'utiliser les noms de notes français @qq{@w{do
-re mi fa sol la si}}, en insérant au début du fichier la ligne
-@w{@code{\include@tie{}"italiano.ly"}}.
+Il est aussi possible d'utiliser les noms de notes français @qq{do
+re mi fa sol la si}, en insérant au début du fichier la ligne
+@code{\include "italiano.ly"}.
@c END DIV
@warning{Tout extrait de code LilyPond doit être entouré d'une
@w{@strong{@{ paire d'accolades @}}}. De plus, pour éviter toute
ambiguïté, il est préférable d'entourer les accolades par des espaces
ou retours à la ligne. Bien que certains exemples de ce manuel ne
-comportent pas d'accolades, ne les oubliez pas dans vos partitions@tie{}!
+comportent pas d'accolades, ne les oubliez pas dans vos partitions !
Pour plus d'informations sur l'affichage des exemples de cette
documentation, consultez @ref{Bien lire le manuel}.}
-
@cindex casse, prise en compte de la
@cindex prise en compte de la casse
@cindex sensibilité à la casse
-De plus, LilyPond est @strong{sensible à la casse}@tie{}: le code
+De plus, LilyPond est @strong{sensible à la casse} : le code
@w{@samp{@{ c d e @}}} est valide, alors que @w{@samp{@{ C D E @}}}
produira un message d'erreur.
@end itemize
Notez qu'il existe plusieurs éditeurs de texte disponibles avec un bon
-support de LilyPond@tie{}; consultez @rweb{Facilités d'édition}.
+support de LilyPond ; consultez @rweb{Facilités d'édition}.
@warning{Le premier démarrage de LilyPond peut prendre une minute ou
deux, afin de générer la liste des polices du système. LilyPond démarre
@noindent
Ces valeurs automatiques simplifient la saisie du code source dans
-bien des cas ; nous verrons plus loin comment les indiquer
+bien des cas ; nous verrons plus loin comment les indiquer
explicitement.
clef de sol et la clef de fa, puis est suivi par le @notation{ré} le
plus proche, et ainsi de suite. On peut bien sûr créer des mélodies
avec de plus grands intervalles, toujours avec le mode
-@code{\relative}@tie{}:
+@code{\relative} :
@lilypond[verbatim,quote]
\relative c' {
@noindent
Remarquez que cet exemple ne commence plus sur le @notation{do
-central}@tie{}: la première note -- le @code{d} -- est le ré qui en est
+central} : la première note -- le @code{d} -- est le ré qui en est
le plus proche.
Dans l'exemple suivant, on remplace @code{c'} dans la commande
@w{@code{@bs{}relative c'}} par @code{c''}, afin de calculer l'octave de
la première note par rapport au do situé une octave au-dessus du do
-central@tie{}:
+central :
@lilypond[verbatim,quote]
% one octave above middle C
@end lilypond
@noindent
-Pour déplacer une note deux octaves (ou davantage@tie{}!) plus haut ou plus
+Pour déplacer une note deux octaves (ou davantage !) plus haut ou plus
bas, il suffit de mettre deux (ou davantage) @code{'} ou @code{,} --
attention cependant à bien mettre deux apostrophes @code{''}, et non
-un guillemet @code{"}@tie{}! C'est de cette même manière que l'on
+un guillemet @code{"} ! C'est de cette même manière que l'on
peut modifier la valeur de départ de @w{@code{\relative c'}}.
@c " - keeps quotes in order for context-sensitive editor -td
@rglosnamed{dotted note,note pointée}.
La @notation{durée} d'une note est indiquée par un nombre qui suit sa
-hauteur@tie{}: @code{1} pour une @notation{ronde}, @code{2} pour une
+hauteur : @code{1} pour une @notation{ronde}, @code{2} pour une
@notation{blanche}, @code{4} pour une @notation{noire} et ainsi de
suite. Les @notation{crochets} et @notation{liens} sont ajoutés
automatiquement.
Glossaire musicologique : @rglosnamed{time signature,métrique}.
La @notation{métrique}, aussi appelée @notation{chiffre de mesure},
-peut être définie à l'aide de la commande @code{\time}@tie{}:
+peut être définie à l'aide de la commande @code{\time} :
@lilypond[verbatim,quote]
\relative c'' {
@rglosnamed{metronome,métronome}.
La commande @code{\tempo} permet de stipuler aussi bien le @emph{tempo}
-que le métronome@tie{}:
+que le métronome :
@lilypond[verbatim,quote]
\relative c'' {
Glossaire musicologique : @rglos{clef}.
La @notation{clef} peut être définie à l'aide de la commande
-@code{\clef}@tie{}:
+@code{\clef} :
@lilypond[verbatim,quote]
\relative c' {
@subheading Tout ensemble
Voici un bref exemple qui rassemble tous les éléments que nous déjà
-vus@tie{}:
+vus :
@lilypond[verbatim,quote]
\relative c, {
}
@end lilypond
-
@seealso
-Manuel de notation : @ruser{Écriture des hauteurs de note},
-@ruser{Écriture du rythme}, @ruser{Écriture des silences},
-@ruser{Gravure du rythme}, @ruser{Gravure des hauteurs}.
+Manuel de notation :
+@ruser{Écriture des hauteurs de note},
+@ruser{Écriture du rythme},
+@ruser{Écriture des silences},
+@ruser{Gravure du rythme},
+@ruser{Gravure des hauteurs}.
@node Travail sur les fichiers d'entrée
code de nombreux langages de programmation. La casse est prise
en compte, et les caractères considérés comme espaces ont généralement
peu d'importance. Les expressions sont délimitées par des accolades
-@w{@code{@{ @}}}, et les commentaires par @code{%} ou
-@w{@code{%@{ @dots{} @}}}@tie{}.
-
-Si cette phrase vous paraît incompréhensible, ne vous en faites pas@tie{}!
-Expliquons tous ces termes@tie{}:
+@code{@{ @}}, et les commentaires par @code{%} ou
+@w{@code{%@{ @dots{} @}}} .
+Si cette phrase vous paraît incompréhensible, ne vous en faites pas !
+Expliquons tous ces termes :
@itemize
@strong{La version} :
Tout fichier LilyPond devrait porter mention de la version. Cette
mention prend la forme d'une ligne décrivant le numéro de la version
-utilisée lors de la confection du fichier en question, comme ici@tie{}:
+utilisée lors de la confection du fichier en question, comme ici :
@example
\version "@w{@version{}}"
LilyPond.
Mentionner la version est important pour, au moins, les deux raisons
-suivantes@tie{}: cela permet dans un premier temps de faciliter les
+suivantes : cela permet dans un premier temps de faciliter les
opérations de mise à jour automatisée au fil de l'évolution de la
syntaxe de LilyPond. Ensuite, cela met en évidence le minimum requis
pour pouvoir compiler votre fichier.
@strong{La casse} :
LilyPond est sensible à la casse, c'est à dire qu'une lettre capitale
n'a pas la même valeur qu'une lettre minuscule. Les notes, par
-exemple, doivent être entrées en minuscule : @w{@code{@{ c d e @}}} est
+exemple, doivent être entrées en minuscule : @w{@code{@{ c d e @}}} est
un code valide, alors que @w{@code{@{ C D E @}}} produira un message
d'erreur.
@strong{Les espaces multiples} :
LilyPond ne tient pas compte du nombre d'espaces, de tabulations ou de
retours à la ligne. @w{@code{@{ c d e @}}} a le même sens que
-@w{@code{@{ c @tie{} @tie{} d @tie{} e @}}} ou que
+@w{@code{@{ c d e @}}} ou que
@example
@{ c4 d
@noindent
Bien sûr, ce dernier exemple est illisible. Une bonne habitude
-à prendre est d'indenter les blocs de code avec des doubles espaces@tie{}:
+à prendre est d'indenter les blocs de code avec des doubles espaces :
@example
@{
d'éléments syntaxiques les uns des autres. En d'autres termes, s'il est
toujours possible d'@emph{ajouter} des espaces, il faut prendre garde à
ne pas trop en @emph{supprimer}. En effet, l'absence d'une espace peut
-avoir des conséquences et entraîner une erreur@tie{}; aussi nous vous
+avoir des conséquences et entraîner une erreur ; aussi nous vous
invitons à toujours insérer une espace avant et après chaque élément
syntaxique, comme avant et après une accolade.
@item
@strong{Expressions musicales} :
Tout morceau saisi dans LilyPond doit être placé entre
-@strong{@{@tie{}accolades@tie{}@}}. Ces caractères indiquent à LilyPond
+@strong{@{ accolades @}}. Ces caractères indiquent à LilyPond
que ce bloc de texte représente une et une seule expression musicale,
tout comme les parenthèses @code{()} en mathématiques. Pour éviter
toute ambiguïté, il est préférable d'entourer ces accolades d'espaces ou
@item
@strong{Les commentaires} :
Un commentaire est une indication pour tout lecteur humain d'un
-fichier source de musique@tie{}; il est ignoré lors de la compilation et
+fichier source de musique ; il est ignoré lors de la compilation et
n'a donc aucun effet sur la partition imprimée. On distingue deux types
de commentaires. Le commentaire de fin de ligne, introduit par le
-symbole @code{%}@tie{}: tout ce qui suit ce symbole sur la même ligne sera
+symbole @code{%} : tout ce qui suit ce symbole sur la même ligne sera
ignoré. Par convention, un commentaire qui occupe une ligne entière
se place juste @emph{au-dessus} de la ligne à laquelle il fait
référence.
@end example
Le bloc de commentaire, qui peut occuper plusieurs lignes, voire toute
-une section@tie{}: tout ce qui se trouve entre @code{%@{} et @code{%@}} est
+une section : tout ce qui se trouve entre @code{%@{} et @code{%@}} est
ignoré. Les blocs de commentaires ne peuvent s'imbriquer, ce qui
signifie que vous ne pouvez pas placer un commentaire-bloc à
l'intérieur d'un autre commentaire-bloc. Si jamais vous essayez, vous
verrez que la première occurence de @code{%@}} terminera @qq{les
@emph{deux} commentaires-blocs}. Le fragment suivant met en évidence
-quelques usages possibles des commentaires@tie{}:
+quelques usages possibles des commentaires :
@example
% voici les notes de "ah vous dirai-je maman"
Parfois, LilyPond ne produit pas le résultat escompté. Voici quelques
pistes à suivre pour vous aider à éviter de telles déconvenues.
-
@menu
* Quand ça ne fonctionne pas::
* Erreurs courantes::
@end menu
+
@node Quand ça ne fonctionne pas
@subsection Quand ça ne fonctionne pas
@translationof General troubleshooting tips
@subsection Matériel incomplet
@translationof Omitted material
-
@cindex bien lire le manuel
@cindex manuel, lecture
@cindex compulser le manuel
@cindex fichiers, conseils de construction
Comme nous l'avons vu dans @ref{Travail sur les fichiers d'entrée}, un
-code LilyPond doit être encadré par des accolades @{@tie{}@} ou bien par
+code LilyPond doit être encadré par des accolades @{ @} ou bien par
@w{@code{\relative c'' @{ @dots{} @}}}. Cependant, dans la suite de ce
manuel, la plupart des exemples ne feront pas apparaître ces signes.
Pour reproduire les exemples, vous pouvez copier et coller le code
affiché, mais @strong{à condition} d'ajouter
-@code{@w{\relative c'' @{ @}}} de la façon suivante@tie{}:
+@code{@w{\relative c'' @{ @}}} de la façon suivante :
@example
\relative c'' @{
@}
@end example
-Pourquoi avoir omis les accolades@tie{}? La plupart des exemples de ce
+Pourquoi avoir omis les accolades ? La plupart des exemples de ce
manuel peuvent être insérés au milieu d'un morceau de musique plus
long. Il n'y a donc aucune raison d'ajouter @code{@w{\relative c'' @{
@}}} à ces exemples -- en effet, il n'est pas possible d'insérer une
et en bidouillant avec. C'est également possible avec LilyPond. Si
vous cliquez sur une image dans la version HTML de ce manuel, vous
verrez exactement le code LilyPond utilisé pour générer cette image.
-Essayez sur cette image@tie{}:
+Essayez sur cette image :
@c no verbatim here
@c KEEP LY
qui répertorie les commandes usuelles pour une consultation rapide.
@end ignore
+
@node Vue d'ensemble des manuels
@subsection Vue d'ensemble des manuels
@translationof Overview of manuals
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+
@ignore
- Translation of GIT committish: 2a87f1e1f98b76751482cae4474d41aa5e38e37b
+ Translation of GIT committish: f199e875f7a7beb0afd17eae2038819baab767ff
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
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.
+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{Contextes et graveurs}, dans la mesure où les contextes,
Le terme @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.
+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.
+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
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
+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
Comme nous le verrons bientôt, les propriétés des différents
types d'objet sont modifiées par des commandes différentes, si bien
-qu'il est bon de savoir reconnaître le type d'un objet en fonction du
-nom de ses propriétés.
+qu'il est bon de savoir reconnaître le type d'un objet ou d'une
+propriété en fonction de son nom.
@node Méthodes de retouche
@cindex retouches, méthodologie
@cindex méthodes de retouche
+
@strong{La commande \override}
@cindex override, commande
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é.
+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 -- voir @ref{Types de propriétés} -- mais, pour illustrer la
g4 a b c |
@end lilypond
+
@strong{La commande \revert}
@cindex revert, commande
b4 c |
@end lilypond
+
@strong{Le préfixe \once}
@funindex \once
@c Maybe explain in a later iteration -td
+
@strong{La commande \tweak}
@cindex tweak, commande
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.
+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 d'utilisation de la propriété
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
+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).
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.
+« Liaison » sont créés par le graveur Slur_engraver. Vient ensuite la
+liste des réglages standard ; vous y trouverez la propriété susceptible
++de contrôler l'épaisseur des traits de liaison.
@example
@code{thickness} (nombre)
@end example
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 définie
-à 1,2 et que l'unité de mesure est fixée par une autre propriété
-appelée @code{line-thickness}.
+anglais). On apprend que la valeur de @code{thickness} est un simple
+nombre (@emph{number}), qu'elle est par défaut définie à 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'explication dans la RPI, mais nous en savons assez pour essayer
@noindent
et nous constatons que le trait de liaison est beaucoup plus épais.
-Telle est la façon normale de construire les commandes
+Telle est la façon normale de construire des 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
@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 ;
+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 : @qq{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
+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 à sept 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.
@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 :
+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 d'utilisation de la propriété
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
+précédée de @code{\once} et placée juste avant la note par laquelle
débute la liaison :
-
@cindex liaison, exemple de dérogation
@cindex thickness, exemple d'utilisation de la propriété
@cindex épaisseur, exemple d'utilisation
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
+Car une syllabe saisie en mode Paroles (@code{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
@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)
+ comprise entre -1 et 1 seulement)
@tab @code{LEFT}, @code{CENTER}, @code{UP}, @code{1}, @code{-1}
@item Entier (@emph{Integer} en anglais)
@tab Un nombre entier positif
@tab @code{3}, @code{1}
@item Liste
@tab Plusieurs valeurs séparées par une espace, encadrées par des
-parenthèses et précédées par une apostrophe
+ parenthèses et précé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 @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
+ apostrophe
@tab @code{'italic}, @code{'inside}
@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 Vecteur
@tab Une liste de trois éléments encadrés par des parenthèses et
-précédés par apostrophe-hash, @code{'#}
+ précédés par apostrophe-hash, @code{'#}
@tab @code{'#(#t #t #f)}
@end multitable
@subheading stencil
+@c VO stencil
@cindex stencil, propriété
-@c VO stencil
Cette propriété contrôle l'apparence des barres de mesure en précisant
le type de symbole (glyphe) à imprimer. Comme pour de nombreuses
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 dans le fichier log. Essayons de corriger en mentionnant le
-bon contexte :
+n'apparaît dans le fichier @emph{log}. Essayons de corriger en
+mentionnant le bon contexte :
@cindex BarLine, exemple de dérogation
@cindex stencil, exemple d'utilisation de la propriété
le cas, par exemple, si vous effacez le @code{stencil} d'un objet
@code{NoteHead}. Il vaut mieux, en pareil cas, utiliser la fonction
@code{point-stencil} qui, quant à elle, attribue à l'objet une taille à
-zero :
+zéro :
@lilypond[quote,verbatim,relative=2]
{
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 #f #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.
+besoin est @code{'#(#f #f #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.
@cindex BarLine, exemple de dérogation
@cindex break-visibility exemple d'utilisation de la propriété
Il existe une troisième fonction, écrite pour convertir les valeurs RVB
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.
+du bleu. Ces arguments prennent des valeurs comprises entre 0 et 1.
Ainsi, pour choisir la couleur rouge, la valeur serait
-@code{(rgb-color 1 0 0)} ; pour le blanc, ce serait
-@code{(rgb-color 1 1 1)} :
+@code{(rgb-color 1 0 0)} ; pour le blanc, ce serait
+@code{(rgb-color 1 1 1)} :
@cindex BarLine, exemple de dérogation
@cindex color, exemple d'utilisation de la propriété
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
+un pas de 1. Essayons de l'utiliser en attribuant à tous les objets de
notre exemple différentes nuances de gris :
@cindex StaffSymbol, exemple de dérogation
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
+lignes de (de)crescendo présentent par défaut une épaisseur d'une
+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 --
@code{beam-thickness} -- se mesure en espaces de portée.
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 question. Voici comment elle s'utilise :
+de taille de police (@code{#-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 question. Voici comment elle s'utilise :
@cindex alignAboveContext, exemple d'utilisation de la propriété
@cindex @code{\with}, exemple
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 ou decrescendo, les liaisons, etc. Si l'épaisseur d'un objet
+crescendo ou 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{Propriétés des objets de rendu}, un exemple de modification de
(@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
+-- 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
@translationof 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 à
+direction des liaisons, des doigtés et sur tout autre élément lié à
l'orientation des hampes. 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
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é.
+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
@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
+ @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}
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 :
+@code{\set fingeringOrientations}. La syntaxe de cette commande est :
@example
@code{\set fingeringOrientations = #'([up] [left/right] [down])}
@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 le faut pour s'adapter au
-texte :
+notes soient espacées autant qu'il le faut pour s'adapter au texte :
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
\textLengthOn % Cause notes to space out to accommodate text
@cindex nuances, modification du positionnement
Les indications de nuance se placent normalement sous la portée, mais on
-peut les placer au-dessus avec la commande @code{dynamicUp}. Elles se
+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
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 :
+pas être très satisfaisant, comme le montre cet exemple artificiel :
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
\dynamicUp
horizontalement. Pour remédier à 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
+@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 @w{@code{'(0 . 0)}}, afin que
+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 :
@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
+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
+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
Cette propriété est très utile pour ajuster manuellement l'inclinaison
et la hauteur des barres de ligature, des liaisons et des nolets. Elle
est suivie de deux nombres qui donnent la position des extrémités gauche
-et droite des barres, liaisons, etc. par rapport à la ligne médiane de
+et droite 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
@multitable @columnfractions .5 .5
-@headitem Type d'objet @tab Nom d'objet
-@item Articulations @tab @code{Script}
-@item Barres de ligature @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}
+@headitem Type d'objet @tab Nom d'objet
+@item Articulations @tab @code{Script}
+@item Barres de ligature @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, par ex. @code{^"texte"} @tab @code{TextScript}
@end multitable
construction @code{<<@{@dots{}@} \\ @{@dots{}@}>>}), la propriété
@code{staff-position} est réglée sur @code{-4} pour les
@code{MultiMeasureRest} ; nous avons donc besoin de la déplacer, disons,
-de quatre demi-intervalles vers le bas, ce qui donne @code{-8}.
+de quatre demi-intervalles vers le bas, ce qui donne @code{-8}.
@cindex MultiMeasureRest, exemple de dérogation
@cindex staff-position, exemple d'utilisation de la propriété
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 :
+légèrement vers la gauche et de 1,8 intervalle de lignes vers le bas :
@cindex Fingering, exemple de dérogation
@cindex extra-offset, exemple d'utilisation de la propriété
@noindent
On peut y remédier en déplaçant manuellement vers le haut les deux
extrémités des ligatures de croches, non plus à 1,81 intervalle
-au-dessous de la ligne médiane mais, disons, à 1 :
+au-dessous de la ligne médiane mais, disons, à 1 :
@cindex Beam, exemple de dérogation
@cindex positions, exemple d'utilisation de la propriété
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 !
+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
qu'il faut nous reporter au Manuel de notation. Quand on cherche
@qq{arpège} et @qq{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{Déplacement d'objets}, 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 :
+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{Déplacement d'objets}, 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}
aussi augmenter la taille globale de police.
@example
-%%% definitions.ily
+%%% web-publish.ily
mpdolce =
#(make-dynamic-script
#@{ \markup @{ \hspace #0
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 @emph{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
+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
+(c'est-à-dire distribué avec GNU/Linux ou installé avec fink ou cygwin), ou
encore vous l'avez compilé directement à partir des sources ; et
-(b) du système d'exploitation sur lequel il tourne.
+(b) du système d'exploitation sur lequel il tourne.
+
@strong{Téléchargé depuis lilypond.org}
@itemize @bullet
-@item Linux
+@item GNU/Linux
@example
@file{@var{INSTALLDIR}/lilypond/usr/@/share/lilypond/current/}
@end itemize
+
@strong{Installé par un gestionnaire de paquetages ou compilé d'après
les sources}
@code{@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.
+le script @code{configure}, et @var{X.Y.Z} représente le numéro de
+version de LilyPond.
@smallspace
@headitem Nom de fichier
@tab Contenu
@item @file{ly/engraver-init.ly}
- @tab Définitions des Contextes de graveurs
+ @tab Définition 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
+ @tab Définition des contextes d'interprétation
@item @file{ly/property-init.ly}
- @tab Définitions de toutes les commandes prédéfinies courantes
+ @tab Définition 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
+ @tab Définition des commandes prédéfinies pour les bandeaux
@end multitable
Les autres réglages (comme les définitions de commandes @emph{markup})
@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.
+ barres de mesure, etc.
@item @file{scm/parser-clef.scm}
@tab Définition des clefs prises en charge
@item @file{scm/script.scm}
procédure. Dans cet exemple, nous colorons les têtes de notes en
fonction de leur position sur la portée.
-
@cindex x11-color, exemple d'utilisation de la fonction
@cindex NoteHead, exemple de dérogation
@cindex color, détermination de la propriété par une procédure Scheme
Vous trouverez dans @rextend{Fonctions de rappel} d'autres exemples
d'utilisation de ces interfaces programmables.
-
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+
@ignore
- Translation of GIT committish: 0512fcc5db9b050be664413ba0f79a3dcfc1028a
+ Translation of GIT committish: f199e875f7a7beb0afd17eae2038819baab767ff
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
Guide, node Updating translation committishes..
@end ignore
-
@c \version "2.16.0"
@c Translators: Jean-Charles Malahieude
La gestion par LilyPond des formes de notation ancienne inclut des
fonctionnalités spécifiques à la notation mensurale, au chant
-grégorien et à la notation de style Kievan. Ces fonctionnalités sont
+grégorien et à la notation de style kievien. Ces fonctionnalités sont
accessibles en modifiant les propriétés de style des objets graphiques
tels que tête de note ou silence, ou bien grâce aux contextes prédéfinis
à cet effet.
ligature, il faut les rassembler et les imprimer juste avant.
La syntaxe utilisée correspond à l'ancienne convention de préfixage
-@code{\[ expression musicale\]}. Pour des raisons d'uniformité,
+@code{\[ expression musicale\]}. Pour des raisons d'uniformité,
nous opterons probablement pour le style en suffixe (postfix)
-@w{@code{note\[ @dots{} note\]}}.
+@code{note\[ @dots{} note\]}.
@c En attendant, vous pouvez inclure le fichier
@c @file{gregorian-init.ly}, qui fournit une fonction Scheme
\layout {
\context {
\Staff
- \consists Custos_engraver
+ \consists "Custos_engraver"
\override Custos #'style = #'mensural
}
}
indent = 0.0
\context {
\Staff
- \remove Staff_symbol_engraver
- \remove Clef_engraver
- \remove Time_signature_engraver
+ \remove "Staff_symbol_engraver"
+ \remove "Clef_engraver"
+ \remove "Time_signature_engraver"
}
}
{
@knownissues
Les équivalences de durées de note ne sont pas modifiées par un
-changement de métrique. Par exemple, l'équivalence 1 brève pour 3
+changement de métrique. Par exemple, l'équivalence une brève pour trois
semi-brèves (@emph{tempus perfectum}) doit s'effectuer à la main en
entrant :
\layout @{
\context @{
\Voice
- \remove Ligature_bracket_engraver
- \consists Mensural_ligature_engraver
+ \remove "Ligature_bracket_engraver"
+ \consists "Mensural_ligature_engraver"
@}
@}
@end example
\layout {
\context {
\Voice
- \remove Ligature_bracket_engraver
- \consists Mensural_ligature_engraver
+ \remove "Ligature_bracket_engraver"
+ \consists "Mensural_ligature_engraver"
}
}
}
est un symbole ajouté à la portée et utilisé en chant grégorien pour
séparer les phrases ou parties. @emph{Divisio minima}, @emph{divisio
maior} et @emph{divisio maxima} peuvent respectivement s'interpréter
-comme une pauses courte, moyenne ou longue, à l'image des marques de
+comme une pause courte, moyenne ou longue, à l'image des marques de
respiration --- cf. @ref{Signes de respiration}. Le signe
@emph{finalis} n'est pas uniquement une marque de fin de chant ; il
sert aussi à indiquer la fin de chaque partie dans une structure
Les points d'@emph{augmentum}, ou @emph{morae}, s'obtiennent avec la
fonction @code{\augmentum}. Notez que cette fonction @code{\augmentum}
est implémentée en tant que fonction unaire plutôt que comme un préfixe
-de note. Par conséquent, @code{\augmentum \virga c} ne donnera rien de
-particulier. Il faut l'utiliser avec la syntaxe @code{\virga \augmentum
-c} ou @code{\augmentum @{\virga c@}}. Par ailleurs, l'expression
-@code{\augmentum @{a g@}} constitue une forme abrégée de
-@code{\augmentum a \augmentum g}.
+de note. Par conséquent, @code{\augmentum \virga c} ne donnera rien de
+particulier. Il faut l'utiliser avec la syntaxe
+@code{\virga \augmentum c} ou @code{\augmentum @{\virga c@}}. Par
+ailleurs, l'expression @code{\augmentum @{a g@}} constitue une forme
+abrégée de @code{\augmentum a \augmentum g}.
@lilypond[quote,ragged-right,verbatim]
\include "gregorian.ly"
Contrairement à la majorité des autres systèmes de notation neumatique,
la manière de saisir les neumes n'a rien à voir avec leur apparence
typographique ; elle se concentre plutôt sur le sens musical.
-Ainsi, @code{\[ a \pes b \flexa g \]} produit un @emph{torculus}
-constitué de trois @emph{punctums}, alors que @code{\[ a \flexa g \pes b
-\]} produit un @emph{porrectus} avec une flexe incurvée et un seul
-@emph{punctum}. Il n'existe pas de commande à proprement parler qui
-permette de spécifier la courbe d'une flexe ; c'est la source
-musicale qui va le déterminer. Le fondement d'une telle approche réside
-dans la distinction que nous faisons entre les aspects musicaux de la
-source et le style de notation que nous voulons obtenir. De ce fait, la
-même source pourra être utilisée pour imprimer dans un autre style de
-notation grégorienne.
+Ainsi, @code{\[ a \pes b \flexa g \]} produit un @emph{torculus}
+constitué de trois @emph{punctums}, alors que
+@code{\[ a \flexa g \pes b \]} produit un @emph{porrectus} avec une
+flexe incurvée et un seul @emph{punctum}. Il n'existe pas de commande à
+proprement parler qui permette de spécifier la courbe d'une flexe ;
+c'est la source musicale qui va le déterminer. Le fondement d'une telle
+approche réside dans la distinction que nous faisons entre les aspects
+musicaux de la source et le style de notation que nous voulons obtenir.
+De ce fait, la même source pourra être utilisée pour imprimer dans un
+autre style de notation grégorienne.
@noindent
Neumes liquescents
petite, ou une @qq{bascule} verticale de la note principale. La
première option s'obtient en créant un @code{pes} ou une @code{flexa}
puis une modification de l'aspect de la deuxième note :
-@code{\[ a \pes \deminutum b \]}. La seconde option consiste à
+@code{\[ a \pes \deminutum b \]}. La seconde option consiste à
modifier l'aspect d'un neume sur note unique avec un @code{\auctum} tout
en lui affectant une direction @code{\descendens} ou
-@code{\ascendens} : @code{\[ \auctum \descendens a \]}.
+@code{\ascendens} : @code{\[ \auctum \descendens a \]}.
@noindent
Signes spéciaux
@translationof Typesetting Kievan square notation
@cindex kiévien
-@cindex slavon
+@cindex Kievan
@menu
* Contextes de notation kiévienne::
@knownissues
LilyPond prend en charge la notation kiévienne du style synodal,
-correspondant au corpus du saint synode russe des années 1910, récemment
+correspondant au corpus du Saint Synode russe des années 1910, récemment
réédité par les éditions du patriarcat de Moscou. LilyPond ne prend pas
en charge les formes plus anciennes et moins répandues de notation
-kiévienne que l'on trouvait en Galicie pour noter le plain-chant Rus'.
+kiévienne que l'on trouvait en Galicie pour noter le plain-chant ruthène.
@node Clefs kiéviennes
@seealso
@c ... and reference to other sections ...
Morceaux choisis:
-@rlsrnamed{Ancient notation,Notations anciennes}.
+@rlsrnamed{Ancient notation, Notations anciennes}.
@node Mise en forme de la musique mensurale
Certaines transcriptions laissent néanmoins apparaître
occasionnellement des hampes, notamment pour indiquer la transition
entre un récitatif monodique et une phrase mélodique. Il suffit en
-pareil cas d'utiliser plutôt @code{\override Stem #'transparent = ##t}
-ou @code{\override Stem #'length = #0} puis, en cas de besoin, recourir
-à une clause @code{\once \override Stem #'transparent = ##f} comme dans
+pareil cas d'utiliser plutôt @code{\override Stem #'transparent = ##t}
+ou @code{\override Stem #'length = #0} puis, en cas de besoin, recourir
+à une clause @code{\once \override Stem #'transparent = ##f} comme dans
l'exemple ci-dessous. N'oubliez pas que les crochets aussi doivent
-disparaître, grâce à un @code{\override Flag #'transparent = ##t}.
+disparaître, grâce à un @code{\override Flag #'transparent = ##t}.
@b{Temps}. En matière de chant non mesuré, plusieurs alternatives
-s'offrent à vous.
+s'offrent à vous.
La suppression du @code{Time_signature_engraver} du contexte
@code{Staff} ne produit aucun effet négatif. Une alternative serait de
rendre la métrique transparente, ce qui par contre préservera l'espace
qu'elle occupe.
-Dans de nombreux cas, une clause @code{\set Score.timing = ##f} donne de
+Dans de nombreux cas, une clause @code{\set Score.timing = ##f} donne de
bons résultats. On pourrait aussi utiliser @code{\CadenzaOn} et
@code{\CadenzaOff}.
Rien de plus radical que de supprimer du contexte @code{Staff} le
@code{Bar_engraver} pour ne pas voir de barre de mesure. Là aussi, une
-clause @code{\override BarLine #'transparent = ##t} vous permettra d'en
+clause @code{\override BarLine #'transparent = ##t} vous permettra d'en
afficher une au besoin.
Dans de nombreuses transcriptions, le récitatif fait apparaître une
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: 952705bbbb000581a13836e6a733df04511e93c5
+ Translation of GIT committish: f199e875f7a7beb0afd17eae2038819baab767ff
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@item
le @code{New_fingering_engraver} doit toujours précéder le
-@code{Script_column_engraver},
+@code{Script_column_engraver} ;
@item
le @code{Timing_translator} doit toujours précéder le
\consists "Note_heads_engraver"
\consists "Rhythmic_column_engraver"
\consists "Text_engraver"
- \consists Pitch_squash_engraver
+ \consists "Pitch_squash_engraver"
squashedPosition = #0
\override NoteHead #'style = #'slash
\override Stem #'transparent = ##t
textuelles ; on ajoute donc les graveurs appropriés :
@example
-\consists Note_heads_engraver
-\consists Text_engraver
+\consists "Note_heads_engraver"
+\consists "Text_engraver"
@end example
Cependant, on veut que les notes s'affichent toutes au centre de
la portée :
@example
-\consists Pitch_squash_engraver
+\consists "Pitch_squash_engraver"
squashedPosition = #0
@end example
\type "Engraver_group"
\consists "Note_heads_engraver"
\consists "Text_engraver"
- \consists Pitch_squash_engraver
+ \consists "Pitch_squash_engraver"
squashedPosition = #0
\override NoteHead #'style = #'slash
\override Stem #'transparent = ##t
Tous les éléments de notation sont considérés comme des objets
graphiques (en anglais @emph{Graphical Object}, d'où le diminutif
@emph{Grob}). Chaque objet est doté d'un certain nombre de propriétés
-(l'épaisseur du trait, l'orientation etc.), et lié à d'autres objets.
+(l'épaisseur du trait, l'orientation, etc.), et lié à d'autres objets.
Le fonctionnement de ces objets est décrit en détail dans
@rinternals{grob-interface}.
@warning{Les déclarations imbriquées ne sont pas fonctionnelles dans le
cas des listes associatives des propriétés de contexte -- telles
@code{beamExceptions}, @code{keySignature},
-@code{timeSignatureSettings}, etc. Ces propriétés ne sont modifiables
+@code{timeSignatureSettings}, etc. Ces propriétés ne sont modifiables
qu'au travers d'une complète redéfinition de leur liste associative.}
Le mode notes est le mode par défaut dans LilyPond. Il peut aussi
s'activer par la commande @code{\notemode}. Les saisies seront
-interprétées comme étant des hauteurs, durées, @emph{markups} etc. qui
+interprétées comme étant des hauteurs, durées, @emph{markups}, etc. qui
seront rendues sous forme de notation musicale sur une portée.
Nul n'est besoin de spécifier le mode notes de manière explicite, hormis
puis @code{VerticalAlignment} synchronise verticalement ces différents
groupes. En général, il n'y a qu'un seul @code{VerticalAlignment} pour
l'ensemble de la partition, mais chaque contexte @code{Staff},
-@code{Lyrics} etc. possède son propre @code{VerticalAxisGroup}.
+@code{Lyrics}, etc. possède son propre @code{VerticalAxisGroup}.
@node Modification des stencils
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: 5f722f1688eff7436789f8ca011205bdb16c04b7
+ Translation of GIT committish: 049bdd90b5ae67fe463bf85e926c2eabf51acf74
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+
@ignore
- Translation of GIT committish: 0512fcc5db9b050be664413ba0f79a3dcfc1028a
+ Translation of GIT committish: 049bdd90b5ae67fe463bf85e926c2eabf51acf74
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@end lilypond
Tout accord saisi dans ce mode dédié constitue un élément musical à
-part entière@tie{}; il pourra donc par exemple être transposé comme
+part entière ; il pourra donc par exemple être transposé comme
n'importe quel ensemble de hauteurs simultanées. @code{\chordmode}
-travaille en absolu@tie{}; une instruction @code{\relative} restera sans
+travaille en absolu ; une instruction @code{\relative} restera sans
effet au sein d'un bloc @code{chordmode}. Notez toutefois que les
hauteurs absolues sont une octave plus haut en @code{\chordmode} qu'en
mode notes traditionnel.
Mode notes et mode accords peuvent tout à fait cohabiter dans une
-séquence musicale@tie{}:
+séquence musicale :
@lilypond[verbatim,quote,ragged-right,relative=1]
<c e g>2 <g b d>
Lorsque vous mélangez mode accords et mode notes dans une séquence
musicale qui démarre par le mode accords, le mode notes créera un
-nouveau contexte @code{Staff}@tie{}:
+nouveau contexte @code{Staff} :
@lilypond[verbatim,quote,ragged-right,relative=1]
\chordmode { c2 f }
@noindent
La solution consiste à créer explicitement le contexte @code{Staff} dès
-le départ@tie{}:
+le départ :
@lilypond[verbatim,quote,ragged-right,relative=1]
\new Staff {
@end lilypond
On peut cependant obtenir des accords différents -- mineur, augmenté ou
-diminué -- en utilisant le caractère deux points (@code{:}).
+diminué -- en utilisant le caractère deux points (@code{:}).
@lilypond[verbatim,quote,ragged-right]
\chordmode { c2:m f4:aug g:dim }
@end lilypond
-Les accords de septième sont aisément stipulables@tie{}:
+Les accords de septième sont aisément stipulables :
@lilypond[quote,ragged-right,verbatim]
\chordmode { c1:7 c:m7 c:maj7 c:dim7 c:aug7 }
@funindex m
Voici les différents modificateurs d'accord de trois sons ou de
-septième. Par défaut, la septième ajoutée sera mineure@tie{}; la
+septième. Par défaut, la septième ajoutée sera mineure ; la
septième de dominante est donc l'accord de septième de base. Toutes les
altérations sont relatives à la septième de dominante. Une table
étendue des modificateurs et de leur utilisation est à l'annexe
@item
Néant
@tab
-Action par défaut@tie{}; produit une triade majeure.
+Action par défaut ; produit une triade majeure.
@tab
@lilypond[line-width=4\cm, noragged-right]
\chordmode {
la fondamentale, d'autant de tierces consécutives que nécessaire pour
atteindre le nombre spécifié. N'oubliez pas que la septième ajoutée à
un accord est minorée par défaut. Lorsque le dernier degré ne
-correspond pas à une tierce -- la sixte par exemple -- les tierces
+correspond pas à une tierce -- la sixte par exemple -- les tierces
seront empilées jusqu'à celle directement inférieure au degré mentionné,
qui sera alors ajouté pour conclure l'accord. L'étendue maximale
-autorisée est la treizième@tie{}; toute étendue plus élevée sera
+autorisée est la treizième ; toute étendue plus élevée sera
interprétée comme un accord de treizième.
@lilypond[quote,ragged-right,verbatim]
L'ajout du modificateur @code{sus} permet de créer un accord de
suspension. Ceci aura pour effet de supprimer la tierce et y ajouter,
suivant que vous spécifiez @code{2} ou @code{4}, la seconde ou la
-quarte. @code{sus} est équivalent à @code{^3}@tie{}; @code{sus4} est
+quarte. @code{sus} est équivalent à @code{^3} ; @code{sus4} est
équivalent à @code{.4^3}.
@lilypond[quote,ragged-right,verbatim]
@knownissues
Aucun nom de note ne peut être indiqué deux fois dans un accord. Ainsi,
dans l'accord suivant, seule la quinte augmentée est prise en compte,
-parce qu'elle est indiquée en dernier@tie{}:
+parce qu'elle est indiquée en dernier :
@lilypond[quote,ragged-right,verbatim]
\chordmode { c1:5.5-.5+ }
@cindex chiffrages d'accords
@cindex accords
-Les chiffrages d'accords sont liés au contexte @code{ChordNames}@tie{}:
+Les chiffrages d'accords sont liés au contexte @code{ChordNames} :
@lilypond[verbatim,quote,ragged-right]
\new ChordNames {
En plus des différents systèmes de nommage, le nom de la fondamentale
varie selon la langue utilisée. Les instructions @code{\germanChords},
@code{\semiGermanChords}, @code{\italianChords} et @code{\frenchChords}
-permettent de définir la langue, comme vous pouvez le constater@tie{}:
+permettent de définir la langue, comme vous pouvez le constater :
@lilypondfile[ragged-right]
{chord-names-languages.ly}
Nombre de carnets de chant allemands indiquent un accord mineur par
l'emploi de caractères en minuscule, sans le suffixe @code{m}. Cette
fonctionnalité est gérée par la propriété
-@code{chordNameLowercaseMinor}@tie{}:
+@code{chordNameLowercaseMinor} :
@lilypond[verbatim,quote,ragged-right]
\chords {
est exprimée par une lettre capitale, parfois suivie d'une altération,
correspondant à la notation anglo-saxonne de la musique. Cette
propriété a pour valeur la fonction qui transforme la hauteur de la note
-fondamentale en nom de note@tie{}; c'est donc en assignant une nouvelle
+fondamentale en nom de note ; c'est donc en assignant une nouvelle
fonction à cette propriété que l'on peut produire des noms de note
-spéciaux, adaptés par exemple aux systèmes de notation d'autres pays.
+spéciaux adaptés par exemple aux systèmes de notation d'autres pays.
@funindex majorSevenSymbol
@item additionalPitchPrefix
Lorsqu'un chiffrage contient des notes ajoutées, vous pouvez le préfixer
d'une annotation. LilyPond n'en ajoute pas par défaut, dans le but de
-ne pas trop surcharger la partition@tie{}; vous pouvez cependant les
+ne pas trop surcharger la partition ; vous pouvez cependant les
faire apparaître si elles sont visuellement efficaces.
@lilypond[verbatim,quote,ragged-right]
@translationof Figured bass
@c Line width hack because of instrument names
-@lilypondfile[quote,staffsize=18,line-width=14.5\cm]{figured-bass-headword.ly}
+@lilypondfile[quote,staffsize=18,line-width=14.5\cm]
+{figured-bass-headword.ly}
LilyPond permet de générer des parties de continuo.
déterminé par la propriété @code{baseline-skip}.
@end ignore
-
@seealso
Glossaire musicologique :
@rglosnamed{figured bass, basse chifrée}.
modes sont regroupées à la rubrique @ref{Modes de saisie}.
En mode de saisie, un chiffrage est délimité par @code{<} et
-@code{>}. La durée est indiquée après le @code{>}@tie{}:
+@code{>}. La durée est indiquée après le @code{>} :
@lilypond[verbatim,quote,ragged-right]
\new FiguredBass {
@end lilypond
Une altération -- y compris un bécarre -- peut s'attacher à un
-chiffre@tie{}:
+chiffre :
@lilypond[verbatim,quote,ragged-right]
\figures {
}
@end lilypond
-Vous pouvez stipuler un intervalle augmenté ou diminué@tie{}:
+Vous pouvez stipuler un intervalle augmenté ou diminué :
@lilypond[verbatim,quote,ragged-right]
\figures {
@end lilypond
Vous pouvez barrer un chiffre d'une oblique inversée, typiquement pour
-une @qq{petite sixte}@tie{}:
+une @qq{petite sixte} :
@lilypond[verbatim,quote,ragged-right]
\figures {
}
@end lilypond
-Vous pouvez insérer un espace ou ajouter des crochets@tie{}:
+Vous pouvez insérer un espace ou ajouter des crochets :
@lilypond[verbatim,quote,ragged-right]
\figures {
@end lilypond
Voici, de manière synthétique, les différents modificateurs
-disponibles@tie{}:
+disponibles :
@multitable @columnfractions .1 .5 .4
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+
@ignore
- Translation of GIT committish: 7a046582ce0730883f973c3ae56f2abe6c3262dc
+ Translation of GIT committish: 049bdd90b5ae67fe463bf85e926c2eabf51acf74
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+
@ignore
- Translation of GIT committish: 952705bbbb000581a13836e6a733df04511e93c5
+ Translation of GIT committish: 049bdd90b5ae67fe463bf85e926c2eabf51acf74
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
Pour changer la taille des caractères, LilyPond met à l'échelle la fonte
dont la taille est la plus proche de la taille voulue. La taille
-standard (pour laquelle @w{@code{font-size = #0}}) dépend de la hauteur
+standard (pour laquelle @code{font-size = #0}) dépend de la hauteur
de la portée. À une portée de 20 points correspond une police de
10 points.
@knownissues
La syntaxe @samp{@var{note}-@var{digit}} ne prend pas en charge, par
-défaut, les chiffres supérieurs à 9.
+défaut, les chiffres supérieurs à 9.
@node Dictée à trous
Un autre moyen consiste à fournir à la fonction Scheme @code{rgb-color}
les composantes de la couleur exacte au format rouge-vert-bleu
(@emph{RGB}) -- chacune étant exprimée en en fraction de 256 (le 0.5 de
-l'exemple suivant correspond à 128).
+l'exemple suivant correspond à 128).
@lilypond[verbatim,quote,relative=2]
\override Staff.StaffSymbol #'color = #(x11-color 'SlateBlue2)
@rinternals{HorizontalBracket},
@rinternals{horizontal-bracket-interface},
@rinternals{Staff}.
-
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+
@ignore
- Translation of GIT committish: eccc513d15d19b03ed8a9ae776c828fff4dbfbee
+ Translation of GIT committish: f199e875f7a7beb0afd17eae2038819baab767ff
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@funindex -
Les différents symboles qui indiquent des ponctuations ou des modes de
-jeu différents s'ajoutent aux notes de la manière suivante@tie{}:
+jeu différents s'ajoutent aux notes de la manière suivante :
@example
@var{note}\@var{nom}
@end example
Les valeurs de @var{nom} sont répertoriées dans l'annexe
-@ref{Liste des signes d'articulation}. En voici un exemple@tie{}:
+@ref{Liste des signes d'articulation}. En voici un exemple :
@lilypond[verbatim,quote,relative=2]
c4\staccato c\mordent b2\turn
l'obliger à les positionner au-dessus ou en dessous de la note, comme
indiqué au chapitre @ref{Direction et positionnement}.
-Les articulations sont des objets de type @code{script}@tie{}; les
+Les articulations sont des objets de type @code{script} ; les
propriétés de ces objets sont abordées plus en détail au chapitre
@rinternals{Script}.
Une articulation peut se rattacher aussi bien à un silence qu'à une
note, mais @strong{pas à un silence multimesures}. Il existe cependant
-un cas particulier@tie{}: le point d'orgue -- ou point d'arrêt --
+un cas particulier : le point d'orgue -- ou point d'arrêt --
attaché à un silence valant l'intégralité de la mesure. LilyPond
dispose à cet effet de la commande @code{\fermataMarkup}, qui créera un
objet @code{MultiMeasureRestText} rattaché à ce @qq{silence
@funindex rfz
À chaque nuance absolue correspond une commande qui peut être indiquée
-après une note@tie{}: @code{c4\ff} par exemple. Les commandes de nuance
+après une note : @code{c4\ff} par exemple. Les commandes de nuance
disponibles sont @code{\ppppp}, @code{\pppp}, @code{\ppp}, @code{\pp},
@code{\p}, @code{\mp}, @code{\mf}, @code{\f}, @code{\ff}, @code{\fff},
@code{\ffff}, @code{\fffff}, @code{\fp}, @code{\sf}, @code{\sff},
-@code{\sp}, @code{\spp}, @code{\sfz}, et @code{\rfz}. Les nuances se
-placent aussi bien en dessous qu'au-dessus de la portée@tie{}; pour plus
+@code{\sp}, @code{\spp}, @code{\sfz} et @code{\rfz}. Les nuances se
+placent aussi bien en dessous qu'au-dessus de la portée ; pour plus
d'information, consultez @ref{Direction et positionnement}.
@lilypond[verbatim,quote,relative=2]
Il en va de même lorsqu'un soufflet est interrompu par une nuance
explicite. Notez bien que la largeur occupée par cette nuance explicite
-influe sur la terminaison du soufflet@tie{}:
+influe sur la terminaison du soufflet :
@lilypond[verbatim,quote,relative=2]
c1\< | c4 a c\mf a | c1\< | c4 a c\ffff a
@cindex nuances successives sur une note tenue
@cindex tenue et nuances successives
-Les indications de nuance sont attachées aux notes@tie{}; aussi, lorsque
+Les indications de nuance sont attachées aux notes ; aussi, lorsque
l'on veut faire se succéder plusieurs nuances pendant une note tenue, il
-faudra avoir recours à des silences invisibles@tie{}:
+faudra avoir recours à des silences invisibles :
@lilypond[verbatim,quote,relative=2]
c4\< c\! d\> e\!
@funindex dimHairpin
Une indication textuelle peut indiquer, au lieu d'un soufflet, un
-changement de nuance@tie{}:
+changement de nuance :
@lilypond[verbatim,quote,relative=2]
\crescTextCresc
Vous pouvez créer des indications de nuance éditoriales (entre
parenthèses ou crochets) grâce aux étiquettes (@emph{mode
-markup})@tie{}; la syntaxe en est abordée au chapitre
+markup}) ; la syntaxe en est abordée au chapitre
@ref{Mise en forme du texte}.
@lilypond[verbatim,quote]
@end lilypond
La construction d'une indication de nuance personnalisée peut aussi se
-faire en langage Scheme@tie{}; voir
+faire en langage Scheme ; voir
@rextend{Construction d'un markup en Scheme} pour en connaître les
modalités.
@cindex courbes
Ce chapitre traite des signes d'interprétation imprimés sous forme de
-courbe@tie{}: liaisons d'articulation ou de phrasé, respirations, chutes
+courbe : liaisons d'articulation ou de phrasé, respirations, chutes
et sauts.
@menu
@funindex slurSolid
Une liaison est par défaut dessinée d'un trait plein. Il est aussi
-possible de l'imprimer sous la forme de tirets ou en pointillé@tie{}:
+possible de l'imprimer sous la forme de tirets ou en pointillé :
@lilypond[verbatim,quote,relative=1]
c4( e g2)
@cindex liaison, densité des tirets
Vous pouvez même personnaliser la densité des tirets d'une
-liaison@tie{}:
+liaison :
@lilypond[verbatim,quote,relative=1]
c4( e g2)
@funindex phrasingSlurSolid
Une liaison est par défaut dessinée d'un trait plein. Il est aussi
-possible de l'imprimer sous la forme de tirets ou en pointillé@tie{}:
+possible de l'imprimer sous la forme de tirets ou en pointillé :
@lilypond[verbatim,quote,relative=1]
c4\( e g2\)
@cindex liaison, densité des tirets
-Vous pouvez même personnaliser la densité des tirets d'une liaison@tie{}:
+Vous pouvez même personnaliser la densité des tirets d'une liaison :
@lilypond[verbatim,quote,relative=1]
c4\( e g2\)
@lilypond[verbatim,quote,relative=2]
g2\glissando g'
c2\glissando c,
+\afterGrace f,1\glissando f'16
+@end lilypond
+
+Un glissando peut intervenir au moment d'un changement de portée :
+
+@lilypond[verbatim,quote]
+\new PianoStaff <<
+ \new Staff = "right" {
+ e'''2\glissando
+ \change Staff = "left"
+ a,,4\glissando
+ \change Staff = "right"
+ b''8 r |
+ }
+ \new Staff = "left" {
+ \clef bass
+ s1
+ }
+>>
+@end lilypond
+
+Un glissando peut affecter des notes d'un accord. En dehors du cas où
+les notes des deux accords sont reliées directement l'une à l'autre, les
+relations s'établissent à l'aide de la commande @code{\glissandoMap} ;
+les notes d'un accord sont numérotées à partir de zéro et dans leur
+ordre d'apparition dans le fichier @file{.ly}.
+
+@lilypond[verbatim,quote,relative=2]
+<c, e>1\glissando g' |
+<c, e>1\glissando |
+<g' b> |
+\break
+\set glissandoMap = #'((0 . 1) (1 . 0))
+<c, g'>1\glissando |
+<d a'> |
+\set glissandoMap = #'((0 . 0) (0 . 1) (0 . 2))
+c1\glissando |
+<d f a> |
+\set glissandoMap = #'((2 . 0) (1 . 0) (0 . 1))
+<f d a'>1\glissando |
+<c c'> |
@end lilypond
Un glissando est indiqué graphiquement, par une ligne ou des
@snippets
-@lilypondfile[verbatim,quote,texidoc,doctitle]
-{glissandi-can-skip-grobs.ly}
-
@lilypondfile[verbatim,quote,texidoc,doctitle]
{contemporary-glissando.ly}
+@lilypondfile[verbatim,quote,texidoc,doctitle]
+{adding-timing-marks-to-long-glissandi.ly}
+
+@lilypondfile[verbatim,quote,texidoc,doctitle]
+{making-glissandi-breakable.ly}
+
@seealso
Glossaire musicologique :
@rglos{glissando}.
@funindex arpeggioNormal
On peut indiquer qu'un accord doit être arpégé en lui accolant la
-commande @code{\arpeggio}@tie{}:
+commande @code{\arpeggio} :
@lilypond[verbatim,quote,relative=1]
<c e g c>1\arpeggio
@end lilypond
-LilyPond dispose de différents graphismes pour indiquer un arpège@tie{};
+LilyPond dispose de différents graphismes pour indiquer un arpège ;
@code{\arpeggioNormal} reviendra au style par défaut.
@lilypond[verbatim,quote,relative=1]
@funindex arpeggioParenthesisDashed
Des crochets indiquent que l'accord devra être plaqué et non
-arpégé@tie{}:
+arpégé :
@lilypond[verbatim,quote,relative=1]
<c e g c>2
@funindex stopTrillSpan
Les trilles brefs s'indiquent comme n'importe quelle ponctuation, avec
-un simple @code{\trill}@tie{}; voir @ref{Articulations et ornements}.
+un simple @code{\trill} ; voir @ref{Articulations et ornements}.
Les trilles plus longs sont délimités par @code{\startTrillSpan} et
-@code{\stopTrillSpan}@tie{}:
+@code{\stopTrillSpan} :
@lilypond[verbatim,quote,relative=2]
d1\startTrillSpan
Lorsqu'un saut de ligne intervient alors qu'une prolongation de trille
est présente, l'indication de trille et sa prolongation sont rappelées
-sur la première note de la nouvelle ligne@tie{}:
+sur la première note de la nouvelle ligne :
@lilypond[ragged-right,verbatim,quote,relative=2]
d1\startTrillSpan
Lorsque des trilles interviennent sur une succession de hauteurs
différentes, point n'est besoin d'expliciter la commande
@code{\stopTrillSpan} puisque l'apparition d'un nouveau trille
-interrompt de fait celui qui le précédait@tie{}:
+interrompt de fait celui qui le précédait :
@lilypond[verbatim,quote,relative=2]
d1\startTrillSpan
Les trilles qui font intervenir une hauteur précise peuvent être
indiqués par la commande @code{pitchedTrill}. Le premier argument est
-la note réelle@tie{}; le second est une hauteur qui sera imprimée comme
+la note réelle ; le second est une hauteur qui sera imprimée comme
une tête de note noire entre parenthèses.
@lilypond[verbatim,quote,relative=2]
Dans l'exemple suivant, le second trille de la deuxième mesure est
ambigu -- le fa qui est forcé n'est pas diésé. Pour lever toute
ambiguïté, il suffit de forcer l'impression de l'altération en
-ajoutant un @code{!} à la note considérée.
+ajoutant un @code{!} à la note considérée.
@lilypond[verbatim,quote,relative=2]
\pitchedTrill
Référence des propriétés internes :
@rinternals{TrillSpanner}.
-
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+
@ignore
- Translation of GIT committish: 952705bbbb000581a13836e6a733df04511e93c5
+ Translation of GIT committish: f199e875f7a7beb0afd17eae2038819baab767ff
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@funindex \harmonicByFret
@funindex \harmonicByRatio
-Les indications de sons harmoniques ainsi que les glissandi
+Les indications de sons harmoniques ainsi que les glissandos
peuvent être ajoutés aux tablatures.
@lilypond[verbatim,quote]
}
\score {
<<
- \new Staff { \firstHarmonic }
+ \new Staff {
+ \clef "treble_8"
+ \firstHarmonic
+ }
\new TabStaff { \firstHarmonic }
>>
}
}
\score {
<<
- \new Staff { \fretHarmonics }
+ \new Staff {
+ \clef "treble_8"
+ \fretHarmonics
+ }
\new TabStaff { \fretHarmonics }
>>
}
}
\score {
<<
- \new Staff { \ratioHarmonics }
+ \new Staff {
+ \clef "treble_8"
+ \ratioHarmonics
+ }
\new TabStaff { \ratioHarmonics }
>>
}
@end lilypond
Le support des modes de jeu propres à la guitare se limite aux sons
-harmoniques et aux glissandi.
+harmoniques et aux glissandos.
@node Tablatures personnalisées
@end lilypond
L'accordage par défaut est @code{guitar-tuning}_; il correspond à
-l'accordage standard d'une guitare@tie{}: mi la ré sol si mi (EADGBE).
+l'accordage standard d'une guitare : mi la ré sol si mi (EADGBE).
D'autres accordages prédéfinis sont disponibles :
@code{guitar-open-g-tuning}, @code{mandolin-tuning} et
@code{banjo-open-g-tuning}. Les accordages prédéfinis sont répertoriés
La propriété @code{stringTunings} permet aussi au @code{FretBoards} de
calculer automatiquement les diagrammes de frets.
-L'accordage fait partie de la clé permettant d'identifier les
+L'accordage fait partie de la clé permettant d'identifier les
diagrammes prédéfinis -- voir @ref{Tablatures prédéfinies}.
Nous pourrions donc écrire l'exemple précédent ainsi :
@}
@}
@end example
-
+
@cindex moderntab, clef
@cindex clef moderntab
@cindex clef de tablature
même @code{MD} :
@example
-MD=#rightHandFinger
+MD = #rightHandFinger
@end example
@snippets
@funindex four-string-banjo
LilyPond prend en charge un certain nombre d'accordages courants pour
-banjo@tie{}: @code{banjo-c-tuning} sol,do,sol,si,ré (gCGBD),
-@code{banjo-modal-tuning} sol,ré,sol,do,ré (gDGCD),
-@code{banjo-open-d-tuning} la,ré,fa#,la,ré (aDF#AD) et
-@code{banjo-open-dm-tuning} la,ré,fa,la,ré (aDFAD).
+banjo : @code{banjo-c-tuning} sol do sol si ré (gCGBD),
+@code{banjo-modal-tuning} sol ré sol do ré (gDGCD),
+@code{banjo-open-d-tuning} la ré fa# la ré (aDF#AD) et
+@code{banjo-open-dm-tuning} la ré fa la ré (aDFAD).
Ces accordages peuvent être convertis pour banjo à quatre cordes au
moyen de la fonction @code{four-string-banjo} :
Morceaux choisis :
@rlsrnamed{Fretted strings, Cordes frettées}.
-
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+
@ignore
- Translation of GIT committish: 952705bbbb000581a13836e6a733df04511e93c5
+ Translation of GIT committish: 95b372c451ea1586db8db66d3d00334382e8e103
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@funindex \bookpart
-Plusieurs pièces seront regroupées dans un même @qq{chapitre} à l'aide
-d'un bloc @code{\bookpart}. Ces différents @qq{chapitres} sont séparés
+Plusieurs pièces seront regroupées dans un même « chapitre » à l'aide
+d'un bloc @code{\bookpart}. Ces différents « chapitres » sont séparés
par un saut de page et peuvent comporter un titre à l'instar de
l'ouvrage dès lors que vous y insérez un bloc @code{\header}.
@w{@code{#(ly:set-option 'point-and-click #f)}}.
@item
-Un bloc @code{\header}, dont le contenu sera de portée globale -- ce qui
-est le cas en général pour le titre ou l'auteur entre autres.
+Un bloc @code{\header}, dont le contenu sera valide pour tout le
+fichier. Il comporte en général les valeurs par défaut des champs de
+titrage, tels le titre ou l'auteur entre autres, communs à tous les
+blocs @code{\book} inclus dans le fichier -- voir
+@ref{Généralités en matière de titrages}.
@item
Un bloc @code{\score} pour la partition. Cette partition sera assemblée
avec les autres partitions se trouvant au même niveau pour composer le
@code{\book}. Vous pouvez modifier ce comportement à l'aide de la
-variable @code{toplevel-score-handler} placée en tête.
-@ignore
-@c FIXME - I cannot read "toplevel-score-handler" in scm/lily.scm -jcm
-The default handler is defined in the init file @file{../scm/lily.scm}.
-@end ignore
+variable @code{toplevel-score-handler} placée en tête. Le gestionnaire
+par défaut est défini dans le fichier d'initialisation
+@file{../scm/lily.scm}.
@item
Un bloc @code{\book} permet de regrouper naturellement plusieurs
un document lilypond-book qui reprendrait plusieurs @code{\score} ou
@code{\markup} dans un même extrait. Vous pouvez modifier ce
comportement à l'aide de la variable @code{toplevel-book-handler}
-placée en tête.
-@ignore
-@c FIXME - I cannot read "toplevel-book-handler" in scm/lily.scm -jcm
-The default handler is defined in the init file @file{../scm/lily.scm}.
-@end ignore
+placée en tête. Le gestionnaire par défaut est défini dans le fichier
+d'initialisation @file{../scm/lily.scm}.
@item
Un bloc @code{\bookpart}. Un ouvrage peut se découper en plusieurs
@end example
Vous pouvez modifier ce comportement à l'aide de la variable
-@code{toplevel-music-handler} placée en tête.
-@ignore
-@c FIXME - I cannot read "toplevel-music-handler" in scm/lily.scm -jcm
-The default handler is defined in the init file @file{../scm/lily.scm}.
-@end ignore
+@code{toplevel-music-handler} placée en tête. Le gestionnaire par
+défaut est défini dans le fichier d'initialisation
+@file{../scm/lily.scm}.
@item
Du texte sous forme de @emph{markup} comme les paroles d'un couplet
@rlearning{Organisation des fichiers LilyPond}.
Manuel de notation :
+@ref{Généralités en matière de titrages},
@ref{Le bloc \layout}.
@translationof Titles and headers
La plupart de la musique qui est éditée comporte un titre et le nom de
-son compositeur ; certains ouvrages divulguent beaucoup plus
-d'information.
+son compositeur ; certains ouvrages dispensent beaucoup plus
+d'informations.
@menu
* Création de titres et entête ou pied de page::
@translationof Creating titles headers and footers
@menu
-* Contenu des blocs de titrage::
-* Mise en forme par défaut des titrages::
+* Généralités en matière de titrages::
+* Mise en forme par défaut des titrages subalternes::
* Mise en forme par défaut des entête et pied de page::
@end menu
-@node Contenu des blocs de titrage
-@unnumberedsubsubsec Contenu des blocs de titrage
-@translationof Title blocks explained
+@node Généralités en matière de titrages
+@unnumberedsubsubsec Généralités en matière de titrages
+@translationof Titles explained
-@c TODO: figure out how \bookpart titles work
+Chaque bloc @code{\book} apparaissant dans un même fichier source
+résultera en un fichier indépendant, comme indiqué à la rubrique
+@ref{Structure de fichier}. Chacun de ces fichiers résultants
+comporte deux endroits où placer des titrages : les @strong{titrages
+de partie} au début de chaque partie (@emph{bookpart}) et les
+@strong{titrages de morceau} avant chaque pièce (@emph{score}). Tous
+deux peuvent comporter les mêmes champs bien que, par défaut, le titrage
+d'un morceau se limite à @code{piece} et @code{opus}.
-Il existe en fait deux types de blocs de titrage : un bloc pour
-contenir le titre principal qui doit apparaître avant le tout premier
-@code{\score} d'un ouvrage, et un autre attaché à chacun des blocs
-@code{\score} qui le composent. Dans les deux cas, les champs qui
-composent un bloc de titrage se saisissent dans un bloc @code{\header}.
+Les blocs @code{\header} peuvent se placer à quatre endroits différents
+qui formeront une hiérarchie descendante :
-Lorsque l'ouvrage ne comporte qu'un seul morceau, le bloc @code{\header}
-peut se placer en dehors ou au sein même du bloc @code{\score}.
+@itemize
-Dans le cas où le bloc @code{\header} est défini à l'intérieur du bloc
-@code{\score}, seuls les champs @code{piece} et @code{opus} seront
-imprimés.
+@item
+En tête du fichier source, avant même tout bloc @code{\book},
+@code{\bookpart} ou @code{\score} ;
-@lilypond[papersize=a5,quote,verbatim,noragged-right]
-\score {
- { c'4 }
- \header {
- title = "title" % not printed
- piece = "piece"
- opus = "opus"
- }
-}
-@end lilypond
+@item
+Au sein d'un bloc @code{\book} et en dehors de tout bloc
+@code{\bookpart} ou @code{\score} qu'il contient ;
-@funindex print-all-headers
-@noindent
-Vous pouvez modifier ce comportement et imprimer tous les champs d'un
-bloc @code{\header} défini dans un bloc @code{\score} en ajoutant
+@item
+Au sein d'un bloc @code{\bookpart} et en dehors de tout bloc
+@code{\score} qu'il contient ;
-@example
-\paper@{
- print-all-headers = ##t
-@}
-@end example
+@item
+Après l'expression musicale incluse dans un bloc @code{\score}.
+
+@end itemize
+
+La valeur des différents champs sera filtrée en respectant cette
+hiérarchie ; les valeurs persisteront à moins d'être écrasées par une
+autre valeur à un niveau inférieur. Ainsi :
+
+@itemize
+@item
+Le titre d'une partie découle des champs définis en tête du fichier
+source, modifiés par les champs définis au sein du bloc @code{\book}
+puis par ceux définis au sein du bloc @code{\bookpart}. Les valeurs qui
+en résulteront permettront d'imprimer les titrages de partie pour cette
+partie.
+
+@item
+Le titre d'un morceau découle des champs définis en tête du fichier
+source, modifiés par les champs définis au sein du bloc @code{\book}
+puis par ceux définis au sein du bloc @code{\bookpart}, et enfin par
+ceux définis au sein du bloc @code{\score}. Les valeurs qui en
+résulteront permettront d'imprimer les titrages de morceau pour ce
+morceau. Notez toutefois que, pour un morceau, seuls les champs
+@code{piece} et @code{opus} seront imprimés, à moins d'avoir valorisé
+à @code{#t} la variable @code{print-all-headers} dans la section
+@code{\paper}.
+
+@end itemize
@warning{N'oubliez pas que lorsqu'il est placé à l'intérieur d'un bloc
@code{@bs{}score}, le bloc @code{@bs{}header} doit impérativement se
trouver @strong{à la suite} de l'expression musicale.}
+Nul n'est besoin de fournir un bloc @code{\header} à chacun des quatre
+niveaux ; on peut se passer aussi bien de l'un d'eux que de tous. Dans
+la même veine, un fichier source simpliste peut ne pas mentionner de
+bloc @code{\book} ou @code{\bookpart} qui seront alors créés
+implicitement.
+
+Lorsque l'ouvrage ne comporte qu'un seul morceau, le bloc @code{\header}
+devrait prendre place en tête de fichier, de telle sorte que soit produit
+un titrage de partie qui met à disposition tous les champs de titrage.
+
+Lorsque l'ouvrage comporte plusieurs morceaux, différents arrangements
+du bloc @code{\header} permettent d'obtenir différents styles de
+publication musicale. Par exemple, si la publication comprend plusieurs
+pièces du même compositeur, un bloc @code{\header} placé en tête de
+fichier définira le titre de l'ouvrage et le compositeur, que l'on
+complètera par un bloc @code{\header} dans chaque bloc @code{\score}
+pour définir les champs @code{piece} et @code{opus}, comme ici :
+
@lilypond[papersize=a5,quote,verbatim,noragged-right]
\header {
title = "SUITE I."
}
@end lilypond
-Tous les champs appartenant au titrage principal d'un ouvrage peuvent se
-reporter dans chaque bloc @code{\score} ou être supprimés manuellement :
+Des agencements plus élaborés sont aussi réalisables. Par exemple, les
+champs appartenant au titrage principal d'un ouvrage peuvent se
+reporter dans chaque bloc @code{\score}, certains étant modifiés voire
+supprimés manuellement :
@c KEEP LY
@lilypond[papersize=a5,quote,verbatim,noragged-right]
@seealso
Manuel de notation :
@ref{Structure de fichier},
-@ref{Mise en forme personnalisée des blocs de titrage}.
+@ref{Mise en forme par défaut des titrages subalternes},
+@ref{Mise en forme personnalisée des titrages}.
-@node Mise en forme par défaut des titrages
-@unnumberedsubsubsec Mise en forme par défaut des titrages
-@translationof Default layout of book and score title blocks
+@node Mise en forme par défaut des titrages subalternes
+@unnumberedsubsubsec Mise en forme par défaut des titrages subalternes
+@translationof Default layout of bookpart and score titles
Voici les différentes variables attachées au bloc @code{\header} :
subtitle = "Sous-titre"
subsubtitle = "Sous-sous-titre"
% Les champs suivants sont répartis sur une même ligne, et
- % le champ "instrument" apparaîtra sue les pages suivantes
+ % le champ "instrument" apparaîtra sur les pages suivantes
instrument = \markup \with-color #green "Instrument"
poet = "Librettiste"
composer = "Compositeur"
{ s1 }
\header {
% Les champs suivants sont en opposition sur la même ligne
- piece = "Pièce 3 sue une nouvelle page"
+ piece = "Pièce 3 sur une nouvelle page"
opus = "Opus 3"
}
}
@item
Seuls seront imprimés les champs @code{piece} et @code{opus} inclus dans
un bloc @code{\score} dès lors que la variable @code{print-all-headers}
-reste désactivée (valeur à @code{##f}).
+reste désactivée (valeur à @code{##f}).
@item
@c Is the bit about \null markups true? -mp
@end itemize
Les possibilités de modifier la mise en forme par défaut sont abordées à
-la rubrique @ref{Mise en forme personnalisée des blocs de titrage}.
+la rubrique @ref{Mise en forme personnalisée des titrages}.
@cindex breakbefore
@rlearning{Organisation des fichiers LilyPond}.
Manuel de notation :
-@ref{Mise en forme personnalisée des blocs de titrage},
+@ref{Mise en forme personnalisée des titrages},
@ref{Structure de fichier}.
Fichiers d'initialisation :
@unnumberedsubsubsec Mise en forme par défaut des entête et pied de page
@translationof Default layout of headers and footers
-Les entête et pied -- @emph{headers} et @emph{footers} -- sont des
+Les entête et pied -- @emph{header} et @emph{footer} -- sont des
lignes de textes qui apparaissent en haut et en bas de chaque page,
indépendamment du texte de l'ouvrage. Ils sont contrôlés par les
variables suivantes, attachées au bloc @code{\paper} :
@node Titrages personnalisés
@subsection Titrages personnalisés
-@translationof Custom headers footers and titles
+@translationof Custom titles headers and footers
@c TODO: somewhere put a link to header spacing info
@c (you'll have to explain it more in NR 4).
@menu
* Mise en forme personnalisée des champs de titrage::
-* Mise en forme personnalisée des blocs de titrage::
+* Mise en forme personnalisée des titrages::
* Mise en forme personnalisée des entête et pied de page::
@end menu
@translationof Custom text formatting for title blocks
Toutes les commandes de mise en forme d'un @code{\markup} permettent de
-personnaliser le texte des entête, pied de page et éléments de titre
+personnaliser le texte des entête, pied de page et éléments de titrage
contenus dans un bloc @code{\header}.
@lilypond[quote,verbatim,noragged-right]
@ref{Mise en forme du texte}.
-@node Mise en forme personnalisée des blocs de titrage
-@unnumberedsubsubsec Mise en forme personnalisée des blocs de titrage
-@translationof Custom layout for title blocks
+@node Mise en forme personnalisée des titrages
+@unnumberedsubsubsec Mise en forme personnalisée des titrages
+@translationof Custom layout for titles
@cindex bookTitleMarkup
@cindex scoreTitleMarkup
Le positionnement des titres, avec les valeurs par défaut de ces
variables @code{\markup}, est illustré à la rubrique
-@ref{Mise en forme par défaut des titrages}.
+@ref{Mise en forme par défaut des titrages subalternes}.
Voici les réglages par défaut de @code{scoreTitleMarkup}, tels que
définis dans le fichier @file{ly/titling-init.ly} :
}
@end lilypond
-Voici comment positionner le champ @code{piece}, dont nous modifions
-la taille et la graisse, au centre de cette ligne :
+Voici comment redéfinir le @code{scoreTitleMarkup} de telle sorte que le
+champ @code{piece}, dont nous modifions la taille et la graisse, se
+place au centre de cette ligne :
@lilypond[papersize=a5,quote,verbatim,noragged-right]
\book {
}
@end lilypond
-Les champs normalement réservés au bloc de titrage principal seront
-reportés au niveau inférieur dès lors que vous aurez activé
-l'instruction @code{print-all-headers} au sein du bloc @code{\paper}.
-Le principal inconvénient de cette fonction réside dans le fait que les
-champs réservés au bloc @code{\header} principal devront être supprimés
-dans chacun des blocs @code{\score} de votre fichier source -- voir
-@ref{Contenu des blocs de titrage}.
+Les champs normalement absents du @code{\header} d'un bloc @code{\score}
+seront toutefois imprimés dès lors que vous aurez activé l'instruction
+@code{print-all-headers} au sein du bloc @code{\paper}. Le principal
+inconvénient de cette fonction réside dans le fait que les champs
+dévolus au titrage des parties devront être supprimés dans
+chacun des blocs @code{\score} de votre fichier source -- voir
+@ref{Généralités en matière de titrages}.
Afin d'éviter ce désagrément, ajoutez le champ que vous désirez voir
apparaître à la définition de @code{scoreTitleMarkup}. Nous allons,
dans l'exemple suivant, ajouter au @code{scoreTitleMarkup} le champ
@code{composer}, normalement associé au @code{bookTitleMarkup} ;
-chaque @code{\score} pourra mentionner un compositeur différent.
+chaque @code{\score} pourra alors mentionner un compositeur différent.
@lilypond[papersize=a5,quote,verbatim,noragged-right]
\book {
@seealso
Manuel de notation :
-@ref{Contenu des blocs de titrage}.
+@ref{Généralités en matière de titrages}.
@node Mise en forme personnalisée des entête et pied de page
@cindex markup conditionnel
@cindex condition et markup
-@cindex on-the-fly
+@cindex on-the-fly (à la volée)
+
@funindex \on-the-fly
L'instruction @code{\on-the-fly} au sein d'un @code{\markup} permet
La @var{procédure} est appelée à chaque fois que la commande
@code{\markup} où elle apparaît est évaluée. La @var{procédure}
-effectuera un test de conformité particulière et interprètera, autrement
+effectuera un test de conformité particulier et interprètera, autrement
dit imprimera l'argument @var{markup} si et seulement si cette
condition est remplie.
@item create-page-number-stencil @tab 'print-page-numbers est vrai.
@item print-all-headers @tab 'print-all-headers est vrai.
@item first-page @tab c'est la première page du @emph{book}.
-@item (on-page nombre) @tab page number = nombre
+@item (on-page nombre) @tab numéro de page = nombre
@item last-page @tab c'est la dernière page du @emph{book}.
@item not-first-page @tab ce n'est la première page du @emph{book}.
@item part-first-page @tab c'est la première page de la partie.
@end multitable
@end quotation
-L'exemple suivant illustre la manière de centrer son numéro au bas de
-chaque page. Il nous faut tout d'abord annuler la définition de
+L'exemple suivant illustre la manière de centrer son numéro au bas de
+chaque page. Il nous faut tout d'abord annuler les définitions de
@code{oddHeaderMarkup} et @code{evenHeaderMarkup} à l'aide d'un
@emph{markup} @code{\null}. Nous redéfinissons ensuite
@code{oddFooterMarkup} pour qu'il contienne le numéro de page, centré.
@seealso
Manuel de notation :
-@ref{Contenu des blocs de titrage},
-@ref{Mise en forme par défaut des titrages}.
+@ref{Généralités en matière de titrages},
+@ref{Mise en forme par défaut des titrages subalternes}.
fichiers d'initialisation :
@file{../ly/titling-init.ly}.
@subsection Notes de bas de page
@translationof Creating footnotes
-LilyPond dispose de deux méthodes pour créer des notes de bas de page,
-l'une automatisée, et l'autre manuelle.
+@cindex bas de page, notes
+@cindex footnotes
+
+Les notes de bas de page sont utiles dans bien des situations. Dans
+tous les cas, un « appel de note » vient se placer en référence dans te
+texte ou la musique, et le « texte de la note » est reporté en bas de la
+page.
+
+Selon qu'elle est référencée dans une expression musicale ou dans du
+texte indépendant, une note de bas de page sera créée suivant une
+procédure différente.
@menu
-* Considérations générales en matière de note de bas de page::
-* Notes de bas de page automatiques::
-* Notes de bas de page manuelles::
+* Notes de bas de page dans une expression musicale::
+* Notes de bas de page dans du texte indépendant::
@end menu
-@node Considérations générales en matière de note de bas de page
-@unnumberedsubsubsec Considérations générales en matière de note de bas de page
-@translationof Footnotes overview
+@node Notes de bas de page dans une expression musicale
+@unnumberedsubsubsec Notes de bas de page dans une expression musicale
+@translationof Footnotes in music expressions
+
+@cindex musique et note de bas de page
+@funindex \footnote
-Il est parfois judicieux, notamment lorsqu'une annotation ou un
-commentaire gênerait la lecture de la partition, de les reporter en bas
-de page.
+@subsubsubheading Généralités sur l'annotation de musique
+@c VO Music footnotes overview
-Les notes de bas de page automatiques font appel à un compteur
-numérique incrémenté automatiquement ; les notes de bas de page
-manuelles vous laissent le libre choix de l'appel (l'indicateur). Une
-note de bas de page s'applique comme un @code{\tweak} ; elle peut donc
-s'attacher directement à un objet graphique créé par la plupart des
-éléments musicaux ou événements rattachés. Lorsque ce n'est pas
-possible, par exemple sur une barre de mesure ou un changement de
-métrique -- l'objet étant alors le résultat d'une modification de
-propriété --, les notes de bas de page peuvent être spécifiées en tant
-qu'événement musical indépendant et affectant tous les objets d'un
-type particulier à un instant particulier.
+Il existe deux catégories d'annotation concernant une expression
+musicale :
-Examinons la forme développée d'une commande de note de bas de page :
+@table @emph
+@item Les annotations événementielles
+se rattachent à des événements particuliers, comme une note individuelle
+ou au sein d'un accord, un élément d'interprétation (ligature, liaison,
+doigté, accent ou nuance) et des paroles.
+
+@item Les annotations temporelles
+se rapportent à un point particulier du déroulement d'un contexte
+musical. Certaines commandes, telles @code{\time} et @code{\clef}, ne
+reposent pas sur un événement pour la création de l'objet métrique ou
+clef. Il en va de même pour un accord : sa hampe ou ses crochets ne
+sont créés qu'à la fin d'un moment (plus exactement au travers de l'un
+des événements note qui le composent). Une annotation temporelle permet
+d'annoter ces objets de rendus sans se référer à un événement.
+
+@end table
+
+Examinons la forme développée d'une commande de note de bas de page,
+qu'elle soit événementielle ou temporelle :
@example
-\footnote @var{marque} @var{décalage} @var{nom-grob} @var{annotation}
-@var{musique}
+[@var{position}] \footnote [@var{marque}] @var{décalage} [@var{nom-grob}] @var{annotation} @var{musique}
@end example
Ses arguments peuvent se définir ainsi :
@table @var
+@item position
+Lorsque la commande @code{\footnote} s'applique à un élément
+d'interprétation ou un événement rattaché, et uniquement dans ces cas,
+elle doit être précédée d'un indicateur de positionnement (@code{-, _
+ou ^}) de façon à rattacher @var{musique} (avec sa marque) à la note ou
+au silence qui précède.
+
@item marque
-un @emph{markup} ou une chaîne de caractères identifiant l'annotation
+Un @emph{markup} ou une chaîne de caractères identifiant l'annotation
tant au niveau de l'appel que de la note qui apparaîtra au bas de la
page. L'absence de cet élément -- ou une valeur de @code{\default} --
-incrémentera le compteur.
+incrémentera automatiquement le compteur. Ce compteur est réinitialisé
+à chaque page comportant une annotation.
@item décalage
-une paire de nombres -- @samp{#(2 . 1)} par exemple -- spécifiant le
+Une paire de nombres -- @samp{#(2 . 1)} par exemple -- spécifiant le
décalage de la marque, en abscisse et en ordonnée, par rapport au point
-de référence.
+de référence. Des valeurs positives décalent vers la droite ou le
+haut, des valeurs négatives vers la gauche ou le bas ; des valeurs à
+zéro centrent la marque sur le point de référence. Le décalage
+s'exprime en espace de portée.
@item nom-grob
-le type d'objet à annoter -- @samp{#'Flag} par exemple. Lorsque cet
+Le type d'objet à annoter -- @samp{#'Flag} par exemple. Lorsque cet
élément est spécifié, c'est l'objet en question qui servira de point de
référence, même s'il trouve son origine non pas directement dans
l'élément @var{musique} mais dans un objet en résultant. Son absence ou
instant précis. L'argument @var{nom-grob} est alors obligatoire pour
sélectionner le type d'objet affecté -- @samp{#'TimeSignature} par
exemple.
-@end table
-Tout comme pour la commande @code{\tweak}, lorsqu'un @code{\footnote}
-s'applique à un événement rattaché ou à une articulation, il devra être
-précédé d'un @code{-} de telle sorte que l'analyseur syntaxique en
-attache le résultat à la note ou au silence précédant.
+@end table
+@subsubsubheading Notes de bas de page événementielles
+@c VO Event-based footnotes
-@node Notes de bas de page automatiques
-@unnumberedsubsubsec Notes de bas de page automatiques
-@translationof Automatic footnotes
+@cindex événementielle, note de bas de page
-@cindex note de bas de page automatique
-@cindex bas de page, note automatique
+Le moyen le plus simple d'annoter un événement est :
-@funindex \footnote
-@funindex footnote
+@example
+\footnote @var{décalage} @var{annotation} @var{musique}
+@end example
-La commande @code{\footnote} permet de générer automatiquement des notes
-de bas de page. Elle requiert quatre arguments : la position
-@samp{(x . y)} de l'appel de note, le @var{nom-grob} optionnel
-spécifiant l'objet de rendu auquel s'applique le commentaire,
-l'@var{annotation} qui apparaîtra au bas de la page, et enfin la
-@var{musique} à laquelle se rapporte l'annotation.
+Ce type de note de bas de page s'attache à un objet de rendu généré par
+l'événement correspondant à @var{musique}.
@c KEEP LY
-@lilypond[verbatim,quote,ragged-right,papersize=a8]
+@lilypond[quote,verbatim,papersize=a8landscape]
\book {
\header { tagline = ##f }
- \relative c' {
- \footnote #'(0.5 . -2)
- \markup { La première note }
- a'4 b8
- \footnote #'(0.5 . 1) #'Flag
- \markup { La troisième note }
- e\noBeam c4 d4
+ \relative c'' {
+ a4_\footnote #'(0 . -1) "Une liaison arbitrairement en dessous" (
+ b8^\footnote #'(1 . 0.5) "Une ligature manuelle forcée en haut" [
+ b8 ]
+ c4 )
+ c-\footnote #'(1 . 1) "Tenuto" --
}
}
@end lilypond
-L'annotation d'un accord suit la même règle :
+Les appels de note peuvent être personnalisés, et le trait reliant
+l'objet à l'appel supprimé :
@c KEEP LY
-@lilypond[verbatim,quote,ragged-right,papersize=a8]
+@lilypond[quote,verbatim,papersize=a8landscape]
\book {
\header { tagline = ##f }
\relative c' {
- <
- \footnote #'(1 . -1.25) "Voici un do" c
- \footnote #'(2 . -0.25) \markup { \italic "Un mi bémol" } es
- \footnote #'(2 . 3) \markup { \bold "Ceci est un sol" } g
- >1
+ \footnote "*" #'(0.5 . -2) \markup { \italic "* La première note" }
+ a'4 b8
+ \footnote \markup { \super "$" } #'(0.5 . 1)
+ \markup { \super "$" \italic " La deuxième note" }
+ e c4
+ \once \override Score.FootnoteItem #'annotation-line = ##f
+ b-\footnote \markup \tiny "+" #'(0.1 . 0.1)
+ \markup { \super "+" \italic " Éditorial" } \p
}
}
@end lilypond
-@warning{Lorsque plusieurs notes de bas de page se rapportent à un même
-empilement vertical, les notes apparaîtront dans l'ordre vertical des
-appels, autrement dit celui positionné le plus haut en premier, et ainsi
-de suite.}
+D'autres exemples de personnalisation des appels de note sont donnés à
+la rubrique @ref{Notes de bas de page dans du texte indépendant}.
-Voici quelques exemples d'objets annotés automatiquement. Vous pouvez
-constater l'agencement des annotations correspondantes avec le copyright
-et le pied de page.
+L'annotation d'un accord dans sa globalité n'est pas réalisable de cette
+manière dans la mesure où un accord ne génère pas d'événement en dehors
+de ses constituants. Les notes qui le composent peuvent cependant faire
+l'objet d'une annotation.
-@lilypond[verbatim,quote,ragged-right,papersize=a8]
+Lorsque la note de bas de page se réfère à un objet de rendu résultant
+d'un événement -- @code{Accidental} ou @code{Stem} découlent d'un
+@code{NoteHead} --, l'argument additionnel @var{nom-grob} est requis
+avant le texte de l'annotation :
+
+@c KEEP LY
+@lilypond[quote,verbatim,papersize=a8landscape]
\book {
- \header { copyright = \markup { "Copyright 1970" } }
- \relative c' {
- a'4-\footnote #'(-3 . 0) \markup { \bold Forte } \f
- -\footnote #'(0 . 1.5) \markup { A slur } (
- b8)-\footnote #'(0 . -2) \markup { Beam } [ e]
- \footnote #'(1 . -1) #'Stem
- \markup { \teeny { This is a stem } }
- c4
- \footnote #'(0 . 0.5) #'AccidentalCautionary
- \markup \italic { A cautionary accidental }
- \footnote #'(1 . 1) "The note itself"
- dis?4-\footnote #'(0.5 . -0.5) \markup \italic { Slow Down }
- _"rit."
+ \header { tagline = ##f }
+ \relative c'' {
+ % footnotes may be added to chord constituents
+ < \footnote #'(-1 . -3) #'Accidental "Un autre bémol" aes
+ c
+ \footnote #'(-1 . 0.5) #'Accidental "Un bémol" ees
+ >2
+ \footnote #'(-1 . 2) #'Stem "Une hampe" ees2
}
}
@end lilypond
-Une note de bas de page affectant un @code{\markup} de haut niveau
-s'introduit par la commande @code{\auto-footnote} :
+@warning{Lorsque plusieurs notes de bas de page se rapportent à un même
+empilement vertical, elles sont numérotées et apparaîtront selon
+l'ordre vertical des éléments présentés, autrement dit celui positionné
+le plus haut en premier, non dans leur ordre d'apparition dans le
+fichier source.}
+
+@subsubsubheading Notes de bas de page temporelles
+@c VO Time-based footnotes
+
+@cindex temporelle, note de bas de page
+
+Les objets de rendu tels que changement de clef ou d'armure tirent leur
+origine dans la modification d'une propriété plutôt que d'un véritable
+événement. D'autres, comme les barres ou numéros de mesure, dépendent
+directement de la temporisation. C'est la raison pour laquelle de tels
+objets doivent s'annoter en fonction de leur survenance au fil de la
+musique. Les notes de bas de page temporelles sont la solution à
+privilégier lorsqu'il s'agit d'annoter les hampes ou ligature affectant
+des accords : bien qu'une telle fonctionnalité puisse s'appliquer à l'un
+des événements constituant l'accord, rien ne laisse présager lequel
+serait le plus adéquat.
+
+Une note de bas de page temporelle s'introduit de la même manière qu'une
+note événementielle, à ceci près que la mention @code{\default}
+remplacera l'argument @var{musique} qui indique l'événement à annoter.
+En matière de note de bas de page temporelle, l'objet de rendu considéré
+devrait toujours être mentionné explicitement, de telle sorte qu'il n'y
+ait pas d'erreur quant au positionnement de l'appel de note.
-@lilypond[verbatim,quote,ragged-right,papersize=a8]
+@c KEEP LY
+@lilypond[quote,verbatim,papersize=a8landscape]
\book {
\header { tagline = ##f }
- \markup { \auto-footnote "A simple tune" \italic "By me" }
- \relative c' {
- a'4 b8 e c4 d
+ \relative c'' {
+ r1 |
+ \footnote #'(-0.5 . -1) #'TimeSignature "Changement de métrique" \default
+ \time 3/4
+ \footnote #'(1 . -1) #'Stem "Hampe de l'accord" \default
+ <c e g>4 q q
+ \footnote #'(-0.5 . 1) #'BarLine "Barre de mesure" \default
+ q q
+ \footnote #'(0.5 . -1) #'KeySignature "Changement d'armure" \default
+ \key c\minor
+ q
}
}
@end lilypond
-@node Notes de bas de page manuelles
-@unnumberedsubsubsec Notes de bas de page manuelles
-@translationof Manual footnotes
+@node Notes de bas de page dans du texte indépendant
+@unnumberedsubsubsec Notes de bas de page dans du texte indépendant
+@translationof Footnotes in stand-alone text
-@cindex note de bas de page manuelle
-@cindex bas de page, note manuelle
+@cindex texte indépendant et note de bas de page
-LilyPond permet aussi de créer des notes de bas de page manuelles :
-la commande @code{\footnote} prend alors un argument supplémentaire :
-la @var{marque}, qui contient l'appel qui s'attache à la note ou à
-l'objet référencé. Contrairement aux notes de bas de page automatiques,
-l'annotation en bas de page ne sera pas précédée de la @var{marque} ;
-l'indicateur visuel est laissé à l'appréciation de l'utilisateur.
-LilyPond ne s'attache ici qu'à faire apparaître l'annotation au bas de
-la même page.
+De telles notes de bas de page affectent les @emph{markup} extérieurs
+aux expressions musicales. Il n'est pas nécessaire en pareil cas
+d'indiquer un point de référence par un trait ; l'appel de note vient
+juste s'accoler au @emph{markup} qui fait l'objet de l'annotation. Les
+appels de note peuvent être gérés automatiquement, auquel cas ils seront
+numériques, ou bien manuellement en fournissant un indicateur
+particulier.
-La commande @code{\footnote} s'utilise de la même manière que dans le
-cas de notes automatiques.
+Les notes de bas de page concernant du texte indépendant se gèrent
+différemment selon qu'elles sont automatiques ou manuelles.
-@lilypond[verbatim,quote,ragged-right,papersize=a8]
-\book {
- \header { tagline = ##f }
- \relative c' {
- \footnote
- "1" #'(0.5 . -2)
- \markup { \italic "1. The first note" }
- a'4
- b8
- \footnote
- \markup { \bold "2" } #'(0.5 . 1)
- "2. The second note"
- e
- c4
- d-\footnote "3" #'(0.5 . -1) "3. Piano" \p
- }
-}
-@end lilypond
-L'annotation d'un accord suit la même règle :
+@subsubsubheading Notes de bas de page automatiques dans du texte
+@c VO Footnotes in stand-alone text with automatic marks
+
+La syntaxe consacrée dans le cas d'une gestion automatique des appels
+de note est :
+
+@example
+\markup @{ ... \auto-footnote @var{texte} @var{annotation} ... @}
+@end example
+
+Dont les éléments sont :
+
+@table @var
+
+@item texte
+le @emph{markup} ou la chaîne de caractères sur lequel porte
+l'annotation ;
+
+@item annotation
+un @emph{markup} ou une chaîne de caractères constituant le texte de
+l'annotation qui sera reportée en bas de page.
+
+@end table
+
+Par exemple :
@lilypond[verbatim,quote,ragged-right,papersize=a8]
\book {
\header { tagline = ##f }
+ \markup {
+ "A simple"
+ \auto-footnote "tune" \italic " By me"
+ "is shown below. It is a"
+ \auto-footnote "recent" \italic " Aug 2012"
+ "composition."
+ }
\relative c' {
- <
- \footnote "1" #'(1 . -1.25) "1. C" c
- \footnote
- \markup { \bold "b" } #'(2 . -0.25) "b. E-flat" es
- \footnote "3" #'(2 . 3) \markup { \italic "iii. G" } g
- >1
+ a'4 b8 e c4 d
}
}
@end lilypond
-@warning{Lorsque plusieurs notes de bas de page se rapportent à un même
-empilement vertical, les notes apparaîtront dans l'ordre vertical des
-appels, autrement dit celui positionné le plus haut en premier, et ainsi
-de suite.}
-Voici quelques exemples d'objets annotés manuellement. Vous pouvez
-constater l'agencement des annotations correspondantes avec le copyright
-et le pied de page.
+@subsubsubheading Notes de bas de page personnalisées dans du texte
+@c VO Footnotes in stand-alone text with custom marks
+
+La syntaxe consacrée dans le cas d'une gestion personnalisée des appels
+de note est :
+
+@example
+\markup @{ ... \footnote @var{appel} @var{annotation} ... @}
+@end example
+
+Dont les éléments sont :
+
+@table @var
+
+@item appel
+un @emph{markup} ou une chaîne de caractères représentant l'appel de
+note affecté à ce point de référence. Notez bien que cette marque ne
+sera @strong{pas} reproduite automatiquement avant le texte proprement
+dit de l'annotation.
+
+@item annotation
+un @emph{markup} ou une chaîne de caractères constituant le texte de
+l'annotation qui sera reportée en bas de page, précédé de l'@var{appel}.
+
+@end table
+
+N'importe quel caractère simple tel que @code{*} ou @code{+} peut
+s'utiliser en tant qu'appel de note, comme nous l'avons vu à la rubrique
+@ref{Notes de bas de page dans une expression musicale}. D'autres
+caractères particuliers sont accessibles sous forme de raccourci -- voir
+la rubrique @ref{Équivalents ASCII} :
@lilypond[verbatim,quote,ragged-right,papersize=a8]
\book {
+ \paper { #(include-special-characters) }
\header { tagline = ##f }
+ \markup {
+ "A simple tune"
+ \footnote "*" \italic "* By me"
+ "is shown below. It is a recent"
+ \footnote \super † \concat {
+ \super † \italic " Aug 2012"
+ }
+ "composition."
+ }
\relative c' {
- a'4-\footnote
- \markup { \teeny 1 } #'(-3 . 0)
- \markup { 1. \bold Forte } \f
- -\footnote
- \markup { \teeny b } #'(0 . 1.5)
- \markup { b. A slur } (
- b8)-\footnote
- \markup { \teeny 3 } #'(0 . -2)
- \markup { 3. Beam } [
- e]
- \footnote
- \markup { 4 } #'(1 . -1) #'Stem
- \markup { \bold 4. { This is a stem } }
- c4
- \footnote
- \markup \concat \teeny { "sharp (v)" }
- #'(0 . 0.5) #'AccidentalCautionary
- \markup \italic { v. A cautionary accidental }
- dis?4-\footnote
- \markup \concat \teeny { "a" } #'(0.5 . -0.5)
- \markup \italic { a. Slow Down } _"rit."
- \footnote
- \markup { \teeny \musicglyph #"rests.4" }
- #'(1.5 . -0.25)
- \markup { \null } \breathe
+ a'4 b8 e c4 d
}
}
@end lilypond
-L'annotation manuelle d'un @code{\markup} de haut niveau répond à la
-syntaxe suivante :
+Un appel de note peut aussi se libeller sous la forme d'un point de code
+unicode -- voir la rubrique @ref{Unicode} :
@lilypond[verbatim,quote,ragged-right,papersize=a8]
\book {
\header { tagline = ##f }
- \markup { "A simple tune" \footnote "*" \italic "* By me" }
+ \markup {
+ "A simple tune"
+ \footnote \super \char##x00a7 \concat {
+ \super \char##x00a7 \italic " By me"
+ }
+ "is shown below. It is a recent"
+ \footnote \super \char##x00b6 \concat {
+ \super \char##x00b6 \italic " Aug 2012"
+ }
+ "composition."
+ }
\relative c' {
- a'4 b8 e c4 d4
+ a'4 b8 e c4 d
}
}
@end lilypond
Manuel de notation :
@ref{Commentaires textuels},
+@ref{Équivalents ASCII},
@ref{Indications textuelles},
@ref{Info-bulle},
-@ref{Mise en forme de la page},
-@ref{Titres et entêtes}.
+@ref{Liste des caractères spéciaux},
+@ref{Unicode}.
Référence des propriétés internes :
@rinternals{FootnoteEvent},
@rinternals{Footnote_engraver}.
@knownissues
-Un silence multimesures ne peut se voir affecter une note de bas de
-page.
-
Les notes de bas de page ne peuvent que s'empiler l'une au-dessus de
l'autre ; elles ne seront jamais présentées à la queue leu leu.
+
+Silence multimesures et ligatures automatiques ne peuvent se voir
+affecter de note de bas de page.
+
Les notes de bas de page peuvent générer des chevauchements quand elles
sont trop nombreuses sur une même page.
-Dès lors que vous utilisez une commande de note de bas de page manuelle,
-le bloc @code{\paper} doit contenir la mention
-@w{@code{footnote-auto-number = ##f}}.
-
@node Référencement des numéros de page
@subsection Référencement des numéros de page
fichier principal ; leur argument doit donc comporter le chemin
relativement au fichier principal et non par rapport au fichier dans
lequel cette inclusion est mentionnée. Vous pouvez toutefois influer
-sur ce comportement à l'aide de l'option @w{@code{-drelative-includes}}
-en ligne de commande ou en ajoutant une clause
-@code{#(ly:set-option 'relative-includes #t)} en tête du fichier
-principal. Une fois @code{relative-include} activé, le chemin à suivre
-pour chacune des commandes @code{\include} sera pris relativement au
-fichier qui la contient. Cette option est vouée à être activée par
+sur ce comportement de manière globale à l'aide de l'option
+@w{@code{-drelative-includes}} en ligne de commande ou en ajoutant une
+clause @code{#(ly:set-option 'relative-includes #t)} en tête du fichier
+principal.
+
+Lorsque @code{relative-include} est valorisé à @code{#t}, le chemin à
+suivre pour chacune des commandes @code{\include} sera pris relativement
+au fichier qui la contient. Cette option est vouée à être activée par
défaut dans une future version de LilyPond.
+Selon l'endroit où @code{relative-includes} est valorisé à @code{#t} ou
+@code{#f}, la commande @code{\include} permettra d'incorporer des
+fichiers contenus dans l'arborescence du répertoire principal et des
+fichiers situés ailleurs. Si, par exemple, une biblothèque générale
+libA a été créée pour utiliser des sous-fichiers à l'aide de
+d'inclusions dans un fichier catalogue, les clauses @code{\include}
+devront être précédées d'un@code{#(ly:set-option #relative-includes #t)}
+de telle sorte qu'elles soient interprétées correctement lorsque
+rapatriées dans le fichier @file{.ly} principal. Examinons cela dans
+les faits :
+
+@example
+libA/
+ libA.ly
+ A1.ly
+ A2.ly
+ ...
+@end example
+
+@noindent
+puis le fichier catalogue, @code{libA.ly}, qui contient
+
+@example
+#(ly:set-option 'relative-includes #t)
+\include "A1.ly"
+\include "A2.ly"
+...
+% retour au réglage par défaut
+#(ly:set-option 'relative-includes #f)
+@end example
+
+Tout fichier @code{.ly} peut désormais consulter l'intégralité de cette
+bibliothèque grâce à un simple
+
+@example
+\include "~/libA/libA.ly"
+@end example
+
+Un positionnement judicieux des commutateurs permet de gérer des
+structures de fichiers plus complexes.
+
Vous pouvez inclure des fichiers dont vous spécifierez le chemin d'accès
sur la ligne de commande au moment de lancer la compilation. L'appel à
ces fichiers ne mentionnera alors que leur nom. Par exemple, si vous
alors inclus :
@itemize
-@item articulations (lié, staccato, etc.),
+@item articulations (lié, staccato, etc.),
@item trilles et groupettos,
@item rallentando et accelerando.
@end itemize
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+
@ignore
- Translation of GIT committish: 952705bbbb000581a13836e6a733df04511e93c5
+ Translation of GIT committish: f199e875f7a7beb0afd17eae2038819baab767ff
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
instruments à clavier, notamment ces croisements.
Certaines particularités de la notation pour claviers sont abordées dans
-d'autres chapitres@tie{}:
+d'autres chapitres :
@itemize
à ce sujet @ref{Nuances}.
@item
-Les indications de doigté sont abrodées dans @ref{Doigtés}.
+Les indications de doigté sont abordées dans @ref{Doigtés}.
@item
Les indications en matière de pédalier d'orgue sont traitées comme
abordé au chapitre @ref{Arpèges}.
@item
-Une description des indications de tremolo est disponible au
+Une description des indications de trémolo est disponible au
chapitre @ref{Répétitions en trémolo}.
@item
portées -- voir @ref{Conservation d'un contexte} à ce propos.
Pour ligaturer automatiquement des notes entre deux portées, procédez
-ainsi@tie{}:
+ainsi :
@lilypond[verbatim,quote]
\new PianoStaff <<
@cindex changement de portée et collision
@cindex collision et changement de portée
-Une voix qui change de portée peut entraîner des collisions@tie{}:
+Une voix qui change de portée peut entraîner des collisions :
@lilypond[verbatim,quote]
\new PianoStaff <<
@funindex PianoStaff
Les voix peuvent passer automatiquement d'une portée à l'autre, au moyen
-de la syntaxe suivante@tie{}:
+de la syntaxe suivante :
@example
\autochange @dots{}@var{musique}@dots{}
@noindent
Deux portées seront alors créées au sein du contexte @code{PianoStaff},
nommées respectivement @code{"up"} et @code{"down"}. La portée du bas
-sera par défaut en clé de fa. La commande @code{\autochange} bascule
+sera par défaut en clef de fa. La commande @code{\autochange} bascule
les notes d'une portée à l'autre en fonction de leur hauteur (le do du
milieu servant de pivot), et place les silences en fonction des notes
-qui les suivront. Ainsi@tie{}:
+qui les suivront. Ainsi :
@lilypond[quote,verbatim]
\new PianoStaff {
@code{\relative} @strong{après} @code{\autochange}.
Lorsque des contrôles particuliers doivent s'appliquer aux portées,
-mieux vaut les nommer explicitement -- attention@tie{}: sous peine
+mieux vaut les nommer explicitement -- attention : sous peine
d'effet indésirable quant au résultat, la portée supérieure doit
-s'appeler @code{"up"} et l'inférieure @code{"down"}@tie{}; @emph{ceci
+s'appeler @code{"up"} et l'inférieure @code{"down"} ; @emph{ceci
est à notre connaissance le seul cas où ces noms de variable sont
figés}. Cette procédure sert, entre autres, à indiquer l'armure sur la
-portée inférieure@tie{}:
+portée inférieure :
@c Keep Ly needed, otherwise 'up' and 'down' get
@c incorrectly translated in verbatim output
l'endroit le plus opportun. Pour un résultat de meilleure qualité, il
vaut mieux indiquer soi-même ces changements.
-Un accord ne peut se répartir sur plusieurs portées@tie{}; sa portée
+Un accord ne peut se répartir sur plusieurs portées ; sa portée
d'affectation sera déterminée par la première hauteur mentionnée dans la
construction de cet accord.
Lorsqu'une voix change de portée, il est possible d'imprimer
automatiquement une ligne reliant les notes, en faisant appel à la
-commande @code{\showStaffSwitch}@tie{}:
+commande @code{\showStaffSwitch} :
@lilypond[quote,verbatim,relative=1]
\new PianoStaff <<
@lilypondfile[verbatim,quote]
{cross-staff-stems.ly}
+Il n'est pas possible à l'heure actuelle, en raison de la manière
+dont il a été implémenté, de spécifier ce graveur en le mettant entre
+guillements ; il faut le mentionner en faisant précéder son nom d'un
+symbole @emph{hash} (un @code{#}).
+
@snippets
@lilypondfile[verbatim,quote,texidoc,doctitle]
{indicating-cross-staff-chords-with-arpeggio-bracket.ly}
@subsection Piano
@translationof Piano
-Ce chapitre traîte des aspects de la notation directement liés au piano.
+Ce chapitre traite des aspects de la notation directement liés au piano.
@menu
* Pédales de piano::
@funindex treCorde
Le piano possède deux pédales, parfois trois, permettant de modifier
-l'émission du son@tie{}: une pédale de @notation{tenue}
-(@emph{sustain}), une pédale de @notation{sourdine} (@emph{una corda} ou
-@emph{U.C.}) et une pédale @notation{tonale} (@emph{sostenuto} ou
-@emph{sos.}). La pédale @emph{sustain} se rencontre aussi sur les
-vibraphones et celestas.
+l'émission du son : une pédale de @notation{tenue} (@emph{sustain}), une
+pédale de @notation{sourdine} (@emph{una corda} ou @emph{U.C.}) et une
+pédale @notation{tonale} (@emph{sostenuto} ou @emph{sos.}). La pédale
+@emph{sustain} se rencontre aussi sur les vibraphones et celestas.
@lilypond[quote,verbatim,relative=2]
c4\sustainOn d e g
@funindex text
Trois styles sont à votre disposition pour imprimer les indications de
-pédale@tie{}: sous forme de texte, de crochet, ou une combinaison des
+pédale : sous forme de texte, de crochet, ou une combinaison des
deux. @code{text} est le style de notation par défaut pour les pédales
-de tenue ou de sourdine --- le traditionnel @q{*Ped.}. La pédale
+de tenue ou de sourdine --- le traditionnel @qq{*Ped.}. La pédale
tonale, en revanche, utilise @code{mixed} par défaut.
@lilypond[quote,verbatim,relative=2]
@end lilypond
Le placement des commandes de pédale correspond au mouvement de la
-pédale de tenue pendant le jeu. Garder une pédale enclanchée jusqu'à la
+pédale de tenue pendant le jeu. Garder une pédale enclenchée jusqu'à la
barre finale s'obtient tout simplement en omettant la commande de
relâcher.
@subsection Harpe
@translationof Harp
-This section discusses notation issues that are unique to the harp.
+Cette partie s'intéresse aux particularités en matière de notation pour
+la harpe.
@menu
* Généralités sur la harpe::
@cindex harpes
@cindex bisbigliando
-Certaines caractéritiques de la musique pour harpes sont abordées dans
-d'autres chapitres, telles que@tie{}:
+Certaines caractéristiques de la musique pour harpes sont abordées dans
+d'autres chapitres, tels que :
@itemize
@item Les harmoniques naturelles sont présentées dans @ref{Harmoniques}.
-@item L'interprétation des arpeggios est abrodée dans @ref{Arpèges}.
+@item L'interprétation des arpeggios est abordée dans @ref{Arpèges}.
@end itemize
pédale. De gauche à droite, elles correspondent aux notes ré, do, si,
et mi, fa, sol, la pour la grande harpe. Les trois premières pédales
sont réservées au pied gauche, les quatre dernières au pied droit. Leur
-position peut être indiquée par une marque textuelle@tie{}:
+position peut être indiquée par une marque textuelle :
@lilypond[quote,verbatim,relative=2]
\textLengthOn
[ C \natural ]}
@end lilypond
-ou bien sous forme de diagrammes@tie{}:
+ou bien sous forme de diagramme :
@lilypond[quote,verbatim,relative=2]
\textLengthOn
cis1_\markup { \harp-pedal #"^v-|vv-^" }
c!1_\markup { \harp-pedal #"^o--|vv-^" }
@end lilypond
-bémol si la pédale est relâchée (ou en haut), bécarre si elle est
+
+Bémol si la pédale est relâchée (ou en haut), bécarre si elle est
bloquée sur le cran du milieu, et dièse si elle est tout à fait
enfoncée. La commande @code{\harp-pedal} prend en argument une chaîne
de caractères, où @code{^} indique que la pédale est relâchée ou en haut
Manuel de notation :
@ref{Commentaires textuels},
@ref{Instrument Specific Markup}.
-
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+
@ignore
- Translation of GIT committish: 0512fcc5db9b050be664413ba0f79a3dcfc1028a
+ Translation of GIT committish: 049bdd90b5ae67fe463bf85e926c2eabf51acf74
+
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
espace auquel chaque élément prend un initiale capitalisée (p. ex.
@code{LightSlateBlue}). Il peut aussi s'exprimer sous la forme d'une
suite de mots, auquel cas les initiales ne sont pas capitalisées
-(p. ex. @code{light slate blue}).
+(par ex. @code{light slate blue}).
Le @emph{gris} accepte aussi bien l'orthographe @qq{grey} que
-@qq{gray} (p. ex. @code{DarkSlateGray}).
+@qq{gray} (par ex. @code{DarkSlateGray}).
Certains noms peuvent prendre un suffixe numérique, comme
@code{LightSalmon4}.
@cindex talon
Voici la liste exhaustive des symboles prédéfinis et que vous pouvez
-attacher à une note (p. ex. @code{c\accent}) :
+attacher à une note (par ex. @code{c\accent}) :
@c Articulations and ornamentations
@c Fingering instructions (for "thumb")
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+
@ignore
- Translation of GIT committish: 5f722f1688eff7436789f8ca011205bdb16c04b7
+ Translation of GIT committish: 049bdd90b5ae67fe463bf85e926c2eabf51acf74
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: 8afb2adf0bab372f845ff3eae30e1e950b5c63ca
+ Translation of GIT committish: f199e875f7a7beb0afd17eae2038819baab767ff
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@ref{Initialisation de nouvelles portées}.
@item Le rendu MIDI des percussions fait l'objet d'une rubrique
-dédiée@tie{}: @ref{MIDI et percussions}.
+dédiée : @ref{MIDI et percussions}.
@end itemize
@code{\drummode}, qui est l'équivalent du mode standard utilisé pour les
notes à hauteur déterminée. Le moyen plus simple pour saisir une partie
de percussion est d'utiliser la commande @code{\drums}, qui crée un
-contexte spécifique@tie{}:
+contexte spécifique :
@lilypond[quote,verbatim]
\drums {
Notez bien que l'utilisation de hauteurs (comme un @code{cis4}) dans un
contexte @code{DrumStaff} déclenchera immanquablement une erreur. Un
contexte @code{DrumStaff} fait automatiquement appel à une clef
-spécifique@tie{}; vous pouvez la spécifier explicitement ou utiliser une
+spécifique ; vous pouvez la spécifier explicitement ou utiliser une
autre clef.
@lilypond[quote,ragged-right,verbatim]
@end lilypond
Certains instruments à percussion connaissent quelques problèmes quant à
-leur prise en charge au niveau de la génération de fichiers MIDI@tie{};
+leur prise en charge au niveau de la génération de fichiers MIDI ;
de plus amples informations sont disponibles à la rubrique
@ref{MIDI et percussions}.
@translationof Pitched percussion
Certains instruments à percussion émettent des hauteurs, comme le
-xylophone, le vibraphone ou les timbales@tie{}; ils utilisent donc des
+xylophone, le vibraphone ou les timbales ; ils utilisent donc des
portées classiques. Cette possibilité est abordée dans d'autres parties
du manuel.
L'exemple ci-dessus montre une notation polyphonique détaillée. La
notation polyphonique abrégée peut être employée -- voir la rubrique
-@rlearning{J'entends des Voix} -- comme ici@tie{}:
+@rlearning{J'entends des Voix} -- comme ici :
@lilypond[quote,verbatim]
\new DrumStaff <<
On peut choisir d'autres mises en forme si l'on définit la propriété
@code{drumStyleTable} dans le contexte @code{DrumVoice}.
-Quelques variables prédéfinies sont disponibles@tie{}:
+Quelques variables prédéfinies sont disponibles :
@c TODO: decide what to do about this table. (ie verbatim or not)
@table @code
cb hc bd sn ss tomh tommh tomml toml tomfh tomfl s16 }
\score {
<< \new DrumStaff \with {
- \remove Bar_engraver
- \remove Time_signature_engraver
+ \remove "Bar_engraver"
+ \remove "Time_signature_engraver"
\override Stem #'transparent = ##t
\override Flag #'transparent = ##t
\override Stem #'Y-extent = ##f
Le plan de la batterie peut inclure jusqu'à six toms différents. Bien
sûr, vous n'êtes pas obligé de tous les utiliser si la musique en
-prévoit moins@tie{}; par exemple, les trois toms des lignes du milieu
+prévoit moins ; par exemple, les trois toms des lignes du milieu
sont @code{tommh}, @code{tomml}, et @code{tomfh}.
@item timbales-style
<<
\new DrumStaff \with {
- \remove Bar_engraver
- \remove Time_signature_engraver
+ \remove "Bar_engraver"
+ \remove "Time_signature_engraver"
\override Stem #'transparent = ##t
\override Flag #'transparent = ##t
\override Stem #'Y-extent = ##f
<<
\new DrumStaff \with {
- \remove Bar_engraver
- \remove Time_signature_engraver
+ \remove "Bar_engraver"
+ \remove "Time_signature_engraver"
drumStyleTable = #congas-style
\override StaffSymbol #'line-count = #2
<<
\new DrumStaff \with {
- \remove Bar_engraver
- \remove Time_signature_engraver
+ \remove "Bar_engraver"
+ \remove "Time_signature_engraver"
\override StaffSymbol #'line-count = #2
drumStyleTable = #bongos-style
<<
\new DrumStaff \with{
- \remove Bar_engraver
+ \remove "Bar_engraver"
drumStyleTable = #percussion-style
\override StaffSymbol #'line-count = #1
- \remove Time_signature_engraver
+ \remove "Time_signature_engraver"
\override Stem #'transparent = ##t
\override Flag #'transparent = ##t
\override Stem #'Y-extent = ##f
@unnumberedsubsubsec Personnalisation de portées de percussion
@translationof Custom percussion staves
-Cependant, si aucun des styles prédéfinis ne vous convient, il est aisé
-de définir le vôtre en début de fichier.
+Dans l'éventualité où aucun des styles prédéfinis ne vous convient, il
+est aisé de définir le vôtre en début de fichier.
@lilypond[quote,verbatim]
#(define mydrums '(
Voici quelques exemples.
Deux @emph{woodblocks} saisis comme @code{wbh} (woodblock aigu) et
-@code{wbl} (woodblock grave)@tie{}:
+@code{wbl} (woodblock grave) :
@lilypond[quote,verbatim]
% These lines define the position of the woodblocks in the stave;
aussi définir la position des deux lignes de la portée -- voir à ce
sujet la rubrique @ref{Symbole de la portée}.
-Un tambourin, saisi avec un @qq{tamb}@tie{}:
+Un tambourin, saisi avec un @qq{tamb} :
@lilypond[quote,verbatim]
#(define mydrums '((tambourine default #t 0)))
}
@end lilypond
-Un peu de tam tam, abrégé @qq{tt}@tie{}:
+Un peu de tam tam, abrégé @qq{tt} :
@lilypond[quote,verbatim]
#(define mydrums '((tamtam default #t 0)))
@end lilypond
Deux cloches, une sonnaille -- @qq{cb} pour @emph{cowbell} -- et une
-cloche de quart -- @qq{rb} pour @emph{ridebell}@tie{}:
+cloche de quart -- @qq{rb} pour @emph{ridebell} :
@lilypond[quote,verbatim]
#(define mydrums '((ridebell default #t 3)
@end lilypond
Et pour finir un extrait tiré de @qq{L'histoire du Soldat} de
-Stravinsky@tie{}:
+Stravinsky :
@lilypond[quote,verbatim]
#(define mydrums '((bassdrum default #t 4)
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+
@ignore
- Translation of GIT committish: 952705bbbb000581a13836e6a733df04511e93c5
+ Translation of GIT committish: f199e875f7a7beb0afd17eae2038819baab767ff
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@lilypondfile[quote]{pitches-headword.ly}
Cette section détaille la façon d'indiquer la hauteur des notes, sous
-trois aspects : la saisie des hauteurs, la modification des
-hauteurs et les options de gravure.
+trois aspects : la saisie des hauteurs, la modification des hauteurs et
+les options de gravure.
@menu
* Écriture des hauteurs de note::
@end lilypond
L'une des conséquences de toutes ces règles est que la première note
-rencontrée dans un fragment balisé par @code{@w{\relative f}} sera
+rencontrée dans un fragment balisé par @code{\relative f} sera
interprétée tout comme si elle avait été saisie en mode absolu.
@seealso
@lilypondfile[verbatim,quote,texidoc,doctitle,ragged-right]
{hiding-accidentals-on-tied-notes-at-the-start-of-a-new-system.ly}
-@lilypondfile[verbatim,quote,texidoc, doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle]
{preventing-extra-naturals-from-being-automatically-added.ly}
@seealso
suédois, le catalan et l'espagnol.
@quotation
-@multitable {@code{nederlands}} {@b{semi-sharp}} {@b{semi-flat}} {@b{sesqui-sharp}} {@b{sesqui-flat}}
+@multitable {@code{nederlands}} {@b{semi-dièse}} {@b{semi-bémol}} {@b{sesqui-dièse}} {@b{sesqui-bémol}}
@headitem Langue
@tab semi-dièse @tab semi-bémol @tab sesqui-dièse @tab sesqui-bémol
@item @code{nederlands}
sera pas transformée.}
-@subsubheading Transposition modale
-@translationof Modal transposition
+@subsubsubheading Transposition modale
+@c VO Modal transposition
@cindex modale, transposition
@end lilypond
-@subsubheading Inversion modale
-@translationof Modal inversion
+@subsubsubheading Inversion modale
+@c VO Modal inversion
@cindex modale, inversion
@cindex chorale, clef de ténor
@cindex ténor, clef
-En ajoutant @code{_8} ou @code{^8} au nom de la clé, celle-ci est
+En ajoutant @code{_8} ou @code{^8} au nom de la clef, celle-ci est
transposée à l'octave respectivement inférieure ou supérieure, et
@code{_15} ou @code{^15} la transpose de deux octaves. D'autres nombres
entiers peuvent être utilisés selon les besoins. L'argument
Il existe d'autres clefs, destinées à un usage particulier. Voir à ce
sujet @ref{Notations anciennes}, @ref{Clefs anciennes},
-@ref{Clefs grégoriennes}, @ref{Tablatures par défaut} et @ref{Tablatures
-personnalisées}. La nécessité de recourir à d'autres clefs dans le cas
-où la partition comprend des petites notes est abordée au chapitre
-@ref{Mise en forme d'une citation} -- voir les fonctions @code{\cueClef}
-et @code{\cueDuringWithClef}.
+@ref{Clefs grégoriennes}, @ref{Tablatures par défaut} et
+@ref{Tablatures personnalisées}. La nécessité de recourir à d'autres
+clefs dans le cas où la partition comprend des petites notes est abordée
+au chapitre @ref{Mise en forme d'une citation} -- voir les fonctions
+@code{\cueClef} et @code{\cueDuringWithClef}.
@snippets
@lilypondfile[verbatim,quote,texidoc,doctitle]
c'est-à-dire au début de la portée. Elle peut varier en cours de
morceau.
-On définit ou modifie l'armure avec la commande @code{\key}
+On définit ou modifie l'armure avec la commande @code{\key} :
@example
\key @var{hauteur} @var{mode}
Cette règle est communément employée pour les partitions de piano au
XXe siècle. Très similaire à @code{modern} de par son comportement,
-elle s'en distingue en ce que les altérations tiennent compte des autre
+elle s'en distingue en ce que les altérations tiennent compte des autres
portées du contexte @code{GrandStaff} ou @code{PianoStaff}.
Cette règle s'applique par défaut dans un @code{GrandStaff} et dans un
@funindex neo-modern-voice-cautionary
-Cette règle est identique à @code{neo-modern-voice},
-mais les altérations de précaution sont imprimées
-soit entre parenthèses (par défaut), soit en plus petit.
+Cette règle est identique à @code{neo-modern-voice}, mais les
+altérations de précaution sont imprimées soit entre parenthèses (par
+défaut), soit en plus petit.
@lilypond[quote]
musicA = {
@cindex tessiture
@cindex amplitude
-L'@emph{ambitus} est l'amplitude des hauteurs d'une voix donnée dans une
-partition. Ce terme peut aussi désigner la tessiture qu'un instrument
-est capable d'atteindre. Souvent, cet @emph{ambitus} est imprimé au
+L'@notation{ambitus} est l'amplitude des hauteurs d'une voix donnée dans
+une partition. Ce terme peut aussi désigner la tessiture qu'un
+instrument est capable d'atteindre. Souvent, cet ambitus est imprimé au
début des partitions vocales, afin que les exécutants puissent voir au
premier coup d'œil s'ils sont en mesure de tenir la partie en question.
-Pour exprimer l'@emph{ambitus} d'une pièce, on indique avant la clef
-deux têtes de note représentant la hauteur la plus basse et la plus
-haute. Les éventuelles altérations accidentelles seront automatiquement
-ajoutées.
+Pour exprimer l'ambitus d'une pièce, on indique avant la clef deux têtes
+de note représentant la hauteur la plus basse et la plus haute. Les
+éventuelles altérations accidentelles seront automatiquement ajoutées.
@lilypond[verbatim,quote]
\layout {
@rinternals{ambitus-interface}.
@knownissues
-LilyPond ne gère pas les collisions entre plusieurs @emph{ambitus}
+LilyPond ne gère pas les collisions entre plusieurs ambitus
présents sur une même portée.
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+
@ignore
- Translation of GIT committish: 0512fcc5db9b050be664413ba0f79a3dcfc1028a
+ Translation of GIT committish: 049bdd90b5ae67fe463bf85e926c2eabf51acf74
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
c1
@end lilypond
-Et une répétition avec plusieurs alternatives :
+Et une répétition avec plusieurs alternatives :
@lilypond[verbatim,quote,relative=2]
\repeat volta 3 { c4 d e f | }
@funindex \partial
-Lorsqu'une reprise sans fins alternatives débute au milieu d'une mesure,
+Lorsqu'une reprise sans fin alternative débute au milieu d'une mesure,
elle devrait se terminer aussi au milieu d'une mesure, de telle sorte
que les mesures soient complètes. En pareil cas, les indications de
reprise ne constituent pas des barres de mesure à proprement parler ; il
@end lilypond
Dans certains cas, et tout particulièrement dans un contexte
-@code{\relative}, la fonction @code{\repeat unfold} ne revient pas à
+@code{\relative}, la fonction @code{\repeat unfold} ne revient pas à
écrire littéralement la même expression musicale plusieurs fois.
Ainsi :
@cindex tremolo, cross-staff
@cindex cross-staff tremolo
-
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+
@ignore
- Translation of GIT committish: 952705bbbb000581a13836e6a733df04511e93c5
+ Translation of GIT committish: 95b372c451ea1586db8db66d3d00334382e8e103
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@funindex \times
@funindex times
-Les nolets -- triolets, quintolets etc. -- sont obtenus en
+Les nolets -- triolets, quintolets, etc. -- sont obtenus en
multipliant toutes les durées d'une expression musicale par une
fraction.
La durée de l'@code{@var{expression_musicale}} sera multipliée par la
fraction. Le dénominateur de cette fraction sera imprimé au-dessus ou
au-dessous des notes, parfois avec un crochet. Le nolet le plus courant
-est le triolet, dans lequel 3 notes ont la durée de 2, et où les notes
-durent donc 2/3 de leur valeur écrite.
+est le triolet, dans lequel trois notes ont la durée de deux, et où les
+notes durent donc deux tiers de leur valeur écrite.
@lilypond[quote,verbatim,relative=2]
a2 \times 2/3 { b4 b b }
@cindex échelonnement des durées
@cindex durées, échelonnement
-La durée des notes, silences ou accords peu se modifier en leur
+La durée des notes, silences ou accords peut se modifier en lui
adjoignant une fraction @var{N/D}, donnant @qq{@code{*}@var{N/D}} -- ou
@qq{@code{*}@var{N}} si @var{D=1}. Ceci ne modifiera en rien
l'apparence des notes ou silences produits, mais affectera le
tenue est un moyen parmi d'autres pour prolonger la durée d'une note,
tout comme les points.}
-Une liaison de tenue s'indique au moyen d'un tilde @code{~}.
+Une liaison de tenue s'indique au moyen d'un tilde @code{~}.
@lilypond[quote,verbatim,relative=2]
a2 ~ a
@funindex laissezVibrer
Les liaisons @qq{Laissez vibrer} (@notation{L.v.}) sont utilisées pour
-le piano, la harpe, et certains instruments de percussion. Elles
+le piano, la harpe et certains instruments de percussion. Elles
indiquent à l'instrumentiste de laisser sonner la note ou l'accord au
lieu de l'étouffer. Elles s'indiquent de la manière suivante :
Dans le cas où une liaison est recouverte par d'autres éléments de la
portée, une adaptation des propriétés @var{whiteout} et @var{layer}
-permet d'obtenir une meilleur lisibilité.
+permet d'obtenir une meilleure lisibilité.
@lilypond[verbatim,quote,ragged-right,relative=2]
\override Tie #'layer = #-2
Les pauses d'une mesure complète, qui sont placées au centre de la
mesure, doivent être entrées comme des mesures de silence. Elles
peuvent être utilisées pour une seule mesure comme pour plusieurs, et
-leur utilisation est expliquée dans la section
+leur utilisation est expliquée à la rubrique
@ref{Silences valant une mesure}.
@cindex silence, spécification du positionnement vertical
@end lilypond
Un @code{R} qui s'étend sur une seule mesure s'imprime tantôt comme
-une pause, tantôt comme une brève -- ou @qq{bâton de pause} -- et
-sera centré sur la mesure quelle qu'en soit la métrique :
+une pause, tantôt comme une brève -- ou @qq{bâton de pause} -- qui
+sera centrée sur la mesure quelle qu'en soit la métrique :
@lilypond[quote,verbatim,relative=2]
\time 4/4
R2.^\fermataMarkup
@end lilypond
-@warning{C'est @code{MultiMeasureRestText} qui créera le texte, et
+@warning{C'est @code{MultiMeasureRestText} qui créera le texte,
non @code{TextScript}. Les commandes de dérogation ou de redéfinition
doivent s'adresser à l'objet concerné, comme vous pouvez le constater
dans l'exemple suivant.}
@cindex silences multimesure et doigtés
@knownissues
-Vous ne pouvez pas utiliser de doigtés (p. ex. @code{R1*10-4}) pour
+Vous ne pouvez pas utiliser de doigtés (par ex. @code{R1*10-4}) pour
positionner des nombres au dessus d'un silence multimesure, le numéro
-de doigt (4) risquant de chevaucher le nombre de mesures à compter (10).
+de doigt (4) risquant de chevaucher le nombre de mesures à compter (10).
@cindex condenser les silences
@cindex silences, condenser les
En plus de déterminer la métrique qui sera imprimée, la commande
@code{\time} réglera aussi les valeurs par défaut des propriétés
-@code{baseMoment}, @code{beatStructure} et @code{beamExceptions}.
-Les valeurs prédéterminées par défaut de ces différentes propriétés sont
-inscrites dans le fichier @file{scm/time-signature-settings.scm}. Vous
-pouvez les modifier de la manière suivante :
+@code{baseMoment}, @code{beatStructure} et @code{beamExceptions}
+correspondant à la métrique. Les valeurs prédéterminées par défaut de
+ces différentes propriétés sont inscrites dans le fichier
+@file{scm/time-signature-settings.scm}.
+
+La valeur par défaut de @code{beatStructure} peut se voir aménagée dès
+la commande @code{\time} à l'aide d'un premier argument :
+
+@lilypond[quote,verbatim]
+\score {
+ \new Staff {
+ \relative c' {
+ \time #'(2 2 3) 7/8
+ \repeat unfold 7 { c8 } |
+ \time #'(3 2 2) 7/8
+ \repeat unfold 7 { c8 } |
+ }
+ }
+}
+@end lilypond
+Les valeurs par défaut de toutes ces variables associées à la métrique,
+y compris @code{baseMoment} et @code{beamExceptions}, peuvent se définir
+en même temps. Ces valeurs peuvent se régler indépendamment pour
+différentes métriques. Les valeurs adaptées ne seront effectives qu'à
+partir du moment où interviendra une commande @code{\time} de la valeur
+de métrique correspondante :
+
@lilypond[quote,verbatim]
\score {
\relative c' {
@item
@code{@var{timeSignatureFraction}}, une fraction indiquant la
-métrique,
+métrique pour laquelle ces valeurs doivent s'appliquer,
@item
@code{@var{baseMomentFraction}}, une fraction comprenant les numérateur
}
@end lilypond
+Une autre méthode de modification de ces variables liées à la métrique,
+et qui évite sa réimpression au moment du changement, est indiquée à la
+rubrique @ref{Définition des règles de ligature automatique}.
+
@predefined
@code{\numericTimeSignature},
@code{\defaultTimeSignature}.
@rglosnamed{time signature,métrique}.
Manuel de notation :
+@ref{Définition des règles de ligature automatique},
@ref{Métriques anciennes},
@ref{Gestion du temps}.
+Installed Files:
+@file{scm/time-signature-settings.scm}.
+
Morceaux choisis :
@rlsrnamed{Rhythms,Rythme}.
@end example
@noindent
-où @var{durée} correspond à la valeur rythmique @strong{restante}
+où @var{durée} correspond à la valeur rythmique @strong{restant}
dans la mesure et @strong{avant} la première mesure complète :
@lilypond[quote,verbatim,relative=1]
Une cadence représente un fragment détaché de la notion de mesure, en
dépit des différentes commandes @code{\bar} qu'il pourra comporter.
-Ceci a pour conséquence que toute altération supplémentaire prarapport à
-l'armure devra être rappelée manuellement -- voir @ref{Altérations}.
+Ceci a pour conséquence que toute altération supplémentaire par rapport
+à l'armure devra être rappelée manuellement -- voir @ref{Altérations}.
@lilypond[verbatim,relative=2,quote]
c4 d e d
\bar "|"
@end lilypond
-L'instruction @code{\cadenzaOn} désactive les ligatures
-automatiques ; elles seront réactivées après un @code{\cadenzaOff}.
-Toutes les ligatures devront donc être indiquées de manière explicite
-tout au long de la cadence -- voir @ref{Barres de ligature manuelles}).
+L'instruction @code{\cadenzaOn} désactive les ligatures automatiques ;
+elles seront réactivées après un @code{\cadenzaOff}. Toutes les
+ligatures devront donc être indiquées de manière explicite tout au long
+de la cadence -- voir @ref{Barres de ligature manuelles}).
@lilypond[verbatim,relative=2,quote]
\repeat unfold 8 { c8 }
et échelonnement de la durée des notes.
-@subsubheading Métriques différentes et mesures d'égale longueur
-@translationof Different time signatures with equal-length measures
+@subsubsubheading Métriques différentes et mesures d'égale longueur
+@c VO Different time signatures with equal-length measures
Il suffit, pour obtenir cette forme de notation, de tout d'abord
affecter une même métrique aux différentes portées. Cette métrique sera
@end lilypond
-@subsubheading Métriques différentes et mesures de longueur inégale
-@translationof Different time signatures with unequal-length measures
+@subsubsubheading Métriques différentes et mesures de longueur inégale
+@c VO Different time signatures with unequal-length measures
Il arrive aussi que chaque portée ait sa propre métrique. Vous y
parviendrez en déplaçant le @code{Timing_translator} et le
@end lilypond
-@subsubheading Métriques complexes
-@translationof Compound time signatures
+@subsubsubheading Métriques complexes
+@c VO Compound time signatures
@cindex métrique composite
@cindex complexe, métrique
par le graveur @code{Completion_heads_engraver}. Il en va de la même
manière pour des silences ; le @code{Completion_rest_engraver} devra
alors remplacer le @code{Rest_engraver}. Dans l'exemple suivant, les
-notes ou silences qui dépassent de la mesure sont divisées et au besoin
-liées.
+notes ou silences qui dépassent de la mesure sont divisés et au besoin
+liés.
@lilypond[quote,verbatim,relative=1]
\new Voice \with {
{ c2. c8 d4 e f g a b c8 c2 b4 a g16 f4 e d c8. c2 r1*2 }
@end lilypond
-Ces graveurs divisent toutes les notes et silences qui sortent de la
+Ces graveurs divisent toutes les notes et silences qui débordent de la
mesure, et insèrent des liaisons de prolongation. Dans la pratique,
cette fonctionnalité permet de déboguer des partitions complexes :
si les mesures ne sont pas entièrement remplies, alors les liaisons de
}
}
\new Voice \with {
- \consists Pitch_squash_engraver
+ \consists "Pitch_squash_engraver"
} \relative c'' {
\improvisationOn
c4 c8 c c4 c8 c
@warning{Si des ligatures sont utilisées dans les paroles d'une chanson
(pour indiquer des mélismes), les ligatures automatiques doivent être
-désactivées, avec @code{\autoBeamOff}, et indiquées manuellement.@*
+désactivées, avec @code{@bs{}autoBeamOff}, et indiquées manuellement.@*
L'utilisation conjointe de @code{@bs{}partcombine} et de
@code{@bs{}autoBeamOff} peut produire des résultats quelque peu
surprenants ; ceci fait l'objet d'un exemple particulier à la
rubrique morceaux choisis.}
Des règles de dérogation au comportement automatique par défaut sont
-possibles ; voir
-@ref{Définition des règles de ligature automatique}.
+possibles ; voir @ref{Définition des règles de ligature automatique}.
@predefined
@code{\autoBeamOff},
@rinternals{unbreakable-spanner-interface}.
@knownissues
-Les propriétés d'un ligature sont déterminées @strong{dès le début} de
+Les propriétés d'une ligature sont déterminées @strong{dès le début} de
sa construction ; toute adaptation qui interviendrait avant sa
terminaison ne sera prise en compte qu'à l'occasion de la
@strong{prochaine} ligature.
@funindex \set
@funindex set
+Lorsque la fonction de ligature automatique est active, le
+positionnement des ligatures dépend des trois propriétés
+@code{baseMoment}, @code{beatStructure} et @code{beamExceptions}.
+Les valeurs par défaut de ces variables peuvent s'adapter, comme indiqué
+ci-après, ou bien carrément être modifiées -- voir @ref{Métrique}.
+
+Dès lors qu'une règle affectant @code{beamExceptions} est définie pour
+la métrique en vigueur, c'est cette règle qui servira à déterminer le
+placement des ligatures. En l'absence de règle affectant
+@code{beamExceptions} pour la métrique en vigueur, les ligatures seront
+déterminées par les réglages conjoints de @code{baseMoment} et
+@code{beatStructure}.
+
+@code{beamExceptions} dispose par défaut de règles pour les métriques le
+plus courantes ; il est donc impératif de les invalider pour gérer les
+ligatures automatiques à l'aide de @code{baseMoment} et
+@code{beatStructure}. Les règles de @code{beamExceptions} se
+désactivent par un
+
+@example
+\set Timing.beamExceptions = #'()
+@end example
+
+
+@subsubsubheading @i{Ligature basée sur @code{baseMoment} et @code{beatStructure}}
+@c VO Beaming based on baseMoment and beatStructure
+
Dans la plupart des cas, une ligature automatique se termine à la fin
d'une pulsation. Ce sont les propriétés de contexte @code{baseMoment}
et @code{beatStructure} qui détermineront là où prend fin la pulsation.
Scheme qui définit la longueur de chaque pulsation, prenant
@code{baseMoment} comme unité. L'unité de base (le @code{baseMoment})
correspond par défaut à l'inverse du dénominateur de la métrique.
-D'autre part, chaque unité de @code{baseMoment} constitue une seule pulsation.
+D'autre part, chaque unité de @code{baseMoment} constitue une seule
+pulsation.
@lilypond[quote,relative=2,verbatim]
\time 5/16
c16^"(3+2)" c c c c |
@end lilypond
+Dans le cas d'une mesure à 4/4, @code{beamExceptions} @strong{doit} être
+invalidé pour permettre à @code{beatStructure} de produire ses effets.
+La commande @code{\set Timing.beamExceptions = #'()} peut intervenir à
+tout moment, avant de déterminer les ligatures par @code{beatStructure}.
+
+@lilypond[quote,relative=2,verbatim]
+\time 4/4
+a8^"default" a a a a a a a
+
+\set Timing.baseMoment = #(ly:make-moment 1 4)
+\set Timing.beatStructure = #'(1 1 1 1)
+a8^"no change" a a a a a a a
+
+\set Timing.beamExceptions = #'()
+\set Timing.baseMoment = #(ly:make-moment 1 4)
+\set Timing.beatStructure = #'(1 1 1 1)
+a8^"changed" a a a a a a a
+@end lilypond
+
Les effets de règles de ligature peuvent être restreints à un contexte
particulier. En l'absence de règle particulière déterminée dans un
contexte de niveau inférieur, les règles définies au niveau directement
rangées par métrique et type de règle, sont répertoriées dans le
fichier @file{scm/time-signature-settings.scm}.
+
+@subsubsubheading @i{Ligature basée sur @code{beamExceptions}}
+@c VO Beaming based on beamExceptions
+
Les règles spécifiques autres que celles concernant la terminaison des
ligatures sont gérées par la propriété @code{beamExceptions}.
\repeat unfold 6 {a8}
@end lilypond
-Certaines partitions de la période romantique ou classique font
+Certaines partitions des périodes romantique ou classique font
apparaître des ligatures sur la moitié d'une mesure à 3/4 (ou à 3/8),
ce qui va à l'encontre de la règle établie -- comme le fait remarquer
Gould à la page 153 de son ouvrage -- puisque donne l'impression d'une
r4. a8 a a |
@end lilypond
-@i{@strong{Principes de la ligature automatique}}
+
+@subsubsubheading @i{@strong{Principes de la ligature automatique}}
+@c VO How automatic beaming works
Lorsqu'elle est activée, la gestion automatisée des ligatures est
directement liée aux propriétés @code{baseMoment}, @code{beatStructure}
{beam-endings-in-score-context.ly}
@seealso
+Manuel de notation :
+@ref{Métrique}.
+
Fichiers d'initialisation :
-@file{scm/beam-settings.scm}.
+@file{scm/time-signature-settings.scm}.
Morceaux choisis :
@rlsrnamed{Rhythms,Rythme}.
Vous pouvez adapter les règles de ligature par défaut pour une métrique
particulière de telle sorte que ces règles que vous aurez définies
soient toujours prises en compte. La modification des règles de
-ligature automatiques sont abordées au chapitre @ref{Métrique}.
+ligature automatiques est abordée au chapitre @ref{Métrique}.
@lilypond[quote,verbatim,relative=2]
<<
@emph{accelerando} indiqués par une ligature en soufflet, les notes
qui la composent doivent être regroupées dans une expression musicale
délimitée par des accolades, précédée de la commande
-@code{featherDurations}. Cette commande détermine le ratio entre les
+@code{\featherDurations}. Cette commande détermine le ratio entre les
durées des premières et dernières notes du groupe en question.
Les crochets indiquent l'étendue de la ligature et les accolades les
compose de trois commutateurs -- définis à @qq{vrai} (@code{#t}) ou
@qq{faux} (@code{#f}) -- pour spécifier si le numéro de mesure est
visible ou non. Les valeurs sont rangées dans l'ordre suivant :
-@code{visible en fin de ligne}, @code{visible en cours de ligne},
+@code{visible en fin de ligne}, @code{visible en cours de ligne} et
@code{visible en début de ligne}. Voici comment imprimer partout les
numéros de mesure :
@cindex vérification des limites de mesure
@cindex mesures, vérification des limites
+@cindex test de mesure
@funindex barCheckSynchronize
@funindex |
Il s'agit d'une fonction qui prend en arguments le repère en cours (un
entier) ainsi que le contexte en cours, et retournera un objet de type
@emph{markup}. Dans l'exemple qui suit, @code{markFormatter} est réglé
-pour une procédure type. Quelques mesures plus loin, son comportement
+pour une procédure type. Quelques mesures plus loin, son comportement
est modifié pour imprimer un repère encadré.
@lilypond[quote,verbatim,relative=2]
c1 \afterGrace d1 { c16[ d] } c1
@end lilypond
-Les petites notes se placent alors aux 3/4 de la durée de la note
-réelle. Cette fraction peut être changée en définissant
+Les petites notes se placent alors aux trois quarts de la durée de la
+note réelle. Cette fraction peut être changée en définissant
@code{afterGraceFraction}. Dans l'exemple suivant, vous pouvez observer
la différence entre le comportement par défaut, à 15/16 et enfin à la
moitié de la durée de base.
La synchronisation des petites notes se fait de façon parfois
surprenante, car les autres objets de la portée -- barre de mesure,
-armure, etc. -- sont eux aussi synchrones. Pensez-y lorsque vous
+armure, etc. -- sont eux aussi synchrones. Pensez-y lorsque vous
mêlez des portées comprenant des petites notes et d'autres sans :
@lilypond[quote,relative=2,verbatim]
Références des propriétés internes :
@rinternals{Timing_translator},
@rinternals{Score}
-
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+
@ignore
- Translation of GIT committish: 0512fcc5db9b050be664413ba0f79a3dcfc1028a
+ Translation of GIT committish: 95b372c451ea1586db8db66d3d00334382e8e103
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
occupation de l'espace, tant horizontalement que verticalement.
Les réglages qui influencent la mise en forme se placent dans deux blocs
-différents. Le bloc @w{@code{\paper @{@dots{}@}}} étudié à la rubrique
+différents. Le bloc @w{@code{\paper @{@dots{}@}}} étudié à la rubrique
@ref{Mise en forme de la page} contient les réglages applicables à
l'intégralité du document -- à toutes les partitions d'un ouvrage --
-tels que format du papier, impression ou non des numéros de page etc.
-Quant au bloc @w{@code{\layout @{@dots{}@}}}, qui fait l'objet de la
+tels que format du papier, impression ou non des numéros de page, etc.
+Quant au bloc @w{@code{\layout @{@dots{}@}}}, qui fait l'objet de la
rubrique @ref{Mise en forme de la partition}, il détermine la mise en
forme de la musique : le nombre de systèmes utilisés, l'espacement des
-regroupements de portées, etc.
+regroupements de portées, etc.
@menu
* Mise en forme de la page::
-- @ref{Format du papier et adaptation automatique}. Les variables du
bloc @code{\paper} chargées de la mise en page sont abordées plus loin
dans ce chapitre. Quant aux définitions relatives aux @emph{markups}
-des entête, pied de page et titrages, elles sont étudiées à la rubrique
+des entête, pied de page et titrage, elles sont étudiées à la rubrique
@ref{Titrages personnalisés}.
La plupart des variables gérant le papier ne sont fonctionnelles que
LilyPond génère par défaut, et en l'absence de mention explicite d'un
format de papier, un fichier imprimable au format A4. Vous pouvez
cependant utiliser un autre format à l'aide des deux fonctions
-@code{set-default-paper-size}, alors que @code{set-paper-size} se place
-à l'intérieur d'un bloc @code{\paper} :
+@code{set-default-paper-size} et @code{set-paper-size} qui, elle, se
+place à l'intérieur d'un bloc @code{\paper} :
@example
#(set-default-paper-size "quarto")
qui s'inscrit au sein d'un bloc @code{\paper}.
-
@noindent
La seule restriction à l'utilisation isolée de la fonction
@code{set-default-paper-size} est qu'elle doit intervenir avant le
À l'intérieur d'un bloc @code{\paper}, la fonction @code{set-paper-size}
doit intervenir avant toute autre variable. Les raisons à ceci sont
-abordées dans la rubrique @ref{Adaptation automatique au format}.
+abordées à la rubrique @ref{Adaptation automatique au format}.
Différents formats de papier sont définis dans le fichier
@file{scm/paper.scm}. Bien que vous puissiez y ajouter votre propre
@end example
Les unités peuvent s'exprimer aussi bien en @code{in} (pouces), qu'en
-@code{cm} (centimètres) ou en @code{mm} (millimètres).
+@code{cm} (centimètres) ou @code{mm} (millimètres).
@cindex papier, orientation
@cindex landscape, papier
@cindex à l'italienne, papier
Le fait d'ajouter l'argument @code{'landscape} à l'instruction
-stipulant le format du papier, permet d'obtenir une présentation à
+stipulant le format du papier permet d'obtenir une présentation à
l'italienne -- ou paysage si vous préférez -- et donc des lignes plus
longues.
#(set-default-paper-size "a6" 'landscape)
@end example
-C'est bien la feuille qui sera basculée, et non la musique.
+L'inversion des dimensions du papier sans pour autant basculer la
+présentation -- comme pour imprimer sur une carte postale ou créer un
+graphique destiné à inclusion -- s'obtient en ajoutant @samp{landscape}
+au nom du format de papier :
+
+@example
+#(set-default-paper-size "a6landscape")
+@end example
+
+Lorsque la taille du papier comporte explicitement @samp{landscape} ou
+@samp{portrait}, la présence d'un argument @code{'landscape} aura pour
+seul effet de modifier l'orientation de l'image et non les dimensions de
+la feuille.
@seealso
Manuel de notation :
Les valeurs par défaut de ces dimensionnements sont contenues dans le
fichier @file{ly/paper-defaults-init.ly} et utilisent les variables
-internes @code{top-margin-default}, @code{bottom-margin-default} etc.
+internes @code{top-margin-default}, @code{bottom-margin-default}, etc.
correspondant au format par défaut -- papier A4 -- pour lequel
@code{paper-height} est à @code{297\mm} et @code{paper-width} à
@code{210\mm}.
@code{@var{avant}-@var{après}-spacing}, où @code{@var{avant}} et
@code{@var{après}} représentent les éléments qui doivent être espacés.
La distance s'établit entre les points de référence des deux éléments
-concernés (voir la rubrique précédente pou plus de précision). Notez
+concernés (voir la rubrique précédente pour plus de précision). Notez
bien que, dans les règles de nommage des variables qui suivent, le terme
@code{markup} fait référence aussi bien à un @i{markup de titrage}
(@code{bookTitleMarkup} ou @code{scoreTitleMarkup}) qu'à un
@item line-width
@funindex line-width
-la longueur d'un système musical sans indentation et justifiée sur toute
+la longueur d'un système musical sans indentation et justifié sur toute
la largeur de la page. La valeur par défaut est égale à
@code{paper-width}, auquel sont retranchés @code{left-margin} et
@code{right-margin}. Lorsque vous définissez @code{line-width} sans
la marge entre le bord gauche de la feuille et le début de chaque
système. La valeur par défaut est de @code{10\mm} ; elle sera
ajustée selon le format du papier. Lorsque vous définissez
-@code{line-width} et @code{right-margin}, sans modifier la valeur de
+@code{line-width} et @code{right-margin} sans modifier la valeur de
@code{left-margin}, cette dernière sera alors égale à
@code{(paper-width @minus{} line-width @minus{} right-margin)}.
Lorsque seule @code{line-width} est définie, les deux marges
@funindex right-margin
La marge entre le bord droit de la page et la fin des systèmes en pleine
-largeur (non @emph{ragged}). La valeur par défaut est
-de @code{10\mm} et s'ajustera selon le format du papier. Lorsque
-vous définissez @code{line-width} et @code{left-margin}, sans modifier
-la valeur de @code{right-margin}, cette dernière sera alors égale à
+largeur (non @emph{ragged}). La valeur par défaut est de @code{10\mm}
+et s'ajustera selon le format du papier. Lorsque vous définissez
+@code{line-width} et @code{left-margin}, sans modifier la valeur de
+@code{right-margin}, cette dernière sera alors égale à
@code{(paper-width @minus{} line-width @minus{} left-margin)}.
Lorsque seule @code{line-width} est définie, les deux marges
correspondent à
@c This default value is buried in the middle of page.scm. -mp
Tous les systèmes, ainsi que les titres et séparateurs de systèmes,
-seront poussés d'autant vers la droite. la valeur par défaut est
+seront poussés d'autant vers la droite. La valeur par défaut est
de @code{0.0}.
@item indent
@knownissues
Les pages au numéro impair sont toujours à droite. Pour que la musique
-commence en page 1, le dos de la page de garde doit être vide de telle
+commence en page 1, le dos de la page de garde doit être vide de telle
sorte que la page une se retrouve à droite.
@end itemize
-Voici un exemple de bloc @code{\layout} :
+Voici un exemple de bloc @code{\layout} :
@example
\layout @{
Les blocs @code{\layout} peuvent faire l'objet de variables, aux fins de
les utiliser ultérieurement. Ceci requiert toutefois une attention
particulière dans la mesure où cette manière de procéder n'est pas
-équivalente à un définition complète et globale.
+équivalente à une définition complète et globale.
Lorsque nous définissons la variable suivante,
NoteHead #'color = #red
@end example
-ainsi que les adaptations à @code{indent} et @code{StaffGrouper}.
+ainsi que les adaptations de @code{indent} et @code{StaffGrouper}.
Cependant, si la variable avait été définie bien avant le premier bloc
@code{\layout}, la configuration actuelle ne contiendrait que
@example
- NoteHead #' font-size= #4 % (written in the variable definition)
- NoteHead #' color = #red % (added after the use of the variable)
+ NoteHead #' font-size= #4 % (écrit dans la définition de la variable)
+ NoteHead #' color = #red % (ajouté après l'utilisation de la variable)
@end example
Une gestion attentive des variables de @code{\layout} se révèle être un
Ceci définit donc la hauteur des portées à 14 points par
défaut ; toutes les fontes seront ajustées en conséquence.
-
Vous pouvez aussi spécifier une taille à une partition en particulier en
procédant comme ci-dessous :
densité.
Vous pouvez cependant insérer l'instruction @code{\break} à l'endroit où
-vous le jugez utile pour @qq{forcer} le passage à la ligne
-suivante :
+vous le jugez utile pour @qq{forcer} le passage à la ligne suivante :
@lilypond[quote,ragged-right,relative=2,verbatim]
c4 c c c | \break
typiquement le cas lorsqu'un nolet est à cheval sur deux mesures.
L'instruction @code{\break} sera alors opérationnelle si vous avez
auparavant désactivé le @code{Forbid_line_break_engraver} du contexte
-@code{Voice} concerné. Notez bien que les sauts de ligne forcés doivent
-être saisis au sein d'une expression polyphonique :
+@code{Voice} concerné. Notez bien qu'en pareil cas, les sauts de ligne
+forcés doivent être saisis au sein d'une expression polyphonique :
@lilypond[quote,ragged-right,verbatim]
\new Voice \with {
- \remove Forbid_line_break_engraver
+ \remove "Forbid_line_break_engraver"
} \relative c'' {
<<
{ c2. \times 2/3 { c4 c c } c2. | }
ligne, et @code{line-width} la longueur des lignes.
L'activation du commutateur @code{ragged-right} au sein du bloc
-@code{\layout} aura pour effet de terminer les systèmes là où il le
-feraient normalement plutôt que de les étirer sur toute la longueur de
-la ligne. Ceci est particulièrement utile pour de petits fragments ou
-pour vérifier la densité induite par l'espacement naturel.
+@code{\layout} aura pour effet de terminer les systèmes là où ils
+prendraient fin normalement plutôt que de les étirer sur toute la
+longueur de la ligne. Ceci est particulièrement utile pour de petits
+fragments ou pour vérifier la densité induite par l'espacement naturel.
@c TODO Check and add para on default for ragged-right
>>
@end example
-@ignore
-Apparemment, je ne vois pas de "snippet" qui corresponde,
-à moins que ce ne soit pour allécher vers la section
-"4.6 Fitting music onto fewer pages" -JCM
-@c TODO Check this
-A linebreaking configuration can be saved as a @code{.ly} file
-automatically. This allows vertical alignments to be stretched to
-fit pages in a second formatting run. This is fairly new and
-complicated. More details are available in
-@rlsr{Spacing}.
-@end ignore
-
@predefined
@funindex \break
@code{\break},
@knownissues
Une partition ne devrait contenir qu'une seule instance du
-@code{Page_turn_engraver}, au risque de se contredire les uns les autres.
+@code{Page_turn_engraver}, au risque de les voir se contredire.
@node Minimisation des sauts de page
@item
@emph{portées regroupées} (portées d'un même groupe, telles celles
-d'un @code{ChoirStaff}, etc.), et
+d'un @code{ChoirStaff}, etc.), et
@item
-@emph{lignes de non-portée} (@code{Lyrics}, @code{ChordNames}, etc.).
+@emph{lignes de non-portée} (@code{Lyrics}, @code{ChordNames}, etc.).
@end itemize
@code{@var{item2}} étant les éléments à espacer. Notez bien que
@code{@var{item2}} n'est pas forcément placé au-dessous : c'est le
cas pour la propriété @code{nonstaff-relatedstaff-spacing} qui spécifie
-la distance entre une ligne de non-portée alors que sa
+l'espacement d'une ligne de non-portée alors que sa
@code{staff-affinity} a été déterminée à @code{UP}.
Toutes ces distances sont mesurées entre les points de référence
tableau suivant présente le @i{point de référence} pour chacune
d'elles :
-@multitable {Non-staff line} {Reference point}
+@multitable {Ligne de non-portée} {Point de référence}
@headitem Ligne de non-portée @tab Point de référence
@item @code{ChordNames} @tab ligne de base
@item @code{NoteNames} @tab ligne de base
@subsubheading Propriétés de l'objet @code{VerticalAxisGroup}
-@translationof Properties of the @code{VerticalAxisGroup} grob
+@c VO Properties of the @code{VerticalAxisGroup} grob
Les propriétés de l'objet @code{VerticalAxisGroup} s'ajustent à l'aide
d'un @code{\override} au niveau d'un contexte @code{Staff} (ou son
@item nonstaff-relatedstaff-spacing
Il s'agit de la distance entre la ligne de non-portée en cours et la
portée la plus proche selon la @code{staff-affinity}, à la double
-condition qu'il n'y a pas déjà une autre ligne de non-portée et que la
+condition qu'il n'y ait pas déjà une autre ligne de non-portée et que la
valeur de @code{staff-affinity} soit @code{UP} ou @code{DOWN}. Lorsque
la valeur de @code{staff-affinity} est égale à @code{CENTER}, la valeur
de @code{nonstaff-relatedstaff-spacing} servira à centrer la ligne de
@item nonstaff-unrelatedstaff-spacing
Il s'agit de la distance entre une ligne de non-portée et la portée à
-l'opposé de l'orientation adoptée, à la double condition qu'il n'y a pas
-déjà une autre ligne de non-portée et que la valeur de
+l'opposé de l'orientation adoptée, à la double condition qu'il n'y ait
+pas déjà une autre ligne de non-portée et que la valeur de
@code{staff-affinity} soit @code{UP} ou @code{DOWN}. Cette propriété
trouve toute sa légitimité pour décaler une ligne de @code{Lyrics} de la
portée à laquelle elle ne correspond pas.
@subsubheading Propriétés de l'objet @code{StaffGrouper}
-@translationof Properties of the @code{StaffGrouper} grob
+@c VO Properties of the @code{StaffGrouper} grob
Les propriétés de l'objet @code{StaffGrouper} s'ajustent à l'aide
d'un @code{\override} au niveau d'un contexte @code{StaffGroup} (ou son
mesure que nous avancerons. Pour plus de précisions, relisez
@ref{Recours à une voix supplémentaire pour gérer les sauts}.
-Les @code{\breaks} explicites répartissent la musique en lignes de cinq
+Les @code{\break} explicites répartissent la musique en lignes de cinq
mesures chacune. L'espacement vertical est celui que LilyPond attribue
par défaut. Nous pouvons, afin de fixer explicitement le point
d'attache vertical de chacun des systèmes, définir un doublet
@translationof Horizontal spacing overview
Le moteur d'espacement traduit les différences de durée en distances
-étirables (@emph{springs} pour ressorts) de différente longueur. Des
+étirables (@emph{springs} pour ressorts) de différentes longueurs. Des
durées importantes prennent ainsi plus de place que des durées moins
longues. Les durées les plus courtes se verront attribuer un espace
fixe, contrôlé par la propriété @code{shortest-duration-space} de
@code{spacing-increment} est normalement défini à 1,2 espace de
portée -- ce qui correspond à peu près à la largeur d'une tête de note
--- et @code{shortest-duration-space} à 2,0. La note la plus courte
+-- et @code{shortest-duration-space} à 2,0. La note la plus courte
s'étendra donc sur l'équivalent de 2,4 espaces de portée (2 fois le
@code{spacing-increment}). Le point de départ de cet espace se situe à
l'extrémité gauche du symbole ; la note la plus courte est donc
Vous pouvez influencer l'espacement horizontal à l'aide de la propriété
@code{base-shortest-duration}. Comparons les deux partitions qui
suivent, toutes deux montrant la même musique. La première partition
-applique les réglages par défaut, alors que la seconde bénéficie
-d'ajustement de la propriété @code{base-shortest-duration}. Au plus la
+applique les réglages par défaut, alors que la seconde bénéficie d'un
+ajustement de la propriété @code{base-shortest-duration}. Au plus la
valeur de @code{ly:make-moment} est grande, au plus la musique sera
resserrée. En effet, @code{ly:make-moment} construit une durée :
-@w{@code{1 4}} est plus long que @w{@code{1 16}}.
+@code{1 4} est plus long que @code{1 16}.
@lilypond[verbatim,line-width=12\cm]
\score {
@snippets
L'espacement au sein d'un nolet dépend par défaut d'un certain nombre de
facteurs qui ne sont pas liés à la durée (altération, changement de
-clef, etc.). @w{@code{Score.SpacingSpanner #'uniform-stretching}}
+clef, etc.). @w{@code{Score.SpacingSpanner #'uniform-stretching}}
permet d'ignorer ces symboles et, par voie de conséquence, forcer
l'espacement sur la simple durée. Notez bien que cette propriété
s'appliquera à toute la partition, puisque mentionnée au sein d'un bloc
@cindex saut de page
@cindex pages, saut
+@cindex ligne, longueur
@funindex indent
@funindex line-width
désactivé par défaut, il sera activé si la partition ne comporte qu'un
seul système.
-@cindex page layout
-@cindex vertical spacing
+@cindex page, mise en forme
+@cindex vertical, espacement
Le fonctionnement de l'option @code{ragged-last} est en tout point
identique à celui de @code{ragged-right}, à ceci près qu'il ne concerne
@item @code{strict-note-spacing}
-@item @code{\remove Separating_line_group_engraver}
+@item @code{\remove "Separating_line_group_engraver"}
@item @code{\override PaperColumn #'used = ##t}
Par contre, si nous avons besoin d'insérer une indication temporelle ou
un autre graphisme en surplomb ou en dessous de notre partition, nous
-aurons besoin de la notation proportionnelle. Celle-ci s'active an
+aurons besoin de la notation proportionnelle. Celle-ci s'active en
définissant la propriété @code{proportionalNotationDuration}.
@lilypond[quote,verbatim,ragged-right]
musique. La fonction Scheme @code{make-moment} intégrée à LilyPond
prend deux arguments : un numérateur et un dénominateur qui
représentent une fraction de ronde. L'appel de
-@w{@code{(ly:make-moment 1 20)}} produit donc une durée de référence
+@w{@code{(ly:make-moment 1 20)}} produit donc une durée de référence
égale à un vingtième de ronde. Vous pourriez tout aussi bien utiliser
@code{(ly:make-moment 1 16)}, @code{(ly:make-moment 1 8)} ou
@code{(ly:make-moment 3 97)}.
}
\new Staff \with {
- \remove Separating_line_group_engraver
+ \remove "Separating_line_group_engraver"
} {
c'1
\break
@item @code{\override Beam #'breakable = ##t}
@item @code{\override Glissando #'breakable = ##t}
@item @code{\override TextSpanner #'breakable = ##t}
-@item @code{\remove Forbid_line_break_engraver (dans un contexte de voix}
+@item @code{\remove "Forbid_line_break_engraver" dans le contexte de voix}
@end itemize
Ces différents réglages permettent un espacement strict des notes
Le meilleur moyen d'appréhender les différentes variables de
dimensionnement vertical sur lesquelles vous pouvez jouer au niveau de
-la mise en page, consiste à activer, au sein du bloc @code{\paper}, la
+la mise en page consiste à activer, au sein du bloc @code{\paper}, la
fonction @code{annotate-spacing} :
@c need to have \book{} otherwise we get the separate systems. -hwn
hauteurs est tout simplement sautée. D'autre part, réduire le nombre de
systèmes par page permet d'en disposer plus sur les suivantes. Par
exemple, avec un nombre par défaut de 11 systèmes par pages,
-l'instruction suivante le force à 10.
+l'instruction suivante le force à 10.
@example
\paper @{
Morceaux choisis :
@rlsrnamed{Spacing,Espacements}.
-
@c -*- coding: utf-8; mode: texinfo; -*-
+
@ignore
- Translation of GIT committish: 3faf62234050ba9fad88827a8ffb9e8e902ebf6a
+ Translation of GIT committish: bdff8baf5bce0c4c456ebbf292ba8fc771e4bd31
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+
@ignore
- Translation of GIT committish: 952705bbbb000581a13836e6a733df04511e93c5
+ Translation of GIT committish: bdff8baf5bce0c4c456ebbf292ba8fc771e4bd31
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c The line width is a bit of a hack to allow space for the
@c instrument names.
-@lilypondfile[quote,ragged-right,line-width=14.5\cm,staffsize=16]{staff-headword.ly}
+@lilypondfile[quote,ragged-right,line-width=14.5\cm,staffsize=16]
+{staff-headword.ly}
Cette section aborde les détails de gravure de la portée, la
réalisation de partitions comprenant plusieurs portées et l'ajout
@code{\stopStaff}.
@endpredefined
-Les notes, nuances, etc. sont regroupées dans un assemblage de lignes
+Les notes, nuances, etc. sont regroupées dans un assemblage de lignes
horizontales, que l'on nomme la portée (en anglais @emph{staff}, et
@emph{staves} au pluriel). Dans LilyPond, ces lignes sont dessinées au
moyen d'un objet graphique (@emph{grob}) à part entière, nommé
@end lilypond
Vous pouvez faire apparaître des lignes supplémentaires additionnelles
-au-dessus ou en dessous des têtes de note selon le positionnement
+au-dessus ou en dessous des têtes de note selon leur positionnement
relatif aux autres notes, qu'elles aient ou non elles-mêmes des lignes
supplémentaires.
elle se réfère, étant par ailleurs dépourvue de métrique et de clef, et
d'une taille légèrement inférieure, vous devrez avoir recours à quelques
retouches. Le manuel d'initiation aborde une technique particulière
-pour obtenir ce résultat au chapitre
+pour obtenir ce résultat, au chapitre
@rlearning{Expressions musicales imbriquées}.
L'exemple qui suit utilise, pour aligner la portée d'ossia, la propriété
Dans le cas où de nombreux et courts fragments d'ossia affecteraient
une même portée, il est judicieux de créer un contexte @code{Staff} vide
auquel sera attribué un @emph{identifiant}. Il suffira alors, pour
-entamer un fragment d'ossia, de @emph{faire appel} à ce contexte grâce
+entamer un fragment d'ossia, de @qq{faire appel} à ce contexte grâce
aux commandes @code{\startStaff} et @code{\stopStaff}. Vous vous
rendrez compte à l'utilisation des avantages que procure cette façon de
procéder, bien plus que dans l'exemple suivant.
@translationof Hiding staves
@cindex Frenched scores
-@cindex Masquage de portée
+@cindex masquage de portée
@cindex portée vide
@funindex \RemoveEmptyStaves
@warning{Une portée est considérée comme vide dès lors qu'elle ne
contient que des silences multimesures, des silences visibles ou
-invisibles (ou d'espacement -- les @emph{\skip}) ou bien une combinaison
-de ces éléments.}
+invisibles (ou d'espacement -- les @emph{@bs{}skip}) ou bien une
+combinaison de ces éléments.}
@lilypond[verbatim,quote,ragged-right]
\layout {
Lorsque plusieurs contextes de portée sont regroupés, les noms
d'instrument, que ce soit sous leur forme développée ou abrégée, sont
par défaut centrés. Si l'un d'entre eux est libellé sur plusieurs
-lignes, il faudra reccourrir à l'instruction
-@code{\center-column} :
+lignes, il faudra recourir à l'instruction @code{\center-column} :
@lilypond[verbatim,quote,indent=1.5\cm,relative=2]
<<
de valeurs aux propriétés de ce nouvel instrument. Ces définitions
devront être déclarées avant tout autre élément musical. L'instruction
@code{\instrumentSwitch} se placera dans la musique au moment de la
-subtitution :
+substitution :
@lilypond[verbatim,quote,ragged-right]
\addInstrumentDefinition #"contrabassoon"
musique en question.
L'instruction @code{\addQuote}, placée au niveau le plus haut -- c'est à
-dire en dehors de tout bloc de musique -- définit le musique dont il
+dire en dehors de tout bloc de musique -- définit la musique dont il
sera possible de répliquer des fragments.
Au cours d'une partie, des extraits de répliques peuvent être cités en
@funindex quotedCueEventTypes
LilyPond répliquera, par défaut, tous les éléments -- articulations,
-nuances, @emph{markups}, etc. La propriété @code{quotedEventTypes}
+nuances, @emph{markups}, etc. La propriété @code{quotedEventTypes}
permet de définir plus précisément quels éléments de la voix originelle
seront reproduits.
la commande @code{\quoteDuring} -- voir la rubrique précédente
(@ref{Citation d'autres voix}).
-Leur syntaxe est :
+Leur syntaxe est :
@example
\cueDuring #@var{origine} #@var{position} #@var{musique}
Dans le cadre d'un @code{\cueDuringWithClef} ou d'un
@code{\transposedCueDuring}, l'argument supplémentaire doit intervenir
après l'origine et la position.
-
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+
@ignore
- Translation of GIT committish: 0f93dd92ffa0319328e58148458d22c5448b3d58
+ Translation of GIT committish: bdff8baf5bce0c4c456ebbf292ba8fc771e4bd31
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@unnumberedsubsubsec Commentaires textuels
@translationof Text scripts
-@cindex Ã\89tiquette de texte
-@cindex blocs de texte
+@cindex étiquette de texte
+@cindex bloc de texte
@cindex ajout de texte
Vous pouvez ajouter à une partition des indications sous forme textuelle,
@end lilypond
Par défaut, ces indications n'affectent en rien l'espacement des
-notes. Leur longueur peut néanmoins être prise en considération@tie{}:
+notes. Leur longueur peut néanmoins être prise en considération :
dans l'exemple qui suit, le premier commentaire n'influe pas sur
l'espacement, à l'inverse du second.
@knownissues
S'assurer que tous les éléments textuels et les paroles respectent
-les marges du document requiert des calculs relativement lourds@tie{};
+les marges du document requiert des calculs relativement lourds ;
vous pouvez toutefois vous en affranchir en ajoutant
@example
@emph{accelerando} ou @emph{trilles}, s'inscrivent textuellement et se
prolongent sur plusieurs notes à l'aide d'une ligne pleine, pointillée
ou ondulée. Ces objets, que l'on appelle @qq{extenseurs}, se dessinent
-entre deux notes à l'aide de la syntaxe suivante@tie{}:
+entre deux notes à l'aide de la syntaxe suivante :
@lilypond[verbatim,quote,relative=2]
\override TextSpanner #'(bound-details left text) = "rit."
@noindent
Le texte à imprimer est spécifié en tant que propriété de l'objet
-@code{TextSpanner}. Il apparaîtra par défaut en italique@tie{};
+@code{TextSpanner}. Il apparaîtra par défaut en italique ;
cependant, rien ne s'oppose à un autre graphisme dès lors que vous
faites appel à un bloc @code{\markup} --
voir @ref{Mise en forme du texte}.
@noindent
Elle peut aussi servir à insérer des signes de @emph{coda} ou de
-@emph{segno}, ou bien un point d'orgue, au dessus d'une
+@emph{segno}, ou bien un point d'orgue, au-dessus d'une
barre de mesure. Couplez-la alors à la commande @code{\markup} pour
avoir accès au symbole approprié, selon les indications contenues au
chapitre @ref{Notation musicale dans du texte formaté}.
@noindent
Le résultat de @code{\mark} n'apparaîtra que sur la portée supérieure
d'un système. Si vous introduisez la commande @code{\mark} au moment
-d'une barre de mesure, la marque se placera au dessus de la barre. Si
+d'une barre de mesure, la marque se placera au-dessus de la barre. Si
vous y faites appel au milieu d'une mesure, cette marque sera
positionnée entre les notes. Si elle intervient en début de ligne,
elle sera placée juste avant la première note de cette portée. Enfin,
@cindex commentaire textuel
@cindex étiquette textuelle
@cindex texte ajouté
+@cindex annotation
@funindex \markup
@funindex markup
@cindex syntaxe du mode markup
La syntaxe du mode @emph{markup} n'est pas différente de celle des
-autres modes de LilyPond@tie{}: une expression @code{\markup} est bornée
-par des accolades @code{@{@tie{}@dots{}@tie{}@}}. Un mot unique sera
+autres modes de LilyPond : une expression @code{\markup} est bornée
+par des accolades @code{@{ @dots{} @}}. Un mot unique sera
considéré comme une expression minimale, et n'aura donc pas besoin
d'être mis entre accolades.
Contrairement aux indications simples, du type "entre guillemets", les
blocs @code{\markup} peuvent contenir des expressions imbriquées ou
d'autres commandes @emph{markup}, dès lors qu'elles sont précédées du
-caractère@tie{}@code{\}. Ces commandes n'affecteront que la première
+caractère @code{\}. Ces commandes n'affecteront que la première
expression qui les suit.
@lilypond[quote,verbatim,relative=2]
Un bloc @code{\markup} peut contenir du texte entre guillemets. De
telles chaînes seront considérées comme des expressions textuelles
-minimales@tie{}; à ce titre, toute commande de type @emph{markup} ou
-tout caractère spécial -- tel un@tie{}@code{\} ou un@tie{}@code{#} --
+minimales ; à ce titre, toute commande de type @emph{markup} ou
+tout caractère spécial -- tel un @code{\} ou un @code{#} --
sera imprimé littéralement et sans influer sur le formatage du texte.
Il est de ce fait possible d'imprimer des guillemets
-informatiques@tie{}@code{"} dès lors qu'ils sont précédés d'une oblique
+informatiques @code{"} dès lors qu'ils sont précédés d'une oblique
inverse.
@c repeat double quote for pairing "
La manière de définir les expressions @emph{markup} aura une influence
sur la manière dont elles seront empilées, centrées ou alignées. Dans
l'exemple qui suit, la deuxième expression @code{\markup} est traitée
-tout comme la première@tie{}:
+tout comme la première :
@c repeat double quote for pairing "
@lilypond[quote,verbatim,relative=2]
@end lilypond
Vous pouvez stocker les étiquettes textuelles en tant que variables,
-et attacher ces identificateurs à des notes, comme ici@tie{}:
+et attacher ces identificateurs à des notes, comme ici :
@lilypond[quote,verbatim]
allegro = \markup { \bold \large Allegro }
@funindex underline
Le mode @emph{markup} autorise des changements élémentaires de la
-fonte@tie{}:
+fonte :
@lilypond[quote,verbatim,relative=2]
d1^\markup {
La taille des caractères se modifie, relativement à la taille globale
des portées, de différentes manières.
-Vous pouvez adopter l'une des tailles prédéfinies, comme ici@tie{}:
+Vous pouvez adopter l'une des tailles prédéfinies, comme ici :
@lilypond[quote,verbatim,relative=2]
b1_\markup { \huge Sinfonia }
b1-\markup { \normalsize camera }
@end lilypond
-Vous pouvez la modifier relativement à sa valeur précédente@tie{}:
+Vous pouvez la modifier relativement à sa valeur précédente :
@lilypond[quote,verbatim,relative=2]
b1_\markup { \larger Sinfonia }
@end lilypond
Vous pouvez l'augementer ou la diminuer par rapport à la taille globale
-de portée@tie{}:
+de portée :
@lilypond[quote,verbatim,relative=2]
b1_\markup { \fontsize #-2 Sinfonia }
@end lilypond
Vous pouvez lui attribuer une valeur arbitraire quelle que soit la
-taille de portée globale@tie{}:
+taille de portée globale :
@lilypond[quote,verbatim,relative=2]
b1_\markup { \abs-fontsize #20 Sinfonia }
@funindex normal-size-super
Vous pouvez imprimer du texte en indice ou en exposant. Celui-ci sera
-dans un taille plus petite, mais rien ne s'oppose à ce que vous lui
-affectiez un taille normale@tie{}:
+dans une taille plus petite, mais rien ne s'oppose à ce que vous lui
+affectiez un taille normale :
@lilypond[quote,verbatim]
\markup {
Lorsqu'un changement survient au milieu d'un mot, il se peut qu'un
espacement supplémentaire apparaisse. Il suffit en pareil cas de
-concaténer les différents éléments@tie{}:
+concaténer les différents éléments :
@lilypond[quote,verbatim]
\markup {
@funindex halign
L'alignement horizontal peut être ajusté à l'aide d'une valeur
-numérique@tie{}:
+numérique :
@lilypond[quote,verbatim,relative=2]
a1-\markup { \halign #-1 poco }
@noindent
Certains objets possèdent leurs propres procédures d'alignement, qui
-annuleront toute spécification d'alignement que vous pourriez affecter
-à un argument de type @emph{markup} que vous leur auriez fourni. La
-solution consiste alors à déplacer l'intégralité de ces objets
-@emph{markup}, comme indiqué par exemple au chapitre
+annuleront toute spécification d'alignement que vous pourriez leur
+affecter. La solution consiste alors à déplacer l'intégralité de ces
+objets @emph{markup}, comme indiqué par exemple au chapitre
@ref{Indications textuelles}.
@cindex texte, alignement vertical
Les indications textuelles, lorsqu'elles sont relativement longues,
peuvent se répartir sur plusieurs lignes en fonction de la largeur de
ligne. Le texte sera alors soit aligné à gauche, soit justifié, comme
-le montre l'exemple suivant@tie{}:
+le montre l'exemple suivant :
@lilypond[quote,verbatim]
\markup {
Certaines commandes de @emph{markup} permettent d'ornementer des
éléments textuels avec des graphismes, à l'instar de l'exemple
-suivant@tie{}:
+suivant :
@lilypond[quote,verbatim]
\markup \fill-line {
encapsulé (extension @code{eps}), ou bien de tracer un graphique
directement dans le fichier source à partir d'instructions PostScript
pures. Nous vous conseillons, en pareil cas, de toujours spécifier les
-dimensions du dessin, comme dans ce qui suit@tie{}:
+dimensions du dessin, comme dans ce qui suit :
@lilypond[quote,verbatim,relative=1]
c1^\markup {
objet @emph{markup}.
Notes et altérations sont données à l'aide d'instructions
-@emph{markup}@tie{}:
+@emph{markup} :
@lilypond[quote,verbatim,relative=2]
a2 a^\markup {
@end lilypond
Le mode @emph{markup} permet d'accéder à d'autres objets de
-notation@tie{}:
+notation :
@lilypond[quote,verbatim,relative=1]
g1 bes
crochets ou accolades.
Le mode @emph{markup} supporte aussi les diagrammes spécifiques à
-certains instruments@tie{}:
+certains instruments :
@lilypond[quote,verbatim,relative=2]
c1^\markup {
}
@end lilypond
-Cette syntaxe prend en charge une liste de @emph{markups}@tie{}; il peut
+Cette syntaxe prend en charge une liste de @emph{markups} ; il peut
s'agir
@itemize
@item
Les différentes commandes permettant de générer des listes de lignes
se trouve dans l'annexe @ref{Text markup list commands}.
-@funindex \markuplist
-@funindex markuplist
-
@predefined
@code{\markuplist}.
@endpredefined
@funindex font-interface
-La gestion des fontes est assurée par plusieurs bibliothèques@tie{}:
+La gestion des fontes est assurée par plusieurs bibliothèques :
FontConfig se charge de répertorier les différentes fontes installées
-sur votre système@tie{}; quant à Pango, elle se charge plus
+sur votre système ; quant à Pango, elle se charge plus
particulièrement de leur rendu.
Les fontes musicales peuvent se décrire comme un jeu de glyphes
@ref{Notation musicale dans du texte formaté}.
Une remarque s'impose au sujet des glyphes contenus dans
-@code{fetaBraces}@tie{}: chacun d'eux est formé du mot @emph{brace}
+@code{fetaBraces} : chacun d'eux est formé du mot @emph{brace}
auquel est accolé un numéro d'ordre. Lorsque vous désirez imprimer une
accolade, vous devez la @qq{chercher} par son numéro d'ordre -- d'où la
fonction @code{\lookup} de l'exemple ci-dessus --, tout en sachant qu'il
arriver au résultat optimal. Par ailleurs, @code{fetaBraces} ne
comporte que des accolades ouvrantes. Pour obtenir une accolade
fermante, il suffit d'appliquer une rotation au glyphe sélectionné,
-comme indiqué au chapitre @ref{Rotation des objets}.
+comme indiqué à la rubrique @ref{Rotation des objets}.
-Vous disposez de trois familles de fontes textuelles@tie{}: @emph{roman}
+Vous disposez de trois familles de fontes textuelles : @emph{roman}
pour la police sérif ou avec empattement -- fixée par défaut à New
Century Schoolbook --, une police sans empattement (@emph{sans} sérif)
et une à chasse fixe (ou monospace) -- les deux dernières étant
@noindent
Cette syntaxe s'applique aussi en mode @emph{markup}, bien que celui-ci
dispose d'une syntaxe allégée comme nous l'avons vu dans
-@ref{Sélection de la fonte et de la taille}@tie{}:
+@ref{Sélection de la fonte et de la taille} :
@lilypond[quote,verbatim]
\markup {
En plus de pouvoir jongler entre les différentes fontes prédéfinies,
LilyPond vous permet d'en utiliser d'autres, ce qui fait l'objet des
-deux prochaines parties@tie{}:
+deux prochaines parties :
@ref{Attribution d'une fonte en particulier}
et @ref{Choix des fontes par défaut}.
Vous pouvez utiliser n'importe quelle police installée sur votre
système, dès lors qu'elle est accessible par Fontconfig et que vous
-respectez la syntaxe suivante@tie{}:
+respectez la syntaxe suivante :
@lilypond[quote,verbatim,relative=2]
\override Staff.TimeSignature #'font-name = #"Bitstream Charter"
@ref{Attribution d'une fonte en particulier},
@ref{Sélection de la fonte et de la taille},
@ref{Font}.
-
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: 24370ed49745de7a9dd734ae5e6066b365054904
+ Translation of GIT committish: bdff8baf5bce0c4c456ebbf292ba8fc771e4bd31
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
accord, voir @ref{Notes en accords}. Les précisions pour jouer des accords
peuvent être ajoutées, comme l'indique @ref{Arpèges}.
-@item Un modèle pour quatuor à cordes est disponible au chapitre
+@item Un modèle pour quatuor à cordes est disponible à la rubrique
@rlearning{Quatuor à cordes}. D'autres informations se trouvent dans les
exemples de code.
décrites dans @ref{Articulations et ornements}.
Les indications d'archet, poussé (@code{\upbow}) et tiré
-(@code{\downbow}), peuvent se combiner à des liaisons comme ici :
+(@code{\downbow}), peuvent se combiner à des liaisons comme ici :
@lilypond[verbatim,quote,relative=2]
c4(\downbow d) e(\upbow f)
@noindent
ou dans l'exemple suivant qui montre trois manières d'indiquer la corde
-de La, à vide, sur un violon :
+de La, à vide, sur un violon :
@lilypond[verbatim,quote,relative=2]
a4 \open
@funindex \harmonicsOn
@funindex \harmonicsOff
-Les harmoniques naturels sont indiqués de différentes manières : une
+Les harmoniques naturels sont indiqués de différentes manières : une
tête de note en forme de losange signifie généralement que vous devez
effleurer la corde à l'endroit où vous l'auriez pincée si la note avait
été normale.
Une autre façon de procéder consiste à faire surmonter la note normale
d'un petit cercle. Ceci indique que la note écrite doit être jouée en
-harmonique :
+harmonique :
@lilypond[verbatim,quote,relative=2]
d2^\flageolet d_\flageolet
@cindex harmoniques artificiels
@cindex artificiels, harmoniques
-Les harmoniques artificiels sont indiqués par une double tête de note :
-l'une, normale, indique la note à pincer, et l'autre, en forme de
+Les harmoniques artificiels sont indiqués par une double tête de note :
+l'une normale, indique la note à pincer, et l'autre, en forme de
losange, indique l'endroit où la corde doit être effleurée.
<c' e g>4^\snappizzicato
<c, e g>4_\snappizzicato
@end lilypond
-
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+
@ignore
- Translation of GIT committish: 40c0295431d0732747d0e37b7911f03fb9daca16
+ Translation of GIT committish: f199e875f7a7beb0afd17eae2038819baab767ff
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@funindex \addlyrics
@funindex \lyricsto
-Les paroles peuvent être automatiquement alignées sous
-une mélodie, de trois manières différentes :
+Les paroles peuvent être automatiquement alignées sous une mélodie, de
+trois manières différentes :
@itemize
@c VO: Using associatedVoice
La propriété @code{associatedVoice} permet de basculer de mélodie pour
-la synchronisation des paroles. Elle s'emploie de la manière
-suivante :
+la synchronisation des paroles. Elle s'emploie de la manière suivante :
@example
\set associatedVoice = #"lala"
dernière note de la vocalise. Ceci s'obtient en ajoutant un double
caractère souligné @code{__} après cette syllabe.
-Vous disposez de cinq méthodes pour indiquer la présence d'un
-mélisme :
+Vous disposez de cinq méthodes pour indiquer la présence d'un mélisme :
@itemize
@code{\melismaEnd}.
@endpredefined
-
@seealso
Glossaire musicologique :
@rglos{melisma}.
Un mélisme sur la dernière syllabe d'un mot est indiqué par une longue
ligne horizontale basse s'étirant jusqu'à syllabe suivante. Une telle
ligne, que nous appellerons prolongateur ou extenseur, s'obtient en
-saisissant @samp{ __ } (notez les espaces entourant le double caractère
+saisissant @samp{ __ } (notez les espaces entourant le double caractère
souligné).
@warning{Dans une partition, les mélismes, ou vocalises, sont
@c leave this as samp. -gp
Un trait d'union séparant deux syllabes d'un même mot s'obtient en
-saisissant @samp{ -- } (notez les espaces entourant le tiret double).
+saisissant @samp{ -- } (notez les espaces entourant le tiret double).
Ce trait d'union sera centré entre les deux syllabes et sa longueur
sera proportionnelle à l'espace les séparant.
}
@end lilypond
-
@cindex alignBelowContext
@funindex alignBelowContext
où @code{alternative} désigne le nom du contexte @code{Voice} qui contient
le triolet.
-notez bien où apparaît la commande @code{\set associatedVoice} --
+Notez bien où apparaît la commande @code{\set associatedVoice} --
une syllabe en avance, ce qui est tout à fait correct.
@warning{La commande @code{@bs{}set associatedVoice} @strong{doit}
@translationof Printing stanzas at the end
Il peut parfois s'avérer opportun d'aligner un seul couplet sur la
-mélodie, et de présenter tous les autres en bloc à la fin du morceau.
+mélodie et de présenter tous les autres en bloc à la fin du morceau.
Ces couplets additionnels peuvent être inclus dans une section
@code{\markup} en dehors du bloc @code{\score} principal.
Vous en trouverez un exemple ci-dessous ; notez également les deux
méthodes différentes employées pour indiquer les sauts de ligne,
-entre les couplets (@emph{verses} en anglais) 2 et 3.
+entre les couplets (@emph{verses} en anglais) 2 et 3.
@c KEEP LY
@lilypond[ragged-right,verbatim,quote]
@ref{Gravure des accords}.
@item
-L'impression de diagrammes d'accord lorsque l'accompagnement est fait à
-la guitare est expliqué à la rubrique @qq{Tablatures sous forme
+L'impression de diagrammes d'accord, lorsque l'accompagnement est fait à
+la guitare, est expliqué à la rubrique @qq{Tablatures sous forme
d’étiquette}, au chapitre @ref{Vue d'ensemble des cordes frettées}.
@end itemize
@item
La création pas à pas d'une partition pour chœur se trouve dans le
-manuel d'initiation, au chapitre
+manuel d'initiation, à la rubrique
@rlearning{Partition pour chœur à quatre voix mixtes}.
@item
@item
Lorsque plusieurs pupitres sont regroupés sur la même portée, les
-hampes, liaisons etc. de la voix supérieure sont orientées vers le haut,
-et inversement pour la voix inférieure. L'utilisation de
+hampes, liaisons, etc. de la voix supérieure sont orientées vers le
+haut, et inversement pour la voix inférieure. L'utilisation de
@code{\voiceOne} et @code{\voiceTwo} est expliquée au chapitre
@ref{Polyphonie sur une portée}.
Il est clair, au vu de ces deux exemples, que multiplier le nombre de
citations dans une partition vocale demande un travail fastidieux et que
-relire la partie de piano deviendrait vite un cauchemar. Vous pouvez
+relire la partie de piano deviendra vite un cauchemar. Vous pouvez
néanmoins, comme l'illustre l'exemple suivant, définir une fonction
musicale dans le but de vous épargner de la saisie tout en améliorant
la lisibilité des notes du piano.
\layout {
\context {
\Staff
- \remove Bar_engraver
+ \remove "Bar_engraver"
}
}
}
@end lilypond
-L'absence de barre de mesure peut ne concerner que certaines
-portées :
+L'absence de barre de mesure peut ne concerner que certaines portées :
@lilypond[verbatim, quote]
\score {
\new ChoirStaff <<
\new Staff
- \with { \remove Bar_engraver } {
+ \with { \remove "Bar_engraver" } {
\relative c'' {
a4 b c2 |
a4 b c2 |
\layout {
\context {
\Staff
- \remove Bar_engraver
+ \remove "Bar_engraver"
}
}
}
\layout {
\context {
\Staff
- \remove Bar_engraver
- \remove Time_signature_engraver
- \remove Clef_engraver
+ \remove "Bar_engraver"
+ \remove "Time_signature_engraver"
+ \remove "Clef_engraver"
}
}
}
quatorze mesures se répètent par couple de versets. Des marques
insérées dans le texte indiquent comment il s'articule par rapport à la
mélodie. Chaque verset est séparé en deux, et la rupture est indiquée
-par un caractère deux points (@code{:}) correspondant à la double barre
+par un caractère deux points (@code{:}) correspondant à la double barre
de la mélodie. Le texte précédant les deux points se chante sur les
trois premières mesures, celui qui suit sur les quatre dernières
mesures.
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+
@ignore
- Translation of GIT committish: 0512fcc5db9b050be664413ba0f79a3dcfc1028a
+ Translation of GIT committish: bdff8baf5bce0c4c456ebbf292ba8fc771e4bd31
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@end example
@noindent
-en début de fichier. Ainsi, vous bénéficierez de commandes courtes pour
+en début de fichier. Vous bénéficierez ainsi de commandes courtes pour
les appoggiatures spéciales et idiomatiques de la cornemuse. Par
exemple, @code{\taor} est un raccourci pour
La musique pour cornemuse est traditionnellement écrite en ré majeur.
Dans la mesure où c'est la seule tonalité possible, l'usage est de ne
-pas indiquer l'armure explicitement. À cet effet, pensez à commencer
+pas indiquer l'armure explicitement. À cet effet, pensez à commencer
votre partition par @code{\hideKeySignature} -- ou bien
@code{\showKeySignature} si, pour une raison ou pour une autre, vous
tenez à afficher l'armure.
@end itemize
@noindent
-Les diagrammes sont générés en tant qu'objet de type
-@emph{markup} :
+Les diagrammes sont générés en tant qu'objet de type @emph{markup} :
@lilypond[verbatim,quote,relative=2]
c1^\markup
Bien que cela ne produise pas de notation, vous pouvez obtenir la liste
de toutes les possibilités pour un instrument donné, en utilisant dans
un fichier les instructions
-@code{#(print-keys-verbose@tie{}'@var{vent})} -- affichage à l'écran --
-@code{#(print-keys-verbose@tie{}'@var{vent}@tie{}(current-error-port))}
+@code{#(print-keys-verbose '@var{vent})} -- affichage à l'écran -- ou
+@code{#(print-keys-verbose '@var{vent} (current-error-port))}
-- génération d'un fichier de journalisation.
De nouveaux diagrammes sont réalisables, bien que ceci requiert de
Référence des propriétés internes :
@rinternals{TextScript},
@rinternals{instrument-specific-markup-interface}.
-
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+
@ignore
- Translation of GIT committish: 0512fcc5db9b050be664413ba0f79a3dcfc1028a
+ Translation of GIT committish: bdff8baf5bce0c4c456ebbf292ba8fc771e4bd31
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
Manuel d'initiation :
@rlearning{Autres sources de documentation}.
-Notation Reference:
+Manuel de notation :
@ref{Écriture des hauteurs de note},
@ref{Musique arabe},
@ref{Musique classique turque},
précisément les micro-intervalles intervenant dans la pratique musicale.
Plusieurs particularités propres à la musique arabe sont traitées
-ailleurs@tie{}:
+ailleurs :
@itemize
@item Les noms des notes et altérations (y compris les quarts de tons)
dans @ref{Nom des notes dans d'autres langues}.
Par exemple, voici comment on peut écrire la gamme arabe
-@notation{rast}@tie{}:
+@notation{rast} :
@lilypond[quote,verbatim]
\include "arabic.ly"
@c elles ne doivent donc pas être traduites. -vv
Outre les armures mineures et majeures, les armures suivantes
-sont définies dans la fichier @file{arabic.ly}@tie{}: @notation{bayati},
+sont définies dans la fichier @file{arabic.ly} : @notation{bayati},
@notation{rast}, @notation{sikah}, @notation{iraq} et @notation{kurd}.
Ces armatures définissent un petit nombre de groupes de maqams plutôt
que le grand nombre de maqams habituellement utilisés.
voisin et diverses altérations accidentelles sont indiquées tout au long
de la musique.
-Par exemple, pour indiquer l'armure d'une pièce en maqam muhayer@tie{}:
+Par exemple, pour indiquer l'armure d'une pièce en maqam muhayer :
@example
\key re \bayati
est indiquée entre parenthèses dans le tableau.
Les maqams arabes n'admettent que des modulations limitées, en raison de
la nature des instruments de musique arabes. Le Nawa peut être indiqué
-comme suit@tie{}:
+comme suit :
@example
\key sol \bayati
En musique arabe, le terme utilisé pour désigner un groupe maqam,
tel que bayati, est également lui-même un maqam, généralement le plus
-important dans le groupe@tie{}; on peut le considérer comme un maqam
+important dans le groupe ; on peut le considérer comme un maqam
de base.
Voici une suggestion de groupement qui relie les maqams les plus
-courants à leur armure@tie{}:
+courants à leur armure :
@multitable @columnfractions 0.15 0.1 0.1 0.6
@headitem groupe maqam
1996], contient une étude des maqams et leur méthode de classification.
Il existe également de nombreux sites web qui expliquent les maqams,
-dont quelques uns s'accompagnent d'exemples audio@tie{}:
+dont quelques uns s'accompagnent d'exemples audio :
@itemize @bullet
@item
Quelques questions relatives à la musique classique turque sont
-traitées dans d'autres chapitres@tie{}:
+traitées dans d'autres chapitres :
@itemize
@item Les noms de notes et altérations sont mentionnés dans
La musique classique turque attribue traditionnellement un nom unique à
chaque hauteur, et du fait de la division du ton en neuf parts, les
makamlar emploient une échelle de hauteurs complètement différente des
-gammes et modes d'occident@tie{}:@*
+gammes et modes d'occident :@*
@notation{koma} de 1/9 de ton entier, @notation{eksik bakiye} (3/9),
@notation{bakiye} (4/9), @notation{kücük mücenneb} (5/9),
@notation{büyük mücenneb} (8/9), @notation{tanîni} (un ton entier)
<!--
- Translation of GIT committish: a278b3a9015f156998816868f09929a4c07d698c
+ Translation of GIT committish: 5198521ee5e91631a2cbf236d79489b12624797b
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
<!--
we depend on an external entity here, which we cannot control. Suppose
-we go from 2.15.x to 2.17.x and put the documentation under "v2.17".
+we go from 2.16.x to 2.17.x and put the documentation under "v2.17".
For some time, Google won't have the new location in its index, so the
-search would get nothing. It would be better to keep "v2.15" in the
-search for a while and have a redirection from "v2.15" to "v2.17".
+search would get nothing. It would be better to keep "v2.16" in the
+search for a while and have a redirection from "v2.16" to "v2.17".
-->
<form action="http://google.com/search"
method="get"
name="search"
- onSubmit="search.q.value='site:lilypond.org/doc/v2.15 '
+ onSubmit="search.q.value='site:lilypond.org/doc/v2.16 '
+ search.brute_query.value"
- onMouseMove="search.q.value='site:lilypond.org/doc/v2.15 '
+ onMouseMove="search.q.value='site:lilypond.org/doc/v2.16 '
+ search.brute_query.value"
- onKeyUp="search.q.value='site:lilypond.org/doc/v2.15 '
+ onKeyUp="search.q.value='site:lilypond.org/doc/v2.16 '
+ search.brute_query.value">
<input type="hidden" name="btnG" value="Recherche sur Google">
<input type="text" name="brute_query" onfocus="this.value=''" value="Rechercher">
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les symboles spécifiques au clavier main droite d'un accordéon
s'indiquent à l'aide de @code{\\markup}. Le positionnement de tels
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Une ligne de basse chiffrée peut se positionner au-dessus ou en dessous
d'une partie de basse, grâce à la propriété
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
L'@code{ambitus} peut être individualisé par voix. Il faut en pareil
cas éviter qu'ils se chevauchent.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Lorsqu'une nouvelle portée vient s'ajouter après un saut de ligne,
LilyPond préserve un espace juste avant le saut de ligne -- pour un
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Vous pouvez ajouter une nouvelle portée, éventuellement de manière
temporaire, après le début d'un morceau.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
L'ajout du graveur @code{Bar_engraver} à un contexte @code{ChordNames}
permet d'imprimer les barres de mesure entre les chiffrages.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La syntaxe de LilyPond demande parfois un positionnement inhabituel des
parenthèses, crochets etc. qui peuvent s'entrelacer. Par exemple, le
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Grâce à la puissance des outils préconfigurés tels que la fonction
@code{\\drummode} et le contexte @code{DrumStaff}, la saisie de
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Il est possible, à l'aide de la fonction @code{make-music}, d'ajouter
divers éléments à des notes. Voici comment attacher un doigté
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les instructions de doigtés se saisissent selon une syntaxe très simple.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
L'ajout de doigtés à des tablatures s'obtient en conjuguant des
@code{\\markup} et des @code{\\finger}.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Dans cet extrait est définie la commande @code{\\splitStaffBarLine} qui
ajoute une double flèche après la dernière barre de mesure d'une portée,
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Lorsque le nombre d'instruments cités dans la réduction pour piano se
multiplie, vous pourriez avoir intérêt à créer votre propre fonction
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La fonction @code{\\parenthesize}, qui permet de mettre un objet entre
parenthèses, a ceci de particulier qu'elle est associée à un objet
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Avec un peu de code Scheme, voici comment ajouter facilement
la date du jour à votre partition.
--- /dev/null
+%% Translation of GIT committish: f199e875f7a7beb0afd17eae2038819baab767ff
+
+ texidocfr = "
+Lorsqu'un glissando s'étend dans la durée, on trouve parfois des
+indications temporelles, matérialisées par des hampes sans tête de note.
+De telles hampes permettent aussi d'indiquer des éléments
+intermédiaires.
+
+L'alignement des hampes avec la ligne de glissando peut requérir
+quelques aménagements.
+"
+
+ doctitlefr = "Ajout de marques temporelles à un long glissando"
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
D'ordinaire, le graveur @code{Volta_engraver} réside dans le contexte
@code{Score}@tie{}; les crochets précédant une reprise s'impriment donc
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Dans certains cas de musique polyphonique complexe, une voix
supplémentaire peut permettre d'éviter les risques de collision.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La propriété @code{spacing-increment} de @code{Score.GraceSpacing}
permet d'ajuster l'espacement d'un groupe de notes d'ornement.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Cet extrait illustre la manière de réduire l'espace entre la ligne de
paroles et la portée.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La propriété @code{shortest-duration-space} peut devoir être retouchée
pour ajuster l'apparence des chutes ou sauts.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
L'alignement horizontal des noms d'instrument se gère à l'aide de la
propriété @code{Staff.InstrumentName #'self-alignment-X}. Les variables
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les numéros de mesure s'alignent en principe sur la droite de l'objet
dont ils dépendent. C'est normalement le coin gauche de la portée ou,
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les indications textuelles peuvent s'aligner par rapport à d'autres
objets que des barres de mesure, tels que @code{ambitus},
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Par défaut, la commande @code{\\mark} centre les objets sur la barre de
mesure. Ce comportement peut se modifier pour un alignement par la
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
L'empilement des indications de doigté se fait par défaut à l'extérieur
de la portée. Néanmoins, il est possible d'annuler ce comportement.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La hauteur de hampe des notes ligaturées est gérée par la sous-propriété
@code{beamed-lengths} des @code{details} de l'objet @code{Stem}.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Deux méthodes alternatives vous permettent de gérer la numérotation des
mesures en cas de reprises.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Voici comment obtenir une brève -- aussi appelée note carée --
flanquée de deux barres verticales, au lieu d'une comme habituellement.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Si plusieurs voix se trouvent sur une même portée, on peut attribuer le
graveur @code{Ambitus_engraver} au contexte @code{Staff} afin d'obtenir
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Un @emph{ambitus} indique la tessiture, autrement dit les hauteurs
extrêmes d'une voix.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les crochets d'analyse viennent par défaut se positionner au-dessous de
la portée. L'exemple suivant vous indique comment les faire apparaître
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr ="
Voici comment graver la plupart, sinon tous les symboles que
LilyPond prend en charge en matière de musique ancienne.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Voici comment vous pourriez transcrire du grégorien. Pour mémoire, il
n'y a en grégorien ni de découpage en mesure, ni de hampe@tie{}; seules
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Lorsque l'on transcrit de la musique mensurale, un @emph{incipit} permet
d'indiquer la tonalité et le tempo d'origine. Si les musiciens sont de
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La métrique peut s'imprimer dans un style ancien.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Cet exemple illustre la manière de présenter un cantique tel qu'on le
trouve dans l'église anglicane. Vous noterez comment sont ajoutés les
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La propriété @code{shapeNoteStyles} permet d'affecter un profil
particulier à chaque degré de la gamme -- à partir de l'armure ou
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Lorsque les improvisations ou @emph{taqasim} sont temporairement libres,
la métrique peut ne pas apparaître, auquel cas on utilisera un
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Une liaison peut adopter une courbe asymétrique afin de s'adapter au
mieux à la ligne mélodique.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Dès lors que la propriété @code{subdivideBeams} aura été activée, une
ligature sera subdivisée selon les préceptes de @code{beatLength}.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
@code{shiftDurations} permet de modifier la longueur des notes d'un
morceau. Cette instruction prend deux arguments@tie{}: un coefficient
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Doigtés et numéros de corde, lorsque affectés à des notes individuelles,
évitent les hampes et ligatures. Cette fonctionnalité n'est pas activée
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Voici comment imprimer un accord développé sur une mesure ou une demie
mesure (décommenter la ligne appropriée).
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les règles de ligature définies au niveau du contexte @code{Score}
s'appliqueront à toutes les portées. Il est toutefois possible de
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Aucune règle de ligature automatique n'est disponible pour une mesure à
7/8. Il faudra donc, en pareil cas, définir vous-même les règles de
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Il est normalement impensable qu'un saut de ligne tombe au milieu d'une
ligature. LilyPond permet néanmoins de l'obtenir.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
L'instruction @code{\\whiteout} intercale un rectangle blanc contenant
un @emph{markup}. Dans la mesure où les lignes de la portée sont à un
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
@code{\\bookpart} permet de découper un ouvrage en plusieurs parties.
La dernière page de chaque partie peut être affectée d'un
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les indications de respiration sont disponibles sous différentes
formes : virgule (par défaut), trait, en V et @qq{voie de chemin de fer}
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Une portion d'un soufflet de crescendo peut être rendue invisible.
Il suffit pour cela de dessiner un rectangle par dessus cette partie, ce
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Une césure peut parfois s'indiquer par une double respiration surmontée
d'un point d'orgue. Le code ci-dessous permet d'obtenir la combinaison
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La fonction comprise dans l'extrait suivant permet d'ajouter du texte
-- comme @qq{molto} o @qq{poco} -- en dessous d'un soufflet de
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Des raisons techniques sont à l'origine de la difficulté de centrer des
scripts textuels attachés à des têtes de note, ce qui n'est pas le cas
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Il est possible de rapetisser le cercle d'un @code{\\flageolet} grâce
à une fonction Scheme.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La commande @code{\\tweak} permet de modifier la propriété
@code{font-size} d'une note particulière d'un accord.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
LilyPond insère automatiquement des ligatures coudées -- certaines
hampes vers le haut, d'autres vers le bas -- lorsqu'il détecte un
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Le séparateur de termes d'un chiffrage peut adopter n'importe quelle
forme à l'aide d'un @emph{markup}.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Dans le cas où ce silence dure moins de dix mesures, LilyPond imprime sur
la portée des @qq{silences d'église} -- @emph{Kirchenpause} en
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les diagrammes de fret peuvent s'orienter de trois manières différentes.
Ils s'aligneront par défaut sur la corde du haut ou le sommet du fret.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Lorsque LilyPond génère un fichier MIDI, chaque portée sera par défaut
affectée à un canal, quel que soit le nombre de voix qu'elle contient.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Lorsque vous regroupez automatiquement des parties, vous pouvez
modifier le texte qui sera affiché pour les solos et pour les parties à
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La commande @code{\\applyOutput} permet de personnaliser n'importe quel
objet de rendu. Elle requiert une fonction Scheme à trois arguments.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Chaque couplet peut disposer de sa propre fonte, y compris son numéro.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Le texte par défaut des crescendos et decrescendos se change en
modifiant les propriétés de contexte @code{crescendoText} et
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
L'affichage d'un @emph{ambitus} peut s'affiner pour répondre à vos
préférences en matière d'esthétique.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Une liaison d'articulation peut se présenter sous la forme d'un trait
continu ou discontinu, voire en pointillé.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
On peut choisir le glyphe imprimé par cette commande, en modifiant la
propriété @code{text} de l'objet @code{BreathingSign}, pour lui affecter
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
LilyPond adpote par défaut la dénomination anglaise pour le nom et
chiffrage des accords. L'instruction @code{\\germanChords} permet
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les familles de fontes par défaut pour le texte peuvent être changées à
l'aide de la fonction @code{make-pango-font-tree}.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
@code{staffLineLayoutFunction} permet de changer le positionnement des
notes. Dans cet exemple, la valeur qui lui est attribuée --
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Voici comment modifier le nombre de points d'augmentation
affectés à une note en particulier.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Le nombre de lignes d'un portée se modifie par adaptation de la
propriété @code{line-count} du @code{StaffSymbol}.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
On peut choisir d'imprimer les altérations et signes plus aussi bien
avant qu'après les chiffres, en réglant les propriétés
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La taille et l'épaisseur des diagrammes de doigté pour bois est modifiable
à souhait.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Bien que le meilleur moyen de définir la taille des portées consiste à
utiliser @code{#(set-global-staff-size xx)}, une portée en particulier
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Vous pouvez indiquer un changement de tempo pour le fichier MIDI sans
pour autant l'imprimer. Il suffit alors de le rendre invisible aux
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
@code{Staff.pedalSustainStrings} permet de définir le texte affiché pour
les instructions de pédale. Les seuls caractères autorisés sont les
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
L'apparence du chiffre est déterminée par la propriété @code{text} dans
@code{TupletNumber}. La valeur par défaut imprime seulement le
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La propriété @code{measureLength}, conjointement avec
@code{measurePosition}, détermine l'endroit où une barre de mesure est
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Ce style de notation permet d'indiquer la mélodie d'une psalmodie
lorsque les strophes sont de longueur inégale.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Un glissando sur des accords s'indique dans un @code{TabStaff} de la
même manière que dans un @code{Staff}, à ceci près que nous aurons
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Il est possible de créer votre propre modèle de chiffrages en
réglant la propriété @code{chordNameExceptions}.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La représentation d'un accord de septième majeure se gère par le
@code{majorSevenSymbol}.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Vous pouvez opter pour n'imprimer les diagrammes de fret qu'à l'occasion
d'un changement d'accord ou de saut de ligne.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les clefs peuvent être transposées d'un intervalle différent de l'octave.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Le code ci-dessous permet de réaliser des découpes à l'emporte pièce,
autrement dit d'extraire des fragments, au sein d'une partition.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Un cluster indique à l'instrumentiste qu'il doit jouer tout une suite de
sons.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les têtes de note peuvent adopter une couleur différenete selon leur
hauteur ou leur nom : la fonction utilisée ici fait même la distinction
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Certaines indications de nuance peuvent requérir un complément textuel,
comme @qq{più forte} ou @qq{piano subito}. Elles se réalisent aisément
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
L'outil de combinaison de parties (la commande @code{\\partcombine})
permet d'avoir deux parties différentes sur une même portée. LilyPond
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Des métriques telles que @qq{5/8} peuvent s'interpréter sous une forme
décomposée --- @qq{3/8 + 2/8} par exemple --- qui combine plusieurs
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les règles de ligature par mesure sont gérées par la propriété
@code{beatStructure}. Ses valeurs par défaut sont répertoriées, par
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
De nos jours, il peut arriver que la note d'arrivée d'un glissando soit
absente de la partition. Pour ce faire, il vous faudra utiliser une
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La visibilité des extensions qui se terminent sur la première note après
un saut de ligne est contrôlé par un appel de @code{after-line-breaking}
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Le positionnement des doigtés peut être contrôlé de manière très précise.
Afin que l'orientation soit prise en compte, il est nécessaire d'utiliser
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les symboles s'ordonnent verticalement suivant la propriété
@code{script-priority}. Plus sa valeur numérique est faible, plus le
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Selon la tradition, les crochets indicateurs de nolet sont toujours
imprimés, sauf dans le cas où ils seraient de la même longueur qu'une
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Obtenir un @emph{grupetto} retardé et dans lequel la note la plus basse
est altérée requiert quelques surcharges. La propriété
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Lorsque la musique comporte à de nombreuses reprises une même séquence
sur des hauteurs différentes, la fonction musicale ci-dessous peut
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Affecter le graveur @code{Span_arpeggio_engraver} au contexte de la
portée (@code{Staff}) permet de distribuer un arpège sur plusieurs
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Rien n'est plus simple, pour obtenir une feuille blanche avec des
portées, que de générer des mesures vides, de supprimer le
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Dans une double portée pour piano (@code{PianoStaff}), un arpège peut
s'étendre sur les deux portées grâce à la propriété
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Il est possible de distribuer un arpège sur plusieurs portées d'un
système autre que le @code{PianoStaff} dès lors que vous incluez le
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Il est impossible, par défaut, de noter un doigté sur deux caractères --
autrement dit supérieur à 9. C'est gravé dans le marbre.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Vous pouvez créer des indications de tempo sous la forme d'étiquettes
textuelles -- des objets @emph{markup} -- notamment des équivalences.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Bien que le moyen le plus simple pour ajouter des parenthèses à une
indication de nuance consiste à utiliser un bloc @code{\\markup}, cette
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les indications de repère, à la différence des scripts textuels, ne
peuvent s'empiler en un même endroit de la partition@tie{}: il n'est
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Dans certaines situations, il peut être nécessaire de lier des notes
appartenant à des voix différentes.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les commandes @code{\\startTextSpan} et @code{\\stopTextSpan} permettent
d'ajouter une ligne de prolongation aux indications textuelles, à
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Il est parfois préférable d'utiliser les hampes de la portée supérieure
pour créer des accords distribués, afin d'éviter tout risque de
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Dans la mesure où @code{\\repeat tremolo} requiert deux arguments
musicaux pour un trémolo d'accords, la note ou l'accord de la
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les guidons peuvent adopter différents styles.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les propriétés d'un diagramme de fret sont définies par les
@code{'fret-diagram-details}. En matière de diagramme de fret, les
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les propriétés d'un diagramme de fret sont modifiables grâce au
@code{'fret-diagram-details}. Lorsqu'ils sont générés sous forme
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La direction des hampes des notes placées sur la ligne médiane de la
portée est gérée par la propriété @code{neutral-direction} de l'objet
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Cet exemple démontre comment définir son propre graveur de tessiture à
base de code Scheme.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La liste des diagrammes standards prédéfinis pour la guitare peut être
augmentée d'autres définitions spécifiques à d'autres instruments.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Partant du problème que l'on ignore quel @code{midiInstrument} serait le
plus adapté à sa composition, voici un fichier LilyPond de démonstration.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Voici la liste de tous les champs d'entête :
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Lorsque, dans des regroupements de type @code{ChoirStaff} ou
@code{StaffGroup}, une seule portée est active, aucune indication n'est
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Voici comment obtenir l'impression d'un accord au sein duquel une même
note est jouée deux fois avec des altérations différentes.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Lorsque l'on manipule des rappels d'objet (@emph{grob callbacks}), il
peut être intéressant d'en maîtriser les « ascendants ». La plupart des
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Au début du XXe siècle, Schoenberg, Berg et Webern -- la « Seconde »
école de Vienne -- imaginèrent de donner une importance comparable aux
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les notes harmoniques artificielles, obtenues grâce à @code{\\harmonic},
ne sont pas pointées. Ce comportement peut être modifié en activant la
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La connection d'accords par des glissandos s'obtient par l'ajout d'un
deuxième glissando dans une voix masquée.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La fonction @code{print} peut se modifier pour obtenir l'encadrement de
n'importe quel objet.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Voici comment entourer d'un cercle une note :
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La commande de @emph{markup} @code{\\circle} permet de dessiner un
cercle autour de différents objets comme des indications de doigté.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Il s'agit de fonctions postfix pour personnaliser l'extension des
crescendos textuels. L'extension devrait débuter sur la première note
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les lignes d'extension des commandes @code{\\cresc}, @code{\\dim} et
@code{\\decresc} peuvent désormais être personnalisées facilement sous
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Du code PostScript peut directement être intégré dans un bloc
@code{\\markup}.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Pour appréhender la notation, nous l'avons disséquée en éléments
simples : chaque type de symbole est géré par un module différent.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Il est possible de graver manuellement les liaisons de tenue, en
modifiant la propriété @code{tie-configuration}. Pour chaque paire, le
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Lorsque la durée totale d'un trémolo est inférieur à la noire, égale une
blanche, ou bien entre une blanche et une ronde, il est d'usage que
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La propriété @code{tupletSpannerDuration} spécifie la longueur voulue de
chaque crochet. Avec elle, vous pouvez faire plusieurs nolets en ne
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
En mode tablature, un @emph{hammer}, ou lié ascendant, peut se simuler à
l'aide d'une liaison.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les crochets d'indication de pédale peuvent se modifier de différentes
manières.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Des symboles spécifiques peuvent être obtenus en combinant les glyphes
disponibles, ce qui est tout à fait indiqué en matière d'instrument à vent.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
L'exemple suivant illustre comment combiner des doigtés pour la main
gauche, des indications de corde et des doigtés pour la main droite.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La guitare flamenco fait appel à des éléments de notation particuliers :
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
En combinant @code{stemLeftBeamCount}, @code{stemRightBeamCount} et des
paires de @code{[]}, vous pourrez obtenir des crochets rectilignes et
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
L'indication d'une technique particulière d'articulation, telle le
@qq{coup de langue} des flûtistes, en remplaçant la tête de note par un
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Lorsqu'une clef a déjà été imprimée et qu'aucune autre clef n'a depuis
été imprimée, LilyPond ignorera toute réitération de la commande
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Quand LilyPond est dépassé, la propriété @code{force-hshift} de l'objet
@code{NoteColumn}, et des silences à hauteur déterminée, peuvent
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
LilyPond n'imprimera de tiret entre deux syllabes que s'il juge qu'il y
a suffisamment d'espace. Ce comportement peut être modifié grâce à la
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Par défaut, les indications métronomiques n'influencent en rien
l'espacement horizontal. Dans le cas où elles se suivent sur des silences
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Voici comment initialiser arbitrairement une indication automatique de
repère, qu'elle soit alphabétique ou numérique :
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Le mode @emph{markup} permet d'individualiser la mise en forme de
certaines syllabes.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Voici différentes manières d'obtenir et de personnaliser des diagrammes
de fret :
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Vous pouvez tout à fait créer des tables de diagrammes de fret
supplémentaires, notamment dans l'optique d'un fret alternatif pour un
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Harmoniques et tablature (harmoniques artificielles).
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Une fonction Scheme personnalisée permet de redéfinir la propriété
@code{stencil} de l'objet @code{Flag}, de sorte à modifier le glyphe
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Le fragment de code Scheme ci-dessous génère aléatoirement 24 notes
(ou autant que nécessaire), à partir de l'heure courante (ou un nombre
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Une partition LilyPond, de manière interne, n'est rien d'autre qu'une
expression Scheme générée par l'analyseur syntaxique de lilypond. Il
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Un glissando peut sauter un objet @code{NoteColumn}.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Dans certains cas, vous pouvez opter pour l'affichage textuel d'une clé
située à côté d'un trou plutôt que sa représentation graphique.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Modifier certaines des propriétés du quadrillage temporel aura pour effet
d'en changer l'apparence.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Des lignes verticales entre les portées peuvent s'ajouter dans le but
d'indiquer la synchronisation entre des notes. Dans le cas de musique
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
En matière de notation pour guitare, il arrive que soient indiqués les
@qq{coups de gratte} en plus de la mélodie, grilles d'accords et
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les lignes d'un soufflet peuvent adopter tous les styles permis par la
@code{line-interface} : discontinu, pointillé, continu, ondulé ou en
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Bien que la métrique complexe ne soit pas l'élément primordial de cet
exemple, elle permet d'indiquer la pulsation de cette pièce qui, par
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Cet exemple illustre comment, lorsqu'une note affublée d'une altération
accidentelle est prolongée, ne pas répéter cette altération après un
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les crescendos et decrescendos indiqués textuellement -- tels que
@emph{cresc.} ou @emph{dim.} -- sont suivis de pointillés qui montrent
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Certaines indication de nuance requièrent un complément textuel, comme
« sempre pp ». Dans la mesure où les nuances sont habituellement
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Différents moyens permettent de repositionner un diagramme de fret pour
éviter des collisions ou le placer entre deux notes :
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Cette méthode permet d'imprimer deux marques-repères l'un au dessus de
l'autre. Le repère inférieur est décalé sous la portée, puis s'insère
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: f199e875f7a7beb0afd17eae2038819baab767ff
texidocfr = "
Cette méthode permet d'imprimer deux marques-repères -- l'un au-dessus de
la portée et l'autre en dessous -- à l'aide de deux voix séparées. Le
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Des mots monosyllabiques peuvent s'attacher par une liaison à l'aide
d'un tilde.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Le code ci-dessous illustre la manière d'agencer un cantique liturgique
dans lequel chaque ligne débute et se termine par une mesure incomplète.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les « incipits » peuvent faire partie de l'objet @code{InstrumentName},
tout en définissant de manière indépendante le nom de l'instrument et
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Un crochet d'arpège peut indiquer que des notes réparties sur deux
portées différentes doivent être jouées par la même main. Le contexte
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Une surcharge de la propriété @code{'text} de l'objet
@code{BreathingSign} permet de créer une marque de césure. LilyPond
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La commande @code{\\markup} est polyvalente. Dans cet exemple, elle
contient un bloc @code{\\score} plutôt que du texte ou une marque.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Des symboles de pourcentage isolés peuvent aussi être obtenus, au
moyen d'un silence multimesure dont on modifie l'aspect :
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Bien que compliqué de prime abord, voici un canevas tout à fait indiqué
pour les ensembles de jazz. Vous noterez que tous les instruments sont
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Le symbole imprimé lors d'un changement de clef est plus petit que la
clef initiale. La taille s'ajuste à l'aide de la propriété
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les indication de « laisser vibrer » ont une taille fixe. Leur
formatage est accessible au travers de la propriété
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Une tablature peut comporter des lettres en lieu et place des chiffres.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les extensions de texte, tout comme les indications sous forme de ligne
tel un glissando, peuvent se voir pourvues d'une extrémité en flèche.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
L'alignement horizontal des paroles peut se gérer à l'aide de la
propriété @code{self-alignment-X} de l'objet @code{LyricText}.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Le « makam » est une forme de mélodie turque qui utilise des altérations
d'un neuvième de ton. Consultez le fichier d'initialisation
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Une modification de la propriété @code{transparent} permet d'imprimer un
objet à « l'encre sympathique » : l'objet n'est pas affiché bien que tous
--- /dev/null
+%% Translation of GIT committish: f199e875f7a7beb0afd17eae2038819baab767ff
+
+ texidocfr = "
+L'affectation de la valeur @code{#t} à la propriété @code{breakable},
+combinée à @code{after-line-breaking}, permet la rupture d'une
+indication de glissando lors d'un saut de ligne.
+
+"
+
+ doctitlefr = "Saut de ligne et glissando"
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Grâce à la propriété @code{dash-definition}, une liaison d'articulation
peut être formée de traits discontinus variables.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Vous pourriez avoir envie, dans un but pédagogique, de rendre certaines
lignes d'une portée plus épaisses que les autres, comme la ligne médiane,
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La basse chiffrée utilise fréquemment des lignes pour indiquer la
prolongation jusqu'à un certain point. LilyPond est alors dispendieux
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Le positionnement et la pente des ligatures peuvent être contrôlés
manuellement à l'aide d'une adaptation de la propriété
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Voici comment ajouter une croix aux hampes. Le début du fragment parlé
est stipulé par une commande @code{\\speakOn}, et la fin par une
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Un bloc de texte conséquent peut se répartir sur plusieurs pages à
l'aide de la commande @code{\\markuplist}.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Le code ci-dessous permet, de façon détournée, d'afficher un compteur de
mesures à l'aide d'une répétition en pourcent rendue transparente.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
En musique mensurale, les barres de mesure ne traversent pas les
portées. Pour obtenir ce résultat avec un @code{StaffGroup} plutôt
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Dans le cadre d'un portée polyphonique, les silences multimesures sont
positionnés différemment selon la voix à laquelle ils appartiennent.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les raccourcis sont répertoriés dans le fichier
@file{ly/script-init.ly}, dans lequel on retrouve les variables
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les crochets indiquant un nolet peuvent être prolongés jusqu'à un
élément de rupture ou jusqu'à la note suivante. LilyPond termine un
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Une note pointée appartenant à la voix supérieure d'une portée
polyphonie sera par défaut décalée vers la droite afin d'éviter les
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Le positionnement vertical d'une liaison se contrôle par la propriété
@code{positions} de l'objet @code{Slur}. Cette propriété dispose de
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Lorsque du texte est attaché à un silence multimesure, il sera centré
dans la mesure, au-dessus ou en dessous de la portée. Afin d'étirer la
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La propriété @code{systemStartDelimiterHierarchy} permet de créer des
regroupements imbriqués complexes. La commande
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
LilyPond sait aussi gérer des nolets dont le chiffrage imprimé ne
correspond pas exactement à la fraction de mesure à laquelle ils se
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La commande @code{\\key} détermine la propriété @code{keySignature} d'un
contexte @code{Staff}.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
En mode @qq{easy play}, les têtes de note utilisent la propriété
@code{note-names} attachée à l'objet @code{NoteHead} pour déterminer ce
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La version 2.14 a donné naissance à un nouveau moteur pour l'espacement
vertical des paroles. Celles-ci peuvent donc se retrouver positionnées
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Table des harmoniques sur corde à vide (harmoniques naturelles) :
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Ce canevas illustre l'utilisation de contextes @code{StaffGroup} pour
regrouper les instruments selon leur famille, imbriqués dans un
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
En interne, la fonction @code{\\ottava} détermine les
propriétés @code{ottavation} (par ex. en @code{\"8va\"} ou @code{\"8vb\"})
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
L'insertion du résultat de @code{lilypond-version} dans des paroles
permet d'ajouter à la partition ou au document généré par
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Des références de page peuvent prendre place aussi bien dans la
musique qu'en tête de partition, puis reprises dans un @emph{markup}.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La fonction @code{\\autoBeamOff} dans le cadre d'un
@code{\\partcombine} agit de façon bien particulière ; c'est pourquoi il
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Le numéro de mesure répétée sera imprimé à intervalle régulier si vous
déterminez la propriété de contexte @code{repeatCountVisibility}.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les répétitions de plus de deux mesures sont surmontées d'un compteur,
si l'on active la propriété @code{countPercentRepeats} comme le montre
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La représentation graphique des instruments à percussion n'est pas prise
en charge nativement. De tels symboles peuvent cependant être inclus,
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Cet exemple peu académique démontre comment il est possible d'insérer un saut
de ligne dans un nolet portant une ligature. Ces ligatures doivent toutefois
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Voici une simple partition pour piano avec quelques notes.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Lorsque la mélodie est doublée au piano, cela ne nécessite pas forcément
une portée spécifique. Les paroles peuvent s'insérer entre les deux
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Il s'agit du format classique pour le chant : une portée pour la mélodie
et les paroles au-dessus de l'accompagnement au piano.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Le positionnement des doigtés main droite, grâce à une propriété
spécifique, peut se contrôler finement, comme l'indique
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Une section polyphonique s'obtient dans un @code{TabStaff} de la même
manière que dans une portée normale.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
L'ajustement de la taille d'une indication d'arpeggio s'effectue au
travers du positionnement de ses extrémités haute ou basse.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les options par défaut en matière de positionnement des doigtés d'un
accord donnent généralement de bons résultats. Il se peut néanmoins
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La ligature de notes se trouvant sur des lignes supplémentaires est
généralement centrée sur la portée. Les notes d'ornement ayant une
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Lorsqu'est activée la propriété @code{'strict-grace-spacing},
l'espacement des notes d'ornement se fera de manière « élastique ».
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Si l'on peut positionner verticalement un silence simple en le
rattachant à une note, il n'en va pas de même pour un silence
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Le code ci-dessous permet d'adjoindre à un signe @emph{segno} un texte
@emph{D.S. al Coda}, là où se trouverait normalement un bout de portée.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Lorsqu'une annotation doit s'incrire à l'intérieur d'une liaison, la
propriété @code{outside-staff-priority} doit être désactivée.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
En accord avec les règles standards de l'écriture musicale, on grave
un bécarre avant un dièse ou un bémol si on a besoin d'annuler une
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
L'ajout d'une marque-repère en fin de pièce peut entraîner la perte de
la dernière indication de nolet. La désactivation de @code{TupletBracket
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Après un changement de tonalité, un bécarre est imprimé pour annuler
toute altération précédente. Ce comportement s'annule en désactivant la
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Bien qu'allant à l'encontre des usages en matière de gravure, une barre
de reprise (@code{|:}) s'imprimera en début de partition après surcharge
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Vous pouvez imprimer un numéro de mesure à intervalle régulier plutôt
qu'en tête de chaque ligne seulement, en recourant à la propriété
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les numéros de mesure peuvent être encadrés ou entourés d'un cercle.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Des crescendos ou decrescendos @emph{al niente} peuvent être indiqués de
manière graphique, en assignant @emph{vrai} (@code{#t}) à la
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les indications textuelles peuvent être imprimées à la fin d'une ligne
plutôt qu'en tête de la suivante. L'alignement sur la barre de mesure
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Bien que ces indications textuelles ne soient habituellement imprimées
qu'au niveau de la portée supérieure d'un système, leur affectation peut
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les indications de tempo et les marques de repère s'impriment par défaut
au-dessus de la portée. Le fait de régler en conséquence la propriété
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Bien qu'ayant des métriques bien différentes, les deux parties
ci-dessous présentées restent synchrones. Les barres de mesure ne
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Le contexte @code{NoteNames} permet d'imprimer le nom des notes. La
propriété @code{printOctaveNames}, une fois activée, leur adjoindra une
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Du texte, inclus dans un objet @emph{markup}, peut s'imprimer de droite à
gauche, comme illustré ci-dessous.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Par défaut, LilyPond n'affiche pas le premier numéro de mesure s'il est
inférieur à@tie{}2. Le fait de définir @code{barNumberVisibility} à
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Lorsque la propriété @code{strict-note-spacing} est activée,
l'espacement des notes dans un système ne tient compte ni des barres de
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Des paroles peuvent venir s'inscrire dans la portée même. Ces paroles
sont décalées par la dérogation @code{\\override LyricText
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les citations tiennent compte de la transposition, aussi bien celle de
l'instrument d'origine que celle de la partie où elles interviennent.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les types d'événement pris en charge pour la citation sont déterminés par
la propriété @code{quotedEventTypes}. Par défaut, sa valeur est fixée à
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Cet exemple illustre la manière de créer et afficher des indications de
doigté pour instrument à vent.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Vous pouvez modifier les valeurs des variables @code{startGraceMusic},
@code{stopGraceMusic}, @code{startAcciaccaturaMusic},
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Désactiver le graveur concerné -- @code{Bar_number_engraver} --
donnera une partition -- contexte @code{Score} -- sans numéros de
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les barres de mesure des regroupements @code{StaffGroup},
@code{PianoStaff} et @code{GrandStaff} sont par défaut d'un seul tenant.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Par défaut, le premier système comportera absolument toutes les portées.
Si vous préférez masquer les portées vides y compris pour le premier
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les silences peuvent être gravés selon différents styles.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Pour obtenir des ligatures en groupes de @code{3-4-3-2} croches, dans
une mesure à 12/8, il faudra préalablement annuler les réglages par
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Il arrive, dans une feuille de chant « simple », que les notes soient
remplacées par une « pulsation » et que la structure de la chanson soit
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Modèle pour chœur à quatre voix mixtes, chaque pupitre ayant sa propre
portée.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les altérations supprimées lors d'un changement de tonalité sont par
défaut accolés à la nouvelle armure. Ce comportement peut s'adapter
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
En principe, un soufflet -- (de)crescendo imprimé sous forme graphique --
commence au bord gauche de la note de départ, et se termine au
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La séparation entre deux systèmes consécutifs peut être mise en
évidence par n'importe quel @emph{markup}. LilyPond dispose à cet effet
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
LilyPond dispose de trois différents styles de barre pour indiquer une
succession de reprises. Vous devez opter pour un style par défaut, à
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Si un soufflet est trop court, il suffit d'ajuster la propriété
@code{minimum-length} de l'objet @code{Hairpin} pour l'allonger.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les crochets indiquant les fins alternatives s'étalent tout au long de
celles-ci. On peut les raccourcir en jouant sur la propriété
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Vous pouvez faire ressortir les chiffrages d'accords s'ils ne sont
imprimés qu'aux changements d'accord ou en début de ligne.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
LilyPond ne permet pas, par défaut, qu'une même articulation (accent,
flageolet, point d'orgue etc.) se retrouve à la fois au-dessus et
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Assembler des noms d'accords, une mélodie et des paroles permet
d'obtenir la partition d'un chanson@tie{}:
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Ce canevas comporte tous les éléments d'une chanson : la mélodie,
les paroles, les accords.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Ce canevas comporte, en plus de la mélodie, des paroles et des accords,
les diagrammes de fret.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Vous avez besoin de la partition d'une mélodie avec les accords@tie{}?
N'allez pas plus loin@tie{}!
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Ce canevas comporte une simple ligne mélodique agrémentée de paroles.
Recopiez-le, ajoutez-y d'autres notes et paroles. Les ligatures
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Cet exemple simpliste se compose d'une portée agrémentée de quelques
notes. Il convient tout à fait pour un instrument seul ou un
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Sachant qu'un @code{s} au sein d'un bloc @code{\\lyricmode} est
interprété non comme de l'espace mais comme un mot, l'utilisation de
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La syntaxe @code{s} qui permet de « faire un saut dans le temps » n'est
disponible qu'en mode notes et en mode accords. Dans les autres
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Un glissando s'indique dans un @code{TabStaff} tout comme dans un
@code{Staff}.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Un @emph{slap}, aussi appelé @emph{pizzicato à la Bartók}, est un
pizzicato où, au lieu de tirer la corde de côté comme à l'accoutumée,
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Le fait de spécifier un contexte à @code{beatGrouping} permet d'en
limiter les effets. Par voie de conséquence, il sera possible
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
L'utilisation de la commande @code{\\markup} permet de distribuer un bloc
de texte indépendant sur plusieurs colonnes.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La direction des hampes se gère dans les tablatures tout comme en
notation traditionnelle. Les ligatures peuvent être mises à l'horizontale
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Le code ci-dessous illustre la manière de concevoir un graveur en
Scheme, ici chargé de connecter des hampes entre les portées. Nul n'est
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Certaines conventions en matière de notation autorisent les ligatures à
enjamber des silences. Dans certains cas, des moignons de hampe
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Une sous-ligature tronquée peut pointer en direction de la pulsation à
laquelle elle se rattache. Dans l'exemple suivant, la première ligature
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Voici comment ajouter une ligne de prolongation à une indication de
numéro de corde, afin de stipuler que les notes qui suivent doivent être
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Voici un canevas pour quatuor à cordes. Notez l'utilisation de la
variable @code{\\global} pour traiter la métrique et la tonalité.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Grâce à ce canevas, vous pouvez obtenir une partition d'excellente
facture pour quatuor à cordes mais aussi, si le besoin s'en faisait
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les ligatures d'une succession de notes de durée inférieure à la croche
ne sont pas subdivisées par défaut. Autrement dit, tous les traits de
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidoc = "
Lorsque des notes simultanées appartenant à des voix différentes ont la
même orientation de hampe et qu'aucun décalage n'a été appliqué ou qu'il
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
L'instruction @code{\\markuplist \\table-of-contents} permet d'inclure
une table des matières. Ses éléments sont ajoutés à l'aide de la
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Voici comment construire une commande de @emph{markup} chargée
d'agrémenter du texte ou autre annotation, d'une bordure sur trois
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Lorsque les barres de mesure ne sont là que dans un but de coordination
et non pour accentuer le rythme, il arrive souvent qu'elles se
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Autre manière de mettre la métrique entre parenthèses.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Une métrique peut être mise entre parenthèses.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La métrique est parfois indiquée non pas par une fraction (par ex. 7/4)
mais simplement par son numérateur (7 dans ce cas). L'instruction
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Voici une méthode alternative pour ajouter un @emph{incipit}
indépendamment de la partition principale. Pour ce faire, il est inclus
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Cet exemple, grâce à un peu de code Scheme, donne la priorité aux
enharmoniques afin de limiter le nombre d'altérations supplémentaires.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La commande @code{\\clef \"treble_8\"} équivaut à définir @code{clefGlyph},
@code{clefPosition} -- qui contrôle la position verticale de la clef --
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Il est possible de changer globalement la mise en forme des notes d'ornement
dans un morceau, au moyen des fonctions @code{add-grace-property} et
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Un regroupement de portées sera indiqué par un simple rectangle
-- @code{SystemStartSquare} -- en début de ligne dès lors que vous le
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Une dérogation à la propriété @code{stencil} de l'objet @code{Flag}
permet aux croches et notes de durée inférieure d'adopter une autre
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Un crochet d'arpège (@code{arpeggioBracket}) permet de mettre en
évidence les divisions d'un pupitre en l'absence de hampe, comme on le
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La propriété @code{measureLength} détermine la pulsation et, combinée à
@code{beatLength} et @code{beatGrouping}, comment générer les ligatures
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Certains auteurs utilisent deux liaisons lorsqu'ils veulent lier des
accords. Dans LilyPond, il faut pour cela activer la propriété
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Le trait que l'on trouve sur les hampes des acciaccatures peut
être appliqué dans d'autres situations.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Certains objets graphiques ne sont accessibles que par le biais d'un
@emph{callback} à partir d'un autre @code{grob}. Ils sont normalement
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Lorsqu'il est impossible d'obtenir facilement une allure particulière
pour les têtes de note en recourant à la technique du @code{\\markup}, un
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La commande @code{\\tweak} permet de retoucher directement n'importe
quel objet graphique. En voici quelques exemples :
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Tout objet graphique peut s'imprimer sur un fond blanc afin de masquer
une partie des objets qu'il recouvre. Ceci trouve toute son utilité
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Les liaisons de tenue servent parfois à rendre un accord arpégé. Dans
ce cas, les notes liées ne sont pas toutes consécutives. Il faut alors
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
On trouve régulièrement, en musique baroque, cette courte ligne
verticale. Sa signification peut varier, mais elle indique le plus
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Vous pourrez, en jouant sur la propriété @code{'Y-extent}, aligner les
différents objets @code{DynamicLineSpanner} (soufflets ou textuels)
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Des nuances qui commencent, finissent ou se produisent sur une même note
auront le même alignement vertical. L'augmentation de la propriété
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Cet exemple illustre la manière de positionner une portée d'ossia et
des paroles à l'aide des propriétés de contexte @code{alignBelowContext}
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Il arrive, dans certaines partitions vocales, que quelques paroles
soient communes à tous les couplets. Cette partie commune peut peut se
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
L'activation de la propriété @code{useBassFigureExtenders} permet
d'afficher des lignes de prolongation pour les chiffres qui se répètent.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Ce canevas ajoute une réduction pour piano à une partition standard pour
chœur à quatre voix mixtes. Ceci illustre l'un des avantages de
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Ce canevas ressemble beaucoup à celui pour chœur à quatre voix mixtes.
La différence réside dans le fait que les paroles sont positionnées en
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Ce canevas illustre la manière d'agencer une œuvre vocale où le couplet
est chanté en solo et le refrain à deux voix. Vous noterez le recours
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Ce fichier constitue un canevas standard de partition pour chœur à
quatre voix mixtes. Lorsque les ensembles s'étoffent, il est judicieux
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
L'ajout du @code{Volta_engraver} à la bonne portée permet d'imprimer les
crochets de reprise entre les chiffrages et la portée.
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
L'ajout du @code{Volta_engraver} à la portée appropriée permet de
répéter les indications de reprise qui normalement n'apparaissent que
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
La commande @code{\\repeat volta} permet d'indiquer facilement des
reprises. Il est certains cas où l'adjonction d'un texte sous forme de
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Le code suivant permet d'obtenir une liste de toutes les possibilités en
matière de doigtés pour bois, tels qu'ils sont définis dans le fichier
-%% Translation of GIT committish: cc3b9e1430f4cc9c54da7252e504f3d274a7ea17
+%% Translation of GIT committish: e99967817ff985eb5bd5b0220b2fbf552963f9de
texidocfr = "
Voici les différents instruments à vent de la section des bois pour
lesquels LilyPond peut, à ce jour, afficher des doigtés.
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+
@ignore
- Translation of GIT committish: 446dc1f3ac9bfff6bfee31de929698b0425da6fe
+ Translation of GIT committish: eea3764cd6bbc78506261f78ed4e7745ac69df41
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@end example
@file{lilypond-invoke-editor} est un petit programme assistant. Il
-se charge d'appeler un éditeur pour les identifants de ressource
+se charge d'appeler un éditeur pour les identifiants de ressource
(@emph{URI}) de type @code{textedit}, et un navigateur pour les autres.
Il teste en outre la variable d'environnement @code{EDITOR} pour les cas
suivant :
En ligne de commande :
@example
-lilypond -dpoint-and-click=note-event example.ly
+lilypond -dpoint-and-click=note-event exemple.ly
@end example
@end itemize
@smallexample
lilypond \
-e"(ly:set-option 'point-and-click '(note-event dynamic-event))" \
- example.ly
+ exemple.ly
@end smallexample
source LilyPond.
MIDI (Music Instrument Digital Interface) constitue un standard pour
-les instruments. Il spécifie le cablage, un protocole série et un
+les instruments. Il spécifie le câblage, un protocole série et un
format de fichier. Le format de fichier MIDI est de ce fait un format
standard pour exporter de la musique à partir d'autres programmes, et
cette faculté prend tout son intérêt lorsqu'un programme dispose d'un
dialecte XML pour représenter la notation musicale.
@command{musicxml2ly} extrait, à partir d'un fichier MusicXML, les
-notes, articulations, structure de la partition, paroles, etc.
+notes, articulations, structure de la partition, paroles, etc.
et les écrit dans un fichier @file{.ly}. Il se lance en ligne de
commande.
-Pour le lancer en ligne de commande, procédez ainsi :
+Pour le lancer en ligne de commande, procédez ainsi :
@example
musicxml2ly [@var{option}]@dots{} @var{fichier-xml}
@end example
@item --nd --no-articulation-directions
Ne pas convertir la direction (@code{^}, @code{_} ou @code{-}) des
-articulations, nuances, etc.
+articulations, nuances, etc.
@item --no-beaming
-Ne pas convertir les informations de ligature@tie{}; laisser LilyPond
+Ne pas convertir les informations de ligature ; laisser LilyPond
gérer les ligatures automatiquement.
@item -o,--output=@var{file}
abc2ly [@var{option}]@dots{} @var{fichier-abc}
@end example
-@command{abc2ly} accepte les options suivantes@tie{}:
+@command{abc2ly} accepte les options suivantes :
@table @code
@item -b,--beams=None
LilyPond sait produire des fichiers MIDI, principalement dans le but de
« contrôle qualité » -- heureux détenteurs d'une oreille absolue -- de
ce qui a été saisi. Ne seront toutefois reproduits, en plus des notes
-et durées, que les nuances et tempi explicites.
+et durées, que les nuances et tempos explicites.
Le projet @emph{articulate} (site en anglais) s'est donné pour objectif
de reproduire plus d'informations dans le MIDI. Les notes qui ne sont
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: 0f93dd92ffa0319328e58148458d22c5448b3d58
+ Translation of GIT committish: f199e875f7a7beb0afd17eae2038819baab767ff
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
-- que ce soit sous forme de description PostScript ou au format PNG --
puis incluses dans votre document @LaTeX{} ou HTML.
-@command{lilypond-book} permet d'automatiser ces opérations@tie{}: le
+@command{lilypond-book} permet d'automatiser ces opérations : le
programme extrait de votre document les fragments de musique, les
traite grâce à @command{lilypond} puis en restitue la partition dans
votre document. Largeur de ligne et taille de la fonte sont adaptées
@cindex musicologie
Un certain nombre d'ouvrages peuvent être illustrés par des extraits
-musicaux, qu'il s'agisse d'un taité de musicologie, d'un carnet de chant
-ou d'un manuel à l'exemple de celui que vous consultez actuellement.
-Cet agencement peut se faire @qq{à la main} par importation d'un
-graphique PostScript dans le traitement de texte. Les développeurs de
-LilyPond ont cependant créé un outil permettant d'automatiser ces
-opérations pour ce qui concerne les documents HTML, @LaTeX{}, Texinfo et
-DocBook.
+musicaux, qu'il s'agisse d'un traité de musicologie, d'un carnet de
+chant ou d'un manuel à l'exemple de celui que vous consultez
+actuellement. Cet agencement peut se faire @qq{à la main} par
+importation d'un graphique PostScript dans le traitement de texte. Les
+développeurs de LilyPond ont cependant créé un outil permettant
+d'automatiser ces opérations pour ce qui concerne les documents HTML,
+@LaTeX{}, Texinfo et DocBook.
Un script -- @code{lilypond-book} -- se charge d'extraire les fragments
de musique, puis de les mettre en forme avant de renvoyer la
Afin d'insérer de la musique dans vos fichiers @LaTeX{},
@code{lilypond-book} dispose des environnements et commandes
-suivantes@tie{}:
+suivantes :
@itemize
@item
la commande @code{\lilypond@{...@}} qui permet de directement saisir du
-code LilyPond simple@tie{};
+code LilyPond simple ;
@item
l'environnement @code{\begin@{lilypond@}...\end@{lilypond@}} qui permet
-de saisir directement du code LilyPond plus élaboré@tie{};
+de saisir directement du code LilyPond plus élaboré ;
@item
la commande @code{\lilypondfile@{...@}} qui permet d'insérer un fichier
-LilyPond@tie{};
+LilyPond ;
@item
la commande @code{\musicxmlfile@{...@}} qui permet d'insérer un fichier
-MusicXML qui sera alors traité par @code{musicxml2ly} puis @code{lilypond}.
+MusicXML qui sera alors traité par @code{musicxml2ly} puis
+@code{lilypond}.
@end itemize
Il suffit, pour inclure de la musique, d'utiliser l'une des instructions
-suivantes@tie{}:
+suivantes :
@example
\begin@{lilypond@}[liste,des,options]
@noindent
Dans l'état actuel des choses, il n'est pas possible d'inclure des
accolades -- @code{@{} ou @code{@}} -- dans un
-@code{\lilypond@{@}}@tie{}; cette commande n'est donc pertinente que
+@code{\lilypond@{@}} ; cette commande n'est donc pertinente que
lorsque conjuguée à l'option @option{fragment}.
La longueur par défaut des portées sera ajustée en fonction des
ligne @code{\begin@{document@}}. La commande @code{lilypond-book} les
transmet à @LaTeX{} afin de connaître la largeur du texte, et par voie
de conséquence déterminer la longueur des portées. Notez bien que cet
-algorithme heuristique n'est pas infaillible@tie{}; vous devrez alors
+algorithme heuristique n'est pas infaillible ; vous devrez alors
recourir à l'option @code{line-width}.
@cindex titrage et lilypond-book
@cindex \header et document @LaTeX{}
Dès lors qu'elles auront été définies dans votre document, les macros
-suivantes seront appelées avant chaque extrait musical@tie{}:
+suivantes seront appelées avant chaque extrait musical :
@itemize @bullet
@item @code{\preLilyPondExample} avant la musique,
@code{\betweenLilyPondSystem} de telle sorte que l'inclusion cesse dès
que le nombre de systèmes requis est atteint. Dans la mesure où
@code{\betweenLilyPondSystem} n'est appelé qu'@strong{après} le premier
-système, inclure un seul système est un jeu d'enfant@tie{}:
+système, inclure un seul système est un jeu d'enfant :
@example
\def\betweenLilyPondSystem#1@{\endinput@}
Pour un plus grand nombre de systèmes, il suffit d'insérer un test
conditionnel @TeX{} avant le @code{\endinput}. À partir de l'exemple
qui suit, remplacez le @qq{2} par le nombre de systèmes dont vous aurez
-besoin@tie{}:
+besoin :
@example
\def\betweenLilyPondSystem#1@{
@noindent
Étant donné que @code{\endinput} arrête immédiatement le traitement du
fichier source en cours, l'insertion du @code{\expandafter} permet de
-repousser ce @code{\endinput} après le @code{\fi}@tie{}; la clause
+repousser ce @code{\endinput} après le @code{\fi} ; la clause
@w{@code{\if-\fi}} sera alors respectée.
Gardez à l'esprit que @code{\betweenLilyPondSystem} est effectif tant
@noindent
dans votre document @LaTeX{}.
-La création d'une macro @TeX{} permet de se simplifier la vie@tie{}:
+La création d'une macro @TeX{} permet de se simplifier la vie :
@example
\def\onlyFirstNSystems#1@{
@noindent
Il suffit alors, avant chacun des fragments à inclure, de spécifier le
-nombre de systèmes requis@tie{}:
+nombre de systèmes requis :
@example
\onlyFirstNSystems@{3@}
Afin d'insérer de la musique dans vos fichiers Texinfo,
@code{lilypond-book} dispose des environnements et commandes
-suivantes@tie{}:
+suivantes :
@itemize
@item
la commande @code{@@lilypond@{...@}} qui permet de directement saisir du
-code LilyPond simple@tie{};
+code LilyPond simple ;
@item
-l'environnement @code{@@lilypond...@@endlilypond} qui permet
-de saisir directement du code LilyPond plus élaboré@tie{};
+l'environnement @code{@@lilypond...@@end lilypond} qui permet
+de saisir directement du code LilyPond plus élaboré ;
@item
la commande @code{@@lilypondfile@{...@}} qui permet d'insérer un fichier
-LilyPond@tie{};
+LilyPond ;
@item
la commande @code{@@musicxmlfile@{...@}} qui permet d'insérer un fichier
Il suffit, pour inclure de la musique, d'utiliser l'une des instructions
-suivantes dans votre fichier source@tie{}:
+suivantes dans votre fichier source :
@example
@@lilypond[liste,des,options]
VOTRE CODE LILYPOND
-@@endlilypond
+@@end lilypond
@@lilypond[liste,des,options]@{ VOTRE CODE LILYPOND @}
@subsection HTML
@translationof HTML
-Afin d'insérer de la musique dans vos fichiers Texinfo,
+Afin d'insérer de la musique dans vos fichiers HTML,
@code{lilypond-book} dispose des environnements et commandes
-suivantes@tie{}:
+suivantes :
@itemize
@item
-la commande @code{<lilypond ... />} qui permet de directement saisir du
-code LilyPond simple@tie{};
+la commande @code{<lilypond ... />} qui permet de directement saisir du
+code LilyPond simple ;
@item
l'environnement @code{<lilyond>...</lilypond>} qui permet de saisir
-directement du code LilyPond plus élaboré@tie{};
+directement du code LilyPond plus élaboré ;
@item
la commande @code{<lilypondfile>...</lilypondfile>} qui permet d'insérer
-un fichier LilyPond@tie{};
+un fichier LilyPond ;
@item
la commande @code{<musicxmlfile>...</musicxmlfile>} qui permet d'insérer
Il suffit, pour inclure de la musique, d'utiliser l'une des instructions
-suivantes dans votre fichier source@tie{}:
+suivantes dans votre fichier source :
@example
<lilypond liste des options>
@noindent
@command{lilypond-book} produira alors un fichier HTML contenant les
-balises d'image pour les fragments de musique@tie{}:
+balises d'image pour les fragments de musique :
@lilypond[fragment,relative=2]
\key c \minor c4 es g2
@end lilypond
Pour insérer l'image au fil du texte, il suffit d'utiliser
-@code{<lilypond @dots{} />}, tout en séparant options et musique par un
-caractère deux points, comme ici@tie{}:
+@code{<lilypond @dots{} />}, tout en séparant options et musique par un
+caractère deux points, comme ici :
@example
De la musique <lilypond relative=2: a b c/> au milieu d'une ligne de texte.
<lilypondfile @var{option1} @var{option2} ...>@var{fichier}</lilypondfile>
@end example
-La syntaxe pour @code{>musicXmlfile>} est identique à celle de
+La syntaxe pour @code{<musicXmlfile>} est identique à celle de
@code{<lilypondfile>}, à ceci près qu'elle fait référence à un fichier
MusicXML plutôt qu'à un fichier LilyPond.
@translationof DocBook
L'inclusion de documents LilyPond ne doit nuire en rien à la conformité
-du document DocBooK@tie{}; l'utilisation d'éditeurs spécialisés ainsi
+du document DocBooK ; l'utilisation d'éditeurs spécialisés ainsi
que d'outils de validation en sera ainsi préservée. C'est la raison
-pour laquelle nous ne définirons pas de balise spécifique@tie{}; nous
-respecterons plutôt les conventions des éléments standards de DocBook.
+pour laquelle nous ne définirons pas de balise spécifique ; nous
+respecterons plutôt les conventions des éléments standard de DocBook.
@subheading Conventions communes
Il s'agit en fait du cas le plus simple. Le fichier à inclure doit
avoir une extension @file{.ly} et sera inséré comme n'importe quel
-@code{imageobject}, en respectant la structure suivante@tie{}:
+@code{imageobject}, en respectant la structure suivante :
@example
<mediaobject>
L'inclusion de code LilyPond se réalise à l'aide d'un
@code{programlisting} auquel on associe le langage @code{lilypond}. En
-voici la syntaxe@tie{}:
+voici la syntaxe :
@example
<inlinemediaobject>
<textobject>
<programlisting language="lilypond" role="fragment verbatim staffsize=16 ragged-right relative=2">
\context Staff \with @{
- \remove Time_signature_engraver
- \remove Clef_engraver@}
+ \remove "Time_signature_engraver"
+ \remove "Clef_engraver"@}
@{ c4( fis) @}
</programlisting>
</textobject>
pourrez ensuite traiter avec votre application habituelle. Dans le cas
de @uref{http://@/dblatex@/.sourceforge@/.net@/,dblatex}, vous
obtiendrez alors automatiquement un fichier PDF. Les feuilles de style
-XSL@tie{}DocBook officielles permettent de générer du HTML (HTML Help,
-JavaHelp etc.)@tie{}; vous pourriez néanmoins devoir y apporter quelques
+XSL DocBook officielles permettent de générer du HTML (HTML Help,
+JavaHelp, etc.) ; vous pourriez néanmoins devoir y apporter quelques
adaptations.
sont lues de la gauche vers la droite. Si une option est transmise
plusieurs fois, seule la dernière sera prise en compte.
-Les commandes LilyPond acceptent les options suivantes@tie{}:
+Les commandes LilyPond acceptent les options suivantes :
@table @code
@item staffsize=@var{hauteur}
@item ragged-right
Produit des lignes en pleine largeur avec un espacement naturel. En
d'autres termes, sera ajoutée la commande de mise en forme
-@w{@code{ragged-right = ##t}}. Il s'agit de l'option par défaut de la
+@code{ragged-right = ##t}. Il s'agit de l'option par défaut de la
commande @code{\lilypond@{@}} en l'absence d'option @code{line-width}.
C'est aussi l'option par défaut pour l'environnement @code{lilypond}
lorsque l'option @option{fragment} est activée sans avoir défini
@item noragged-right
Dans le cas où l'extrait tient sur une seule ligne, la portée sera
étirée pour correspondre à la longueur de ligne du texte. Autrement
-dit, la commande de mise en forme @code{ragged-right = ##f} s'ajoute à
+dit, la commande de mise en forme @code{ragged-right = ##f} s'ajoute à
l'extrait LilyPond.
@item line-width
longueur de la portée -- et en aucun cas la mise en forme du texte.
En l'absence d'argument, la longueur de ligne sera définie à une valeur
-par défaut telle que calculée par un algoritme heuristique.
+par défaut telle que calculée par un algorithme heuristique.
Lorsque l'option @code{line-width} n'est pas utilisée,
@command{lilypond-book} tentera de déterminer des valeurs par défaut
@item papersize=@var{chaîne}
Détermine le format du papier à @var{chaîne} tel que défini dans le
-fichier @file{scm/paper.scm} -- @code{a5}, @code{quarto}, @code{11x17},
-etc.
+fichier @file{scm/paper.scm} -- @code{a5}, @code{quarto},
+@code{11x17}, etc.
Toute valeur non mentionnée dans @file{scm/paper.scm} sera rejetée.
@code{lilypond-book} émettra un message d'avertissement et l'extrait
@end example
@noindent
-sans @code{\layout}, @code{\score}, etc.
+sans @code{\layout}, @code{\score}, etc.
@item nofragment
N'ajoute rien à ce qui se trouve dans l'environnement LilyPond. À noter
@item quote
Réduit la longueur des lignes musicales de @math{2*0.4}@dmn{in} (soit
-@math{2 * 10,16}@tie{}@dmn{mm}) pour renvoyer l'extrait dans un bloc de
-citation. La valeur @qq{0,4@tie{}pouce} est contrôlée par l'option
+@math{2 * 10,16} @dmn{mm}) pour renvoyer l'extrait dans un bloc de
+citation. La valeur @qq{0,4 pouce} est contrôlée par l'option
@option{exampleindent}.
@item exampleindent
Utilise le mode d'octave relative. Les notes sont donc par défaut
positionnées relativement au do central. L'argument -- un nombre entier
-- fourni à l'option @code{relative} spécifie l'octave de départ de
-l'extrait@tie{}; @code{1} correspond au do central. Cette option
+l'extrait ; @code{1} correspond au do central. Cette option
@option{relative} n'a d'effet que si elle est utilisée en combinaison
-avec l'option @option{fragment}@tie{}; autrement dit, l'option
+avec l'option @option{fragment} ; autrement dit, l'option
@option{fragment} est implicite dès lors que @code{relative} est
explicité.
@end table
@code{lilypondfile} permet de n'inclure textuellement qu'une seule
partie du fichier source. @code{lilypond-book} reproduira alors
textuellement la partie du fichier source comprise entre les
-commentaires @code{begin@tie{}verbatim} et éventuellement
-@code{end@tie{}verbatim}. Si l'on considère le fichier source suivant,
+commentaires @code{begin verbatim} et éventuellement
+@code{end verbatim}. Si l'on considère le fichier source suivant,
la musique sera interprétée en mode relatif, mais la recopie du code ne
-comportera pas l'assertion du bloc @code{relative}@tie{}:
+comportera pas l'assertion du bloc @code{relative} :
@example
\relative c' @{ % begin verbatim
@end example
@noindent
-donnera dans un bloc @emph{verbatim} précédant la partition@tie{}:
+donnera dans un bloc @emph{verbatim} précédant la partition :
@example
c4 e2 g4
@item addversion
Cette option, effective uniquement avec Texinfo, permet d'ajouter une
-ligne @code{\version @@w@{"@@version@{@}"@}} au @code{verbatim}.
+ligne @code{\version @@w@{"@@version@{@}"@}} au @code{verbatim}.
@item texidoc
Option disponible uniquement avec Texinfo.@*
Cette option est fort utile dans le cadre de l'adaptation en langue
étrangère. En effet, s'il est spécifié dans le document Texinfo une
-clause @code{@@documentlanguage@tie{}@var{LANGUE}}, la présence d'une
+clause @code{@@documentlanguage @var{LANGUE}}, la présence d'une
variable @code{texidoc@var{LANGUE}} dans l'entête du fichier
@file{toto.ly} entraînera la reproduction -- par l'appel
-@code{lilypond}@tie{}@option{--header=@/texidoc@var{LANGUE}} -- du
+@code{lilypond} @option{--header=@/texidoc@var{LANGUE}} -- du
contenu de @file{toto.texidoc@var{LANGUE}} en lieu et place de celui de
@file{toto.texidoc}.
@item doctitle
Option disponible uniquement avec Texinfo.@*
Cette option fonctionne selon le même principe que l'option
-@code{texidoc}@tie{}: lorsqu'un fichier @file{toto.ly} contient dans
+@code{texidoc} : lorsqu'un fichier @file{toto.ly} contient dans
son @code{\header} une variable @code{doctitle} et que @code{lilypond}
est appelé avec l'option @code{doctitle}, le contenu de cette variable
-- une simple ligne de @var{texte} -- sera recopié dans un fichier
@file{toto.doctitle} puis inséré dans le document Texinfo sous la
-forme @code{@@lydoctitle@tie{}@var{texte}}. @code{@@lydoctitle} doit
+forme @code{@@lydoctitle @var{texte}}. @code{@@lydoctitle} doit
faire l'objet d'une macro, définie dans le document Texinfo.
Il en va de l'option @code{doctitle} comme de l'option @code{texidoc} en
Lorsqu'un fichier source LilyPond est inclus à l'aide de
@code{\lilypondfile}, le nom du fichier sera reproduit juste au dessus
de l'extrait. Si le résultat est un fichier HTML, il s'agira alors d'un
-lien. Seul le nom du fichier est imprimé@tie{}; autrement dit, le
+lien. Seul le nom du fichier est imprimé ; autrement dit, le
chemin d'accès au fichier est tronqué.
@end table
@subsubheading @LaTeX{}
Un document @LaTeX{} destiné à l'impression ou à la publication peut se
-traiter de deux manières différentes@tie{}: générer directement un PDF
+traiter de deux manières différentes : générer directement un PDF
à l'aide de PDF@LaTeX{}, ou bien générer un fichier avec @LaTeX{}
qui sera ensuite passé à un traducteur DVI-PostScript comme
@command{dvips}. La première façon est de loin la plus simple et c'est
celle que nous vous recommandons@footnote{Sachant que vous ne disposez
pas forcément de PDF@LaTeX{} et @LaTeX{} pour compiler un document
-@LaTeX{}, nous vous présentons les deux méthodes.}@tie{}; quelque soit
+@LaTeX{}, nous vous présentons les deux méthodes.} ; quelque soit
votre préférence, sachez que vous pouvez aller du PostScript au PDF avec
des outils tels que @command{ps2pdf} et @command{pdf2ps} -- tous deux
inclus dans la distribution de Ghostscript.
@cindex utilisation de dvips
La séquence @LaTeX{}/@command{dvips}/@command{ps2pdf} suivante permet de
-produire un PDF@tie{}:
+produire un PDF :
@example
lilypond-book monfichier.lytex
@noindent
Le fichier @file{.dvi} généré lors de ce traitement ne contient aucune
-tête de note, ce qui est tout à fait normal@tie{}; elles seront incluses
+tête de note, ce qui est tout à fait normal ; elles seront incluses
lors de la génération du @file{.ps} puis dans le @file{.pdf}.
La commande @command{dvips} peut déclencher certains messages concernant
des fontes, que vous pouvez ignorer sans scrupule.@*
Si vous utilisez @command{latex} en mode colonnage, n'oubliez pas
-d'ajouter @option{-t@tie{}landscape} aux options de @command{dvips}.
+d'ajouter @option{-t landscape} aux options de @command{dvips}.
@knownissues
La commande @code{\pageBreak} est inopérante dans un environnement
@subheading Options en ligne de commande
-@command{lilypond-book} accepte les options suivantes@tie{}:
+@command{lilypond-book} accepte les options suivantes :
@table @code
@item -f @var{format}
@itemx --format=@var{format}
-Spécifie le type de document à traiter@tie{}: @code{html}, @code{latex},
+Spécifie le type de document à traiter : @code{html}, @code{latex},
@code{texi} (valeur par défaut) ou @code{docbook}. Lorsque cette
option n'est pas mentionnée, @command{lilypond-book} tente de déterminer
automatiquement le format -- voir @ref{Extensions de nom de fichier}. À
@itemx --filter=@var{filtre}
Passe les extrait au travers de @var{filtre} avant de traiter le
fichier. Cette option permet de, par exemple, appliquer les mises à
-jour de LilyPond aux extraits avant de traiter le fichier@tie{}:
+jour de LilyPond aux extraits avant de traiter le fichier :
@example
lilypond-book --filter='convert-ly --from=2.0.0 -' mon-book.tely
@itemx --include=@var{répertoire}
Ajoute @var{répertoire} au chemin des inclusions. Si des extraits ont
déjà été compilés dans l'un des répertoires inclus,
-@command{lilypond-book} ne les rééecria pas dans le répertoire de
-sortie@tie{}; il sera donc nécessaire, dans la suite du traitement par
+@command{lilypond-book} ne les réécrira pas dans le répertoire de
+sortie ; il sera donc nécessaire, dans la suite du traitement par
@command{makeinfo} ou @command{latex}, de penser à utiliser cette même
-option @code{-I@tie{}@var{répertoire}}.
+option @code{-I @var{répertoire}}.
@item -l @var{loglevel}
@itemx --loglevel=@var{loglevel}
@item -o @var{dir}
@itemx --output=@var{répertoire}
-Regroupe les fichiers générés dans @var{répetoire}.
+Regroupe les fichiers générés dans @var{répertoire}.
@command{lilypond-book} crée un certain nombre de fichiers à l'usage de
LilyPond. Afin d'éviter de polluer votre répertoire source, nous vous
conseillons d'utiliser l'option @option{--output}, puis de vous rendre
@itemx --lily-loglevel=@var{loglevel}
Détermine le degré de verbosité lors des appels à @command{lilypond}.
-Les valeurs autorisée de @var{loglevel} sont@tie{}: @code{NONE},
+Les valeurs autorisée de @var{loglevel} sont : @code{NONE},
@code{ERROR}, @code{WARNING}, @code{BASIC_PROGRESS}, @code{PROGRESS},
-@code{INFO} (par défaut) et @code{DEBUG}. Lorsque cette option n'est
+@code{INFO} (par défaut) et @code{DEBUG}. Lorsque cette option n'est
pas activée, c'est le niveau déterminé par la variable d'environnement
@code{LILYPOND_LOGLEVEL} qui sera utilisé.
@command{xelatex} par exemple.
@itemx --left-padding=@var{distance}
-Décale les figures EPS de @var{distance} -- exprimée en milimètres (3
-par défaut). Cette option est utile lorsque les lignes de musique
+Décale les figures EPS de @var{distance} -- exprimée en millimètres
+(3 par défaut). Cette option est utile lorsque les lignes de musique
débordent sur la marge droite.
Rappelez-vous que la largeur d'un système dépend des élément contenus
@item -V
@itemx --verbose
-@command{lilypond-book} sait être volubile@tie{}! Cette option est
-éqivalente à @code{--loglevel=DEBUG}.
+@command{lilypond-book} sait être volubile ! Cette option est
+équivalente à @code{--loglevel=DEBUG}.
@item -v
@itemx --version
puis reprendre le fil de votre discours.
Les fontes utilisées dans les extraits LilyPond devront être définies
-au sein de l'extrait. Lisez le manuel d'ustilisation si vous ne
+au sein de l'extrait. Lisez le manuel d'utilisation si vous ne
maîtrisez pas lilypond-book.
\selectlanguage{ngerman}
@end example
Certains utilisateurs privilégient la flexibilité dans la gestion du
-texte@tie{}; ils génèrent la table des matières à partir de LilyPond et
+texte ; ils génèrent la table des matières à partir de LilyPond et
la récupèrent dans @LaTeX{}.
@end smallexample
@noindent
-où @code{\includescore} est défini ainsi@tie{}:
+où @code{\includescore} est défini ainsi :
@smallexample
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+
@ignore
- Translation of GIT committish: c610645cc9a77cba1a2798280965db142d649ac5
+ Translation of GIT committish: eea3764cd6bbc78506261f78ed4e7745ac69df41
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
Par @qq{ligne de commande}, nous entendons l'interface de commande du
système. Les utilisateurs de Windows seront certainement plus familiers
des termes @qq{fenêtre DOS} ou @qq{invite de commande}. Quant aux
-utilisateurs de MacOS@tie{}X, ils connaissent assurément les termes
+utilisateurs de MacOS X, ils connaissent assurément les termes
@qq{console} et @qq{terminal}. Les paramétrages spécifiques au système
MacOS font l'objet d'un @rwebnamed{MacOS X,chapitre particulier}.
Aussi, si vous ne savez de quoi il retourne, nous vous renvoyons aux
nombreuses documentations que vous pourrez trouver sur ce sujet.
-
@menu
* Lancement de lilypond::
* Options basiques de lilypond::
* Exécution de LilyPond en mode protégé::
@end menu
+
@node Lancement de lilypond
@unnumberedsubsec Lancement de @command{lilypond}
@translationof Invoking lilypond
-L'exécutable @command{lilypond} en ligne de commande se lance
-ainsi@tie{}:
+L'exécutable @command{lilypond} en ligne de commande se lance ainsi :
@example
lilypond [@var{option}]@dots{} @var{fichier}@dots{}
Le traitement de @file{monfichier.ly} produira @file{monfichier.ps} et
@file{monfichier.pdf}. Vous pouvez spécifier plusieurs fichiers à la
-fois@tie{}; ils seront traités indépendamment les uns des
+fois ; ils seront traités indépendamment les uns des
autres.@footnote{Le statut de GUILE n'étant pas réinitialisé après
traitement d'un fichier @file{.ly}, veillez à ne pas modifier les
réglages par défaut du système à partir d'assertions en Scheme.}
@unnumberedsubsubsec Commandes standard de l'interpréteur
@translationof Standard shell commands
-Si votre interpréteur -- terminal, console, etc. -- prend en charge les
+Si votre interpréteur -- terminal, console, etc. -- prend en charge les
redirections, les commandes qui suivent vous permettront de
judicieusement rediriger les affichages de la console dans un
-fichier@tie{}:
+fichier :
@itemize
@cindex switches
@cindex commutateurs
-Différentes options sont disponibles en ligne de commande@tie{}:
+Différentes options sont disponibles en ligne de commande :
@table @code
dans la mesure où LilyPond doit disposer de tout ce dont il a besoin
pour compiler le fichier source @strong{à l'intérieur de la cellule}.
L'ermitage, avant d'être viable, requiert donc les étapes
-suivantes@tie{}:
+suivantes :
@table @asis
lancé avec les privilèges de l'administrateur -- privilèges qu'il perdra
aussitôt --, ce qui peut nécessiter le recours à la commande
@code{sudo}. Il est par ailleurs judicieux de limiter le temps
-processeur alloué à LilyPond -- grâce à @command{ulimit@tie{}-t} par
+processeur alloué à LilyPond -- grâce à @command{ulimit -t} par
exemple -- ainsi que, si votre système le permet, la taille de la
-mémoire. Voir aussi @ref{Exécution de LilyPond en mode protégé}.
+mémoire. Voir aussi @ref{Exécution de LilyPond en mode protégé}.
@end table
@cindex loglevel
@cindex verbosité, définir le degré de
@item -l,--loglevel=@var{DEGRÉ}
Règle le niveau de verbosité des messages console à @var{DEGRÉ}. Les
-différentes valeurs sont@tie{}:
+différentes valeurs sont :
@table @code
@item NONE
Aucun verbiage, même pas les messages d'erreur.
@item ERROR
-Uniquement les messages d'erreur@tie{}; pas de message d'avertissement
+Uniquement les messages d'erreur ; pas de message d'avertissement
ni de progression.
@item WARN
-Messages d'avertissement ou d'erreur@tie{}; pas d'information de
+Messages d'avertissement ou d'erreur ; pas d'information de
progression.
@item BASIC_PROGRESS
-Information de progression basique (réussite) et avertissements ou erreurs.
+Information de progression basique (réussite) et avertissements ou
+erreurs.
@item PROGRESS
Toutes les informations de progression, avertissements et erreurs.
@item INFO (par défaut)
Informations de progression, avertissements et erreurs, ainsi que
-d'autres informations quant à l'exécution.
+d'autres informations relatives à l'exécution.
@item DEBUG
Tout ce qui peut être affiché, y compris le verbiage utile au débogage.
@cindex répertoire de destination
@cindex fichier de destination
@item -o,--output=@var{FICHIER} ou @var{RÉPERTOIRE}
-Détermine le nom par défaut du fichier résultant à @var{FICHIER}@tie{};
+Détermine le nom par défaut du fichier résultant à @var{FICHIER} ;
lorsque l'argument @var{RÉPERTOIRE} correspond à un répertoire déjà
existant, c'est là que les fichiers résultants seront déposés. Le
suffixe adéquat sera ajouté (par ex. @code{.pdf} pour du pdf) dans tous
@cindex Portable Network Graphics (PNG), output
@cindex PNG (Portable Network Graphics), output
@item --png
-Génère une image par page, au format PNG@tie{}; ceci sous-entend
+Génère une image par page, au format PNG ; ceci sous-entend
l'utilisation de @option{--ps}. La résolution de l'image, en DPI, peut
se régler en ajoutant par exemple
@example
Affiche le numéro de version.
@item -V,--verbose
-Active le mode verbeux@tie{}: affichage de l'intégralité du chemin
+Active le mode verbeux : affichage de l'intégralité du chemin
d'accès de chaque fichier, et information des temps de traitement.
@item -w,--warranty
Affiche les informations de garantie applicables à GNU LilyPond -- il
-est livré @strong{SANS GARANTIE}@tie{}!
+est livré @strong{SANS GARANTIE} !
@end table
@table @code
@item -d@var{[nom-option]}=@var{[valeur]},--define-default=@var{[nom-option]}=@var{[valeur]}
-Affecte la valeur Scheme @var{valeur} à l'option interne @var{nom-option} du
-programme. En l'absence de @var{valeur}, le programme utilisera @var{#t}.
-Préfixer @var{nom-option} d'un @code{no-} vous permet de désactiver une option.
-Ainsi,
+Affecte la valeur Scheme @var{valeur} à l'option interne
+@var{nom-option} du programme. En l'absence de @var{valeur}, le
+programme utilisera @var{#t}. Préfixer @var{nom-option} d'un @code{no-}
+vous permet de désactiver une option. Ainsi,
@cindex point and click, ligne de commande
@cindex pointer-cliquer, ligne de commande
créer un fichier @code{SVG} par page, sans incorporation des fontes.
Nous vous recommandons d'installer les fontes Century Schoolbook
comprises dans le paquetage LilyPond afin d'obtenir le meilleur rendu
-possible. Sous UNIX, il suffit de les recopier, à partir du répertoire
+possible. Sous UNIX, il suffit de les recopier, à partir du répertoire
@file{/usr/share/lilypond/VERSION/fonts/otf/}, dans @file{~/.fonts/}.
Les fichiers @code{SVG} alors générés devraient être lisibles par votre
éditeur SVG habituel. L'option @code{svg-woff} -- voir ci-après --
@item @code{debug-gc-assert-parsed-dead}
@tab @code{#f}
-@tab Pour débogage de la mémoire@tie{}: s'assure que toute référence à
+@tab Pour débogage de la mémoire : s'assure que toute référence à
des objets analysés est effacée. Il s'agit d'une option interne qui
est automatiquement activée par l'option @code{`-ddebug-gc'}.
@item @code{gs-load-lily-fonts}
@tab @code{#f}
-@tab Limites les fontes chargées par Ghostscript aux seules fontes
+@tab Limite les fontes chargées par Ghostscript aux seules fontes
LilyPond.
@item @code{gui}
@end multitable
@noindent
-@strong{Note à l'attention des utilisateurs de Windows@tie{}:} toutes
+@strong{Note à l'attention des utilisateurs de Windows :} toutes
les informations concernant le traitement apparaissent au fur et à
mesure dans l'interpréteur de commandes lorsque vous lancez le programme
@code{lilypond.exe}, à l'inverse de @w{@code{lilypond-windows.exe}} qui
@item @code{read-file-list}
@tab @code{#f [fichier]}
-@tab Spécifie un fichier listant les différents fichier sources à
+@tab Spécifie un fichier listant les différents fichiers sources à
traiter.
@item @code{relative-includes}
De plus, le mode @emph{safe} ne permet ni l'utilisation de directives
@code{\include} ni le recours aux obliques inversées (@emph{backslash})
dans les chaînes @TeX{}. L'import de variables LilyPond dans du code
-Scheme n'est pas possible en mode sécuritaire.
+Scheme n'est pas possible en mode sécurisé.
L'option @code{-dsafe} @strong{ne détecte pas} l'utilisation abusive des
ressources. Il est donc possible que le programme finisse par rester
@multitable @columnfractions .33 .16 .51
@item @code{separate-log-files}
@tab @code{#f}
-@tab Pour les fichiers @code{FICHIER1.ly}, @code{FICHIER2.ly} etc.
+@tab Pour les fichiers @code{FICHIER1.ly}, @code{FICHIER2.ly}, etc.
enregistre le déroulement dans les journaux @code{FICHIER1.log},
@code{FICHIER2.log}@dots{}
@cindex LILYPOND_DATADIR
@command{lilypond} reconnaît les variables d'environnement
-suivantes@tie{}:
+suivantes :
@table @code
@item LILYPOND_DATADIR
Cette variable spécifie le répertoire où seront recherchés par défaut
les différentes versions des messages ainsi qu'un certain nombre de
fichiers nécessaires au traitement. Il devrait contenir les
-sous-répertoires @file{ly/}, @file{ps/}, @file{tex/}, etc.
+sous-répertoires @file{ly/}, @file{ps/}, @file{tex/}, etc.
@item LANG
Cette variable détermine la langue dans laquelle seront émis les
@item LILYPOND_GC_YIELD
Cette variable permet d'ajuster l'empreinte mémoire et le rendement de
la machine. Il s'agit en fait d'un pourcentage d'allocation de
-mémoire@tie{}: lorsqu'il est élevé, le programme favorisera
-l'utilisation de la mémoire@tie{}; une faible valeur consommera plus de
-temps processeur. Par défaut, cette valeur est fixée à@tie{}@code{70}.
+mémoire : lorsqu'il est élevé, le programme favorisera
+l'utilisation de la mémoire ; une faible valeur consommera plus de
+temps processeur. Par défaut, cette valeur est fixée à @code{70}.
@end table
Paramétrer un serveur afin qu'il puisse faire fonctionner LilyPond en
mode protégé sur un pseudo-périphérique est une tâche sensible. Les
différentes étapes à suivre sont répertoriées ci-dessous. Les exemples
-qu'elle comportent proviennent d'une distribution Linux Ubuntu et
+qu'elle comportent proviennent d'une distribution GNU/Linux Ubuntu et
nécessiteront l'utilisation de @code{sudo} autant que de besoin.
@itemize
-@item Installation des paquetages nécessaires@tie{}: LilyPond, Ghostscript et
+@item Installation des paquetages nécessaires : LilyPond, Ghostscript et
ImageMagick.
@item Création de l'utilisateur @code{lily} :
@code{/home/lily}.
@item Création, dans le répertoire personnel de l'utilisateur
-@code{lily}, d'un espace agissant en tant que système de fichiers@tie{}:
+@code{lily}, d'un espace agissant en tant que système de fichiers :
@example
dd if=/dev/zero of=/home/lily/loopfile bs=1k count= 200000
@end example
@noindent
-Cette commande a créé un fichier de 200@tie{}MB utilisable par le
+Cette commande a créé un fichier de 200 MB utilisable par le
@qq{système protégé}.
@item Création d'un pseudo-périphérique, génération d'un système de
fichiers et chargement de celui-ci, puis création d'un répertoire
-accessible en écriture pour l'utilisateur @code{lily}@tie{}:
+accessible en écriture pour l'utilisateur @code{lily} :
@example
mkdir /mnt/lilyloop
tous les fichiers nécessaires -- voir le script plus loin.
Le recours à l'utilitaire @code{sed} permet de créer les commandes de
-copie de tout ce qui est nécessaire à un exécutable@tie{}:
+copie de tout ce qui est nécessaire à un exécutable :
@example
for i in "/usr/local/lilypond/usr/bin/lilypond" "/bin/sh" "/usr/bin/; \
@cindex erreur, messages
Différents messages d'erreur sont susceptibles d'apparaître au cours de
-la compilation d'un fichier@tie{}:
+la compilation d'un fichier :
@table @emph
@end example
Un saut de ligne est placé dans la ligne de code, indiquant l'endroit
-précis du problème, comme ici@tie{}:
+précis du problème, comme ici :
@example
test.ly:2:19: erreur: n'est pas une durée: 5
Lorsque la musique s'épanche au delà de la marge droite ou bien semble
anormalement comprimée, la raison en est le plus souvent une note à la
-durée erronée@tie{}; cela finit par provoquer le débordement de la
+durée erronée ; cela finit par provoquer le débordement de la
dernière note d'une mesure. Rien ne s'oppose à ce que la dernière note
-d'une mesure ne s'arrête avant la barre de mesure@tie{}; on considère
+d'une mesure ne s'arrête avant la barre de mesure ; on considère
simplement qu'elle se prolonge sur la mesure suivante. Des débordements
à répétition finissent par générer une musique comprimée ou qui sort de
la page, pour la simple et bonne raison que les sauts de ligne
Étant donné qu'aucun contexte @code{Staff} n'existe lorsque la
dérogation est introduite, LilyPond le crée implicitement pour lui
appliquer la directive considérée. Survient alors la commande
-@w{@code{\new Staff}} qui, à son tour, crée une nouvelle portée pour
+@code{\new Staff} qui, à son tour, crée une nouvelle portée pour
contenir les notes qui suivent. Voici la syntaxe correcte pour obtenir
-ces notes en rouge@tie{}:
+ces notes en rouge :
@lilypond[quote,verbatim,relative=2]
\new Staff {
}
@end lilypond
-Autre exemple : la présence d'une commande @code{\relative} à
+Autre exemple : la présence d'une commande @code{\relative} à
l'intérieur d'une section @code{\repeat} générera obligatoirement une
portée intempestive. Cela tient au fait que la commande @code{\repeat}
va créer deux blocs @code{\relative} qui, chacun à leur tour, créeront
@end lilypond
La manière adéquate de procéder consiste à inverser les commandes
-@code{\repeat} et @code{\relative}, comme ceci@tie{}:
+@code{\repeat} et @code{\relative}, comme ceci :
@lilypond[quote,verbatim]
\new Voice {
L'erreur la plus courante est la simple omission d'une accolade
fermante (@code{@}}) à la fin du bloc @code{Score}. La solution est
-évidente en pareil cas@tie{}: il suffit de vérifier que le bloc
+évidente en pareil cas : il suffit de vérifier que le bloc
@code{Score} est bien clôturé. La structure des fichiers LilyPond est
abordée plus en détails au chapitre
-@rlearning{Organisation des fichiers LilyPond}. C'est la raison pour
+@rlearning{Organisation des fichiers LilyPond}. C'est la raison pour
laquelle nous vous invitons à utiliser un éditeur de texte qui prenne en
charge le contrôle de parité des parenthèses, crochets et accolades afin
de vous éviter de telles erreurs.
Cet avertissement est émis lorsque la partition ne comporte pas de
portée, comme par exemple une feuille de chant avec un contexte
@code{ChordName} et un contexte @code{Lyrics}. Ce message disparaîtra
-dès lors que autoriserez l'un de ces contextes à se comporter comme une
-portée, à l'aide de l'instruction
+dès lors que vous autoriserez l'un de ces contextes à se comporter comme
+une portée, à l'aide de l'instruction
@example
\override VerticalAxisGroup #'staff-affinity = ##f
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+
@ignore
- Translation of GIT committish: c299f84d574ac9b97ab7ffbb640b5c3a1cdca5cc
+ Translation of GIT committish: eea3764cd6bbc78506261f78ed4e7745ac69df41
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c \version "2.16.0"
@c Translators: Ludovic Sardain, Jean-Charles Malahieude
-@c Translation checkers: Jean-Yves Baudais, Valentin Villenave, John Mandereau, Jean-Charles Malahieude
+@c Translation checkers: Jean-Yves Baudais, Valentin Villenave, John Mandereau
@node Suggestions pour la saisie de fichiers LilyPond
@chapter Suggestions pour la saisie de fichiers LilyPond
Maintenant vous êtes prêt à travailler sur de plus gros fichiers
LilyPond -- des pièces entières, et plus seulement les petits
-exemples du tutoriel. Mais comment devriez-vous vous y prendre@tie{}?
+exemples du tutoriel. Mais comment devriez-vous vous y prendre ?
Tant que LilyPond parvient à comprendre vos fichiers et produit le
résultat que vous souhaitez, peu importe la manière dont le code est
@item
Et si vous souhaitez partager vos fichiers avec quelqu'un d'autre, ou si
-vous souhaitez modifier vos propres fichiers dans quelques années@tie{}?
+vous souhaitez modifier vos propres fichiers dans quelques années ?
Si certains fichiers LilyPond sont compréhensibles au premier coup
d'œil, d'autres vous feront vous arracher les cheveux pendant une heure.
@item
Et si vous souhaitez mettre à jour votre fichier pour l'utiliser avec
-une version plus récente de LilyPond@tie{}? La syntaxe du
-langage d'entrée change parfois lorsque LilyPond s'améliore. La
-plupart des changements peuvent être appliqués automatiquement avec
-@code{convert-ly}, mais quelques-uns peuvent requérir une intervention
-manuelle. Vos fichiers LilyPond peuvent être structurés de manière à
-faciliter leur mise à jour.
+une version plus récente de LilyPond ? La syntaxe du langage d'entrée
+change parfois lorsque LilyPond s'améliore. La plupart des changements
+peuvent être appliqués automatiquement avec @code{convert-ly}, mais
+quelques-uns peuvent requérir une intervention manuelle. Vos fichiers
+LilyPond peuvent être structurés de manière à faciliter leur mise à
+jour.
@end itemize
@menu
@itemize
@item @strong{Ajoutez le numéro de version dans chaque fichier}.
Notez que chaque fichier modèle contient une ligne
-@code{\version@tie{}"@version{}"}. Nous vous conseillons fortement
+@code{\version "@version{}"}. Nous vous conseillons fortement
d'inclure cette ligne, même pour de petits fichiers. Par expérience, il
est très difficile de se rappeler quelle version de LilyPond on
utilisait quelques années auparavant. L'utilitaire @command{convert-ly}
@rusernamed{Vérification des limites et numéros de mesure,de limite ou
numéro de mesure}. Si vous avez ajouté des contrôles de loin en loin,
et que vous faites une erreur, vous pourrez la retrouver plus
-rapidement. @qq{De loin en loin}, qu'est-ce à dire@tie{}? Cela dépend
+rapidement. @qq{De loin en loin}, qu'est-ce à dire ? Cela dépend
de la complexité de la musique. Pour de la musique très simple,
peut-être une ou deux fois. Pour de la musique très complexe, peut-être
à chaque mesure.
@item @strong{Ajoutez des commentaires}.
Utilisez soit des numéros de mesure (assez souvent), soit des références
au contenu musical -- @qq{second thème des violons}, @qq{quatrième
-variation}, etc. Vous pouvez ne pas avoir besoin des commentaires
+variation}, etc. Vous pouvez ne pas avoir besoin des commentaires
lorsque vous écrivez une pièce pour la première fois, mais si vous
souhaitez y revenir deux ou trois ans plus tard pour changer quelque
chose, ou si vous donnez le fichier source à un ami, ce sera beaucoup
et vérifiez chaque système lorsqu'il est terminé. Vous pouvez
utiliser les commandes @code{showLastLength} et @code{showFirstLength}
pour accélérer la compilation -- voir
-@ruser{Ignorer des passages de la partition}@tie{};
+@ruser{Ignorer des passages de la partition} ;
@item
-définissez @code{mBreak = @{\break @}} et insérez @code{\mBreak} dans le
-fichier d'entrée pour obtenir des sauts de ligne identiques à la
+définissez @code{mBreak = @{ \break @}} et insérez @code{\mBreak} dans
+le fichier d'entrée pour obtenir des sauts de ligne identiques à la
partition originale. Cela facilite la comparaison entre la partition
originale et la partition de LilyPond. Lorsque vous avez fini de relire
-votre musique, vous pouvez définir @code{mBreak@tie{}=@tie{}@{@tie{}@}}
-pour enlever tous ces sauts de ligne, et laisser LilyPond placer les
-sauts de ligne selon son propre algorithme@tie{};
+votre musique, vous pouvez définir @code{mBreak = @{ @}}
+pour enlever tous ces sauts de ligne, et laisser LilyPond placer les
+sauts de ligne selon son propre algorithme ;
@item
encadrez les notes d'une partie pour instrument transpositeur dans un
@code{violon} l'est beaucoup moins.
@example
-violin = \relative c'' @{
+violon = \relative c'' @{
g4 c'8. e16
@}
...
\score @{
\new GrandStaff @{
\new Staff @{
- \violin
+ \violon
@}
@}
@}
@item @strong{Séparez les retouches} des définitions de musique.
Nous vous avons déjà invité à adopter une telle pratique, qui
par ailleurs devient vitale pour des projets d'importance. Nous
-pouvons avoir besoin de changer la définition de
-@code{fpuisp}, mais dans ce cas nous n'aurons besoin de le faire
-qu'une seule fois, et nous pourrons encore éviter de
-modifier quoi que ce soit à l'intérieur de la définition
-du @code{violon}.
+pouvons avoir besoin de changer la définition de @code{fpuisp}, mais
+dans ce cas nous n'aurons besoin de le faire qu'une seule fois, et nous
+pourrons encore éviter de modifier quoi que ce soit à l'intérieur de la
+définition du @code{violon}.
@example
fpuisp = _\markup@{
\dynamic f \italic \small @{ 2nd @} \hspace #0.1 \dynamic p @}
-violin = \relative c'' @{
+violon = \relative c'' @{
g4\fpuisp c'8. e16
@}
@end example
d'un @rwebnamed{Exemples minimaux,exemple minimaliste}.
-
-
@node De la commande make et des fichiers Makefile
@section De la commande make et des fichiers Makefile
@translationof Make and Makefiles
partition séparée pour chacun des pupitres -- ou bien si votre projet
requiert certaines commandes particulières comme @code{lilypond-book}.
Les @emph{Makefiles} varient tant en complexité qu'en flexibilité selon
-les besoin et les aptitudes de celui qui les crée. Le programme GNU Make
-est installé par défaut sur les distributions Linux et sur MacOS@tie{}X,
-et il en existe une version pour les environnements Windows.
+les besoin et les aptitudes de celui qui les crée. Le programme GNU
+Make est installé par défaut sur les distributions GNU/Linux et sur
+MacOS X, et il en existe une version pour les environnements Windows.
Consultez le @strong{GNU Make Manual} pour plus de détails sur ce dont
@code{make} est capable -- vous pourrez même en trouver des versions
françaises à l'aide des moteurs de recherche --, dans la mesure où ce
-qui suit ne donne qu'un bref apperçu de ses possibilités.
+qui suit ne donne qu'un bref aperçu de ses possibilités.
Les commandes permettant de définir les règles diffèrent selon la
-plate-forme@tie{}: si les différents Linux et MacOS@tie{}X utilisent
-@code{bash}, Windows utilise @code{cmd}. Dans le cas de MacOS@tie{}X,
+plate-forme : si les différents GNU/Linux et MacOS X utilisent
+@code{bash}, Windows utilise @code{cmd}. Dans le cas de MacOS X,
vous devrez toutefois configurer votre système de telle sorte qu'il
utilise l'interpréteur en ligne de commande. Voici quelques exemples de
-fichier @emph{Makefile}, avec une version pour Linux ou MacOS et une
+fichier @emph{Makefile}, avec une version pour GNU/Linux ou MacOS et une
pour Windows.
Pour commencer, une pièce à quatre mouvements pour orchestre et dont les
-fichiers sont répartis selon l'arborescence suivante@tie{}:
+fichiers sont répartis selon l'arborescence suivante :
@example
Symphonie/
| `-- symphonieIV.ly
|-- PDF/
|-- Pupitres/
-| |-- symphon-alto.ly
+| |-- symphonie-alto.ly
| |-- symphonie-cello.ly
| |-- symphonie-cor.ly
| |-- symphonie-hautbois.ly
@end example
Les fichiers @file{.ly} des répertoires @code{Partitions} et
-@code{Pupitres} récupèreront la notation des fichiers @file{.ily}
-contenus dans le répertoire @code{Notes}@tie{}:
+@code{Pupitres} récupéreront la notation des fichiers @file{.ily}
+contenus dans le répertoire @code{Notes} :
@example
-%%% début du fichier "symphone-cello.ly"
+%%% début du fichier "symphonie-cello.ly"
\include ../symphonieDefs.ily
\include ../Notes/cello.ily
@end example
pupitre). Il contient aussi une cible @code{archive} chargée de générer
une archive des fichiers source qui pourra être diffusée sur la toile ou
transmise par courriel. Voici ce que contiendrait ce @emph{Makefile}
-pour Linux ou MacOS@tie{}X. Ce fichier doit être enregistré sous le nom
+pour GNU/Linux ou MacOS X. Ce fichier doit être enregistré sous le nom
de @code{Makefile} à la racine du projet -- ici @code{Symphonie}.
@warning{Lorsque vous définissez une cible ou une règle sur plusieurs
# Les .pdf résultants iront dans le sous-répertoire "PDF" et les fichiers
# .midi dans le sous-répertoire "MIDI".
%.pdf %.midi: %.ly
- $(LILY_CMD) $<; \ # cette ligne commence par une tabulation
+ $(LILY_CMD) $<; \ # cette ligne commence par une tabulation
if test -f "$*.pdf"; then \
mv "$*.pdf" PDF/; \
fi; \
$(piece)-violonUn.pdf: $(piece)-violonUn.ly violonUn.ily
$(piece)-violonDeux.pdf: $(piece)-violonDeux.ly violonDeux.ily
-# Lancer `make score' pour générer l'intégrale des quatre mouvements en
-# un seul fichier.
+# Lancer `make score' pour générer l'intégrale des quatre mouvements
+# en un seul fichier.
.PHONY: score
score: $(piece).pdf
all: score parties mouvements
archive:
- tar -cvvf symphonie.tar \ # cette ligne commence par une tabulation
+ tar -cvvf symphonie.tar \ # cette ligne commence par une tabulation
--exclude=*pdf --exclude=*~ \
--exclude=*midi --exclude=*.tar \
../Symphonie/*
localiser. Pour cela, faites un clic droite sur @qq{Poste de travail},
choisissez @code{Propriétés} puis @code{Avancées}. Cliquez sur
@code{Variables d'environnement} puis, dans l'onglet
-@code{Variables@tie{}système}, mettez @code{path} en surbrillance et
+@code{Variables système}, mettez @code{path} en surbrillance et
cliquez sur @code{Modifier}. Ajoutez alors le chemin d'accès complet à
-l'exécutable de GNU Make, qui devrait ressembler à@tie{}:
+l'exécutable de GNU Make, qui devrait ressembler à :
@example
C:\Program Files\GnuWin32\bin
@command{lilypond-book} réalisé avec @LaTeX{}. Ce projet contiendra un
index, ce qui nécessitera de lancer une deuxième fois @command{latex}
pour mettre à jour les liens. Les fichiers résultants iront dans le
-répertoire @code{out} pour ce qui est des .pdf et dans le répertoire
+répertoire @code{out} pour ce qui est des pdf et dans le répertoire
@code{htmlout} pour ce qui est du html.
@example
devrez enregistrer les lignes suivantes dans un fichier
@code{construire.bat} ou @code{construire.cmd}. Ce fichier pourra être
exécuté soit en ligne de commande, soit par un double clic sur son
-icone.
+icône.
@example
lilypond-book --output=out --pdf monprojet.lytex
copy out\monprojet.pdf MonProjet.pdf
@end example
-
@seealso
Manuel d'utilisation :
@ref{Utilisation en ligne de commande},
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@ignore
- Translation of GIT committish: c299f84d574ac9b97ab7ffbb640b5c3a1cdca5cc
+ Translation of GIT committish: eea3764cd6bbc78506261f78ed4e7745ac69df41
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
La syntaxe des fichiers LilyPond évolue avec le temps, que ce soit dans
le but de la simplifier ou pour l'améliorer. Il en résulte que
-l'interpréteur de LilyPond se retrouve incapable de traîter d'anciens
+l'interpréteur de LilyPond se retrouve incapable de traiter d'anciens
fichiers. L'utilitaire @command{convert-ly} permet cependant de
mettre ces fichiers en conformité au fur et à mesure que de nouvelles
versions de LilyPond sont disponibles.
fonctionnalités.
Par exemple, tous les noms des propriétés de @code{\paper} et
-@code{\layout} devaient étre étaient libellées sous la forme
+@code{\layout} devaient être libellées sous la forme
@code{@w{premier-deuxième-troisième}}. Nous avons constaté, une fois la
version 2.11.60 mise à disposition, que la propriété
@code{printallheaders} ne respectait pas cette convention. Aurions-nous
-du la laisser telle que, au risque de dérouter les nouveaux utilisateurs
-par cette exception de formatage, ou bien la modifier -- ce qui allait
-obliger ceux qui l'avaient déjà utilisée à se mettre en chasse@tie{}?
+dû la laisser telle que, au risque de dérouter les nouveaux utilisateurs
+par cette exception au formatage, ou bien la modifier -- ce qui allait
+obliger ceux qui l'avaient déjà utilisée à se mettre en chasse ?
Pour ce cas d'espèce, nous avons décidé de changer pour
@code{print-all-headers}. Cette modification peut heureusement être
automatisée par notre utilitaire @command{convert-ly}.
Malheureusement, @command{convert-ly} ne peut pas réaliser toutes les
modifications. Par exemple, dans les versions 2.4 et antérieures de
LilyPond, les accents et les lettres non anglaises étaient entrées en
-utilisant LaTeX -- par exemple, @code{No\"el}. À partir de la
-version@tie{}2.6, le caratère @code{ë} doit être entré directement dans
+utilisant @LaTeX{} -- par exemple, @code{No\"el}. À partir de la
+version 2.6, le caractère @code{ë} doit être entré directement dans
le fichier LilyPond comme caractère UTF-8. @code{convert-ly} ne peut
-pas changer tous les caractères LaTeX en caractères UTF-8@tie{}; vous
+pas changer tous les caractères @LaTeX{} en caractères UTF-8 ; vous
devez mettre à jour vos vieux fichiers LilyPond manuellement.
@noindent
dans le dossier où il se trouve. @file{monfichier.ly} sera mis à jour,
-et vous aurez une copie de l'original@tie{}: @file{monfichier.ly~}.
+et vous aurez une copie de l'original : @file{monfichier.ly~}.
@warning{@command{convert-ly} effectuera les conversions jusqu'aux
modifications de syntaxe les plus récentes qu'il contient. C'est la
@end example
Vous pouvez aussi affecter un autre nom au fichier mis à jour et
-conserver votre fichier original en l'état@tie{}:
+conserver votre fichier original en l'état :
@example
convert-ly monfichier.ly > monnouveaufichier.ly
n'apparaît, considérez que le fichier ne comporte pas de syntaxe
obsolète.
-Les utilisateurs de MacOS@tie{}X disposent d'une entrée spécifique dans
-le menu@tie{}: @code{Compile > Update syntax}.
+Les utilisateurs de MacOS X disposent d'une entrée spécifique dans
+le menu : @code{Compile > Update syntax}.
Si vous utilisez windows, ouvrez un interpréteur de commande en faisant
-@code{Démarrer > Accessoires > Interpréteur de commmandes}.
+@code{Démarrer > Accessoires > Interpréteur de commandes}.
@node Options en ligne de commande pour convert-ly
@section Options en ligne de commande pour @command{convert-ly}
@translationof Command line options for convert-ly
-L'utilitaire @command{convert-ly} se lance de la manière suivante@tie{}:
+L'utilitaire @command{convert-ly} se lance de la manière suivante :
@example
convert-ly [@var{option}]@dots{} @var{fichier}@dots{}
@end example
-Vous pouvez utiliser les options@tie{}:
+Vous pouvez utiliser les options :
@table @code
@item -e,--edit
les conversions. Lorsque cette option n'est pas activée,
@command{convert-ly} tentera de le déterminer sur la foi de la mention
de @code{\version} contenue dans le fichier. Cette option s'utilise
-sous la forme@tie{}: @code{--from=2.10.25}
+sous la forme : @code{--from=2.10.25}
@item -n,--no-version
Normalement, @command{convert-ly} ajoutera une indication de
@item --to=@var{to-patchlevel}
pour n'appliquer les conversions que jusqu'à une version déterminée. Il
s'agit par défaut de la dernière version disponible. Cette option
-s'utilise sous la forme@tie{}: @code{--to=2.12.2}
+s'utilise sous la forme : @code{--to=2.12.2}
@item -h, --help
Sous Windows, lorsque le nom du fichier original ou le chemin qui y mène
comporte des espaces, l'interpréteur de commande requiert qu'il soit
-entouré de triples guillemets comme ci-dessous@tie{}:
+entouré de triples guillemets comme ci-dessous :
@example
convert-ly """D:/Mes Partitions/Ode.ly""" > "D:/Mes Partitions/nouveau Ode.ly"
Lorsque la commande @command{convert-ly -e *.ly} échoue parce que
son expansion dépasse la taille maximale d'une ligne, vous pouvez lancer
@command{convert-ly} dans une boucle. L'exemple suivant permet, sous
-Unix, de convertir tous les fichiers @file{.ly} d'un même
-répertoire@tie{}:
+Unix, de convertir tous les fichiers @file{.ly} d'un même répertoire :
@example
for f in *.ly; do convert-ly -e $f; done;
@end example
-Avec l'interpréteur de commandes de Windows, la syntaxe consacrée
-est@tie{}:
+Avec l'interpréteur de commandes de Windows, la syntaxe consacrée est :
@example
for %x in (*.ly) do convert-ly -e """%x"""
Toutes les évolutions du langage ne sont pas forcément prises en charge.
@command{convert-ly} ne tolère qu'une seule option de sortie à la fois.
La mise à jour automatique du code Scheme inclus dans les fichiers
-LilyPond est plus qu'hasardeuse@tie{}; atendez-vous à devoir mettre les
+LilyPond est plus qu'hasardeuse ; attendez-vous à devoir mettre les
mains dans le cambouis.
@translationof Manual conversions
En théorie, un programme tel que @command{convert-ly} devrait pouvoir
-traîter n'importe quel changement de syntaxe. En effet, si un programme
+traiter n'importe quel changement de syntaxe. En effet, si un programme
informatique sait interpréter aussi bien une version que l'autre, un
autre programme informatique doit alors être capable de traduire un
-fichier donné
-@footnote{At least, this is possible in any LilyPond file which does not
-contain scheme. If there is scheme in the file, then the LilyPond file
-contains a Turing-complete language, and we run into problems with the
-famous @qq{Halting Problem} in computer science.}.
-
-Le projet LilyPond ne dispose cependant que de ressources
-limitées@tie{}: les conversions ne sont pas toutes automatisées. Voici
-une liste de problèmes clairement identifiés@tie{}:
+fichier donné@footnote{Ceci est réalisable tant que le fichier LilyPond
+ne contient pas de Scheme. Dès lors qu'un fichier contient du Scheme,
+des bribes de langage évolué se retrouvent danas le fichier LilyPond, ce
+qui conduit immanquablement au « problème de l'arrêt » bien connu en
+informatique.}.
+
+Le projet LilyPond ne dispose cependant que de ressources limitées : les
+conversions ne sont pas toutes automatisées. Voici une liste de
+problèmes clairement identifiés :
@verbatim
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@c This file is part of web.texi
@ignore
- Translation of GIT committish: 446dc1f3ac9bfff6bfee31de929698b0425da6fe
+ Translation of GIT committish: f199e875f7a7beb0afd17eae2038819baab767ff
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c TODO: duplicate to avoid underlined refs in HTML? icky.
@ref{Unix, @sourceimage{logo-linux,,,}
@sourceimage{logo-freebsd,,,}}
-@ref{Unix, Unix (Linux et FreeBSD)}
+@ref{Unix, Unix (GNU/Linux et FreeBSD)}
@item
@ref{MacOS X, @sourceimage{logo-macosx,,,}}
Pour MacOS X 10.4 ou supérieur tournant sur un processeur Intel (dans le
doute, prenez celui-ci).
-MacOS C 10.7 lion n'est à ce jour pas supporté.
@item
@sourceimage{logo-macosx,,,}
Pour MacOS X 10.4 ou supérieur tournant sur un processeur G3 ou G4
(anciens ordinateurs Apple).
-MacOS C 10.7 lion n'est à ce jour pas supporté.
@end itemize
@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
@c This file is part of web.texi
@ignore
- Translation of GIT committish: 84db10d9ea5ce6b86807fcb0bf4e1864d5ff5d52
+ Translation of GIT committish: f199e875f7a7beb0afd17eae2038819baab767ff
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@end ignore
+@divClass{column-center-top}
+@subheading Tunefl
+
+@sourceimage{logo-linux,,,}
+@sourceimage{logo-freebsd,,,}
+@sourceimage{logo-macosx,,,}
+@sourceimage{logo-windows,,,}
+
+@uref{http://www.tunefl.com}
+
+tunefl vous permet de saisir en ligne vos partitions sans avoir
+préalablement installé LilyPond sur votre oridnateur. Vous pouvez ainsi
+tester touts les fonctionnalités du programme dans une interface web.
+
+@divEnd
+
@divClass{column-center-top}
@subheading LilyPondTool
@sourceimage{logo-macosx,,,}
@sourceimage{logo-windows,,,}
+@uref{http://elysium.thsoft.hu}
+
+Elysium est un environnement de développement intégré pour Eclipse, qui
+dispose d'une vue en parallèle de la source et de la partition. Il
+propose un rendu visuel et auditif sans changer de contexte et dispose
+de nombreux canevas.
+
@uref{http://www.gnu.org/software/emacs/}
Emacs est un éditeur de texte avec des fontionnalités spécifiques pour
Les testeurs sont les bienvenus.
@item
-@uref{http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml,
-NtEd}, basé sur la bibliothèque @uref{http://cairographics.org, Cairo},
-dispose d'une fonction expérimentale d'export pour LilyPond.
+@uref{http://enc2ly.sourceforge.net/en/,Enc2ly} est un programme GNU/Linux
+qui convertit des partitions du format @uref{http://www.gvox.com/,Encore} au
+format LilyPond.
@item
-@uref{http://musescore.org, MuseScore} est un éditeur de partition. Il
-exporte dans une certaine mesure au format LilyPond.
+@uref{https://github.com/hanwen/go-enc2ly,go-enc2ly} est un programme Go qui
+convertit des fichiers @uref{http://www.gvox.com/,Encore} au format LilyPond.
+Il a été conçu à partir du travail d'ingénierie inverse de Felipe Castro en
+modifiant des fichiers @code{.enc} existant et en les chargeant avec la
+version de démonstration 4.55.
-@uref{http://www.holmessoft.co.uk/homepage/software/NWC2LY/index.htm,
-NW2LY}, programme en C#, permet de convertir une chanson écrite avec
-@c @uref{http://www.noteworthysoftware.com/, NoteWorthy}
+@item
+@uref{http://musescore.org,MuseScore} est un éditeur de partition. Il exporte
+dans une certaine mesure au format LilyPond.
+
+@item
+@uref{http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml,NtEd},
+basé sur la bibliothèque @uref{http://cairographics.org, Cairo}, dispose d'une
+fonction expérimentale d'export pour LilyPond.
+
+@item
+@uref{http://www.holmessoft.co.uk/homepage/software/NWC2LY/index.htm,NW2LY},
+programme en C#, permet de convertir une chanson écrite avec
+@c @uref{http://www.noteworthysoftware.com/,NoteWorthy}
NoteWorthy au format LilyPond.
@item
-@uref{https://github.com/ciconia/ripple/blob/master/README.markdown,
-Ripple} est un assistant à la création de conducteur et parties. Il
-permet de mixer plusieurs parties en un conducteur.
+@uref{https://github.com/ciconia/ripple/blob/master/README.markdown,Ripple} est
+un assistant à la création de conducteur et parties. Il permet de mixer
+plusieurs parties en un conducteur.
@item
-@uref{http://www.rosegardenmusic.com,Rosegarden}, séquenceur audio et
-MIDI, comporte aussi un éditeur pour portée unique.
+@uref{http://www.rosegardenmusic.com,Rosegarden}, séquenceur audio et MIDI,
+comporte aussi un éditeur pour portée unique.
@item
@uref{http://launchpad.net/rumor/,Rumor}, un convertisseur monophonique
temps-réel MIDI vers LilyPond.
@item
-@uref{http://www.tuxguitar.com.ar/,TuxGuitar} est un éditeur de
-tablatures multi-pistes. Il permet d'afficher tablatures et partitions,
-et il peut exporter du code LilyPond.
+@uref{http://www.tuxguitar.com.ar/,TuxGuitar} est un éditeur de tablatures
+multi-pistes. Il permet d'afficher tablatures et partitions, et il peut
+exporter du code LilyPond.
@end itemize
@lilypond[quote,verbatim,ragged-right]
\new Staff \with {
- \remove Staff_symbol_engraver
+ \remove "Staff_symbol_engraver"
}
\relative c' {
c4
@lilypond[quote,verbatim,ragged-right]
\new Staff <<
\new Voice \with {
- \consists Ambitus_engraver
+ \consists "Ambitus_engraver"
}
\relative c'' {
\voiceOne
@lilypond[quote,verbatim,ragged-right]
\new Staff \with {
- \consists Ambitus_engraver
+ \consists "Ambitus_engraver"
}
<<
\new Voice
\layout {
\context {
\Staff
- \consists Ambitus_engraver
+ \consists "Ambitus_engraver"
}
}
}
<form action="http://google.com/search"
method="get"
name="search"
- onSubmit="search.q.value='site:lilypond.org +v2.12 '
+ onSubmit="search.q.value='site:lilypond.org +v2.16 '
+ search.brute_query.value"
- onMouseMove="search.q.value='site:lilypond.org +v2.12 '
+ onMouseMove="search.q.value='site:lilypond.org +v2.16 '
+ search.brute_query.value"
- onKeyUp="search.q.value='site:lilypond.org +v2.12 '
+ onKeyUp="search.q.value='site:lilypond.org +v2.16 '
+ search.brute_query.value">
<input type="hidden" name="btnG" value="Google keresés">
<input type="text" name="brute_query" onfocus="this.value=''" value="Keresés">
<textobject>
<programlisting language="lilypond" role="fragment verbatim staffsize=16 ragged-right relative=2">
\context Staff \with @{
- \remove Time_signature_engraver
- \remove Clef_engraver@}
+ \remove "Time_signature_engraver"
+ \remove "Clef_engraver"@}
@{ c4( fis) @}
</programlisting>
</textobject>
@email{t.daniels@@treda.co.uk},
Assistant documentation editor
+@item Colin Hall:
+Bug meister
+
@item Phil Holmes:
@email{mail@@philholmes.net}
@uref{http://www.philholmes.net}
Sven Axelsson,
Peter Chubb,
Karin Hoethker,
-Mark Hohl,
+Marc Hohl,
+David Nalesnik,
Justin Ohmie,
Benkő Pál,
Julien Rioux,
\layout {
\context {
\ChordNames
- \consists Instrument_name_engraver
+ \consists "Instrument_name_engraver"
}
}
}
\layout {
ragged-right = ##t
- \context {\ChordNames \consists Instrument_name_engraver }
+ \context {\ChordNames \consists "Instrument_name_engraver" }
}
<<
@ifnottex
@menu
-* Tutorial:: Le basi della composizione tipografica in LilyPond.
-* Notazione comunemente utilizzata:: Come si scrive la notazione più comunemente utilizzata.
+* Tutorial:: Le basi della composizione tipografica in LilyPond.
+* Notazione comunemente utilizzata:: Come si scrive la notazione più comunemente utilizzata.
* Concetti fondamentali:: Concetti di base necessari per leggere gli altri manuali.
-* Tweaking output:: Introduzione alla modifica dell'output.
+* Modifica dell'output:: Introduzione alla modifica dell'output.
Appendici
-* Modelli:: Modelli già pronti.
-* GNU Free Documentation License:: Licenza di questo documento.
+* Modelli:: Modelli già pronti.
+* GNU Free Documentation License:: Licenza di questo documento.
* Indice di LilyPond::
@end menu
@c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*-
@ignore
- Translation of GIT committish: d6b6b53d09a0fb8e137e7cfcec39fe22dc7b6872
+ Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*-
@ignore
- Translation of GIT committish: 6b9b2c2e3e701852485c24bc71f404effc6d83ec
+ Translation of GIT committish: 6da27f9b294c385ff8fc75876e152d67f0b4794e
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@lilypond[quote,verbatim,ragged-right]
\new Staff \with {
- \remove Staff_symbol_engraver
+ \remove "Staff_symbol_engraver"
}
\relative c' {
c4 d
@lilypond[quote,verbatim,ragged-right]
\new Staff <<
\new Voice \with {
- \consists Ambitus_engraver
+ \consists "Ambitus_engraver"
} {
\relative c'' {
\voiceOne
@lilypond[quote,verbatim,ragged-right]
\new Staff \with {
- \consists Ambitus_engraver
+ \consists "Ambitus_engraver"
}
<<
\new Voice {
\layout {
\context {
\Staff
- \consists Ambitus_engraver
+ \consists "Ambitus_engraver"
}
}
}
}
ManualTwoMusic = \relative c' {
c16 b c8~ c16 b c g a8 g~ g16 g aes ees |
- f16 ees f d g aes g f ees d e8~ ees16 f ees d |
+ f16 ees f d g aes g f ees d ees8~ ees16 f ees d |
}
PedalOrganMusic = \relative c {
r8 c16 d ees d ees8~ ees16 a, b g c b c8 |
(parser location padding)
(number?)
#{
- \once \override TextScript #'padding = $padding
+ \once \override TextScript #'padding = #padding
#})
\relative c''' {
@c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*-
@ignore
- Translation of GIT committish: 2055f35c47a045a50a01ff4dba8524322cfc3b48
+ Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*-
@ignore
- Translation of GIT committish: f71ede90de06fdc16dad9ed75f38558efe819080
+ Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*-
@ignore
- Translation of GIT committish: 2055f35c47a045a50a01ff4dba8524322cfc3b48
+ Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
--- /dev/null
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*-
+
+@ignore
+ Translation of GIT committish: 6da27f9b294c385ff8fc75876e152d67f0b4794e
+
+ When revising a translation, copy the HEAD committish of the
+ version that you are working on. For details, see the Contributors'
+ Guide, node Updating translation committishes..
+@end ignore
+
+@c \version "2.16.0"
+
+@node Modifica dell'output
+@chapter Modifica dell'output
+@translationof Tweaking output
+
+Questo capitolo spiega come modificare l'output. LilyPond è estremamente
+configurabile; praticamente si può modificare qualsiasi elemento dell'output.
+
+
+@menu
+* Modifiche di base::
+* Manuale del Funzionamento interno::
+* Aspetto degli oggetti::
+* Posizionamento degli oggetti::
+* Collisioni tra oggetti::
+* Altre modifiche::
+@end menu
+
+@node Modifiche di base
+@section Modifiche di base
+@translationof Tweaking basics
+
+@menu
+* Introduzione alle modifiche::
+* Oggetti e interfacce::
+* Convenzioni per i nomi di oggetti e proprietà::
+* Metodi di modifica::
+@end menu
+
+@node Introduzione alle modifiche
+@subsection Introduzione alle modifiche
+@translationof Introduction to tweaks
+
+Nella terminologia di LilyPond un @emph{tweak} (modifica, ritocco) si
+riferisce ai vari metodi che l'utente ha a disposizione per modificare
+le azioni intraprese durante l'interpretazione del file di input e per
+cambiare l'aspetto dell'output. Alcune modifiche sono molto semplici, altre
+sono più complesse. Ma nel loro insieme i metodi disponibili permettono
+di modificare quasi qualsiasi aspetto della partitura come si desidera.
+
+In questa sezione vengono trattati i concetti di base necessari per
+comprendere le modifiche. Più avanti presenteremo vari comandi già
+pronti che possono essere semplicemente copiati per ottenere lo stesso
+effetto nelle proprie partiture; allo stesso tempo mostreremo come
+costruire questi comandi così da rendere possibile imparare a scrivere
+le proprie modifiche personali.
+
+Prima di iniziare questo capitolo si consiglia di rileggere la sezione
+@ref{Contexts and engravers}, perché i contesti, gli incisori e le proprietà
+contenute al loro interno sono fondamentali per comprendere e
+costruire le modifiche.
+
+@node Oggetti e interfacce
+@subsection Oggetti e interfacce
+@translationof Objects and interfaces
+
+@cindex oggetto
+@cindex oggetto grafico (grob)
+@cindex estensore (spanner)
+@cindex interfaccia
+@cindex oggetto, proprietà dell'
+@cindex proprietà dell'oggetto
+@cindex oggetto di formattazione
+@cindex formattazione, oggetto di
+
+I @emph{tweak} implicano la modifica delle operazioni e delle strutture
+interne del programma LilyPond, dunque per prima cosa bisogna
+introdurre alcuni termini usati per descriverle.
+
+Il termine @q{Oggetto} è un termine generico che si riferisce all'insieme
+di strutture interne create da LilyPond durante l'elaborazione
+di un file di input. Quando incontra un comando come @code{\new
+Staff}, LilyPond crea un nuovo oggetto di tipo @code{Staff} (un rigo). Questo
+oggetto @code{Staff} possiede tutte le proprietà associate a
+quel rigo, come ad esempio il suo nome e la sua armatura di chiave,
+insieme ai dettagli relativi agli incisori assegnati per operare all'interno
+del contesto di quel rigo. Analogalmente, ci sono oggetti che hanno
+le proprietà di tutti gli altri contesti, come gli oggetti @code{Voice},
+gli oggetti @code{Score}, gli oggetti @code{Lyrics} e gli oggetti che
+rappresentano tutti gli elementi della notazione, come le stanghette,
+le teste di nota, le legature di valore, i segni di dinamica, etc. A ogni
+oggetto corrisponde un relativo insieme di valori di proprietà.
+
+Alcuni tipi di oggetto hanno dei nomi speciali. Gli oggetti che rappresentano
+elementi della notazione visibili nell'output come le teste di nota, i gambi,
+le legature di portamento e di valore, le diteggiature, le chiavi, etc. sono
+chiamati «Oggetti di formattazione» (in inglese @emph{Layout Objects}). Sono
+chiamati anche «Oggetti grafici» (in inglese @emph{Graphical Objects} o
+@emph{Grob} per brevità). Si tratta sempre di oggetti nel senso generico
+descritto prima e quindi hanno tutti delle proprietà a loro associate, come la
+posizione, la dimensione, il colore, etc.
+
+Alcuni oggetti di formattazione sono ancora più specializzati. Le legature
+di frase, le forcelle del crescendo, i segni di ottava e molti altri @q{grob}
+non sono localizzati in un punto preciso -- hanno invece un punto iniziale,
+un punto finale e talvolta altre proprietà relative alla loro forma. Gli
+oggetti che hanno una forma estesa in questo modo vengono chiamati «Estensori»
+(in inglese @emph{Spanner}).
+
+Resta da spiegare cosa sono le «Interfacce». Molti oggetti, pur essendo
+piuttosto diversi, condividono delle caratteristiche comuni che devono
+essere elaborate nello stesso modo. Ad esempio, tutti i @emph{grob} hanno un
+colore, una dimensione, una posizione, etc.; tutte queste proprietà vengono
+elaborate nello stesso modo durante l'interpretazione del file di input. Per
+semplificare queste operazioni interne, le azioni e proprietà comuni
+sono riunite in un oggetto chiamato @code{grob-interface}.
+Esistono molti altri raggruppamenti di proprietà comuni come queste, ognuno
+con un nome che finisce con @code{interface}. In totale ci sono più di
+100 interfacce. Vedremo in seguito perché questo sia di interesse
+e di utilità per l'utente.
+
+Questi sono dunque i termini principali riguardanti gli oggetti che useremo
+in questo capitolo.
+
+@node Convenzioni per i nomi di oggetti e proprietà
+@subsection Convenzioni per i nomi di oggetti e proprietà
+@translationof Naming conventions of objects and properties
+
+@cindex convenzioni per i nomi di oggetti
+@cindex convenzioni per i nomi di proprietà
+@cindex oggetti, convenzioni per i nomi di
+@cindex proprietà, convenzioni per i nomi di
+
+Abbiamo già visto, in @ref{Contexts and engravers}, le convenzioni per i
+nomi di oggetti. Ecco una lista dei più comuni tipi di oggetti e
+proprietà insieme alle convenzioni usate per nominarli e alcuni
+esempi di nomi reali. Abbiamo usato @q{A} per indicare un
+qualsiasi carattere alfabetico maiuscolo e @q{aaa} per indicare un qualsiasi
+numero di caratteri alfabetici minuscoli. Gli altri caratteri sono indicati
+normalmente.
+
+@multitable @columnfractions .33 .33 .33
+@headitem Tipo di oggetto/proprietà
+ @tab Convenzione per il nome
+ @tab Esempi
+@item Contesti
+ @tab Aaaa o AaaaAaaaAaaa
+ @tab Staff, GrandStaff
+@item Oggetti di formattazione
+ @tab Aaaa o AaaaAaaaAaaa
+ @tab Slur, NoteHead
+@item Incisori
+ @tab Aaaa_aaa_engraver
+ @tab Clef_engraver, Note_heads_engraver
+@item Interfacce
+ @tab aaa-aaa-interface
+ @tab grob-interface, break-aligned-interface
+@item Proprietà del contesto
+ @tab aaa o aaaAaaaAaaa
+ @tab alignAboveContext, skipBars
+@item Proprietà degli oggetti di formattazione
+ @tab aaa o aaa-aaa-aaa
+ @tab direction, beam-thickness
+@end multitable
+
+Come vedremo tra poco, ogni tipo di oggetto richiede un comando diverso
+per modificare le sue proprietà, dunque è utile poter riconoscere i tipi
+di oggetti e proprietà dai loro nomi.
+
+
+@node Metodi di modifica
+@subsection Metodi di modifica
+@translationof Tweaking methods
+
+@cindex metodi di modifica
+@cindex modifica, metodi
+
+@strong{Il comando \override}
+
+@cindex override, comando
+@cindex override, sintassi
+
+@funindex \override
+@funindex override
+
+Abbiamo già incontrato i comandi @code{\set} e @code{\with}, che servono
+a modificare le proprietà dei @strong{contesti} e a togliere o aggiungere
+gli @strong{incisori}, nei paragrafi @ref{Modifying context properties} e
+@ref{Adding and removing engravers}. Ora dobbiamo introdurre alcuni
+comandi più importanti.
+
+Il comando che cambia le proprietà degli @strong{oggetti di formattazione} è
+@code{\override}. Dato che questo comando ha il compito di modificare
+le caratteristiche interne fondamentali di LilyPond, la sua sintassi non è
+semplice come quella dei comandi presentati finora. Deve sapere esattamente
+quale proprietà di quale oggetto in quale contesto deve essere
+modificata e quale deve essere il suo nuovo valore. Vediamo come
+funziona.
+
+La sintassi generale di questo comando è:
+
+@example
+\override @var{Contesto}.@var{OggettoDiFormattazione} #'@var{proprietà-formattazione} =
+#@var{valore}
+@end example
+
+@noindent
+Questo comando assegnerà alla proprietà chiamata @var{proprietà-formattazione}
+dell'oggetto di formattazione chiamato @var{OggettoDiFormattazione}, che fa
+parte del contesto @var{Contesto}, il valore @var{valore}.
+
+Il @var{Contesto} può essere ommesso (e di solito lo è) quando il
+contesto richiesto è implicito e si trova a uno dei livelli più
+bassi dei contesti, come ad esempio @code{Voice}, @code{ChordNames} o
+@code{Lyrics}. Lo ometteremo in molti degli esempi seguenti; vedremo
+poi quando deve essere specificato.
+
+Le sezioni successive tratteranno in modo dettagliato le proprietà e
+i loro valori, si veda @ref{Types of properties}; in questa sezione, invece,
+useremo soltanto alcune proprietà e valori di facile comprensione,
+in modo da spiegare il formato e l'uso di questo comando.
+
+Per ora non ti preoccupare del @code{#'}, che deve precedere la
+proprietà di formattazione e del@tie{}@code{#}, che deve precedere
+il valore. Tali segni vanno presentati esattamente in questa
+forma. Questo è il comando più usato nelle modifiche e quasi tutto
+il resto del capitolo ha lo scopo di mostrare alcuni esempi
+di utilizzo. Ecco un semplice esempio che mostra come cambiare
+il colore della testa di nota:
+
+@cindex proprietà del colore, esempio
+@cindex colore, proprietà del
+@cindex NoteHead, esempio di sovrascrittura
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+c4 d
+\override NoteHead #'color = #red
+e4 f |
+\override NoteHead #'color = #green
+g4 a b c |
+@end lilypond
+
+@strong{Il comando \revert}
+
+@cindex ripristino (revert), comando
+
+@funindex \revert
+@funindex revert
+
+Quando viene sovrascritta, la proprietà mantiene il suo nuovo valore finché
+non viene sovrascritta di nuovo o non si incontra un comando @code{\revert}.
+Il comando @code{\revert} fa sì che il valore della proprietà sia ripristinato
+al suo valore predefinito. Attenzione: non al suo valore precedente (nel caso
+siano stati inseriti vari comandi @code{\override}). Impiega la seguente sintassi:
+
+@example
+\revert @var{Contesto}.@var{OggettoDiFormmattazione} #'@var{proprietà-formattazione}
+@end example
+
+Anche in questo caso, come per il comando @code{\override}, @var{Contesto} di
+solito non è necessario e verrà omesso in molti degli esempi seguenti.
+In questo esempio ripristiniamo il colore della testa delle ultime due
+note al valore predefinito:
+
+@cindex proprietà del colore, esempio
+@cindex colore, proprietà del
+@cindex NoteHead, esempio di sovrascrittura
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+c4 d
+\override NoteHead #'color = #red
+e4 f |
+\override NoteHead #'color = #green
+g4 a
+\revert NoteHead #'color
+b4 c |
+@end lilypond
+
+@strong{Il prefisso \once}
+
+@funindex \once
+@funindex once
+
+Sia il comando @code{\override} che il comando @code{\set} possono essere
+preceduti da @code{\once}. Questo fa sì che il successivo comando @code{\override}
+o @code{\set} sia effettivo solo in relazione a quel determinato momento musicale,
+prima che la proprietà sia ripristinata al suo valore precedente (che può essere diverso da quello predefinito se un altro @code{\override} è
+ancora attivo). Usando lo stesso esempio, possiamo cambiare il colore di
+una singola nota in questo modo:
+
+@cindex proprietà del colore, esempio
+@cindex colore, proprietà del
+@cindex NoteHead, esempio di sovrascrittura
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+c4 d
+\override NoteHead #'color = #red
+e4 f |
+\once \override NoteHead #'color = #green
+g4 a
+\revert NoteHead #'color
+b c |
+@end lilypond
+
+@strong{Il comando \overrideProperty}
+
+@cindex overrideProperty, comando
+
+@funindex \overrideProperty
+@funindex overrideProperty
+
+Esiste un'altra forma di comando di sovrascrittura,
+@code{\overrideProperty}, che si rende necessario raramente.
+Lo menzioniamo qui per completezza, ma per approfondire l'argomento
+si veda @rextend{Difficult tweaks}.
+@c Maybe explain in a later iteration -td
+
+@strong{Il comando \tweak}
+
+@cindex tweak, comando
+
+@funindex \tweak
+@funindex tweak
+
+L'ultimo comando di modifica a disposizione è @code{\tweak}. Si usa
+quando vari oggetti compaiono nello stesso momento musicale,
+ma si vogliono modificare soltanto le proprietà di alcuni oggetti, come
+ad esempio una singola nota all'interno di un accordo. Se si usa @code{\override}
+la modifica ha effetto su tutte le note di un accordo, mentre @code{\tweak} ha
+effetto solo sul singolo elemento che segue.
+
+Per esempio, supponiamo di voler modificare la dimensione della
+testa della nota centrale (il Mi) in un accordo di Do maggiore. Vediamo prima
+cosa succede se si usa @code{\once \override}:
+
+@cindex proprietà font-size, esempio
+@cindex font-size, esempio
+@cindex NoteHead, esempio di sovrascrittura
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+<c e g>4
+\once \override NoteHead #'font-size = #-3
+<c e g>4
+<c e g>4
+@end lilypond
+
+Come si vede, la sovrascrittura riguarda @emph{tutte} le teste di nota
+dell'accordo. Ciò è dovuto al fatto che tutte le note di un accordo
+si trovano nello stesso @emph{momento musicale} e l'azione di @code{\once}
+consiste nell'applicare la sovrascrittura a tutti gli oggetti di formattazione
+del tipo specificato che si trovano nello stesso momento musicale del comando
+@code{\override} stesso.
+
+Il comando @code{\tweak} funziona in modo diverso. Agisce sull'elemento
+immediatamente successivo nel flusso di codice. Nella sua forma più
+semplice funziona solo sugli oggetti creati direttamente dall'elemento
+seguente, in particolare teste di nota e articolazioni.
+
+Tornando al nostro esempio, la dimensione della nota centrale
+di un accordo si cambia in questo modo:
+
+@cindex proprietà font-size, esempio
+@cindex font-size, esempio
+@cindex @code{\tweak}, esempio
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+<c e g>4
+<c \tweak #'font-size #-3 e g>4
+@end lilypond
+
+Si noti che la sintassi di @code{\tweak} è diversa da quella di
+@code{\override}. Il contesto non deve essere specificato; anzi,
+se lo fosse verrebbe generato un errore. Sia il contesto che l'oggetto
+di formattazione sono sottintesi dall'elemento che segue nel flusso di
+input. Nota anche che non ci devono essere segni di uguale (@code{=}). Dunque la
+forma semplice del comando @code{\tweak} è
+
+@example
+\tweak #'@var{proprietà-formattazione} #@var{valore}
+@end example
+
+Il comando @code{\tweak} serve anche a modificare soltanto una di una serie
+di articolazioni:
+
+@cindex proprietà del colore, esempio
+@cindex colore, proprietà del
+@cindex @code{\tweak}, esempio
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+a4^"Black"
+ -\tweak #'color #red ^"Red"
+ -\tweak #'color #green _"Green"
+@end lilypond
+
+@noindent
+Nota che il comando @code{\tweak} deve essere preceduto da un segno di
+articolazione, perché la stessa espressione modificata deve essere applicata come articolazione. In caso di più sovrascritture della
+direzione (@code{^} o @code{_}), prevale la sovrascrittura posizionata più a sinistra,
+perché viene applicata per ultima.
+
+@cindex @code{\tweak}, alterazione
+@cindex @code{\tweak}, oggetto di formattazione specifico
+
+Alcuni oggetti, come gambi e alterazioni, vengono creati dopo, non
+direttamente dall'evento che segue. È comunque possibile usare
+@code{\tweak} con questi oggetti creati indirettamente se si indica
+esplicitamente l'oggetto di formattazione, purché LilyPond riesca a
+seguire la sua origine fino all'evento originale:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+<\tweak Accidental #'color #red cis4
+ \tweak Accidental #'color #green es
+ g>
+@end lilypond
+
+Questa forma estesa del comando @code{\tweak} può essere descritta così
+@example
+\tweak @var{oggetto-formattazione} #'@var{proprietà-formattazione} @var{valore}
+@end example
+
+@cindex gruppi irregolari, annidati
+@cindex terzine, annidate
+@cindex parentesi, gruppo irregolare
+@cindex parentesi, terzina
+@cindex parentesi del gruppo irregolare
+@cindex parentesi della terzina
+
+@funindex TupletBracket
+
+Il comando @code{\tweak} è necessario anche quando si vuole cambiare
+l'aspetto di uno di una serie di gruppi irregolari annidati che iniziano
+nello stesso momento musicale. Nell'esempio seguente, la prima lunga
+parentesi del gruppo irregolare e la prima delle tre brevi parentesi
+iniziano nello stesso momento musicale, quindi qualsiasi comando
+@code{\override} produrrebbe degli effetti su entrambi. In questo esempio,
+si usa @code{\tweak} per distinguerli. Il primo comando @code{\tweak}
+indica che la lunga parentesi del gruppo irregolare deve essere posizionata
+sopra le note e il secondo indica che il numero del primo gruppo irregolare
+deve essere in rosso.
+
+@cindex @code{\tweak}, esempio
+@cindex proprietà della direzione, esempio
+@cindex direzione, esempio
+@cindex proprietà del colore, esempio
+@cindex colore, esempio
+
+@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
+\tweak #'direction #up
+\times 4/3 {
+ \tweak #'color #red
+ \times 2/3 { c8[ c c] }
+ \times 2/3 { c8[ c c] }
+ \times 2/3 { c8[ c c] }
+}
+@end lilypond
+
+Se i gruppi irregolari annidati non iniziano nello stesso momento, il loro
+aspetto può essere modificato come di consueto con i comandi @code{\override}:
+
+@cindex proprietà text, esempio
+@cindex text, esempio
+@cindex funzione tuplet-number, esempio
+@cindex proprietà transparent, esempio
+@cindex transparent, esempio
+@cindex TupletNumber, esempio di sovrascrittura
+
+@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 {
+ c8[ c]
+ c8[ c]
+ \once \override TupletNumber #'transparent = ##t
+ \times 2/3 { c8[ c c] }
+ \times 2/3 { c8[ c c] }
+}
+@end lilypond
+
+
+@seealso
+Guida alla Notazione:
+@ruser{The tweak command}.
+
+
+@node Manuale del Funzionamento interno
+@section Manuale del Funzionamento interno
+@translationof The Internals Reference manual
+
+@cindex Guida al Funzionamento interno
+
+@menu
+* Proprietà degli oggetti di formattazione::
+* Proprietà presenti nelle interfacce::
+* Tipi di proprietà::
+@end menu
+
+@node Proprietà degli oggetti di formattazione
+@subsection Proprietà degli oggetti di formattazione
+@translationof Properties of layout objects
+
+@cindex proprietà degli oggetti di formattazione
+@cindex proprietà degli oggetti grafici (grob)
+@cindex ogggetti grafici, proprietà degli
+@cindex oggetti di formattazione, proprietà degli
+@cindex manuale del Funzionamento Interno
+
+Immagina di avere una legatura di portamento che ai tuoi
+occhi appare troppo sottile e che vorresti un po' più spessa.
+Come fare? Sai che LilyPond è molto flessibile e che quindi
+dovrebbe essere possibile farlo; e probabilmente immagini
+che sia necessario un comando @code{\override}. Ma esiste una
+proprietà che controlla lo spessore di una legatura? E se esiste
+come può essere modificata? Qui entra in gioco il manuale del Funzionamento
+Interno, che contiene tutte le informazioni necessarie per costruire
+tutti i comandi @code{\override}.
+
+Prima di dare un'occhiata alla guida al Funzionamento Interno, vogliamo
+avvisarti: si tratta di un documento di @strong{riferimento}, che significa
+che ci sono poche o nessune spiegazioni al suo interno, dato che il suo
+scopo è presentare le informazioni in modo preciso e conciso. Dunque potrà
+sembrare scoraggiante al primo impatto. Ma non ti preoccupare! I consigli
+e le spiegazioni presentate qui, insieme a un po' di pratica, ti permetteranno
+di estrarre da solo da quella guida le informazioni che cerchi.
+
+@cindex esempio di sovrascrittura
+@cindex sovrascrittura, esempio
+@cindex Guida al Funzionamento Interno, esempio d'uso
+@cindex @code{\addlyrics}, esempio
+
+Partiamo da un esempio concreto, un semplice frammento di musica:
+
+@c Mozart, Die Zauberflöte Nr.7 Duett
+
+@lilypond[quote,verbatim,relative=2]
+{
+ \key es \major
+ \time 6/8
+ {
+ r4 bes8 bes[( g]) g |
+ g8[( es]) es d[( f]) as |
+ as8 g
+ }
+ \addlyrics {
+ The man who | feels love's sweet e -- | mo -- tion
+ }
+}
+@end lilypond
+
+Supponiamo ora che si vogliano rendere un po' più spesse le
+legature di portamento. È possibile? La legatura di portamento
+è certamente un oggetto di formattazione, dunque la domanda è: @q{Esiste una
+proprietà che appartiene a una legatura di portamento in grado di controllare
+lo spessore?} Per rispondere a questa domanda dobbiamo guardare
+nella guida al Funzionamento interno.
+
+Puoi trovare la guida nella versione di LilyPond che stai usando
+sul sito di LilyPond: @uref{http://lilypond.org}. Vai alla
+pagina della documentazione e clicca sul link alla guida del Funzionamento
+interno. Per poter seguire questo manuale dovresti usare la versione HTML standard,
+non quella in un'unica grande pagina né il PDF. Nei prossimi paragrafi ti
+servirà per seguire gli esempi che faremo.
+
+Sotto il titolo vedrai cinque link. Seleziona il
+link al @strong{Backend}, dove si trovano le informazioni
+sugli oggetti di formattazione (@emph{layout objects}). Poi sotto il titolo
+@emph{Backend}, seleziona il link a @strong{All layout objects}.
+La pagina che compare elenca tutti gli oggetti di formattazione usati
+nella tua versione di LilyPond, in ordine alfabetico. Seleziona il link a
+Slur (legatura di portamento) e verranno elencate le sue proprietà.
+
+Si può trovare questa pagina anche dalla Guida alla notazione. In una
+delle pagine che tratta le legature di portamento potrai trovare un
+link alla Guida al funzionamento interno. Il link ti porterà direttamente
+a questa pagina, ma se hai un'idea di quale sia l'oggetto di formattazione
+da modificare, è più semplice andare direttamente nella guida del Funzionamento
+interno e cercare lì.
+
+La pagina sulla legatura di portamento (@emph{Slur}) ci dice per prima cosa che gli
+oggetti Slur sono creati dall'incisore Slur_engraver. Poi elenca le impostazioni
+standard. Scorrile cercando la proprietà che potrebbe controllare lo spessore
+delle legature di portamento; dovresti trovare
+
+@example
+@code{thickness} (number)
+ @code{1.2}
+ Line thickness, generally measured in @code{line-thickness}
+@end example
+
+Sembra che sia quel che stiamo cercando. Ci dice che il valore
+di @code{thickness} (spessore) è un semplice @emph{numero},
+che il valore predefinito è 1.2 e che le unità si trovano in
+un'altra proprietà chiamata @code{line-thickness}.
+
+Come abbiamo detto prima, ci sono poche spiegazioni nella guida al
+Funzionamento interno, tuttavia abbiamo già informazioni sufficienti
+per cercare di cambiare lo spessore delle legature di portamento.
+Vediamo che il nome dell'oggetto di formattazione è @code{Slur}, che
+il nome della proprietà da modificare è @code{thickness} e che il
+nuovo valore dovrà essere un numero un po' più grande di 1.2
+se vogliamo rendere più spesse le legature.
+
+Ora possiamo costruire il comando @code{\override} sostituendo
+i valori che abbiamo trovato per i nomi e omettendo il
+contesto. Inizialmente usiamo un valore molto grande per lo
+spessore, per essere sicuri che il comando funzioni:
+
+@example
+\override Slur #'thickness = #5.0
+@end example
+
+Non dimenticare il @code{#'} che precede il nome della
+proprietà e il@tie{}@code{#} che precede il nuovo valore!
+
+L'ultima domanda è: @q{dove va messo questo comando?} Finché non sei sicuro
+e stai ancora imparando, la risposta migliore è: @q{dentro la musica, prima della
+prima legatura di portamento e accanto ad essa.} Facciamolo:
+
+@cindex legatura di portamento, esempio di sovrascrittura
+@cindex proprietà thickness, esempio
+@cindex thickness (spessore), esempio
+
+@lilypond[quote,verbatim,relative=2]
+{
+ \key es \major
+ \time 6/8
+ {
+ % Increase thickness of all following slurs from 1.2 to 5.0
+ \override Slur #'thickness = #5.0
+ r4 bes8 bes[( g]) g |
+ g8[( es]) es d[( f]) as |
+ as8 g
+ }
+ \addlyrics {
+ The man who | feels love's sweet e -- | mo -- tion
+ }
+}
+@end lilypond
+
+@noindent
+e vediamo che la legatura di portamento è davvero più grossa.
+
+Questi sono i fondamenti per costruire i comandi @code{\override}. Incontreremo
+delle situazioni più complesse nelle sezioni successive, ma ora possiedi già
+tutte le conoscenze di base che ti permetteranno di costruire i tuoi comandi.
+Ti manca solo un po' di pratica, che potrai fare grazie ai prossimi esempi.
+
+@subheading Trovare il contesto
+
+@cindex contesto, trovare il
+@cindex contesto, identificare il corretto
+
+E se avessimo bisogno di specificare il contesto?
+Quale dovrebbe essere? Potremmo immaginare che le legature
+di portamento si trovino nel contesto Voice, dato che sono ovviamente
+collegate strettamente alle singole voci, ma possiamo
+esserne sicuri? Per scoprirlo, vai in cima alla pagina del Funzionamento
+Interno relativa a «Slur», dove dice @q{Slur objects are created by: Slur
+engraver}. Significa che le legature di portamento sono create nel contesto
+in cui si trova l'incisore @code{Slur_engraver}. Segui il link alla pagina
+@code{Slur_engraver}. In fondo dice che lo @code{Slur_engraver} fa parte di
+vari contesti Voice, incluso il contesto standard della voce, @code{Voice}.
+Dunque la nostra supposizione era corretta. E dato che @code{Voice} è uno dei
+contesti che si trovano al livello più basso, come è sottinteso senza ambiguità
+dal fatto che stiamo inserendo delle note, in questo caso possiamo ometterlo.
+
+@subheading Sovrascrivere una volta sola
+
+@cindex sovrascrivere una volta sola
+@cindex \once \override
+
+@funindex \once
+@funindex once
+
+Come puoi vedere, @emph{tutte} le legature di portamento sono più spesse nell'ultimo
+esempio. E se volessimo rendere più spessa solo la prima legatura di portamento?
+Dovremmo usare il comando @code{\once}. Se posto immediatamente prima
+di @code{\override} fa sì che questo modifichi soltanto la legatura di portamento
+che inizia sulla nota @strong{immediatamente seguente}. Se la nota immediatamente
+seguente non inizia la legatura, il comando non ha alcun effetto -- non è
+ricordato finché non si incontra una legatura di portamento, ma
+viene direttamente scartato. Quindi il comando con @code{\once} deve essere riposizionato
+nel modo seguente:
+
+@cindex Slur, esempio di sovrascrittura
+@cindex proprietà thickness, esempio
+@cindex thickness (spessore), esempio
+
+@lilypond[quote,verbatim,relative=2]
+{
+ \key es \major
+ \time 6/8
+ {
+ r4 bes8
+ % Aumenta lo spessore solo della legatura che segue
+ \once \override Slur #'thickness = #5.0
+ bes8[( g]) g |
+ g8[( es]) es d[( f]) as |
+ as8 g
+ }
+ \addlyrics {
+ The man who | feels love's sweet e -- | mo -- tion
+ }
+}
+@end lilypond
+
+@noindent
+Ora solo la prima legatura è più spessa.
+
+Il comando @code{\once} può essere usato anche prima del comando @code{\set}.
+
+@subheading Ripristinare
+
+@cindex revert
+@cindex ripristinare le proprietà predefinite
+@cindex proprietà predefinite, ripristinare le
+
+@funindex \revert
+@funindex revert
+
+E se volessimo che soltanto le prime due legature di portamento fossero
+più spesse? Potremmo usare due comandi, ciascuno preceduto da
+@code{\once}, messo immediatamente prima di ognuna delle note da cui
+iniziano le legature:
+
+@cindex Slur, esempio di sovrascrittura
+@cindex proprietà thickness, esempio
+@cindex thickness (spessore), esempio
+
+@lilypond[quote,verbatim,relative=2]
+{
+ \key es \major
+ \time 6/8
+ {
+ r4 bes8
+ % Aumenta lo spessore solo della legatura che segue
+ \once \override Slur #'thickness = #5.0
+ bes[( g]) g |
+ % Aumenta lo spessore solo della legatura che segue
+ \once \override Slur #'thickness = #5.0
+ g8[( es]) es d[( f]) as |
+ as8 g
+ }
+ \addlyrics {
+ The man who | feels love's sweet e -- | mo -- tion
+ }
+}
+@end lilypond
+
+@noindent
+oppure potremmo omettere il comando @code{\once} e usare il comando @code{\revert}
+per far sì che la proprietà @code{thickness} ritorni al valore predefinito
+dopo la seconda legatura:
+
+@cindex Slur, esempio di sovrascrittura
+@cindex proprietà thickness, esempio
+@cindex thickness (spessore), esempio
+
+@lilypond[quote,verbatim,relative=2]
+{
+ \key es \major
+ \time 6/8
+ {
+ r4 bes8
+ % Aumenta lo spessore di tutte le legature di portamento che seguono da 1.2 a 5.0
+ \override Slur #'thickness = #5.0
+ bes[( g]) g |
+ g8[( es]) es
+ % Ripristina lo spessore di tutte le legature di portamento che seguono al valore predefinito 1.2
+ \revert Slur #'thickness
+ d8[( f]) as |
+ as8 g
+ }
+ \addlyrics {
+ The man who | feels love's sweet e -- | mo -- tion
+ }
+}
+@end lilypond
+
+@noindent
+Il comando @code{\revert} serve a riportare qualsiasi proprietà
+modificata con @code{\override} al suo valore predefinito.
+Puoi usare qualsiasi metodo si adatti meglio a quello che vuoi fare.
+
+Si conclude l'introduzione alla guida al Funzionamento interno e ai metodi
+di base delle modifiche. Nelle sezioni successive di questo capitolo
+seguiranno vari esempi, in parte per presentarti ulteriori caratteristiche
+della guida al Funzionamento interno e in parte per farti esercitare
+nell'estrarre informazioni da esso. Questi esempi conterranno sempre meno
+consigli e spiegazioni.
+
+
+@node Proprietà presenti nelle interfacce
+@subsection Proprietà presenti nelle interfacce
+@translationof Properties found in interfaces
+
+@cindex interfaccia
+@cindex proprietà dell'interfaccia
+@cindex proprietà nelle interfacce
+
+Supponiamo ora di voler produrre un testo vocale in corsivo. Che tipo di
+comando @code{\override} ci serve? Consultiamo prima la pagina
+della guida al Funzionamento interno che elenca @q{All layout objects}, come
+prima, e cerchiamo un oggetto che potrebbe controllare il testo (in inglese
+@emph{lyrics}). Troviamo @code{LyricText}, che sembra quello giusto. Clicchiamo
+su di esso e troviamo le proprietà del testo. Queste comprendono @code{font-series}
+e @code{font-size}, ma niente che possa dare una forma corsiva. Ciò è dovuto
+al fatto che la proprietà della forma è comune a tutti gli oggetti di tipi
+di carattere (@emph{font}). Quindi, invece di includerla in ogni oggetto di
+formattazione, viene raggruppata insieme ad altre simili proprietà comuni
+e inserita in un'@strong{Interfaccia}: @code{font-interface}.
+
+Ora dobbiamo capire come trovare le proprietà delle interfacce e
+come scoprire quali oggetti usano queste proprietà.
+
+Torna a vedere la pagina che descrive LyricText. In fondo alla
+pagina c'è una lista di interfacce cliccabili supportate da LyricText.
+La lista ha molti elementi, incluso @code{font-interface}. Cliccando
+su di essa arriviamo alle proprietà associate con questa interfaccia, che
+sono anche le proprietà di tutti gli oggetti che la supportano, tra cui
+LyricText.
+
+Vediamo tutte le proprietà configurabili dall'utente che controllano i
+tipi di carattere, compresa @code{font-shape(symbol)}, dove @code{symbol} può
+essere impostato su @code{upright}, @code{italic} o @code{caps}.
+
+Puoi notare che lì sono elencate anche @code{font-series} e @code{font-size}.
+Ti potresti chiedere: perché le proprietà comuni dei tipi di carattere
+@code{font-series} e @code{font-size} fanno parte sia dell'oggetto
+@code{LyricText} sia dell'interfaccia @code{font-interface} mentre @code{font-shape}
+è presente solo nell'interfaccia? Ciò è dovuto al fatto che i valori globali
+predefiniti di @code{font-series} e @code{font-size} cambiano quando viene
+creato un oggetto @code{LyricText}, mentre i valori di @code{font-shape} non
+cambiano. Gli elementi in @code{LyricText} indicano quali sono i
+valori per queste due proprietà che si applicano a @code{LyricText}. Altri
+oggetti che supportano @code{font-interface} imposteranno queste proprietà
+in modo diverso quando vengono creati.
+
+Vediamo se ora riusciamo a costruire il comando @code{\override}
+per rendere il testo corsivo. L'oggetto è @code{LyricText},
+la proprietà è @code{font-shape} e il valore è
+@code{italic}. Come in precedenza, ometteremo il contesto.
+
+Per inciso, è importante notare che i valori di @code{font-shape},
+essendo dei simboli, devono essere preceduti da un apostrofo
+singolo, @code{'}. Questo è il motivo per cui gli apostrofi sono
+necessari prima di @code{thickness} nell'esempio precedente e prima di
+@code{font-shape} in questo esempio.
+Entrambi sono simboli. I simboli vengono letti internamente da
+LilyPond. Alcuni sono nomi di proprietà, come @code{thickness} o
+@code{font-shape}, altri sono usati come valori da assegnare alle
+proprietà, come @code{italic}. Nota che sono diversi dalle
+stringhe di testo arbitrarie, che appaiono nella forma @code{"una stringa
+di testo"}; maggiori informazioni sui simboli e le stringhe si trovano in
+@rextend{Scheme tutorial}.
+
+Quindi il comando @code{\override} che rende il testo corsivo è:
+
+@example
+\override LyricText #'font-shape = #'italic
+@end example
+
+@noindent
+Deve essere posizionato proprio di fronte al testo che vogliamo modificare,
+in questo modo:
+
+@cindex proprietà font-shape, esempio
+@cindex font-shape, esempio
+@cindex italic, esempio
+@cindex corsivo, esempio
+@cindex LyricText, esempio di sovrascrittura
+@cindex @code{\addlyrics}, esempio
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+ \key es \major
+ \time 6/8
+ {
+ r4 bes8 bes[( g]) g |
+ g8[( es]) es d[( f]) as |
+ as8 g
+ }
+ \addlyrics {
+ \override LyricText #'font-shape = #'italic
+ The man who | feels love's sweet e -- | mo -- tion
+ }
+}
+@end lilypond
+
+@noindent
+e tutto il testo è in corsivo.
+
+@subheading Specificare il contesto nella modalità testo (\lyricmode)
+
+@cindex contesto, specifarlo nella modalità testo (\lyricmode)
+@cindex modalità testo (\lyricmode), specificare il contesto
+
+Nel caso del testo, se cerchi di specificare il contesto nel
+formato usato prima, il comando non funzionerà. Una sillaba
+inserita in modalità testo (lyricmode) può essere terminata da uno
+spazio, una nuova linea o un numero. Tutti gli altri caratteri vengono
+considerati come parte della sillaba. Per questo motivo uno spazio o una
+nuova linea devono apparire prima del @code{@}} finale per impedire che esso
+sia incluso nella sillaba finale. Analogalmente, bisogna inserire degli spazi
+prima e dopo la virgola o il punto, @q{.}, separando il nome del contesto dal
+nome dell'oggetto: altrimenti, i due nomi verranno considerati insieme e
+l'interprete non sarà in grado di distinguerli. Dunque il comando sarà:
+
+@example
+\override Lyrics . LyricText #'font-shape = #'italic
+@end example
+
+@warning{Nel testo bisogna lasciare sempre uno spazio bianco tra l'ultima
+sillaba e la parentesi graffa che chiude il blocco.}
+
+@warning{Nelle sovrascritture (@emph{override}) del testo ci devono essere sempre
+degli spazi intorno al punto tra il nome del contesto e quello dell'oggetto.}
+
+
+@seealso
+Estendere: @rextend{Scheme tutorial}.
+
+
+@node Tipi di proprietà
+@subsection Tipi di proprietà
+@translationof Types of properties
+
+@cindex tipi di proprietà
+@cindex proprietà, tipi di
+
+Finora abbiamo visto due tipi di proprietà: @code{number} e
+@code{symbol}. Per essere valido, il valore dato a una proprietà
+deve essere del tipo corretto e obbedire alle regole di quel tipo.
+Nella guida al Funzionamento interno il tipo di proprietà è indicato
+tra parentesi dopo il nome della proprietà. Ecco una lista dei tipi
+che ti possono servire, corredata dalle regole per ciascun tipo e da alcuni
+esempi. Ovviamente, se inseriti in un comando @code{\override}, devono
+essere sempre preceduti dal simbolo di cancelletto, @code{#}.
+
+@multitable @columnfractions .2 .45 .35
+@headitem Tipo di proprietà
+ @tab Regole
+ @tab Esempi
+@item Boolean
+ @tab O Vero (True) o Falso (False), rappresentato da #t o #f
+ @tab @code{#t}, @code{#f}
+@item Dimension (in staff space)
+ @tab Un numero positivo decimale (nell'unità di misura dello spazio del rigo)
+ @tab @code{2.5}, @code{0.34}
+@item Direction
+ @tab Una valida direzione costante o il suo equivalente numerico (sono
+ammessi valori decimali compresi tra -1 e 1)
+ @tab @code{LEFT}, @code{CENTER}, @code{UP},
+ @code{1}, @w{@code{-1}}
+@item Integer
+ @tab Un numero positivo intero
+ @tab @code{3}, @code{1}
+@item List
+ @tab Un insieme di valori separato da spazi, racchiuso tra parentesi e
+preceduto da un apostrofo
+ @tab @code{'(left-edge staff-bar)}, @code{'(1)},
+ @code{'(1.0 0.25 0.5)}
+@item Markup
+ @tab Qualsiasi valido blocco markup
+ @tab @code{\markup @{ \italic "cresc." @}}
+@item Moment
+ @tab Una frazione di una nota intera costruita con la
+funzione make-moment
+ @tab @code{(ly:make-moment 1 4)},
+ @code{(ly:make-moment 3 8)}
+@item Number
+ @tab Qualsiasi valore decimale positivo o negativo
+ @tab @code{3.5}, @w{@code{-2.45}}
+@item Pair (of numbers)
+ @tab Due numeri separati da un @q{spazio . spazio} e racchiusi tra
+parentesi precedute da un apostrofo
+ @tab @code{'(2 . 3.5)}, @code{'(0.1 . -3.2)}
+@item Symbol
+ @tab Qualsiasi insieme di simboli ammesso per quella proprietà,
+preceduto da un apostrofo
+ @tab @code{'italic}, @code{'inside}
+@item Unknown
+ @tab Una procedura o un valore @code{#f} che impedisca l'azione
+ @tab @code{bend::print}, @code{ly:text-interface::print},
+ @code{#f}
+@item Vector
+ @tab Una lista di tre elementi racchiusi tra parentesi e preceduti
+da apostrofo-cancelletto, @code{'#}.
+ @tab @code{'#(#t #t #f)}
+@end multitable
+
+
+@seealso
+Estendere: @rextend{Scheme tutorial}.
+
+
+@node Aspetto degli oggetti
+@section Aspetto degli oggetti
+@translationof Appearance of objects
+
+Mettiamo in pratica quello che abbiamo imparato con un po' di
+esempi che mostrano come modificare l'aspetto degli elementi
+di una partitura.
+
+@menu
+* Visibilità e colore degli oggetti::
+* Dimensione degli oggetti::
+* Lunghezza e spessore degli oggetti::
+@end menu
+
+@node Visibilità e colore degli oggetti
+@subsection Visibilità e colore degli oggetti
+@translationof Visibility and color of objects
+
+Potremmo voler creare una partitura priva di alcuni elementi a
+scopo didattico, perché lo studente possa esercitarsi
+a inserirli. Vediamo un semplice esempio e immaginiamo che
+l'esercizio consista nell'inserire le stanghette mancanti
+di un brano. Ma di norma le stanghette sono inserite
+automaticamente: come lo possiamo impedire?
+
+Prima di iniziare, occorre ricordare che le proprietà degli oggetti sono
+raggruppate nelle cosiddette @emph{interfacce} -- si veda @ref{Properties
+found in interfaces}. Queste servono semplicemente a raggruppare quelle
+proprietà che possono essere usate insieme per modificare un oggetto
+grafico -- se una di queste è ammessa per un oggetto, lo sono anche le
+altre. Alcuni oggetti usano le proprietà di alcune interfacce, altri
+quelle di altre interfacce. Le interfacce che contengono le proprietà
+usate da un particolare grob (oggetto grafico) sono elencate nella guida al
+Funzionamento interno in fondo alla pagina che descrive il grob; queste
+proprietà possono essere individuate consultando quelle interfacce.
+
+In @ref{Properties of layout objects} abbiamo spiegato come trovare le
+informazioni sui grob. Usando lo stesso approccio, andiamo nella guida
+al Funzionamento interno per trovare l'oggetto grafico relativo alla
+stanghetta (@emph{bar line}). Passando da @emph{Backend} e @emph{All layout objects}
+troviamo un oggetto grafico chiamato @code{BarLine}. Tra le sue proprietà ce ne sono
+due che controllano la visibilità: @code{break-visibility} e @code{stencil}. Anche
+Barline supporta varie interfacce, tra cui la @code{grob-interface},
+dove troviamo le proprietà @code{transparent} e @code{color}.
+Tutte queste proprietà hanno degli effetti sulla visibilità delle stanghette (e,
+ovviamente, anche di molti altri oggetti grafici). Vediamole una per
+volta.
+
+@subheading stencil
+
+@cindex proprietà stencil
+@cindex stencil, proprietà
+
+Questa proprietà controlla l'aspetto delle stanghette specificando il
+simbolo (glifo) da usare. Come nel caso di molte altre proprietà,
+si può far in modo che non usi nessun simbolo impostando il suo
+valore su @code{#f}. Proviamo, come prima, omettendo il contesto
+implicito, @code{Voice}:
+
+@cindex BarLine, esempio di sovrascrittura
+@cindex proprietà stencil, esempio
+@cindex stencil, esempio
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+ \time 12/16
+ \override BarLine #'stencil = ##f
+ c4 b8 c d16 c d8 |
+ g,8 a16 b8 c d4 e16 |
+ e8
+}
+@end lilypond
+
+Le stanghette sono ancora visibili. Cosa abbiamo sbagliato? Torna alla
+guida del Funzionamento interno e scorri di nuovo la pagina che elenca
+le proprietà di BarLine. In cima alla pagina dice @qq{Barline objects are
+created by: Bar_engraver}. Vai alla pagina @code{Bar_engraver}. In fondo
+si trova una lista dei contesti nel quale opera l'incisore della battuta.
+Tutti questi sono di tipo @code{Staff}, dunque la ragione per cui il comando
+@code{\override} precedente non funziona è che @code{Barline} non si trova
+nel contesto predefinito, @code{Voice}. Se il contesto indicato non è
+corretto, il comando non funziona. Non viene generato alcun messaggio
+di errore e non viene registrato niente nel file di log. Proviamo a
+correggerlo specificando il contesto giusto:
+
+@cindex BarLine, esempio di sovrascrittura
+@cindex proprietà stencil, esempio
+@cindex stencil, esempio
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+ \time 12/16
+ \override Staff.BarLine #'stencil = ##f
+ c4 b8 c d16 c d8 |
+ g,8 a16 b8 c d4 e16 |
+ e8
+}
+@end lilypond
+
+Ora le stanghette sono sparite.
+
+Si noti però che impostare la proprietà @code{stencil} su @code{#f}
+causerà degli errori nel caso in cui le dimensioni dell'oggetto
+siano necessarie per elaborarlo correttamente. Ad esempio, si creano
+degli errori se la proprietà @code{stencil} dell'oggetto @code{NoteHead} è
+impostata su @code{#f}. In questo caso è possibile usare invece la funzione
+@code{point-stencil}, che trasforma lo stencil in un oggetto a dimensione
+zero:
+
+@lilypond[quote,verbatim,relative=2]
+{
+ c4 c
+ \once \override NoteHead #'stencil = #point-stencil
+ c4 c
+}
+@end lilypond
+
+@subheading break-visibility
+
+@cindex proprietà break-visibility
+@cindex break-visibility, proprietà
+
+Nella pagina di @code{BarLine} della guida al Funzionamento interno
+vediamo che la proprietà @code{break-visibility} richiede un vettore di
+tre valori booleani.
+Questi valori controllano rispettivamente se le stanghette debbano
+comparire alla fine, in mezzo o all'inizio dei righi. Dato
+che nel nostro esempio vogliamo sopprimere tutte le stanghette, il valore
+che ci serve è @code{'#(#f #f #f)}. Proviamo, ricordando di includere
+il contesto @code{Staff}. Si noti che prima della parentesi di apertura
+abbiamo @code{#'#}. Il @code{'#} deve far parte del valore perché introduce
+un vettore, mentre il primo@tie{}@code{#} deve precedere, come sempre, il
+valore del comando @code{\override}.
+
+@cindex BarLine, esempio di sovrascrittura
+@cindex proprietà break-visibility, esempio
+@cindex break-visibility, esempio
+
+@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,8 a16 b8 c d4 e16 |
+ e8
+}
+@end lilypond
+
+E vediamo che anche questo comando elimina tutte le stanghette.
+
+@subheading transparent
+
+@cindex proprietà transparent
+@cindex transparent, proprietà
+@cindex trasparenza
+
+Nelle proprietà specificate nella pagina @code{grob-interface} della
+guida al Funzionamento interno vediamo che la proprietà @code{transparent} è
+un booleano. Quindi deve essere impostata su @code{#t} («true», 'vero') per
+rendere trasparente il grob. Nel prossimo esempio rendiamo trasparente
+il segno di tempo invece delle stanghette. Per farlo dobbiamo trovare
+il nome del grob del segno di tempo (in inglese @emph{time signature}).
+Torniamo alla pagina @q{All layout objects} per scoprire quali sono le
+proprietà dell'oggetto di formattazione @code{TimeSignature}. Tale grob
+è generato dall'incisore @code{Time_signature_engraver}, che opera
+nel contesto @code{Staff} e supporta l'interfaccia @code{grob-interface}.
+Quindi il comando che rende trasparente l'indicazione di tempo è:
+
+@cindex TimeSignature, esempio di sovrascrittura
+@cindex proprietà transparent, esempio
+@cindex transparent, esempio
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+ \time 12/16
+ \override Staff.TimeSignature #'transparent = ##t
+ c4 b8 c d16 c d8 |
+ g,8 a16 b8 c d4 e16 |
+ e8
+}
+@end lilypond
+
+@noindent
+L'indicazione di tempo è scomparsa; è rimasto però uno spazio al suo posto. Magari questo è quello che si
+desidera, ad esempio per creare un esercizio in cui uno studente deve
+riempire degli spazi vuoti. Ma in altre circostanze ciò può
+non essere gradito. Per eliminare lo spazio vuoto bisogna usare la proprietà stencil
+e impostarla su @code{#f}:
+
+@cindex TimeSignature, esempio di sovrascrittura
+@cindex proprietà stencil, esempio
+@cindex stencil, esempio
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+ \time 12/16
+ \override Staff.TimeSignature #'stencil = ##f
+ c4 b8 c d16 c d8 |
+ g,8 a16 b8 c d4 e16 |
+ e8
+}
+@end lilypond
+
+@noindent
+la differenza è ovvia: se si imposta lo stencil su @code{#f}
+l'oggetto scompare del tutto; se si rende l'oggetto @code{trasparente}
+questo resta dove è, anche se invisibile.
+
+@subheading color
+
+@cindex proprietà color
+@cindex color, proprietà
+
+Infine, proviamo a rendere le stanghette invisibili colorandole
+di bianco. (Si tratta di un metodo problematico perché la
+stanghetta bianca può imbiancare o meno le linee del rigo che
+incrocia. Puoi vedere in alcuni degli esempi successivi che questo
+accade in modo imprevedibile. I motivi per cui questo accade e il
+modo in cui è possibile controllarlo sono esposti in @ruser{Painting objects white}.
+Ma per il momento stiamo imparando la proprietà color, quindi accettiamo questa limitazione.)
+
+L'interfaccia @code{grob-interface} stabilisce che il valore della
+proprietà color è una lista, ma non spiega cosa debba essere questa
+lista. La lista di cui ha bisogno è in realtà una lista di valori
+in unità interne, ma per evitare di dover imparare quali siano queste
+unità vengono forniti vari modi di specificare un colore. Il primo
+modo consiste nell'usare uno dei colori @q{normali} elencati nella
+prima tabella in @ruser{List of colors}. Per rendere bianche le
+stanghette scriviamo:
+
+@cindex BarLine, esempio di sovrascrittura
+@cindex proprietà color
+@cindex color, proprietà
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+{
+ \time 12/16
+ \override Staff.BarLine #'color = #white
+ c4 b8 c d16 c d8 |
+ g,8 a16 b8 c d4 e16 |
+ e8
+}
+@end lilypond
+
+@noindent
+e di nuovo vediamo che le stanghette non sono visibili. Si noti
+che @emph{white} non è preceduto da un apostrofo, perché non
+è un simbolo, ma una @emph{funzione}. Quando viene chiamata, fornisce
+la lista di valori interni necessari per impostare il colore su
+bianco. Gli altri colori nella lista normale sono anch'essi
+funzioni. Per convincerti che funziona potresti provare a
+cambiare il colore e usare una delle altre funzioni presenti
+nella lista.
+
+@cindex color, X11
+@cindex colori X11
+@cindex X11, colori
+
+@funindex x11-color
+
+Il secondo modo per cambiare il colore è attraverso la lista
+di nomi di colori X11 che si trova in @ruser{List of colors}.
+Tuttavia questi colori devono essere preceduti da un'altra
+funzione che converte i nomi di colori X11 nella lista di
+valori interni, @code{x11-color}:
+
+@cindex BarLine, esempio di sovrascrittura
+@cindex proprietà color, esempio
+@cindex color, esempio
+
+@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,8 a16 b8 c d4 e16 |
+ e8
+}
+@end lilypond
+
+@noindent
+Si noti che in questo caso la funzione @code{x11-color} prende
+un simbolo come argomento, dunque il simbolo deve essere preceduto
+da un apostrofo e i due elementi devono essere racchiusi tra parentesi.
+
+@cindex colori rgb
+@cindex rgb, colori
+@cindex color, rgb
+
+@funindex rgb-color
+
+Esiste una terza funzione, che converte i valori RGB in colori
+interni, la funzione @code{rgb-color}. Prende tre argomenti
+che specificano l'intensità dei colori rosso, verde e blu.
+I valori vanno da 0 a 1. Quindi per avere il colore rosso
+il valore sarà @code{(rgb-color 1 0 0)}
+e per avere il bianco sarà @code{(rgb-color 1 1 1)}:
+
+@cindex BarLine, esempio di sovrascrittura
+@cindex proprietà color, esempio
+@cindex color, esempio
+
+@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,8 a16 b8 c d4 e16 |
+ e8
+}
+@end lilypond
+
+Infine, è disponibile anche una scala di grigi, appartenente all'insieme
+di colori X11. Questi vanno dal nero, @code{'grey0},
+al bianco, @code{'grey100}, con cadenza di 1. Ecco un
+esempio in cui tutti gli oggetti di formattazione sono
+impostati su diverse tonalità di grigio:
+
+@cindex StaffSymbol, esempio di sovrascrittura
+@cindex TimeSignature, esempio di sovrascrittura
+@cindex Clef, esempio di sovrascrittura
+@cindex NoteHead, esempio di sovrascrittura
+@cindex Stem, esempio di sovrascrittura
+@cindex BarLine, esempio di sovrascrittura
+@cindex proprietà color, esempio
+@cindex color, esempio
+@cindex x11-color, esempio di utilizzo
+
+@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,8 a16 b8 c d4 e16 |
+ e8
+}
+@end lilypond
+
+@noindent
+Nota i contesti associati a ciascuno degli oggetti di formattazione.
+È importante scegliere quelli giusti, altrimenti i comandi non
+funzioneranno! Ricorda, il contesto è quello in cui si trova il
+relativo incisore. Il contesto predefinito per gli incisori si trova
+partendo dall'oggetto di formattazione (@emph{layout object}) per poi
+andare all'incisore che lo produce: la pagina dell'incisore nella
+guida al Funzionamento interno riporterà a quale contesto
+appartenga di norma l'incisore.
+
+
+@node Dimensione degli oggetti
+@subsection Dimensione degli oggetti
+@translationof Size of objects
+
+@cindex modificare la dimensione degli oggetti
+@cindex dimensione degli oggetti
+@cindex oggetti, dimensione degli
+@cindex oggetti, modificare la dimensione degli
+
+Iniziamo rivedendo l'esempio precedente (vedi
+@ref{Nesting music expressions}) che mostrava come
+inserire un nuovo rigo temporaneo, come in un @rglos{ossia}.
+
+@cindex proprietà alignAboveContext, esempio
+@cindex @code{\with}, esempio
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\new Staff ="main" {
+ \relative g' {
+ r4 g8 g c4 c8 d |
+ e4 r8
+ <<
+ { f8 c c }
+ \new Staff \with {
+ alignAboveContext = #"main" }
+ { f8 f c }
+ >>
+ r4 |
+ }
+}
+@end lilypond
+
+Gli ossia di norma vengono scritti senza chiave e senza indicazione di
+tempo e hanno solitamente una dimensione leggermente inferiore a
+quella del rigo pricipale. Sappiamo già come togliere la chiave e
+il segno di tempo, cioè impostando semplicemente la proprietà stencil di
+ciascun oggetto su @code{#f}, così:
+
+@cindex proprietà alignAboveContext, esempio
+@cindex @code{\with}, esempio
+@cindex proprietà stencil, esempio
+@cindex Clef, esempio di sovrascrittura
+@cindex TimeSignature, esempio di sovrascrittura
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\new Staff ="main" {
+ \relative g' {
+ r4 g8 g c4 c8 d |
+ e4 r8
+ <<
+ { f8 c c }
+ \new Staff \with {
+ alignAboveContext = #"main"
+ }
+ {
+ \override Staff.Clef #'stencil = ##f
+ \override Staff.TimeSignature #'stencil = ##f
+ { f8 f c }
+ }
+ >>
+ r4 |
+ }
+}
+@end lilypond
+
+@noindent
+dove l'ulteriore coppia di parentesi dopo il blocco @code{\with} è
+necessaria perché le sovrascritture e la musica racchiusi
+siano applicati al rigo dell'ossia.
+
+Ma qual è la differenza tra modificare il contesto del rigo con
+@code{\with} e modificare la proprietà stencil della chiave e
+del segno di tempo con \override? La principale differenza è
+che le modifiche inserite in un blocco @code{\with} vengono applicate
+nel momento in cui viene creato il contesto e permangono come valori
+@strong{predefiniti} per la durata di quel contesto, mentre i
+comandi @code{\set} o @code{\override} incorporati nel blocco
+della musica sono dinamici -- le loro modifiche sono sincronizzate
+con un punto preciso della musica. Se le modifiche sono disattivate o
+ripristinate con @code{\unset} o @code{\revert} tornano ai valori
+stabiliti nel blocco @code{\with} o, in mancanza di impostazioni
+al suo interno, a quelli predefiniti.
+
+Alcune proprietà di contesto possono essere modificate solo nei blocchi
+@code{\with}. Si tratta di quelle proprietà che non si possono
+modificare in seguito alla creazione del contesto. @code{alignAboveContext} e
+@code{alignBelowContext} sono due di esse: dopo la creazione
+del rigo il suo allineamento è fissato, e non ha
+senso tentare di cambiarlo successivamente.
+
+I valori predefiniti delle proprietà degli oggetti di formattazione possono
+essere definiti anche nei blocchi @code{\with}. Basta usare il normale comando
+@code{\override} senza specificare il nome del contesto, dato che questo è
+definito senza ambiguità come il contesto che il blocco @code{\with} sta
+modificando. Anzi, viene generato un errore se si specifica un contesto
+in questa situazione.
+
+Dunque possiamo sostituire l'esempio precedente con
+
+@cindex alignAboveContext property, esempio
+@cindex @code{\with}, esempio
+@cindex Clef, esempio di sovrascrittura
+@cindex TimeSignature, esempio di sovrascrittura
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\new Staff ="main" {
+ \relative g' {
+ r4 g8 g c4 c8 d |
+ e4 r8
+ <<
+ { f8 c c }
+ \new Staff \with {
+ alignAboveContext = #"main"
+ % Nasconde le chiavi di questo rigo
+ \override Clef #'stencil = ##f
+ % Nasconde le indicazioni di tempo di questo rigo
+ \override TimeSignature #'stencil = ##f
+ }
+ { f8 f c }
+ >>
+ r4 |
+ }
+}
+@end lilypond
+
+Infine arriviamo a modificare la dimensione degli oggetti di formattazione.
+
+Alcuni oggetti di formattazione sono dei glifi scelti da un tipo di
+carattere. Ad esempio le teste di nota, le alterazioni, le annotazioni,
+le chiavi, le indicazioni di tempo, la dinamica, il testo vocale. La loro dimensione
+varia se si modifica la proprietà @code{font-size}, come vedremo a
+breve. Altri oggetti di formattazione come le legature di portamento e
+di valore -- in generale, tutti gli oggetti estensori (@emph{spanner}) -- vengono
+disegnati individualmente, dunque non esiste un @code{font-size} a loro
+associato. Questi oggetti generalmente derivano la loro dimensione dagli
+oggetti a cui sono connessi, quindi di solito non è necessario modificare
+la loro dimensione a mano. Altre proprietà, come la lunghezza dei gambi
+e delle stanghette, lo spessore delle travature e di altre linee e la
+separazione delle linee del rigo, devono essere modificate in modi speciali.
+
+Tornando all'esempio dell'ossia, proviamo prima a cambiare font-size.
+Possiamo farlo in due modi. Possiamo modificare la dimensione dei
+tipi di carattere di ogni tipo di oggetto, come le teste di nota
+(@code{NoteHead}) con un comando di questo tipo
+
+@example
+\override NoteHead #'font-size = #-2
+@end example
+
+oppure possiamo modificare la dimensione di tutti i tipi di carattere usando
+una proprietà speciale, @code{fontSize}, con @code{\set} oppure includendola
+in un blocco @code{\with} (ma senza @code{\set}).
+
+@example
+\set fontSize = #-2
+@end example
+
+Entrambe queste dichiarazioni fanno sì che la dimensione del tipo di carattere
+sia ridotta di due unità rispetto al valore precedente, dove ogni unità
+riduce o aumenta la dimensione di circa il 12%.
+
+Proviamolo nel nostro esempio dell'ossia:
+
+@cindex alignAboveContext property, esempio
+@cindex @code{\with}, esempio
+@cindex Clef, esempio di sovrascrittura
+@cindex TimeSignature, esempio di sovrascrittura
+@cindex proprietà fontSize, esempio
+@cindex fontSize, esempio
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\new Staff ="main" {
+ \relative g' {
+ r4 g8 g c4 c8 d |
+ e4 r8
+ <<
+ { f8 c c }
+ \new Staff \with {
+ alignAboveContext = #"main"
+ \override Clef #'stencil = ##f
+ \override TimeSignature #'stencil = ##f
+ % Riduce la dimensione di tutti i tipi di carattere di circa il 24%
+ fontSize = #-2
+ }
+ { f8 f c }
+ >>
+ r4 |
+ }
+}
+@end lilypond
+
+L'esempio non è ancora a posto. Le teste di nota e le code sono
+più piccole, ma in proporzione i gambi sono troppo lunghi e le linee
+del rigo sono troppo separate. Dovrebbero essere scalati in proporzione
+alla riduzione del tipo di carattere. La prossima sezione spiega come
+farlo.
+
+@node Lunghezza e spessore degli oggetti
+@subsection Lunghezza e spessore degli oggetti
+@translationof Length and thickness of objects
+
+@cindex distanze
+@cindex thickness, proprietà
+@cindex spessore
+@cindex lunghezza
+@cindex magstep
+@cindex dimensione, modificare la
+@cindex lunghezza del gambo, modificare la
+@cindex spaziatura delle linee del rigo, modificare la
+
+Distanze e lunghezze in LilyPond sono misurate generalmente in @code{staff-space},
+ovvero la distanza tra linee adiacenti del rigo (o talvolta la metà di uno
+spazio rigo), mentre gran parte delle proprietà che controllano lo spessore
+(@code{thickness}) sono misurate con l'unità di misura di una proprietà
+interna chiamata @code{line-thickness.} Ad esempio, lo spessore predefinito
+delle linee delle forcine è di 1 unità di @code{line-thickness},
+mentre lo spessore (@code{thickness}) di un gambo di nota è 1.3. Si noti
+che alcune proprietà dello spessore sono diverse; per esempio, lo spessore
+delle travature è controllato dal valore della proprietà @code{beam-thickness},
+che si misura in @code{staff-space}.
+
+Dunque come si possono scalare le lunghezze in proporzione alla
+dimensione del carattere?
+È possibile ricorrendo a una funzione speciale chiamata
+@code{magstep}, che serve proprio a questo scopo. Prende un
+argomento, la modifica della dimensione del tipo di carattere (#-2
+nell'esempio precedente) e restituisce un fattore di ridimensionamento
+adatto a ridurre gli altri oggetti proporzionalmente. Si usa in
+questo modo:
+
+@cindex proprietà alignAboveContext, esempio
+@cindex alignAboveContext, esempio
+@cindex @code{\with}, esempio
+@cindex Clef, esempio di sovrascrittura
+@cindex TimeSignature, esempio di sovrascrittura
+@cindex proprietà fontSize, esempio
+@cindex fontSize, esempio
+@cindex StaffSymbol, esempio di sovrascrittura
+@cindex funzione magstep, esempio di uso
+@cindex magstep, esempio di uso
+@cindex proprietà staff-space, esempio
+@cindex staff-space, esempio
+@cindex proprietà stencil, esempio
+@cindex stencil, esempio
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\new Staff ="main" {
+ \relative g' {
+ r4 g8 g c4 c8 d |
+ e4 r8
+ <<
+ { f8 c c }
+ \new Staff \with {
+ alignAboveContext = #"main"
+ \override Clef #'stencil = ##f
+ \override TimeSignature #'stencil = ##f
+ fontSize = #-2
+ % Riduce proporzionalmente la lunghezza dei gambi e la spaziatura tra le linee
+ \override StaffSymbol #'staff-space = #(magstep -2)
+ }
+ { f8 f c }
+ >>
+ r4 |
+ }
+}
+@end lilypond
+
+@noindent
+Dato che la lunghezza dei gambi e molte altre proprietà relative alla
+lunghezza sono sempre calcolate in relazione al valore della proprietà
+@code{staff-space}, anche queste sono automaticamente ridimensionate
+in lunghezza. Nota che ciò riguarda solo la scala verticale
+dell'ossia -- la scala orizzontale è determinata dalla formattazione
+della musica principale perché deve restare sincronizzata con quest'ultima,
+quindi le modifiche di dimensione non la riguardano. Ovviamente, se
+la scala di tutta la musica principale venisse cambiata allora la
+spaziatura orizzontale cambierebbe. Tratteremo questo argomento più
+avanti, nella parte relativa alla formattazione.
+
+Questo completa la creazione dell'ossia. Le dimensioni e le lunghezze
+di tutti gli altri oggetti possono essere modificati in modi analoghi.
+
+Per piccole modifiche della dimensione, come nell'esempio precedente, non
+sono necessari solitamente degli aggiustamenti globali dello spessore delle
+varie linee disegnate (come stanghette, travature, forcine, legature di
+portamento, etc.). Se si deve aggiustare lo spessore di un
+particolare oggetto di formattazione, è meglio sovrascrivere la sua
+proprietà @code{thickness}. Un esempio di come modificare lo spessore
+delle legature di portamento è stato mostrato prima in @ref{Properties of layout objects}.
+Lo spessore di tutti gli oggetti disegnati (ovvero quelli non prodotti
+da un tipo di carattere) può essere cambiato nello stesso modo.
+
+
+@node Posizionamento degli oggetti
+@section Posizionamento degli oggetti
+@translationof Placement of objects
+
+@menu
+* Comportamento automatico::
+* Oggetti interni al rigo::
+* Oggetti esterni al rigo::
+@end menu
+
+
+@node Comportamento automatico
+@subsection Comportamento automatico
+@translationof Automatic behavior
+
+@cindex within-staff, oggetti
+@cindex outside-staff, oggetti
+@cindex oggetti dentro il rigo
+@cindex oggetti fuori dal rigo
+
+Nella notazione musicale, alcuni oggetti appartengono al rigo, altri
+devono esserne posizionati al di fuori. In LilyPond si chiamano rispettivamente oggetti within-staff
+(dentro il rigo) e oggetti outside-staff (fuori dal rigo).
+
+Gli oggetti within-staff sono quelli che si trovano nel rigo, come
+le teste e i gambi delle note, le alterazioni, etc.. La loro posizione
+è determinata perlopiù dalla musica stessa: in verticale sono collocati
+su determinate posizioni del rigo o sono collegati
+ad altri oggetti disposti in questo modo. Di norma LilyPond evita
+automaticamente le collisioni tra teste di nota, gambi e alterazioni
+in accordi con note ravvicinate. Esistono comunque dei comandi che
+permettono di modificare questo comportamento automatico, come
+vedremo tra poco.
+
+Gli oggetti che appartengono allo spazio fuori dal rigo comprendono
+gli andamenti, i numeri di chiamata, il testo vocale, le indicazioni dinamiche. Il comportamento di
+LilyPond per il posizionamento verticale degli oggetti outside-staff
+prevede che questi vengano collocati il più vicino possibile al rigo, mantenendo
+però una distanza sufficiente da evitare collisioni con gli altri oggetti. LilyPond
+usa la proprietà @code{outside-staff-priority} per determinare in quale ordine
+gli oggetti siano posizionati.
+
+Per prima cosa LilyPond posiziona tutti gli oggetti within-staff.
+Poi ordina gli oggetti outside-staff in base alla loro proprietà
+@code{outside-staff-priority}. Gli oggetti outside-staff vengono
+considerati uno a uno, a partire dall'oggetto che ha il valore più basso
+di priorità (@code{outside-staff-priority}), e disposti in modo
+da non entrare in collisione con alcun oggetto già posizionato.
+Questo significa che se due oggetti outside-staff si contendono lo
+stesso spazio, quello col valore più basso di @code{outside-staff-priority}
+sarà più vicino al rigo. Se due oggetti presentano lo stesso valore per
+@code{outside-staff-priority}, quello incontrato per primo viene posizionato
+più vicino al rigo.
+
+Nell'esempio seguente tutti i testi hanno la stessa priorità (perché
+questa non è impostata in modo esplicito). Come puoi vedere, @q{Testo3}
+è di nuovo posto automaticamente in prossimità del rigo, infilato
+sotto @q{Testo2}.
+
+@cindex markup, esempio
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+c2^"Testo1"
+c2^"Testo2" |
+c2^"Testo3"
+c2^"Testo4" |
+@end lilypond
+
+Di norma, anche i righi sono collocati quanto più possibile ravvicinati
+(ma con una distanza minima). Se delle note si estenderanno molto
+al di fuori del rigo, fino a quello adiacente, costringeranno i righi a distanziarsi
+solo in caso di sovrapposizione degli elementi della notazione. L'esempio
+seguente mostra questo @q{annidamento} delle note su righi adiacenti:
+
+@lilypond[quote,ragged-right,verbatim]
+<<
+ \new Staff {
+ \relative c' { c4 a, }
+ }
+ \new Staff {
+ \relative c'''' { c4 a, }
+ }
+>>
+@end lilypond
+
+
+@node Oggetti interni al rigo
+@subsection Oggetti interni al rigo
+@translationof Within-staff objects
+
+Abbiamo già visto come i comandi @code{\voiceXXX} influenzino
+la direzione di legature di portamento e di valore, delle diteggiature e
+di qualsiasi altro elemento che dipenda dalla direzione dei gambi (vedi
+@ref{Explicitly instantiating voices}).
+Questi comandi sono fondamentali quando si scrive musica polifonica,
+perché permettono di distinguere le linee melodiche che si intrecciano.
+Talvolta, però, capita di voler modificare questo comportamento
+automatico. Si può fare per intere sezioni musicali o anche per
+una singola nota. La proprietà che controlla questo comportamento
+è la proprietà @code{direction} di ogni oggetto di formattazione.
+Spieghiamo prima che cosa fa e poi presentiamo alcuni comandi
+già pronti, che ti eviteranno di dover scrivere sovrascritture
+esplicite per le modifiche più comuni.
+
+Alcuni oggetti di formattazione, come le legature di portamento e di
+valore, si incurvano, si piegano o puntano verso l'alto o il basso; altri,
+come i gambi e le code, a seconda dell'orientamento si dispongono anche sulla
+destra o sulla sinistra. Tutto questo viene controllato automaticamente
+quando si imposta la proprietà @code{direction}.
+
+@cindex down
+@cindex up
+@cindex center
+@cindex neutral
+
+L'esempio seguente mostra nella prima battuta il comportamento predefinito
+dei gambi, per cui i gambi delle note superiori puntano in basso e quelli delle
+note inferiori in alto; poi seguono quattro note con tutti i gambi
+forzati verso il basso, quattro con i gambi forzati verso l'alto e, infine, quattro
+con i gambi nuovamente disposti secondo il comportamento predefinito.
+
+@cindex Stem, esempio di sovrascrittura
+@cindex proprietà direction, esempio
+@cindex direction, esempio
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+a4 g c a |
+\override Stem #'direction = #DOWN
+a4 g c a |
+\override Stem #'direction = #UP
+a4 g c a |
+\revert Stem #'direction
+a4 g c a |
+@end lilypond
+
+Abbiamo usato le costanti @code{DOWN} (giù) e @code{UP} (su).
+Queste hanno rispettivamente i valori @w{@code{-1}} e @code{+1}, ed
+è possibile usare tali valori numerici al loro posto. In alcuni casi
+si può usare anche il valore @code{0}, che significa @code{UP} per i
+gambi, ma per alcuni oggetti significa @q{center} (centro).
+Esiste una costante, @code{CENTER} che ha valore @code{0}.
+
+Tuttavia queste sovrascritture esplicite solitamente non vengono usate, perché
+ci sono dei comandi predefiniti equivalenti e più semplici. Ecco una tabella
+con quelli più utilizzati; il significato di ognuno è esplicitato laddove
+non è ovvio.
+
+@multitable @columnfractions .2 .2 .25 .35
+@headitem Giù/Sinistra
+ @tab Su/Destra
+ @tab Ripristina
+ @tab Effetto
+@item @code{\arpeggioArrowDown}
+ @tab @code{\arpeggioArrowUp}
+ @tab @code{\arpeggioNormal}
+ @tab Aggiunge una freccia in fondo, in cima o toglie la freccia
+@item @code{\dotsDown}
+ @tab @code{\dotsUp}
+ @tab @code{\dotsNeutral}
+ @tab Direzione dello spostamento per evitare le linee del rigo
+@item @code{\dynamicDown}
+ @tab @code{\dynamicUp}
+ @tab @code{\dynamicNeutral}
+ @tab
+@item @code{\phrasingSlurDown}
+ @tab @code{\phrasingSlurUp}
+ @tab @code{\phrasingSlurNeutral}
+ @tab Nota: è diverso dai comandi slur
+@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 Il testo inserito come oggetto estensore (spanner) va sotto/sopra il rigo
+@item @code{\tieDown}
+ @tab @code{\tieUp}
+ @tab @code{\tieNeutral}
+ @tab
+@item @code{\tupletDown}
+ @tab @code{\tupletUp}
+ @tab @code{\tupletNeutral}
+ @tab I gruppi irregolare sono sotto/sopra le note
+@end multitable
+
+Si noti che questi comandi predefiniti @strong{non} possono essere
+preceduti da @code{\once}. Se desideri limitare l'effetto a una
+singola nota, devi usare il comando @code{\once \override} equivalente
+oppure il comando predefinito seguito, dopo la nota in questione, dal
+corrispondente comando @code{\xxxNeutral}.
+
+@unnumberedsubsubsec Diteggiatura
+
+@cindex diteggiatura, posizionamento
+@cindex diteggiatura, accordi
+
+Anche il posizionamento della diteggiatura sulle singole note può essere
+controllato dalla proprietà @code{direction}, ma la modifica di @code{direction}
+non produce effetti sugli accordi. Come vedremo, ci sono comandi specifici
+che permettono di controllare la diteggiatura delle singole note degli
+accordi, col segno di diteggiatura posizionato sopra, sotto, a sinistra
+o a destra di ogni nota.
+
+Vediamo innanzitutto l'effetto di @code{direction} sulla diteggiatura
+attaccata alle singole note. La prima battuta mostra il comportamento
+predefinito e le due battute successive mostrano gli effetti dei valori
+@code{DOWN} e @code{UP}:
+
+@cindex Fingering, esempio di sovrascrittura
+@cindex proprietà direction, esempio
+@cindex direction, esempio
+
+@lilypond[quote,verbatim,relative=2]
+c4-5 a-3 f-1 c'-5 |
+\override Fingering #'direction = #DOWN
+c4-5 a-3 f-1 c'-5 |
+\override Fingering #'direction = #UP
+c4-5 a-3 f-1 c'-5 |
+@end lilypond
+
+Tuttavia sovrascrivere la proprietà @code{direction} non è il modo
+più semplice di definire a mano la diteggiatura sopra o sotto
+le note; di solito è preferibile usare @code{_} o @code{^} invece di @code{-}
+prima del numero della diteggiatura. Ecco l'esempio precedente riscritto
+usando questo metodo:
+
+@cindex fingering, esempio
+
+@lilypond[quote,verbatim,relative=2]
+c4-5 a-3 f-1 c'-5 |
+c4_5 a_3 f_1 c'_5 |
+c4^5 a^3 f^1 c'^5 |
+@end lilypond
+
+La proprietà @code{direction} viene ignorata negli accordi, ma i
+prefissi direzionali, @code{_} e @code{^} funzionano. Per impostazione
+predefinita, la diteggiatura viene disposta automaticamente sopra e
+sotto le note di un accordo:
+
+@cindex fingering, esempio
+
+@lilypond[quote,verbatim,relative=2]
+<c-5 g-3>4
+<c-5 g-3 e-2>4
+<c-5 g-3 e-2 c-1>4
+@end lilypond
+
+@noindent
+ma può essere sovrascritta per forzare manualmente in su o in giù tutti o
+alcuni dei singoli numeri della diteggiatura:
+
+@cindex fingering, esempio
+
+@lilypond[quote,verbatim,relative=2]
+<c-5 g-3 e-2 c-1>4
+<c^5 g_3 e_2 c_1>4
+<c^5 g^3 e^2 c_1>4
+@end lilypond
+
+È possibile avere un controllo ancora maggiore sulla disposizione della
+diteggiatura delle singole note di un accordo usando il comando
+@code{\set fingeringOrientations}. Il formato di questo comando è:
+
+@example
+@code{\set fingeringOrientations = #'([up] [left/right] [down])}
+@end example
+
+@noindent
+Si usa @code{\set} perché @code{fingeringOrientations} è una
+proprietà del contesto @code{Voice}, creato e usato dall'incisore
+@code{New_fingering_engraver}.
+
+Questa proprietà accetta come valori una lista comprendente da uno a tre elementi.
+Stabilisce se la diteggiatura debba essere posizionata sopra (se nella
+lista c'è @code{up}), sotto (se c'è @code{down}), a sinistra (se c'è
+@code{left}) o a destra (se c'è @code{right}). Nel caso vengano inseriti valori
+non accettati dalla lista, non sarà invece collocata alcuna diteggiatura. LilyPond
+prende in considerazione questi limiti e trova la migliore disposizione per
+la diteggiatura delle note degli accordi che seguono. Nota che @code{left} e
+@code{right} si escludono a vicenda -- la diteggiatura può essere posta
+solo da un lato o dall'altro, non da entrambi.
+
+@warning{Per controllare la posizione della diteggiatura di una
+singola nota con questo comando bisogna scrivere la nota come un accordo
+con una nota sola, ovvero racchiuderla tra parentesi angolari.}
+
+Ecco alcuni esempi:
+
+@cindex fingering, esempio
+@cindex @code{\set}, esempio di utilizzo
+@cindex proprietà fingeringOrientations, esempio
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+\set fingeringOrientations = #'(left)
+<f-2>4
+<c-1 e-2 g-3 b-5>4
+\set fingeringOrientations = #'(left)
+<f-2>4
+<c-1 e-2 g-3 b-5>4 |
+\set fingeringOrientations = #'(up left down)
+<f-2>4
+<c-1 e-2 g-3 b-5>4
+\set fingeringOrientations = #'(up left)
+<f-2>4
+<c-1 e-2 g-3 b-5>4 |
+\set fingeringOrientations = #'(right)
+<f-2>4
+<c-1 e-2 g-3 b-5>4
+@end lilypond
+
+@noindent
+Se la diteggiatura appare eccessivamente fitta, si può ridurre la dimensione del
+tipo di carattere modificando la proprietà @code{font-size}. Si può vedere
+nell'oggetto @code{Fingering} della guida al Funzionamento interno che il
+valore predefinito di tale proprietà è @w{@code{-5}}, dunque proviamo
+con @w{@code{-7}}:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+\override Fingering #'font-size = #-7
+\set fingeringOrientations = #'(left)
+<f-2>4
+<c-1 e-2 g-3 b-5>4
+\set fingeringOrientations = #'(left)
+<f-2>4
+<c-1 e-2 g-3 b-5>4 |
+\set fingeringOrientations = #'(up left down)
+<f-2>4
+<c-1 e-2 g-3 b-5>4
+\set fingeringOrientations = #'(up left)
+<f-2>4
+<c-1 e-2 g-3 b-5>4 |
+\set fingeringOrientations = #'(right)
+<f-2>4
+<c-1 e-2 g-3 b-5>4
+@end lilypond
+
+@node Oggetti esterni al rigo
+@subsection Oggetti esterni al rigo
+@translationof Outside-staff objects
+
+Gli oggetti esterni al rigo sono disposti automaticamente in modo da evitare
+collisioni. Gli oggetti dai valori più bassi per la proprietà
+@code{outside-staff-priority} vengono posizionati più vicino al rigo,
+mentre gli altri oggetti esterni al rigo vengono distanziati quanto
+basta per evitare collisioni. La proprietà @code{outside-staff-priority} è
+definita nell'interfaccia @code{grob-interface} ed è quindi una proprietà di
+tutti gli oggetti di formattazione. Il valore predefinito è @code{#f} per
+tutti gli oggetti interni al rigo e un valore numerico appropriato, determinato
+al momento della creazione dell'oggetto, per ogni oggetto esterno al rigo. La
+seguente tabella mostra i valori numerici predefiniti di alcuni dei più comuni
+oggetti esterni al rigo.
+
+@cindex estensori (spanner)
+@cindex spanner
+
+Si notino i nomi insoliti di alcuni oggetti: gli oggetti estensori (spanner)
+sono creati automaticamente per controllare la disposizione verticale dei
+grob che (potrebbero) iniziare e finire in diversi momenti musicali, quindi
+la modifica della proprietà @code{outside-staff-priority} del grob sottostante
+non produrrebbe alcun effetto. Ad esempio, la modifica di
+@code{outside-staff-priority} dell'oggetto @code{Hairpin} non avrà alcun
+effetto sulla disposizione verticale delle forcelle. Occorre invece modificare
+la proprietà @code{outside-staff-priority} dell'oggetto associato
+@code{DynamicLineSpanner}. Questa sovrascrittura deve essere posta
+all'inizio dell'estensore, che potrebbe includere più forcelle e indicazioni dinamiche
+tra loro collegate.
+
+@multitable @columnfractions .3 .3 .3
+@headitem Oggetto di formattazione
+ @tab Priorità
+ @tab Controlla la posizione di:
+@item @code{RehearsalMark}
+ @tab @code{1500}
+ @tab Numeri di chiamata (e oggetti di testo analoghi)
+@item @code{MetronomeMark}
+ @tab @code{1000}
+ @tab Indicazioni metronomiche
+@item @code{VoltaBracketSpanner}
+ @tab @code{600}
+ @tab Delimitatori dei finali alternativi delle ripetizioni
+@item @code{TextScript}
+ @tab @code{450}
+ @tab Oggetti di testo
+@item @code{MultiMeasureRestText}
+ @tab @code{450}
+ @tab Testi sopra pause di più misure
+@item @code{OttavaBracket}
+ @tab @code{400}
+ @tab Estensioni del segno d'ottava
+@item @code{TextSpanner}
+ @tab @code{350}
+ @tab Estensori del testo
+@item @code{DynamicLineSpanner}
+ @tab @code{250}
+ @tab Tutte le indicazioni dinamiche
+@item @code{BarNumber}
+ @tab @code{ 100}
+ @tab Numeri di battuta
+@item @code{TrillSpanner}
+ @tab @code{50}
+ @tab Linee ondulate del trillo
+@end multitable
+
+Ecco un esempio che mostra il posizionamento predefinito di alcuni di
+questi oggetti.
+
+@cindex estensore del testo
+@cindex segno del cambio d'ottava
+
+@funindex \startTextSpan
+@funindex startTextSpan
+@funindex \stopTextSpan
+@funindex stopTextSpan
+
+@cindex TextSpanner, esempio di sovrascrittura
+@cindex proprietà bound-details, esempio
+@cindex bound-details, esempio
+
+@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'4 \startTextSpan
+% Add Dynamic Text and hairpin
+c4\pp\<
+c4
+% Add Text Script
+c4^Text |
+c4 c
+% Add Dynamic Text and terminate hairpin
+c4\ff c \stopTextSpan |
+% Stop Ottava Bracket
+\ottava #0
+c,4 c c c |
+@end lilypond
+
+Questo esempio mostra anche come creare gli estensori (spanner) del testo,
+ovvero testo con delle linee che si estendono sopra una sezione musicale.
+L'estensore si allunga dal comando @code{\startTextSpan} fino al comando
+@code{\stopTextSpan} e il formato del testo è definito dal comando
+@code{\override TextSpanner}. Per maggiori dettagli si veda @ruser{Text spanners}.
+
+Mostra anche come si creano le estensioni del segno d'ottava.
+
+@cindex modificare il posizionamento del numero di battuta
+@cindex numeri di battuta, modificare il posizionamento
+@cindex modificare il posizionamento dell'indicazione metronomica
+@cindex indicazione metronomica, modificare il posizionamento
+@cindex modificare il posizionamento dei numeri di chiamata
+@cindex numeri di chiamata, modificare il posizionamento
+
+Se i valori predefiniti di @code{outside-staff-priority} non producono
+il posizionamento desiderato, è possibile sovrascrivere la priorità di
+qualsiasi oggetto. Immaginiamo di voler posizionare l'estensione del segno d'ottava
+sotto l'estensore del testo nell'esempio precedente. Basta controllare la
+priorità dell'oggetto @code{OttavaBracket} nella guida al Funzionamento interno
+o nelle tabelle precedenti e ridurla a un valore inferiore di quello di un
+oggetto @code{TextSpanner}, ricordando che @code{OttavaBracket} è creato
+nel contesto @code{Staff}:
+
+@cindex TextSpanner, esempio di sovrascrittura
+@cindex proprietà bound-details, esempio
+@cindex bound-details, esempio
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
+% Imposta i dettagli per l'estensione del testo vocale seguente
+\override TextSpanner #'(bound-details left text)
+ = \markup { \small \bold Slower }
+% Posiziona le indicazione dinamiche sopra il rigo
+\dynamicUp
+% Posiziona l'estensione del segno d'ottava sotto il testo vocale
+\once \override Staff.OttavaBracket #'outside-staff-priority = #340
+% Inizia l'estensione del segno d'ottava
+\ottava #1
+c'4 \startTextSpan
+% Aggiunge l'indicazione dinamica
+c4\pp
+% Aggiunge la forcella della dinamica
+c4\<
+% Aggiunge l'oggetto di testo
+c4^Text |
+c4 c
+% Aggiunge l'indicazione dinamica
+c4\ff c \stopTextSpan |
+% Termina l'estensione de segno d'ottava
+\ottava #0
+c,4 c c c |
+@end lilypond
+
+Si noti che alcuni di questi oggetti, in particolare i numeri di
+battuta, i segni di metronomo e i numeri di chiamata, si trovano nel
+contesto @code{Score}; dunque, assicurati di richiamare il contesto
+giusto per sovrascriverli.
+
+@cindex legature di portamento e outside-staff-priority
+@cindex legature di portamento e articolazioni
+@cindex articolazioni e legature di portamento
+
+Le legature di portamento sono classificate come oggetti interni al rigo, anche
+se spesso sono poste sopra il rigo, se le note alle quali sono collegate si
+trovano nella aprte superiore del pentagramma. Questo può far sì che gli oggetti esterni al rigo,
+come le articolazioni, siano spinti troppo in alto, dato che la legatura viene
+posizionata prima. La proprietà @code{avoid-slur} dell'articolazione
+può essere impostata su @code{'inside} per portare l'articolazione
+dentro la legatura, ma la proprietà @code{avoid-slur} funziona solo se anche
+@code{outside-staff-priority} è impostata su @code{#f}.
+Altrimenti, si può impostare la proprietà @code{outside-staff-priority} della
+legatura di portamento su un valore numerico, in modo che sia posizionata
+insieme ad altri oggetti esterni al rigo in base a quel valore. Ecco un
+esempio che mostra l'effetto dei due metodi:
+
+@lilypond[quote,verbatim,relative=2]
+c4( c^\markup { \tiny \sharp } d4.) c8 |
+c4(
+\once \override TextScript #'avoid-slur = #'inside
+\once \override TextScript #'outside-staff-priority = ##f
+c4^\markup { \tiny \sharp } d4.) c8 |
+\once \override Slur #'outside-staff-priority = #500
+c4( c^\markup { \tiny \sharp } d4.) c8 |
+@end lilypond
+
+Attraverso la proprietà @code{outside-staff-priority} si può
+regolare anche la disposizone verticale di singoli oggetti;
+i risultati potrebbero tuttavia risultare non sempre ottimali. Supponiamo
+di voler posizionare @qq{Testo3} sopra @qq{Testo4} nell'esempio
+precedente (si veda @ref{Automatic behavior}).
+Basta andare a cercare la priorità di @code{TextScript} nella
+guida al Funzionamento interno o nelle tabelle precedenti e
+aumentare la priorità di @qq{Testo3} assegnando un valore più alto:
+
+@cindex TextScript, esempio di sovrascrittura
+@cindex proprietà outside-staff-priority, esempio
+@cindex outside-staff-priority, esempio
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+c2^"Testo1"
+c2^"Testo2" |
+\once \override TextScript #'outside-staff-priority = #500
+c2^"Testo3"
+c2^"Testo4" |
+@end lilypond
+
+Questo ovviamente pone @qq{Testo3} sopra @qq{Testo4}, ma anche
+sopra @qq{Testo2}, mentre @qq{Testo4} si sposta più in basso. Forse questo
+risultato non ci soddisfa: vorremmo piuttosto collocare
+tutti i testi alla stessa distanza dal rigo. Per riuscirci,
+naturalmente, dobbiamo creare più spazio orizzontale tra le note per
+far posto al testo. Lo si può ottenere con il comando
+@code{textLengthOn}.
+
+@subheading \textLengthOn
+
+@cindex note, distanziarle insieme al testo
+
+@funindex \textLengthOn
+@funindex textLengthOn
+@funindex \textLengthOff
+@funindex textLengthOff
+
+Per impostazione predefinita, finché si tratta di formattare la musica il
+testo prodotto dal comando \markup non occupa uno spazio orizzontale.
+Il comando @code{\textLengthOn} inverte questo comportamento e fa sì che
+le note si distanzino quanto basti per introdurre il testo:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\textLengthOn % Fa sì che le note si distanzino per introdurre il testo
+c2^"Text1"
+c2^"Text2" |
+c2^"Text3"
+c2^"Text4" |
+@end lilypond
+
+Il comando che ripristina il comportamento predefinito è
+@code{\textLengthOff}. Ricorda che @code{\once} funziona solo insieme
+a @code{\override}, @code{\set}, @code{\revert} o @code{\unset},
+dunque non si può usare con @code{\textLengthOn}.
+
+@cindex testo a margine, permettere le collisioni
+
+Per parte sua, anche il testo a margine eviterà le note che si estendono sopra il
+rigo. Se lo si vuole evitare, la disposizione automatica in alto può
+essere disattivata impostando la priorità su @code{#f}. Ecco un esempio
+che mostra come il testo a margine interagisce con tali note.
+
+@cindex TextScript, esempio di sovrascrittura
+@cindex proprietà outside-staff-priority, esempio
+@cindex outside-staff-priority, esempio
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+% Questo testo è abbastanza corto per starci senza creare collisioni
+c2^"Tes" c'' |
+R1 |
+
+% Questo è troppo lungo per starci, quindi è spostato più in alto
+c,,2^"Testo" c'' |
+R1 |
+
+% Disattiva l'elusione delle collisioni
+\once \override TextScript #'outside-staff-priority = ##f
+c,,2^"Testo Lungo " c'' |
+R1 |
+
+% Disattiva l'elusione delle collisioni
+\once \override TextScript #'outside-staff-priority = ##f
+\textLengthOn % e attiva textLengthOn
+c,,2^"Testo Lungo " % Gli spazi finali vengono rispettati
+c''2 |
+@end lilypond
+
+
+@subheading Dinamica
+
+@cindex modificare il posizionamento della dinamica
+@cindex dinamica, modificare il posizionamento
+
+Le indicazioni dinamiche sono di norma poste sotto il
+rigo, ma possono essere collocati al di sopra del pentagramma col comando @code{\dynamicUp}.
+Vengono posizionati verticalmente rispetto alla figura cui
+si riferiscono e fluttuano sopra (o sotto) tutti gli oggetti
+interni al rigo come le legature di fraseggio e i numeri di battuta.
+Si ottengono risultati abbastanza accettabili, come dimostra
+questo esempio:
+
+@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
+
+Tuttavia, se le note e le loro dinamiche sono molto vicine,
+la disposizione automatica eviterà le collisioni spostando
+più all'esterno i segni di dinamica successivi. Questo
+potrebbe non essere però il posizionamento migliore, come mostra
+questo esempio piuttosto improbabile:
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\dynamicUp
+a4\f b\mf c\mp b\p
+@end lilypond
+
+@noindent
+Se si dovesse presentare una situazione simile in un @q{vero} brano musicale,
+converrebbe distanziare un po' di più le note, in modo che i segni di dinamica
+possano essere tutti collocati alla stessa distanza verticale dal rigo. Abbiamo
+potuto farlo per il testo a margine usando il comando @code{\textLengthOn},
+ma non esiste un comando equivalente per i segni di dinamica. Dunque
+dovremo scoprire come farlo usando i comandi @code{\override}.
+
+@subheading Estensione dei grob
+
+@cindex estensione dei grob
+@cindex grob, estensione
+
+Dobbiamo innanzitutto sapere come i grob occupano lo spazio. Tutti i grob
+hanno al loro interno un punto di riferimento che viene usato
+per posizionarli in modo relativo all'oggetto genitore da cui derivano. Questo
+punto nel grob viene poi disposto a una distanza orizzontale,
+@code{X-offset}, e a una distanza verticale, @code{Y-offset}, dall'oggetto
+genitore. L'estensione (@emph{extent}) orizzontale dell'oggetto è data da una
+coppia di numeri, @code{X-extent}, che indica dove si trovano i margini
+sinistro e destro rispetto al punto di riferimento. L'ampiezza verticale
+è ugualmente definita da una coppia di numeri, @code{Y-extent}.
+Queste proprietà appartengono a tutti i grob che supportano l'interfaccia
+@code{grob-interface}.
+
+@cindex @code{extra-spacing-width}
+
+Per impostazione predefinita, gli oggetti esterni al rigo presentano estensione
+pari a zero, in modo da potersi sovrapporre nella direzione orizzontale.
+Ciò si ottiene con un trucco, ovvero aggiungendo infinito all'estensione
+sinistra e infinito negativo a quella destra, impostando il valore di
+@code{extra-spacing-width} su @code{'(+inf.0 . -inf.0)}. Dunque, per
+assicurarci che non si sovrappongano nella direzione orizzontale, dobbiamo
+sovrascrivere il valore di @code{extra-spacing-width} e impostarlo su
+@code{'(0 . 0)} in modo da inserire una larghezza vera e propria. Ecco il
+comando che lo fa sul testo della dinamica:
+
+@example
+\override DynamicText #'extra-spacing-width = #'(0 . 0)
+@end example
+
+@noindent
+Vediamo se funziona nell'esempio precedente:
+
+@cindex DynamicText, esempio di sovrascrittura
+@cindex proprietà extra-spacing-width, esempio
+@cindex extra-spacing-width, esempio
+
+@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
+Sicuramente ha impedito un'errata disposizione delle indicazioni
+dinamiche, ma restano due problemi. Le dinamiche dovrebbero
+essere un po' più distanziate; sarebbe inoltre opportuno collocarle
+tutte alla stessa distanza dal rigo.
+Il primo problema è facilmente risolvibile. Invece di
+impostare @code{extra-spacing-width} su zero, possiamo
+aggiungere un po' di spazio. L'unità è lo spazio tra due linee
+del rigo, quindi se spostiamo il margine sinistro mezza unità
+a sinistra e il margine destro mezza unità a destra dovrebbe
+funzionare:
+
+@cindex DynamicText, esempio di sovrascrittura
+@cindex proprietà extra-spacing-width, esempio
+@cindex extra-spacing-width, esempio
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\dynamicUp
+% Aumenta la larghezza di 1 spazio rigo
+\override DynamicText #'extra-spacing-width = #'(-0.5 . 0.5)
+a4\f b\mf c\mp b\p
+@end lilypond
+
+@noindent
+L'aspetto è migliore, ma sarebbe preferibile avere i segni di dinamica
+allineati alla stessa linea di base invece di spostarsi su e giù seguendo la posizione delle note.
+La proprietà che permette di ottenere tale risultato è @code{staff-padding} ed è trattata
+nella sezione seguente.
+
+
+@node Collisioni tra oggetti
+@section Collisioni tra oggetti
+@translationof Collisions of objects
+
+@menu
+* Spostare gli oggetti::
+* Correggere la sovrapposizione di elementi della notazione::
+* Esempio musicale::
+@end menu
+
+@node Spostare gli oggetti
+@subsection Spostare gli oggetti
+@translationof Moving objects
+
+@cindex spostare gli oggetti che si sovrappongono
+@cindex spostare gli oggetti che collidono
+@cindex spostare i grob che collidono
+@cindex oggetti, spostarli se collidono
+@cindex grob, spostarli se collidono
+
+Per quanto possa apparire sorprendente, LilyPond non è perfetto. Alcuni elementi
+della notazione possono sovrapporsi. Si tratta di un caso spiacevole, anche se in
+realtà piuttosto raro. Di solito l'esigenza di spostare gli
+oggetti dipende da motivi di chiarezza o da ragioni estetiche: gli elementi
+possono ottenere un aspetto migliore con un po' più o un po' meno
+spazio intorno.
+
+Esistono tre principali approcci per risolvere la sovrapposizione
+degli elementi della notazione. Vediamoli nel seguente ordine:
+
+@enumerate
+@item
+Si può cambiare la @strong{direzione} di uno degli oggetti che si
+sovrappongono usando i comandi predefiniti elencati prima, in riferimento agli
+oggetti interni al rigo (vedi @ref{Within-staff objects}).
+In questo modo si possono riposizionare facilmente gambi, legature di
+portamento e di valore, travature, segni di dinamica, testo e gruppi
+irregolari. La limitazione è che si tratta di una scelta circoscritta a due sole
+posizioni, nessuna delle quali potrebbe essere appropriata.
+
+@item
+Le @strong{proprietà degli oggetti}, che LilyPond usa quando dispone
+gli oggetti di formattazione, si possono modificare con @code{\override}. I
+vantaggi dell'intervenire su questo tipo di proprietà sono che (a)
+gli altri oggetti saranno spostati automaticamente se è necessario far
+spazio, e (b) ogni sovrascrittura può essere applicata a tutte le occorrenze
+di oggetti dello stesso tipo. Tali proprietà sono:
+
+@itemize
+
+@item
+@code{direction}
+
+Questa è già stata trattata in dettaglio (vedi
+@ref{Within-staff objects}).
+
+@item
+@code{padding}, @code{right-padding}, @code{staff-padding}
+
+@cindex distanza
+@cindex spaziatura
+@cindex proprietà padding
+@cindex proprietà right-padding
+@cindex proprietà staff-padding
+@cindex padding, proprietà
+@cindex right-padding, proprietà
+@cindex staff-padding, proprietà
+
+Quando un oggetto viene posizionato, il valore della sua proprietà
+@code{padding} specifica lo spazio intermedio da lasciare tra l'oggetto stesso
+e il bordo più vicino di quello accanto a cui si trova. Nota che si
+tratta del valore di @code{padding} dell'oggetto che @strong{si sta
+posizionando}, mentre quello dell'oggetto già posizionato viene
+ignorato. Gli spazi specificati da @code{padding} possono essere
+applicati a tutti gli oggetti che supportano l'interfaccia
+@code{side-position-interface}.
+
+Invece che da @code{padding}, la disposizione dei gruppi di alterazioni
+è regolata da @code{right-padding}. Questa proprietà appartiene all'oggetto
+@code{AccidentalPlacement} che si trova nel contesto @strong{Staff}. Il
+processo di formattazione della partitura crea per prime le teste di
+nota e poi, se presenti, aggiunge le alterazioni alla sinistra delle
+teste di nota usando la proprietà @code{right-padding} per stabilire
+la distanza tra le teste e le singole alterazioni.
+Dunque, solo la proprietà @code{right-padding} dell'oggetto @code{AccidentalPlacement}
+produce un effetto sul posizionamento delle alterazioni.
+
+La proprietà @code{staff-padding} è strettamente connessa alla proprietà
+@code{padding}: @code{padding} regola la quantità minima di spazio tra
+qualsiasi oggetto che supporti l'interfaccia @code{side-position-interface} e
+quello più vicino (solitamente, la nota o le linee del rigo); @code{staff-padding}
+si applica solo a quegli oggetti che stanno sempre fuori dal rigo e regola
+la quantità minima di spazio da inserire tra l'oggetto e il rigo. Nota che
+@code{staff-padding} non ha alcun effetto sugli oggetti disposti relativamente
+alla nota invece che al rigo, anche se può essere sovrascritto senza generare
+degli errori per tali oggetti; quindi viene semplicemente ignorata.
+
+Per scoprire quale proprietà padding è richiesta per l'oggetto che
+desideri riposizionare, devi tornare alla guida del Funzionamento
+interno e cercare le proprietà dell'oggetto. Presta attenzione al fatto
+che le proprietà padding potrebbero non trovarsi nell'oggetto più
+ovvio; in tal caso devi cercare negli oggetti simili.
+
+I valori delle proprietà padding sono misurati in spazi del rigo. Il valore
+predefinito della maggior parte degli oggetti è circa 1.0 o meno (a seconda
+dell'oggetto). Può essere sovrascritto per ottenere una distanza maggiore
+o minore.
+
+@item
+@code{self-alignment-X}
+
+@cindex proprietà self-alignment-X
+@cindex self-alignment-X, proprietà
+
+Questa proprietà serve ad allineare l'oggetto a sinistra, a destra o
+al centro rispetto al punto di riferimento dell'oggetto genitore.
+Si può usare con tutti gli oggetti che supportano l'interfaccia
+@code{self-alignment-interface}. Generalmente si tratta di oggetti
+che contengono testo. I valori sono @code{LEFT} (sinistra), @code{RIGHT}
+(destra) o @code{CENTER} (centro). Altrimenti, è possibile definire un valore
+numerico compreso tra @w{@code{-1}} e @code{+1}, dove @w{@code{-1}} indica
+allineamento a sinistra e @code{+1} allineamento a destra, mentre gli altri
+numeri spostano progressivamente il testo dall'allineamento a sinistra
+all'allineamento a destra. È possibile specificare valori numerici maggiori
+di @code{1}, per spostare il testo ancora più a sinistra, o valori inferiori
+a @w{@code{-1}}, per spostarlo ancora più a destra. Ogni modifica di @code{1}
+nel valore corrisponde a uno spostamento pari alla metà della lunghezza
+del testo.
+
+@item
+@code{extra-spacing-width}
+
+@cindex proprietà extra-spacing-width
+@cindex extra-spacing-width, proprietà
+
+Questa proprietà è disponibile per tutti gli oggetti che supportano
+l'interfaccia @code{item-interface}. Accetta due numeri: il primo è
+aggiunto all'estensione più a sinistra, il secondo a quella più a
+destra. I numeri negativi spostano il bordo verso sinistra, quelli
+positivi verso destra: quindi, per allargare un oggetto il primo
+numero deve essere negativo, il secondo deve essere positivo.
+Nota che non tutti gli oggetti rispettano entrambi i numeri. Ad
+esempio, l'oggetto @code{Accidental} considera soltanto il primo
+numero (bordo sinistro).
+
+@item
+@code{staff-position}
+
+@cindex proprietà staff-position
+@cindex staff-position, proprietà
+
+@code{staff-position} è una proprietà dell'interfaccia
+@code{staff-symbol-referencer-interface}, supportata dagli oggetti
+che vengono posizionati in relazione al rigo. Specifica in unità
+di mezzo spazio di rigo la posizione verticale dell'oggetto rispetto
+alla linea centrale del rigo stesso. È utile per risolvere collisioni
+tra oggetti come le pause di più misure, le legature di valore e le
+note in voci diverse.
+
+@item
+@code{force-hshift}
+
+@cindex proprietà force-hshift
+@cindex force-hshift, proprietà
+
+Le note ravvicinate di un accordo o quelle simultanee appartenenti
+a voci diverse sono disposte su due e talvolta più colonne per
+impedire la sovrapposizione delle teste. Tali colonne si chiamano
+colonne di note (@emph{note columns}) e l'oggetto che provvede a crearle
+si chiama @code{NoteColumn}.
+
+La proprietà @code{force-hshift} appartiene a @code{NoteColumn}
+(più precisamente all'interfaccia @code{note-column-interface}). Modificandola
+è possibile spostare la colonna di note proporzionalmente,
+assumendo come unità la larghezza della testa della nota nella voce superiore. Si usa
+in situazioni complesse in cui i normali comandi @code{\shiftOn} (vedi
+@ref{Explicitly instantiating voices}) non risolvono adeguatamente le collisioni tra le
+note. Per questo scopo, è preferibile alla proprietà @code{extra-offset}
+perché non c'è bisogno di trovare la giusta distanza in spazi di rigo e
+lo spostamento delle note dentro o fuori da una @code{NoteColumn}
+si ripercuote su altre azioni, come il congiungimento delle teste delle note.
+
+@end itemize
+
+@item
+Infine, se i metodi precedenti non funzionano, si possono riposizionare
+verticalmente gli oggetti rispetto alla linea centrale del rigo
+oppure collocarli a una qualsiasi distanza rispetto a una nuova
+posizione. Gli svantaggi di questo metodo consistono nel fatto che i corretti
+valori per il riposizionamento debbano essere trovati per tentativi e per ogni
+singolo oggetto; inoltre, dato che lo spostamento avviene dopo che LilyPond
+ha posizionato tutti gli altri oggetti, spetta all'utente evitare le
+eventuali collisioni. La principale
+difficoltà che questo approccio comporta, però, è che i valori di riposizionamento
+potrebbero dover essere ricalcolati se la musica venisse successivamente
+modificata. Le proprietà che si possono usare con questo tipo di
+riposizionamento manuale sono:
+
+@table @code
+@item extra-offset
+
+@cindex proprietà extra-offset
+@cindex extra-offset, proprietà
+
+Questa proprietà si applica a qualsiasi oggetto di formattazione che supporta
+l'interfaccia @code{grob-interface}. Accetta come valore una coppia di numeri
+che specificano l'ulteriore spostamento nelle direzioni orizzontale e verticale.
+I numeri negativi spostano l'oggetto a sinistra o in basso. Le unità sono
+gli spazi del rigo. Questo spostamento aggiuntivo è applicato dopo la formattazione
+degli oggetti, dunque gli oggetti possono essere riposizionati ovunque senza
+incidere sugli altri.
+
+@item positions
+
+@cindex proprietà positions
+@cindex positions, proprietà
+
+Questa proprietà è utile specialmente per correggere manualmente l'inclinazione e
+l'altezza di travature, legature di portamento e graffette dei gruppi irregolari. Accetta
+come valore una coppia di numeri, che specifica la posizione dei bordi sinistro
+e destro della travatura, della legatura, etc., rispetto alla linea centrale
+del rigo. L'unità di misura è lo spazio del rigo. Considera, però,
+che le legature di portamento e di frase non possono essere riposizionate
+del tutto arbitrariamente. LilyPond, infatti, genera prima una lista
+delle possibili posizioni per la legatura e poi determina la legatura che
+@qq{ritiene migliore}. Se la proprietà @code{positions} è stata sovrascritta,
+viene scelta dalla lista la legatura più vicina alle posizioni richieste.
+@end table
+
+@end enumerate
+
+Alcuni oggetti potrebbero non disporre di tutte queste proprietà.
+Occorre andare a vedere nella guida al Funzionamento interno
+quali proprietà siano disponibili per l'oggetto che si intende
+modificare.
+
+Segue una lista degli oggetti che hanno la maggiore probabilità
+di essere coinvolti in collisioni, insieme al nome dell'oggetto
+che deve essere cercato nella guida al Funzionamento interno per
+poter sapere quali proprietà si possono usare per spostarlo.
+
+@multitable @columnfractions .5 .5
+@headitem Tipo di oggetto @tab Nome dell'oggetto
+@item Articolazioni @tab @code{Script}
+@item Travature @tab @code{Beam}
+@item Dinamiche (verticalmente) @tab @code{DynamicLineSpanner}
+@item Dinamiche (orizzontalmente) @tab @code{DynamicText}
+@item Diteggiature @tab @code{Fingering}
+@item Numeri di chiamata / Testi @tab @code{RehearsalMark}
+@item Legature di portamento @tab @code{Slur}
+@item Testi, ovvero @code{^"testo"} @tab @code{TextScript}
+@item Legature di valore @tab @code{Tie}
+@item Gruppi irregolari @tab @code{TupletBracket}
+@end multitable
+
+
+@node Correggere la sovrapposizione di elementi della notazione
+@subsection Correggere la sovrapposizione di elementi della notazione
+@translationof Fixing overlapping notation
+
+Vediamo ora come le proprietà presentate nella sezione precedente possano
+aiutare a risolvere la sovrapposizione degli elementi della notazione.
+
+@subheading proprietà padding
+
+@cindex padding
+@cindex spaziatura
+@cindex correggere la sovrapposizione di elementi della notazione
+@cindex sovrapposizione degli elementi della notazione
+
+La proprietà @code{padding} serve a aumentare (o diminuire)
+la distanza tra i simboli che si trovano sopra o sotto le
+note.
+
+@cindex Script, esempio di sovrascrittura
+@cindex proprietà padding, esempio
+@cindex padding, esempio
+
+@lilypond[quote,fragment,relative=1,verbatim]
+c2\fermata
+\override Script #'padding = #3
+b2\fermata
+@end lilypond
+
+@cindex MetronomeMark, esempio di sovrascrittura
+@cindex proprietà padding, esempio
+@cindex padding, esempio
+
+@lilypond[quote,fragment,relative=1,verbatim]
+% Questo non funziona, vedi sotto
+\override MetronomeMark #'padding = #3
+\tempo 4 = 120
+c1 |
+% Questo funziona
+\override Score.MetronomeMark #'padding = #3
+\tempo 4 = 80
+d1 |
+@end lilypond
+
+Nota nel secondo esempio come è importante sapere quale contesto
+gestisce un certo oggetto. Dato che l'oggetto @code{MetronomeMark}
+è regolato dal contesto @code{Score}, le modifiche della proprietà
+nel contesto @code{Voice} non vengono prese in considerazione. Per
+approfondire l'argomento si veda @ruser{Modifying properties}.
+
+Se la proprietà @code{padding} di un oggetto viene aumentata quando
+quell'oggetto si trova insieme ad altri oggetti disposti secondo la
+loro proprietà @code{outside-staff-priority}, allora si sposteranno
+quell'oggetto e tutti gli oggetti esterni a esso.
+
+
+@subheading right-padding
+
+@cindex proprietà right-padding
+@cindex right-padding, proprietà
+
+La proprietà @code{right-padding} agisce sullo spazio tra l'alterazione
+e la nota corrispondente. Non è una necessità frequente, ma la
+spaziatura predefinita potrebbe risultare errata nei casi di alcuni
+speciali glifi delle alterazioni usati nella musica microtonale.
+Questi si inseriscono sovrascrivendo lo stampo (stencil) dell'alterazione
+con un segno che contenga il simbolo desiderato:
+
+@cindex Accidental, esempio di sovrascrittura
+@cindex proprietà text, esempio
+@cindex text, esempio
+@cindex proprietà stencil, esempio
+@cindex stencil, esempio
+@cindex AccidentalPlacement, esempio di sovrascrittura
+@cindex proprietà right-padding, esempio
+@cindex right-padding, esempio
+
+@lilypond[quote,ragged-right,verbatim]
+sesquisharp = \markup { \sesquisharp }
+\relative c'' {
+ c4
+ % Mostra un triesis (alterazione ascendente di tre quarti di tono) ma lo spazio è troppo stretto
+ \once \override Accidental
+ #'stencil = #ly:text-interface::print
+ \once \override Accidental #'text = #sesquisharp
+ cis4 c
+ % Ecco come migliorare lo spazio
+ \once \override Score.AccidentalPlacement #'right-padding = #0.6
+ \once \override Accidental
+ #'stencil = #ly:text-interface::print
+ \once \override Accidental #'text = #sesquisharp
+ cis4 |
+}
+@end lilypond
+
+@noindent
+Siamo costretti a usare una sovrascrittura dello stampo dell'alterazione che
+verrà spiegata successivamente. Il tipo di stampo deve essere una
+procedura e in questo esempio è stato modificato per mostrare i
+contenuti della proprietà @code{text} dell'oggetto @code{Accidental}, che
+è esso stesso impostato sul segno di triesis. Poi
+questo segno viene distanziato dalla testa di nota grazie alla sovrascrittura
+di @code{right-padding}.
+
+@noindent
+
+@subheading proprietà staff-padding
+
+@cindex allineare gli oggetti a una base
+@cindex oggetti, allinearli a una base
+
+@code{staff-padding} serve ad allineare gli oggetti come i segni di
+dinamica lungo una linea di base a una certa altezza fissa sopra il
+rigo, invece che a un'altezza dipendente dalla posizione della nota al
+quale sono collegati. Non è una proprietà di @code{DynamicText} bensì
+di @code{DynamicLineSpanner}, perché la base deve essere applicata
+ugualmente a @strong{tutti} i segni dinamica, compresi quelli creati
+come estensori. Ecco come allineare i segni di dinamica nell'esempio
+preso dalla sezione precedente:
+
+@cindex DynamicText, esempio di sovrascrittura
+@cindex proprietà extra-spacing-width, esempio
+@cindex extra-spacing-width, esempio
+@cindex DynamicLineSpanner, esempio di sovrascrittura
+@cindex proprietà staff-padding, esempio
+@cindex staff-padding, esempio
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+\dynamicUp
+% Aumenta la larghezza di 1 unità
+\override DynamicText #'extra-spacing-width = #'(-0.5 . 0.5)
+% Allinea le dinamiche alla base posta 2 unità sopra il rigo
+\override DynamicLineSpanner #'staff-padding = #2
+a4\f b\mf c\mp b\p
+@end lilypond
+
+
+@subheading proprietà self-alignment-X
+
+L'esempio successivo mostra come questa proprietà possa risolvere la
+collisione di un numero di corda con un gambo allineando il bordo
+destro del numero al punto di riferimento della nota a cui si riferisce:
+
+@cindex StringNumber, esempio di sovrascrittura
+@cindex proprietà self-alignment-X, esempio
+@cindex self-alignment-X, esempio
+
+@lilypond[quote,fragment,ragged-right,verbatim,relative=3]
+\voiceOne
+<a\2>
+\once \override StringNumber #'self-alignment-X = #RIGHT
+<a\2>
+@end lilypond
+
+@subheading proprietà staff-position
+
+@cindex collisione tra oggetti all'interno del rigo
+
+Le pause d'intero di una voce possono entrare in collisione con le note
+di un'altra. Dal momento che queste pause sono centrate rispetto
+alle stanghette della battuta, calcolare quali altre note potrebbero
+sovrapporsi richiederebbe un notevole grado d'elaborazione, dato che l'attuale
+gestione delle collisioni tra note e tra note e pause riguarda solo
+le note e le pause simultanee. Ecco un esempio
+di collisione di questo tipo:
+
+@lilypond[quote,verbatim,fragment,ragged-right, relative=1]
+<< { c4 c c c } \\ { R1 } >>
+@end lilypond
+
+In questo caso la soluzione migliore è spostare in basso la pausa d'intero, poiché
+si trova nella seconda voce. In @code{\voiceTwo} (ovvero nella seconda
+voce di un costrutto @code{<<@{...@} \\ @{...@}>>}) il valore predefinito
+di @code{staff-position} è -4 per la pausa multipla (MultiMeasureRest), quindi
+dobbiamo spostarla più in basso, ad esempio di altri quattro semispazi del
+rigo; il nuovo valore sarà @w{@code{-8}}.
+
+@cindex MultiMeasureRest, esempio di sovrascrittura
+@cindex proprietà staff-position, esempio
+@cindex staff-position, esempio
+
+@lilypond[quote,verbatim,fragment,ragged-right, relative=1]
+<<
+ { c4 c c c }
+ \\
+ \override MultiMeasureRest #'staff-position = #-8
+ { R1 }
+>>
+@end lilypond
+
+Questa soluzione è preferibile all'uso di @code{extra-offset}, perché
+il taglio addizionale sopra la pausa è inserito automaticamente.
+
+@subheading proprietà extra-offset
+
+@cindex posizionare gli oggetti
+@cindex posizionare i grob
+@cindex oggetti, posizionarli
+@cindex grob, posizionarli
+
+La proprietà @code{extra-offset} fornisce un controllo completo
+sul posizionamento di un oggetto sia in orizzontale che in verticale.
+
+Nell'esempio seguente, la seconda diteggiatura viene spostata un po' a
+sinistra e in basso di 1.8 spazi rigo:
+
+@cindex Fingering, esempio di sovrascrittura
+@cindex proprietà extra-offset, esempio
+@cindex extra-offset, esempio
+
+@lilypond[quote,fragment,relative=1,verbatim]
+\stemUp
+f4-5
+\once \override Fingering #'extra-offset = #'(-0.3 . -1.8)
+f4-5
+@end lilypond
+
+
+@subheading proprietà positions
+
+@cindex controllo manuale di graffette dei gruppi irregolari, travature, legature di portamento e di frase
+@cindex travature dei gruppi irregolari, controllo manuale
+@cindex legature di portamento, controllo manuale
+@cindex legature di frase, controllo manuale
+@cindex travature, controllo manuale
+
+La proprietà @code{positions} permette di controllare manualmente la posizione e
+l'inclinazione delle graffette dei gruppi irregolari, delle legature di portamento e di
+frase e delle travature. Ecco un esempio di una legatura di frase
+dall'aspetto orribile, dovuto al suo tentativo di evitare la legatura
+di portamento sull'acciaccatura.
+
+@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
+r4 \acciaccatura e8\( d8 c~ c d c d\)
+@end lilypond
+
+@noindent
+Potremmo semplicemente spostare la legatura di frase sopra le note:
+
+@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
+r4
+\phrasingSlurUp
+\acciaccatura e8\( d8 c~ c d c d\)
+@end lilypond
+
+@noindent
+Questa sarebbe la soluzione migliore. Se, invece, per qualche motivo non
+fosse possibile, l'alternativa sarebbe spostare un po' più in basso l'estremità
+sinistra della legatura di frase tramite la proprietà @code{positions}. Questo
+risolve anche il problema della forma sgraziata.
+
+@cindex PhrasingSlur, esempio di sovrascrittura
+@cindex proprietà positions, esempio
+@cindex positions, esempio
+
+@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
+
+Ecco un altro esempio. Vediamo che le travature collidono
+con le legature di valore:
+
+@lilypond[quote,verbatim,fragment,ragged-right]
+{
+ \time 4/2
+ <<
+ { c'1 ~ c'2. e'8 f' }
+ \\
+ { e''8 e'' e'' e'' e'' e'' e'' e'' f''2 g'' }
+ >>
+ <<
+ { c'1 ~ c'2. e'8 f' }
+ \\
+ { e''8 e'' e'' e'' e'' e'' e'' e'' f''2 g'' }
+ >>
+}
+@end lilypond
+
+@noindent
+Si può risolvere spostando manualmente in su entrambi gli estremi della
+travatura dalla loro posizione di 1.81 spazi rigo sotto la linea
+centrale a, per esempio, 1:
+
+@cindex Beam, esempio di sovrascrittura
+@cindex proprietà positions, esempio
+@cindex positions, esempio
+
+@lilypond[quote,verbatim,fragment,ragged-right]
+{
+ \time 4/2
+ <<
+ { c'1 ~ c'2. e'8 f' }
+ \\
+ {
+ \override Beam #'positions = #'(-1 . -1)
+ e''8 e'' e'' e'' e'' e'' e'' e'' f''2 g''
+ }
+ >>
+ <<
+ { c'1 ~ c'2. e'8 f' }
+ \\
+ { e''8 e'' e'' e'' e'' e'' e'' e'' f''2 g'' }
+ >>
+}
+@end lilypond
+
+@noindent
+Come vedi, la sovrascrittura si applica anche alla prima voce della seconda
+misura di otto note, ma a nessuna delle travature nella seconda voce.
+
+@subheading proprietà force-hshift
+
+Possiamo vedere ora come applicare le correzioni finali all'esempio di Chopin
+introdotto alla fine del paragrafo @ref{I'm hearing Voices}, che avevamo
+lasciato così:
+
+@lilypond[quote,verbatim,fragment,ragged-right]
+\new Staff \relative c'' {
+ \key aes \major
+ <<
+ { c2 aes4. bes8 }
+ \\
+ { <ees, c>2 des }
+ \\
+ \\
+ { aes'2 f4 fes }
+ >> |
+ <c ees aes c>1 |
+}
+@end lilypond
+
+@noindent
+La nota interna del primo accordo (ovvero il La bemolle della quarta
+voce) non deve essere allontanata dalla colonna della nota più
+alta. Per correggerlo impostiamo @code{force-hshift}, una proprietà
+di @code{NoteColumn}, su zero.
+
+Nel secondo accordo preferiamo che il Fa sia allineato al La bemolle e che
+la nota più grave sia posizionata leggermente più a destra, in modo da
+evitare la collisione dei gambi. Per farlo dobbiamo impostare
+@code{force-hshift} nella colonna (@code{NoteColumn}) del Re bemolle
+grave in modo che si sposti a destra di mezzo spazio di rigo.
+
+Ecco il risultato finale:
+
+@cindex NoteColumn, esempio di sovrascrittura
+@cindex proprietà force-hshift, esempio
+@cindex force-hshift, esempio
+
+@lilypond[quote,verbatim,fragment,ragged-right]
+\new Staff \relative c'' {
+ \key aes \major
+ <<
+ { c2 aes4. bes8 }
+ \\
+ {
+ <ees, c>2
+ \once \override NoteColumn #'force-hshift = #0.5
+ des2
+ }
+ \\
+ \\
+ {
+ \override NoteColumn #'force-hshift = #0
+ aes'2 f4 fes
+ }
+ >> |
+ <c ees aes c>1 |
+}
+@end lilypond
+
+
+@node Esempio musicale
+@subsection Esempio musicale
+@translationof Real music example
+
+Completiamo questa sezione delle modifiche (@emph{tweak}) mostrando passo passo
+come affrontare un esempio complesso che necessita varie modifiche per
+poter raggiungere l'aspetto desiderato. L'esempio è stato scelto
+appositamente per mostrare come usare la guida alla Notazione per
+risolvere problemi inusuali di notazione. Non rispecchia l'uso
+abituale di LilyPond, quindi non farti scoraggiare da queste difficoltà!
+Per fortuna problemi come questi sono molto rari!
+
+L'esempio è tratto dalla Première Ballade op. 23 di Chopin e va
+dalla battuta 6 alla 9, la transizione dal Lento iniziale al Moderato.
+Vediamo prima come vogliamo che l'output appaia; per evitare di
+complicare troppo l'esempio abbiamo però tolto le dinamiche, le diteggiature
+e le pedalizzazioni.
+
+@c The following should appear as music without code
+@c This example should not be indexed
+@c line-width ensures no break
+@lilypond[quote,ragged-right,line-width=6\in]
+rhMusic = \relative c'' {
+ \new Voice {
+ 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 }
+ \new Voice {
+ \voiceTwo
+ c,8~
+ % Reposition the c2 to the right of the merged note
+ \once \override NoteColumn #'force-hshift = #1.0
+ % Move the c2 out of the main note column
+ % so the merge will work
+ \shiftOnn
+ c2
+ }
+ \new Voice {
+ \voiceThree
+ s8
+ % Stem on the d2 must be down to permit merging
+ \stemDown
+ % Stem on the d2 should be invisible
+ \tweak Stem #'transparent ##t
+ \tweak Flag #'transparent ##t
+ d2
+ }
+ \new Voice {
+ \voiceFour
+ 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
+
+Vediamo che la parte della mano destra nella terza battuta
+richiede quattro voci. Si tratta delle cinque crome unite da travatura,
+il Do legato, la minima di Re che è unita alla croma di
+Re, e la semiminima puntata del Fa diesis, anch'essa unita
+alla croma della stessa altezza. Tutto il resto è su una
+voce singola, quindi il sistema più semplice è introdurre queste
+ulteriori voci temporaneamente, quando sono richieste. Se ti
+sei dimenticato come fare, rileggi i paragrafi @ref{I'm hearing Voices} e
+@ref{Explicitly instantiating voices}. In questo caso scegliamo di
+usare per il passaggio polifonico le voci definite esplicitamente, dato
+che LilyPond riesce a evitare meglio le collisioni se tutte le voci
+sono definite esplicitamente in questo modo.
+
+Dunque iniziamo con l'inserire le note in due variabili, impostare la
+struttura del rigo in un blocco \score e vedere che cosa LilyPond
+produce senza modifiche manuali:
+
+@c line-width ensures no break
+@lilypond[quote,verbatim,ragged-right,line-width=6\in]
+rhMusic = \relative c'' {
+ \new Voice {
+ r2 c4. g8 |
+ bes1~ |
+ \time 6/4
+ bes2. r8
+ % Inizia la sezione polifonica a quattro voci
+ <<
+ { c,8 d fis bes a } % continuazione della voce principale
+ \new Voice {
+ \voiceTwo
+ c,8~ c2
+ }
+ \new Voice {
+ \voiceThree
+ s8 d2
+ }
+ \new Voice {
+ \voiceFour
+ s4 fis4.
+ }
+ >> |
+ g2. % continuazione della voce principale
+ }
+}
+
+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
+
+Le note sono giuste ma l'aspetto è ben lontano dall'essere
+soddisfacente. La legatura collide col nuovo segno di tempo,
+alcune note non sono accorpate e mancano vari elementi
+della notazione. Partiamo dalle cose più semplici. Possiamo
+aggiungere la legatura di portamento della mano sinistra e la legatura
+di frase della mano destra, dato che queste sono state già trattate
+nel Tutorial. In questo modo abbiamo:
+
+@c line-width ensures no break
+@lilypond[quote,verbatim,ragged-right,line-width=6\in]
+rhMusic = \relative c'' {
+ \new Voice {
+ r2 c4.\( g8 |
+ bes1~ |
+ \time 6/4
+ bes2. r8
+ % Inizia la sezione polifonica a quattro voci
+ <<
+ { c,8 d fis bes a } % continuazione della voce principale
+ \new Voice {
+ \voiceTwo
+ c,8~ c2
+ }
+ \new Voice {
+ \voiceThree
+ s8 d2
+ }
+ \new Voice {
+ \voiceFour
+ s4 fis4.
+ }
+ >> |
+ g2.\) % continuazione della voce principale
+ }
+}
+
+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
+
+Ora la prima battuta è corretta. La seconda battuta contiene un arpeggio e
+è terminata da una stanghetta doppia. Dato che non sono stati menzionati
+in questo manuale di Apprendimento, come possiamo ottenerli? Dobbiamo
+andare a vedere nella guida alla Notazione. Cercando nell'indice
+i termini @qq{arpeggio} e @qq{stanghetta}, scopriamo rapidamente che un arpeggio
+viene prodotto posponendo @code{\arpeggio} a un accordo e che la stanghetta
+doppia si ottiene col comando @code{\bar "||"}. Questo è stato facile. Ora
+dobbiamo correggere la collisione della legatura di valore con l'indicazione di tempo.
+Il modo migliore è spostare la legatura verso l'alto. Lo spostamento degli oggetti
+è stato trattato prima in @ref{Moving objects}, dove si dice che gli oggetti
+posizionati relativamente al rigo possono essere spostati verticalmente
+sovrascrivendo la proprietà @code{staff-position}, specificata in metà spazi-rigo
+rispetto alla linea centrale del rigo. Dunque la seguente sovrascrittura
+posizionata proprio prima della prima nota della legatura sposta la legatura
+3.5 mezzi spazi di rigo sopra la linea centrale:
+
+@code{\once \override Tie #'staff-position = #3.5}
+
+Questo completa la seconda battuta:
+
+@c line-width ensures no break
+@lilypond[quote,verbatim,ragged-right,line-width=6\in]
+rhMusic = \relative c'' {
+ \new Voice {
+ r2 c4.\( g8 |
+ \once \override Tie #'staff-position = #3.5
+ bes1~ |
+ \bar "||"
+ \time 6/4
+ bes2. r8
+ % Inizia la sezione polifonica a quattro voci
+ <<
+ { c,8 d fis bes a } % continuazione della voce principale
+ \new Voice {
+ \voiceTwo
+ c,8~ c2
+ }
+ \new Voice {
+ \voiceThree
+ s8 d2
+ }
+ \new Voice {
+ \voiceFour
+ s4 fis4.
+ }
+ >> |
+ g2.\) % continuazione della voce principale
+ }
+}
+
+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
+
+Proseguiamo con la terza battuta e l'inizio della sezione del Moderato. Nel
+tutorial abbiamo visto come aggiungere del testo in grassetto tramite il
+comando @code{\markup}, quindi aggiungere @qq{Moderato} in grassetto è
+facile. Ma come facciamo ad accorpare le note appartenenti a voci
+diverse? Ancora una volta dobbiamo rivolgerci alla guida alla Notazione per
+un aiuto. Una ricerca del termine @qq{accorpare} (@emph{merge}) nell'indice della
+guida ci porta rapidamente al paragrafo @ruser{Collision resolution}, dove
+troviamo i comandi per allineare le note con teste e punti diversi. Nel
+nostro esempio abbiamo bisogno di accorpare entrambi i tipi di note per la
+durata della sezione polifonica della terza battuta. Dunque, usando le
+informazioni trovate nella guida alla Notazione, aggiungiamo
+
+@example
+\mergeDifferentlyHeadedOn
+\mergeDifferentlyDottedOn
+@end example
+
+@noindent
+all'inizio di questa sezione e
+
+@example
+\mergeDifferentlyHeadedOff
+\mergeDifferentlyDottedOff
+@end example
+
+@noindent
+alla fine, ottenendo:
+
+@c line-width ensures no break
+@lilypond[quote,ragged-right,line-width=6\in]
+rhMusic = \relative c'' {
+ \new Voice {
+ r2 c4.\( g8 |
+ \once \override Tie #'staff-position = #3.5
+ bes1~ |
+ \bar "||"
+ \time 6/4
+ bes2.^\markup { \bold "Moderato" } r8
+ \mergeDifferentlyHeadedOn
+ \mergeDifferentlyDottedOn
+ % Inizia la sezione polifonica a quattro voci
+ <<
+ { c,8 d fis bes a } % continuazione della voce principale
+ \new Voice {
+ \voiceTwo
+ c,8~ c2
+ }
+ \new Voice {
+ \voiceThree
+ s8 d2
+ }
+ \new Voice {
+ \voiceFour
+ s4 fis4.
+ }
+ >> |
+ \mergeDifferentlyHeadedOff
+ \mergeDifferentlyDottedOff
+ g2.\) % continuazione della voce principale
+ }
+}
+
+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
+
+Queste sovrascritture hanno accorpato i due Fa diesis, ma non i due
+Re. Perché? La risposta si trova nella stessa sezione della
+guida alla Notazione: le note da unire devono avere i gambi in
+direzioni opposte e due note non possono essere accorpate se c'è
+una terza nota nella stessa colonna. In questo esempio i due Re
+hanno entrambi i gambi in su e c'è una terza nota, il Do. Sappiamo
+come cambiare la direzione dei gambi con @code{\stemDown} e la
+guida alla Notazione ci dice anche come spostare il Do, applicando
+uno spostamento con uno dei comandi @code{\shift}. Ma quale? Il Do
+si trova nella seconda voce che ha lo spostamento (@emph{shift}) disattivato,
+mentre i due Re sono nella prima e nella terza voce, che ce l'hanno
+rispettivamente disattivato e attivato. Dunque dobbiamo distanziare il
+Do di un ulteriore livello usando @code{\shiftOnn} per evitare che
+interferisca con i due Re. Applicando queste modifiche abbiamo:
+
+@cindex Tie, esempio di sovrascrittura
+@cindex proprietà staff-position, esempio
+@cindex staff-position, esempio
+
+@c line-width ensures no break
+@lilypond[quote,verbatim,ragged-right,line-width=6\in]
+rhMusic = \relative c'' {
+ \new Voice {
+ r2 c4.\( g8 |
+ \once \override Tie #'staff-position = #3.5
+ bes1~ |
+ \bar "||"
+ \time 6/4
+ bes2.^\markup { \bold "Moderato" } r8
+ \mergeDifferentlyHeadedOn
+ \mergeDifferentlyDottedOn
+ % Inizia la sezione polifonica a quattro voci
+ <<
+ { c,8 d fis bes a } % continuazione della voce principale
+ \new Voice {
+ \voiceTwo
+ % Sposta il c2 fuori dalla colonna della nota principale
+ % in modo che l'unione di note funzioni
+ c,8~ \shiftOnn c2
+ }
+ \new Voice {
+ \voiceThree
+ % Il gambo di d2 deve essere in giù per permettere l'unione delle note
+ s8 \stemDown d2
+ }
+ \new Voice {
+ \voiceFour
+ s4 fis4.
+ }
+ >> |
+ \mergeDifferentlyHeadedOff
+ \mergeDifferentlyDottedOff
+ g2.\) % continuazione della voce principale
+ }
+}
+
+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
+
+Ci siamo quasi, restano solo due problemi: il gambo in giù del
+Re unito non ci dovrebbe essere e il Do dovrebbe essere posizionato
+a destra dei Re. Sappiamo come fare grazie alle modifiche precedenti:
+rendiamo il gambo trasparente e spostiamo il Do con la proprietà
+@code{force-hshift}. Ecco il risultato finale:
+
+@cindex NoteColumn, esempio di sovrascrittura
+@cindex proprietà force-hshift, esempio
+@cindex force-hshift, esempio
+@cindex Stem, esempio di sovrascrittura
+@cindex proprietà transparent, esempio
+@cindex transparent, esempio
+
+@c line-width ensures no break
+@lilypond[quote,verbatim,ragged-right,line-width=6\in]
+rhMusic = \relative c'' {
+ \new Voice {
+ r2 c4.\( g8 |
+ \once \override Tie #'staff-position = #3.5
+ bes1~ |
+ \bar "||"
+ \time 6/4
+ bes2.^\markup { \bold "Moderato" } r8
+ \mergeDifferentlyHeadedOn
+ \mergeDifferentlyDottedOn
+ % Inizia la sezione polifonica a quattro voci
+ <<
+ { c,8 d fis bes a } % continuazione della voce principale
+ \new Voice {
+ \voiceTwo
+ c,8~
+ % Riposiziona il c2 a destra della nota unita
+ \once \override NoteColumn #'force-hshift = #1.0
+ % Sposta il c2 fuori dalla colonna della nota principale
+ % in modo che l'unione di note funzioni
+ \shiftOnn
+ c2
+ }
+ \new Voice {
+ \voiceThree
+ s8
+ % Il gambo di d2 deve essere in giù per permettere l'unione delle note
+ \stemDown
+ % Stem on the d2 should be invisible
+ \tweak Stem #'transparent ##t
+ \tweak Flag #'transparent ##t
+ d2
+ }
+ \new Voice {
+ \voiceFour
+ s4 fis4.
+ }
+ >> |
+ \mergeDifferentlyHeadedOff
+ \mergeDifferentlyDottedOff
+ g2.\) % continuazione della voce principale
+ }
+}
+
+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 Altre modifiche
+@section Altre modifiche
+@translationof Further tweaking
+
+@menu
+* Altri usi delle modifiche::
+* Uso delle variabili per le modifiche::
+* Fogli di stile::
+* Altre fonti di informazione::
+* Modifiche avanzate con Scheme::
+@end menu
+
+@node Altri usi delle modifiche
+@subsection Altri usi delle modifiche
+@translationof Other uses for tweaks
+
+@cindex proprietà transparent, uso della
+@cindex oggetti, renderli invisibili
+@cindex togliere gli oggetti
+@cindex oggetti, toglierli
+@cindex nascondere gli oggetti
+@cindex oggetti, nascondere
+@cindex oggetti invisibili
+@cindex legature di valore tra note di voci diverse
+
+@subheading Legature di valore tra note di voci diverse
+
+L'esempio seguente mostra come unire con legature di valore
+note appartenenti a voci diverse. Di norma, solo le note nella
+stessa voce possono essere unite da una legatura di valore.
+Se si usano due voci con le note legate in una voce
+
+@lilypond[quote,fragment,relative=2]
+<< { b8~ b\noBeam } \\ { b8[ g] } >>
+@end lilypond
+
+@noindent
+e si cancella il primo gambo di quella voce, la legatura sembra
+attraversare le voci:
+
+@cindex Stem, esempio di sovrascrittura
+@cindex proprietà transparent, esempio
+@cindex transparent, esempio
+
+@lilypond[quote,fragment,relative=2,verbatim]
+<<
+ {
+ \tweak Stem #'transparent ##t
+ \tweak Flag #'transparent ##t
+ b8~ b\noBeam
+ }
+\\
+ { b8[ g] }
+>>
+@end lilypond
+
+Per far sì che il gambo cancellato non schiacci troppo la legatura,
+possiamo allungarlo impostando la proprietà
+@code{length} su @code{8},
+
+@lilypond[quote,fragment,relative=2,verbatim]
+<<
+ {
+ \tweak Stem #'transparent ##t
+ \tweak Flag #'transparent ##t
+ \tweak Stem #'length #8
+ b8~ b\noBeam
+ }
+\\
+ { b8[ g] }
+>>
+@end lilypond
+
+@subheading Simulare una corona nel MIDI
+
+@cindex proprietà stencil, uso della
+@cindex corona, usarla nel MIDI
+
+Per gli oggetti esterni al rigo è di solito preferibile sovrascrivere
+la proprietà @code{stencil} piuttosto che la proprietà @code{transparent}
+dell'oggetto se si desidera toglierlo dall'output. Se si imposta la
+proprietà @code{stencil} su @code{#f} l'oggetto verrà completamente
+rimosso dall'output e quindi non potrà influenzare la disposizone
+di altri oggetti posizionati rispetto a esso.
+
+Ad esempio, se volessimo modificare il segno di metronomo solo per
+simulare una corona nel MIDI, non vorremmo che il segno apparisse
+nella partitura né vorremmo influenzare la spaziatura tra i due
+sistemi o la posizione di annotazioni adiacenti nel rigo. Dunque,
+il modo migliore è impostare la proprietà @code{stencil} su
+@code{#f}. Ecco l'effetto dei due metodi:
+
+@cindex MetronomeMark, esempio di sovrascrittura
+@cindex proprietà transparent, esempio
+@cindex transparent, esempio
+
+@lilypond[quote,verbatim,ragged-right]
+\score {
+ \relative c'' {
+ % Indicazione di tempo visibile
+ \tempo 4=120
+ a4 a a
+ \once \override Score.MetronomeMark #'transparent = ##t
+ % Indicazione di tempo invisibile per allungare la fermata nel MIDI
+ \tempo 4=80
+ a4\fermata |
+ % Nuovo tempo per la sezione successiva
+ \tempo 4=100
+ a4 a a a |
+ }
+ \layout { }
+ \midi { }
+}
+@end lilypond
+
+@cindex MetronomeMark, esempio di sovrascrittura
+@cindex proprietà stencil, esempio
+@cindex stencil, esempio
+
+@lilypond[quote,verbatim,ragged-right]
+\score {
+ \relative c'' {
+ % Indicazione di tempo visibile
+ \tempo 4=120
+ a4 a a
+ \once \override Score.MetronomeMark #'stencil = ##f
+ % Indicazione di tempo invisibile per allungare la fermata nel MIDI
+ \tempo 4=80
+ a4\fermata |
+ % Nuovo tempo per la sezione successiva
+ \tempo 4=100
+ a4 a a a |
+ }
+ \layout { }
+ \midi { }
+}
+@end lilypond
+
+@noindent
+Entrambi i metodi tolgono dalla partitura l'indicazione metronomica
+ed entrambi cambiano il tempo del MIDI come volevamo, ma nel primo esempio l'indicazione
+metronomica trasparente sposta troppo in alto
+l'indicazione di tempo successiva, mentre nel secondo esempio, dove
+viene tolto lo stampo (@emph{stencil}), ciò non accade.
+
+@seealso
+Glossario musicale:
+@rglosnamed{system,sistema}.
+
+@node Uso delle variabili per le modifiche
+@subsection Uso delle variabili per le modifiche
+@translationof Using variables for tweaks
+
+@cindex variabili, usarle per le modifiche
+@cindex usare le variabili per le modifiche
+@cindex modifiche, usare le variabili per le
+
+I comandi di sovrascrittura sono spesso lunghi e tediosi da
+scrivere, e devono essere assolutamente corretti. Se si usa
+più volte la stessa sovrascrittura conviene definire una
+variabile che la contenga.
+
+Immaginiamo di voler enfatizzare certe parole del testo usando
+grassetto e corsivo. I comandi @code{\italic} (corsivo) e @code{\bold}
+(grassetto) funzionano all'interno del testo solo se inclusi,
+insieme alla parola o alle parole da modificare, in un blocco
+@code{\markup}: dunque sono scomodi da inserire. Dovendo inserire
+le parole stesse non si possono usare variabili semplici. Come
+alternativa possiamo usare i comandi @code{\override} e @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
+
+Anche questi sarebbero molto noiosi da inserire se ci fossero
+molte parole che richiedono enfasi. Ma possiamo inserirli
+in due variabili e poi usare queste per le parole da enfatizzare.
+Un altro vantaggio dell'uso di variabili per queste sovrascritture
+è che gli spazi intorno al punto non sono necessari, perché non
+sono interpretati direttamente in @code{\lyricmode}. Ecco un
+esempio, anche se nella pratica comune avremmo scelto dei nomi
+più brevi per le variabili in modo da poterle inserire più
+rapidamente:
+
+@cindex LyricText, esempio di sovrascrittura
+@cindex proprietà font-shape, esempio
+@cindex font-shape, esempio
+@cindex proprietà font-series, esempio
+@cindex font-series, esempio
+
+@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 = { \key c \major \time 4/4 \partial 4 }
+
+SopranoMusic = \relative c' { c4 | e4. e8 g4 g | a4 a g }
+AltoMusic = \relative c' { c4 | c4. c8 e4 e | f4 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 | \once \emphasize Christ, 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 Fogli di stile
+@subsection Fogli di stile
+@translationof Style sheets
+
+L'output prodotto da LilyPond può essere ampiamente modificato, come
+abbiamo visto nel capitolo @ref{Tweaking output}. Ma se avessi molti
+file di input a cui voler applicare delle modifiche? O se volessi
+semplicemente separare le modifiche dalla musica vera e propria?
+È molto semplice.
+
+Prendiamo un esempio. Non ti preoccupare se non capisci le
+parti che hanno @code{#()}; verranno spiegate nel capitolo
+@ref{Advanced tweaks with Scheme}.
+
+@lilypond[quote,verbatim,ragged-right]
+mpdolce =
+#(make-dynamic-script
+ #{ \markup { \hspace #0
+ \translate #'(5 . 0)
+ \line { \dynamic "mp"
+ \text \italic "dolce" } }
+ #})
+
+inst =
+#(define-music-function
+ (parser location string)
+ (string?)
+ #{ ^\markup \bold \box #string #})
+
+\relative c'' {
+ \tempo 4=50
+ a4.\mpdolce d8 cis4--\glissando a |
+ b4 bes a2 |
+ \inst "Clarinet"
+ cis4.\< d8 e4 fis |
+ g8(\! fis)-. e( d)-. cis2 |
+}
+@end lilypond
+
+Facciamo qualcosa a proposito delle definizioni di @code{mpdolce} e
+@code{inst}. Producono l'output che desideriamo, ma potremmo volerle
+usare in un altro brano. Potremmo semplicemente copiarle e incollarle
+in cima a ogni file, ma sarebbe una seccatura e lascerebbe queste
+definizioni nel file di input; personalmente trovo tutti quei @code{#()}
+piuttosto brutti, dunque nascondiamoli in un altro file:
+
+@example
+%%% salva queste righe in un file chiamato "definitions.ily"
+mpdolce =
+#(make-dynamic-script
+ #@{ \markup @{ \hspace #0
+ \translate #'(5 . 0)
+ \line @{ \dynamic "mp"
+ \text \italic "dolce" @} @}
+ #@})
+
+inst =
+#(define-music-function
+ (parser location string)
+ (string?)
+ #@{ ^\markup \bold \box #string #@})
+@end example
+
+Ci riferiremo a questo file tramite il comando @code{\include} in cima
+al file dove c'è la musica. Si usa l'estensione @file{.ily} per distinguere
+il file da includere, che non intendiamo compilare da solo, dal file principale.
+Ora modifichiamo la musica (e salviamo questo file come @file{music.ly}).
+
+@c We have to do this awkward example/lilypond-non-verbatim
+@c because we can't do the \include stuff in the manual.
+
+@example
+\include "definitions.ily"
+
+\relative c'' @{
+ \tempo 4=50
+ a4.\mpdolce d8 cis4--\glissando a |
+ b4 bes a2 |
+ \inst "Clarinet"
+ cis4.\< d8 e4 fis |
+ g8(\! fis)-. e( d)-. cis2 |
+@}
+@end example
+
+@lilypond[quote,ragged-right]
+mpdolce =
+#(make-dynamic-script
+ #{ \markup { \hspace #0
+ \translate #'(5 . 0)
+ \line { \dynamic "mp"
+ \text \italic "dolce" } }
+ #})
+
+inst =
+#(define-music-function
+ (parser location string)
+ (string?)
+ #{ ^\markup \bold \box #string #})
+
+\relative c'' {
+ \tempo 4=50
+ a4.\mpdolce d8 cis4--\glissando a |
+ b4 bes a2 |
+ \inst "Clarinet"
+ cis4.\< d8 e4 fis |
+ g8(\! fis)-. e( d)-. cis2 |
+}
+@end lilypond
+
+L'aspetto è migliore, ma facciamo ancora qualche modifica. Il glissando si
+vede appena, rendiamolo quindi più spesso e più vicino alle teste di nota.
+Mettiamo l'indicazione metronomica al di sopra della chiave invece che della prima
+nota. E, infine, dato che il mio professore di composizione odia l'indicazione
+di tempo @qq{C}, usiamo @qq{4/4} al suo posto.
+
+Ma non devi cambiare @file{music.ly} bensì @file{definitions.ily}, in
+questo modo:
+
+@example
+%%% definitions.ily
+mpdolce =
+#(make-dynamic-script
+ #@{ \markup @{ \hspace #0
+ \translate #'(5 . 0)
+ \line @{ \dynamic "mp"
+ \text \italic "dolce" @} @}
+ #@})
+
+inst =
+#(define-music-function
+ (parser location string)
+ (string?)
+ #@{ ^\markup \bold \box #string #@})
+
+\layout@{
+ \context @{
+ \Score
+ \override MetronomeMark #'extra-offset = #'(-9 . 0)
+ \override MetronomeMark #'padding = #'3
+ @}
+ \context @{
+ \Staff
+ \override TimeSignature #'style = #'numbered
+ @}
+ \context @{
+ \Voice
+ \override Glissando #'thickness = #3
+ \override Glissando #'gap = #0.1
+ @}
+@}
+@end example
+
+@lilypond[quote,ragged-right]
+mpdolce =
+#(make-dynamic-script
+ #{ \markup { \hspace #0
+ \translate #'(5 . 0)
+ \line { \dynamic "mp"
+ \text \italic "dolce" } }
+ #})
+
+inst =
+#(define-music-function
+ (parser location string)
+ (string?)
+ #{ ^\markup \bold \box #string #})
+
+\layout{
+ \context {
+ \Score
+ \override MetronomeMark #'extra-offset = #'(-9 . 0)
+ \override MetronomeMark #'padding = #'3
+ }
+ \context {
+ \Staff
+ \override TimeSignature #'style = #'numbered
+ }
+ \context {
+ \Voice
+ \override Glissando #'thickness = #3
+ \override Glissando #'gap = #0.1
+ }
+}
+
+\relative c'' {
+ \tempo 4=50
+ a4.\mpdolce d8 cis4--\glissando a |
+ b4 bes a2 |
+ \inst "Clarinet"
+ cis4.\< d8 e4 fis |
+ g8(\! fis)-. e( d)-. cis2 |
+}
+@end lilypond
+
+Ora l'aspetto è decisamente migliore! Supponiamo ora di voler pubblicare
+questo brano. Il mio professore di composizione non ama il segno di
+tempo @qq{C}, mentre a me piace. Copiamo l'attuale file @file{definitions.ily}
+in @file{web-publish.ily} e modifichiamolo. Dato che questa musica
+verrà distribuita su un pdf da leggere a schermo, aumenteremo anche
+la dimensione complessiva dell'output.
+
+@example
+%%% web-publish.ily
+mpdolce =
+#(make-dynamic-script
+ #@{ \markup @{ \hspace #0
+ \translate #'(5 . 0)
+ \line @{ \dynamic "mp"
+ \text \italic "dolce" @} @}
+ #@})
+
+inst =
+#(define-music-function
+ (parser location string)
+ (string?)
+ #@{ ^\markup \bold \box #string #@})
+
+#(set-global-staff-size 23)
+
+\layout@{
+ \context @{
+ \Score
+ \override MetronomeMark #'extra-offset = #'(-9 . 0)
+ \override MetronomeMark #'padding = #'3
+ @}
+ \context @{
+ \Staff
+ @}
+ \context @{
+ \Voice
+ \override Glissando #'thickness = #3
+ \override Glissando #'gap = #0.1
+ @}
+@}
+@end example
+
+@lilypond[quote,ragged-right]
+mpdolce =
+#(make-dynamic-script
+ #{ \markup { \hspace #0
+ \translate #'(5 . 0)
+ \line { \dynamic "mp"
+ \text \italic "dolce" } }
+ #})
+
+inst =
+#(define-music-function
+ (parser location string)
+ (string?)
+ #{ ^\markup \bold \box #string #})
+
+#(set-global-staff-size 23)
+
+\layout{
+ \context { \Score
+ \override MetronomeMark #'extra-offset = #'(-9 . 0)
+ \override MetronomeMark #'padding = #'3
+ }
+ \context { \Voice
+ \override Glissando #'thickness = #3
+ \override Glissando #'gap = #0.1
+ }
+}
+
+\relative c'' {
+ \tempo 4=50
+ a4.\mpdolce d8 cis4--\glissando a |
+ b4 bes a2 |
+ \inst "Clarinet"
+ cis4.\< d8 e4 fis |
+ g8(\! fis)-. e( d)-. cis2 |
+}
+@end lilypond
+
+Nel file che contiene la musica non rimane che sostituire
+@code{\include "definitions.ily"} con
+@code{\include "web-publish.ily"}. Potremmo usare un sistema
+ancora più conveniente: creare un file @file{definitions.ily} che
+contenga solo le definizioni di @code{mpdolce} e @code{inst}, un file
+@file{web-publish.ily} che contenga solo la sezione @code{\layout}
+vista prima, e un file @file{university.ily} che contenga solo le
+modifiche necessarie per produrre l'output preferito dal mio
+professore. L'inizio di @file{music.ly} apparirebbe così:
+
+@example
+\include "definitions.ily"
+
+%%% Una sola di queste linee deve essere commentata
+\include "web-publish.ily"
+%\include "university.ily"
+@end example
+
+Questo approccio può essere utile anche se si sta creando un
+insieme di parti. Uso una mezza dozzina di diversi
+@q{fogli di stile} per i miei progetti. Faccio iniziare
+ogni file musicale con @code{\include "../global.ily"}, che contiene
+
+@example
+%%% global.ily
+\version @w{"@version{}"}
+
+#(ly:set-option 'point-and-click #f)
+
+\include "../init/init-defs.ly"
+\include "../init/init-layout.ly"
+\include "../init/init-headers.ly"
+\include "../init/init-paper.ly"
+@end example
+
+
+@node Altre fonti di informazione
+@subsection Altre fonti di informazione
+@translationof Other sources of information
+
+La guida al Funzionamento interno contiene molte informazioni su
+LilyPond, ma si possono trovare ancora più informazioni nei file
+interni di LilyPond. Per studiarli devi prima trovare la giusta
+directory nel tuo sistema operativo. Il percorso di questa
+directory dipende da quale sistema operativo si sta usando e da
+come si è ottenuto LilyPond, se scaricando un binario precompilato
+da lilypond.org oppure installandolo da un gestore di pacchetti
+(come nelle distribuzioni GNU/Linux o nelle istallazioni tramite
+fink o cygwin) o compilandolo dai sorgenti:
+
+@strong{Scaricato da lilypond.org}
+
+@itemize @bullet
+@item GNU/Linux
+
+Vai in
+@example
+@file{@var{INSTALLDIR}/lilypond/usr/@/share/lilypond/current/}
+@end example
+
+@item MacOS X
+
+Vai in
+@example
+@file{@var{INSTALLDIR}/LilyPond.app/Contents/@/Resources/share/lilypond/current/}
+@end example
+
+usando @code{cd} in un terminale per entrare in questa
+directory oppure facendo un Ctrl+click sull'applicazione LilyPond e
+scegliendo @qq{Mostra i contenuti dei pacchetti}.
+
+@item Windows
+
+Con Windows Explorer vai in
+@example
+@file{@var{INSTALLDIR}/LilyPond/usr/@/share/lilypond/current/}
+@end example
+
+@end itemize
+
+@strong{Istallato da un gestore di pacchetti o compilato da sorgenti}
+
+Vai in
+@file{@var{PREFIX}/share/lilypond/@var{X.Y.Z}/}, dove
+@var{PREFIX} è definito dal gestore pacchetti o dallo
+script @code{configure} e @var{X.Y.Z} è il numero di
+versione di LilyPond.
+
+@smallspace
+
+All'interno di questa directory le due sottodirectory interessanti sono
+
+@itemize
+@item @file{ly/} - contiene i file nel linguaggio di LilyPond
+@item @file{scm/} - contiene i file nel linguaggio Scheme
+@end itemize
+
+Iniziamo col vedere alcuni file in @file{ly/}.
+Apri @file{ly/property-init.ly} in un editor di testo. Quello
+che usi normalmente per i file @code{.ly} va bene. Questo file
+contiene le definizioni di tutti i comandi predefiniti standard
+di LilyPond, come @code{\stemUp} e @code{\slurDotted}. Vedrai
+che questi non sono altro che definizioni di variabili che
+contengono uno o più comandi @code{\override}. Ad esempio,
+@code{/tieDotted} è definito così:
+
+@example
+tieDotted = @{
+ \override Tie #'dash-period = #0.75
+ \override Tie #'dash-fraction = #0.1
+@}
+@end example
+
+Se non ti piacciono i valori predefiniti, puoi facilmente
+definire nuovamente questi comandi, proprio come qualsiasi
+altra variabile, all'inizio del file di input.
+
+Ecco i file più utili che si trovano in @file{ly/}:
+
+@multitable @columnfractions .4 .6
+@headitem Nome del file
+ @tab Contenuti
+@item @file{ly/engraver-init.ly}
+ @tab Definizioni dei contesti degli incisori (@emph{engraver})
+@item @file{ly/paper-defaults-init.ly}
+ @tab Specifiche dei valori predefiniti relativi al foglio
+@item @file{ly/performer-init.ly}
+ @tab Definizioni dei contesti dei @emph{performer}
+@item @file{ly/property-init.ly}
+ @tab Definizioni di tutti i comandi predefiniti più comuni
+@item @file{ly/spanner-init.ly}
+ @tab Definizioni dei comandi predefiniti relativi agli estensori (@emph{spanner})
+@end multitable
+
+Altre impostazioni (come le definizioni dei comandi di markup) sono
+salvate come file @file{.scm} (Scheme). Il linguaggio di programmazione
+Scheme serve a fornire un'interfaccia di programmazione per modificare
+il funzionamento interno di LilyPond. Una spiegazione dettagliata di
+questi file non rientra nell'obiettivo di questo manuale, dal momento che
+è necessario conoscere il linguaggio Scheme. Avvisiamo gli utenti che
+è richiesta una notevole quantità di abilità tecnica o di tempo per
+comprendere Scheme e questi file (vedi @rextend{Scheme tutorial}).
+
+Nel caso tu conosca Scheme, i file che potrebbero essere di interesse sono:
+
+@multitable @columnfractions .4 .6
+@headitem Nome del file
+ @tab Contenuti
+@item @file{scm/auto-beam.scm}
+ @tab Valori predefiniti della disposizione delle travature
+@item @file{scm/define-grobs.scm}
+ @tab Impostazioni predefinite delle proprietà dei grob
+@item @file{scm/define-markup-commands.scm}
+ @tab Definizione di tutti i comandi di markup
+@item @file{scm/midi.scm}
+ @tab Impostazioni predefinite dell'output MIDI
+@item @file{scm/output-lib.scm}
+ @tab Impostazioni che modificano l'aspetto di tasti, colori,
+ alterazioni, stanghette, etc.
+@item @file{scm/parser-clef.scm}
+ @tab Definizioni delle chiavi supportate
+@item @file{scm/script.scm}
+ @tab Impostazioni predefinite delle articolazioni
+@end multitable
+
+
+@node Modifiche avanzate con Scheme
+@subsection Modifiche avanzate con Scheme
+@translationof Advanced tweaks with Scheme
+
+Anche se molte cose sono possibili con i comandi @code{\override} e
+@code{\tweak}, un modo ancor più potente di modificare l'azione
+di LilyPond è resa possibile da un interfaccia programmabile al
+funzionamento interno di LilyPond. Il codice scritto nel linguaggio
+di programmazione Scheme può essere incorporato direttamente nel
+funzionamento interno di LilyPond. Ovviamente, per farlo è necessaria
+almeno una conoscenza di base della programmazione in Scheme;
+abbiamo scritto un'introduzione in @rextend{Scheme tutorial}.
+
+Come esempio di una delle tante possibilità, invece di impostare
+una proprietà su un valore costante, si può impostare su una
+procedura Scheme che viene poi chiamata ogni volta che LilyPond
+accede a quella proprietà. La proprietà può essere poi impostata
+dinamicamente su un valore determinato dalla procedura nel momento
+in cui viene chiamata. In questo esempio coloriamo le teste delle
+note in base alla loro posizione sul rigo.
+
+@cindex funzione x11-color, esempio d'uso
+@cindex x11-color, esempio d'uso
+@cindex NoteHead, esempio di sovrascrittura
+@cindex proprietà color, impostare su procedura Scheme
+@cindex color, impostare su procedura Scheme
+
+@lilypond[quote,verbatim,ragged-right]
+#(define (color-notehead grob)
+ "Colora le teste di nota in base alla loro posizione sul rigo."
+ (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' {
+ % Fa sì che il colore sia preso dalla procedura color-notehead
+ \override NoteHead #'color = #color-notehead
+ a2 b | c2 d | e2 f | g2 a |
+}
+@end lilypond
+
+Altri esempi che mostrano l'uso di queste interfacce programmabili
+si trovano in @rextend{Callback functions}.
+
@c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*-
@ignore
- Translation of GIT committish: 2055f35c47a045a50a01ff4dba8524322cfc3b48
+ Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*-
@ignore
- Translation of GIT committish: 844e5387a003bde2c10389ad863184defe893b6c
+ Translation of GIT committish: 35d565c89b853ed87b1bb2feb59f6ce8bef6263b
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@warning{Le note che non si trovano all'interno della scala definita non
vengono trasformate.}
-@subsubheading Trasposizione modale
+@subsubsubheading Trasposizione modale
@cindex trasposizione modale
@cindex modale, trasposizione
}
@end lilypond
-@subsubheading Inversione modale
+@subsubsubheading Inversione modale
@cindex inversione modale
@cindex modale, inversione
@lilypond[verbatim,quote]
forget = #(define-music-function (parser location music) (ly:music?) #{
\accidentalStyle "forget"
- $music
+ #music
\accidentalStyle "modern"
#})
{
<!--
- Translation of GIT committish: 427bb2b004227f3afc7de10dfd896fc375cbc320
+ Translation of GIT committish: 55cabbf80554d813284d7f1dc0e08965e2b3644d
When revising a translation, copy the HEAD committish of the
version that you are working on. See TRANSLATION for details.
<!--
we depend on an external entity here, which we cannot control. Suppose
-we go from 2.15.x to 2.17.x and put the documentation under "v2.17".
+we go from 2.16.x to 2.17.x and put the documentation under "v2.17".
For some time, Google won't have the new location in its index, so the
-search would get nothing. It would be better to keep "v2.15" in the
-search for a while and have a redirection from "v2.15" to "v2.17".
+search would get nothing. It would be better to keep "v2.16" in the
+search for a while and have a redirection from "v2.16" to "v2.17".
-->
<form action="http://google.com/search"
method="get"
name="search"
- onSubmit="search.q.value='site:lilypond.org/doc/v2.15 '
+ onSubmit="search.q.value='site:lilypond.org/doc/v2.16 '
+ search.brute_query.value"
- onMouseMove="search.q.value='site:lilypond.org/doc/v2.15 '
+ onMouseMove="search.q.value='site:lilypond.org/doc/v2.16 '
+ search.brute_query.value"
- onKeyUp="search.q.value='site:lilypond.org/doc/v2.15 '
+ onKeyUp="search.q.value='site:lilypond.org/doc/v2.16 '
+ search.brute_query.value">
<input type="hidden" name="btnG" value="Cerca con Google">
<input type="text" name="brute_query" onfocus="this.value=''" value="Cerca">
-%% Translation of GIT committish: 5f0c17184930f3fbeb94ee5f59658d22c85de80f
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidocit = "
L'ambitus può essere specificato per voce. In tal caso occorre
spostarlo manualmente per evitare collisioni.
-%% Translation of GIT committish: 5f0c17184930f3fbeb94ee5f59658d22c85de80f
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidocit = "
Se si aggiunge l'incisore @code{Ambitus_engraver} al contesto @code{Staff} viene
creato un solo ambitus per il rigo, anche nel caso di righi che hanno più
-%% Translation of GIT committish: 5f0c17184930f3fbeb94ee5f59658d22c85de80f
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidocit = "
Questo esempio mostra come realizzare una trascrizione moderna di musica
gregoriana. La musica gregoriana non presenta suddivisione in misure né gambi;
-%% Translation of GIT committish: 5f0c17184930f3fbeb94ee5f59658d22c85de80f
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidocit = "
Quando si trascrive musica mensurale, può essere utile inserire all'inizio del
pezzo un incipit che indichi l'intonazione e il tempo originali. Le stanghette
-%% Translation of GIT committish: 5f0c17184930f3fbeb94ee5f59658d22c85de80f
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidocit = "
Questo modello presenta un modo di impostare un salmo anglicano. Mostra
anche come le strofe possono essere aggiunte come testo separato al di sotto
-%% Translation of GIT committish: 5f0c17184930f3fbeb94ee5f59658d22c85de80f
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidocit = "
La proprietà @code{shapeNoteStyles} può essere usata per definire vari
stili di teste di nota per ogni grado della scala (definita dall'armatura
-%% Translation of GIT committish: 5f0c17184930f3fbeb94ee5f59658d22c85de80f
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidocit = "
È possibile cambiare le impostazioni predefinite dell'intervallo
dell'ambitus.
-%% Translation of GIT committish: 5f0c17184930f3fbeb94ee5f59658d22c85de80f
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidocit = "
Questo frammento mostra come nascondere le alterazioni delle note con
legatura di valore all'inizio di un nuovo sistema
-%% Translation of GIT committish: 5f0c17184930f3fbeb94ee5f59658d22c85de80f
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidocit = "
Il codice seguente presenta un modo di impostare un inno in cui ogni verso
inizia e finisce con una misura parziale. Mostra anche come aggiungere delle
-%% Translation of GIT committish: 5f0c17184930f3fbeb94ee5f59658d22c85de80f
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidocit = "
Ecco un modello piuttosto complesso, per un gruppo jazz. Si noti che tutti
gli strumenti sono in @code{\\key c \\major}. Si tratta della tonalità
-%% Translation of GIT committish: 5f0c17184930f3fbeb94ee5f59658d22c85de80f
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidocit = "
Il comando @code{\\key} comunemente usato imposta la proprietà
@code{keySignature}, che fa parte del contesto @code{Staff}.
-%% Translation of GIT committish: 5f0c17184930f3fbeb94ee5f59658d22c85de80f
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidocit = "
Le teste di nota con nome della nota usano la proprietà @code{note-names}
dell'oggetto @code{NoteHead} per determinare cosa appaia
-%% Translation of GIT committish: 5f0c17184930f3fbeb94ee5f59658d22c85de80f
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidocit = "
Questo modello mostra come usare i contesti annidati @code{StaffGroup} e
@code{GrandStaff} per creare sottogruppi degli strumenti dello stesso
-%% Translation of GIT committish: 5f0c17184930f3fbeb94ee5f59658d22c85de80f
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidocit = "
Internamente, @code{\\ottava} imposta le proprietà @code{ottavation} (ad
esempio, su @code{8va} o @code{8vb}) e @code{middleCPosition}. Per
-%% Translation of GIT committish: 5f0c17184930f3fbeb94ee5f59658d22c85de80f
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidocit = "
Ecco un comune doppio pentagramma per pianoforte con un po' di note.
-%% Translation of GIT committish: 5f0c17184930f3fbeb94ee5f59658d22c85de80f
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidocit = "
Invece di destinare un rigo a parte alla linea melodica e al suo testo, è
possibile collocare il testo al centro di un doppio pentagramma per pianoforte.
-%% Translation of GIT committish: 5f0c17184930f3fbeb94ee5f59658d22c85de80f
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidocit = "
Ecco un tipico formato per canzoni: un rigo con linea melodica e testo,
e sotto l'accompagnamento per pianoforte.
-%% Translation of GIT committish: 5f0c17184930f3fbeb94ee5f59658d22c85de80f
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidocit = "
Secondo le norme tipografiche standard, un segno di bequadro viene
inserito prima di un diesis o di un bemolle se un'alterazione
-%% Translation of GIT committish: 5f0c17184930f3fbeb94ee5f59658d22c85de80f
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidocit = "
Quando l'armatura di chiave cambia, vengono inseriti automaticamente i
segni di bequadro per annulare le alterazioni di precedenti armature. Si
-%% Translation of GIT committish: 5f0c17184930f3fbeb94ee5f59658d22c85de80f
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidocit = "
Modello per coro SATB (quattro righi)
-%% Translation of GIT committish: 5f0c17184930f3fbeb94ee5f59658d22c85de80f
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidocit = "
Ecco il modello di un comune spartito semplificato (lead sheet): include
linea melodica, testo vocale, sigle degli accordi e relativi diagrammi
-%% Translation of GIT committish: 5f0c17184930f3fbeb94ee5f59658d22c85de80f
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidocit = "
Vuoi preparare uno spartito semplificato (lead sheet) con melodia e
accordi? La tua ricerca è finita!
-%% Translation of GIT committish: 5f0c17184930f3fbeb94ee5f59658d22c85de80f
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidocit = "
Questo piccolo modello presenta una semplice linea melodica con un testo. Copialo
e incollalo, aggiungi le note e le parole. Questo esempio disabilita la
-%% Translation of GIT committish: 5f0c17184930f3fbeb94ee5f59658d22c85de80f
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidocit = "
Questo modello molto semplice mette a disposizione un rigo con delle note ed è
quindi adatto per uno strumento non accompagnato o per un frammento
-%% Translation of GIT committish: 5f0c17184930f3fbeb94ee5f59658d22c85de80f
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidocit = "
Questo modello presenta un semplice quartetto d'archi. Impiega anche una
sezione @code{\\global} per definire il tempo e l'armatura di chiave.
-%% Translation of GIT committish: 5f0c17184930f3fbeb94ee5f59658d22c85de80f
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidocit = "
Il frammento di codice del @qq{Modello per quartetto d'archi} crea un bel
quartetto, ma cosa fare se si ha bisogno di creare le singole parti? Questo
-%% Translation of GIT committish: 5f0c17184930f3fbeb94ee5f59658d22c85de80f
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidocit = "
Questo esempio usa del codice Scheme per imporre delle modifiche
enarmoniche alle note che permettano di avere il numero minimo di
-%% Translation of GIT committish: 5f0c17184930f3fbeb94ee5f59658d22c85de80f
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidocit = "
Il comando @code{\\clef \"treble_8\"} equivale a impostare
@code{clefGlyph}, @code{clefPosition} (che regola la posizione
-%% Translation of GIT committish: 5f0c17184930f3fbeb94ee5f59658d22c85de80f
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidocit = "
Questo modello aggiunge una riduzione automatica per pianoforte alla tipica
partitura vocale SATB illustrata in @qq{Modello per complesso vocale}. Si
-%% Translation of GIT committish: 5f0c17184930f3fbeb94ee5f59658d22c85de80f
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidocit = "
Questo modello è fondamentalmente analogo al semplice modello @qq{Complesso vocale},
con l'unica differenza che qui tutti i versi del testo sono posizionati
-%% Translation of GIT committish: 5f0c17184930f3fbeb94ee5f59658d22c85de80f
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidocit = "
Questo modello crea una partitura che inizia con una sezione solistica e
prosegue in un ritornello a due voci. Illustra anche l'uso delle
-%% Translation of GIT committish: 5f0c17184930f3fbeb94ee5f59658d22c85de80f
+%% Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
texidocit = "
Ecco una tipica partitura corale a quattro parti, SATB. Se il complesso è più
ampio, è spesso comodo scrivere gli elementi comuni in un'unica sezione, che
@c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*-
@ignore
- Translation of GIT committish: da632500cfc55fcd3660f72b39c7dbcd7542f9bc
+ Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*-
@ignore
- Translation of GIT committish: f71ede90de06fdc16dad9ed75f38558efe819080
+ Translation of GIT committish: 44011e382e91f43fb6752b3fbbf8d8984131a565
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
<textobject>
<programlisting language="lilypond" role="fragment verbatim staffsize=16 ragged-right relative=2">
\context Staff \with @{
- \remove Time_signature_engraver
- \remove Clef_engraver@}
+ \remove "Time_signature_engraver"
+ \remove "Clef_engraver"@}
@{ c4( fis) @}
</programlisting>
</textobject>
@c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*-
@ignore
- Translation of GIT committish: c610645cc9a77cba1a2798280965db142d649ac5
+ Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
Configurare un server perché esegua LilyPond in una gabbia chroot è un lavoro
complesso. La procedura è spiegata sotto. Gli esempi si riferiscono a
-Ubuntu Linux e potrebbero richiedere l'uso di @code{sudo} in alcune situazioni.
+Ubuntu GNU/Linux e potrebbero richiedere l'uso di @code{sudo} in alcune situazioni.
@itemize
@c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*-
@ignore
- Translation of GIT committish: de9ddc8183a93f28d167af8f195be95e5fbc91b9
+ Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@code{make}, dato che quel che segue dà solo un'idea delle sue potenzialità.
I comandi per definire delle regole in un Makefile cambiano in base
-alla piattaforma; ad esempio le varie distribuzioni di Linux e
+alla piattaforma; ad esempio le varie distribuzioni di GNU/Linux e
MacOS usano @code{bash}, mentre Windows usa @code{cmd}. Nota che su
MacOS X è necessario configurare il sistema per usare l'interprete da linea
di comando. Di seguito alcuni Makefile di esempio, con versioni sia per
-Linux/MacOS sia per Windows.
+GNU/Linux/MacOS sia per Windows.
Il primo esempio è per una composizione per orchestra in quattro
movimenti e presenta una directory strutturata come segue:
@c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*-
@ignore
- Translation of GIT committish: 2aeac5e3815effa47427dad86d6be811c7b0d8a2
+ Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*-
@ignore
- Translation of GIT committish: 9d3a999b3ae3502633858c50185c0180949d405c
+ Translation of GIT committish: 4239aa2369f74d8e8622c2235154e9f064c394f7
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c ref is duplicated to avoid underlining ref as image.
@ref{Unix, @sourceimage{logo-linux,,,}
@sourceimage{logo-freebsd,,,}}
-@ref{Unix, Unix (Linux e FreeBSD)}
+@ref{Unix, Unix (GNU/Linux e FreeBSD)}
@item
@ref{MacOS X, @sourceimage{logo-macosx,,,}}
Per MacOS X 10.4 o superiori, con processore Intel (se hai dei dubbi,
usa questo).
-MacOS X 10.7 Lion non è ancora supportato.
@item
@sourceimage{logo-macosx,,,}
@downloadStableDarwinPPC
Per MacOS X 10.4 o superiori, con processori G3 e G4 (vecchi computer Apple).
-MacOS X 10.7 Lion non è ancora supportato.
@end itemize
@c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*-
@ignore
- Translation of GIT committish: d8d7985d6027b374744a7c88250b856c4ef7e619
+ Translation of GIT committish: 6cb3cdbe1895fd9cb466fa8b6338c1420065cb79
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@end ignore
+@divClass{column-center-top}
+@subheading Tunefl
+
+@sourceimage{logo-linux,,,}
+@sourceimage{logo-freebsd,,,}
+@sourceimage{logo-macosx,,,}
+@sourceimage{logo-windows,,,}
+
+@uref{http://www.tunefl.com}
+
+Con tunefl è possibile scrivere le partiture direttamente online,
+senza bisogno di installare lilypond sul proprio computer. Consente di
+sperimentare tutte le funzionalità del programma usando una comoda
+interfaccia web.
+
+@divEnd
+
+
@divClass{column-center-top}
@subheading LilyPondTool
@sourceimage{logo-macosx,,,}
@sourceimage{logo-windows,,,}
+@uref{http://elysium.thsoft.hu}
+
+Elysium è un ambiente di sviluppo integrato (IDE) per LilyPond ed è
+un'estensione dell'editor Eclipse. Ha una vista che affianca
+sorgente e spartito e permette un rapido feedback visivo e sonoro
+senza bisogno di cambiare i contesti. Include molti modelli con
+configurazione assistita.
+
+
@uref{http://www.gnu.org/software/emacs/}
Emacs è un editor di testo che ha la capacità di comprendere molti
che vogliono provarlo sono benvenuti.
@item
-@uref{http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml,NtEd},
-un editor di partiture basato sulla libreria
-@uref{http://www.cairographics.org,Cairo}, supporta in via sperimentale
-l'esportazione in formato LilyPond.
+@uref{http://enc2ly.sourceforge.net/en/,Enc2ly} è un programma GNU/Linux che
+converte uno spartito @uref{http://www.gvox.com/,Encore} in uno in formato
+LilyPond.
+
+@item
+@uref{https://github.com/hanwen/go-enc2ly,go-enc2ly} è uno strumento Go che
+converte i file @uref{http://www.gvox.com/,Encore} in formato LilyPond. È stato
+creato grazie al lavoro di ricerca e di reverse engineering di Felipe Castro, che
+ha modificato file .enc esistenti e li ha caricati usando la versione demo 4.55.
@item
@uref{http://www.musescore.org,MuseScore}, un editor di partiture, ha un'esportazione
in formato LilyPond incompleta ma è in attivo sviluppo.
+@item
+@uref{http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml,NtEd},
+un editor di partiture basato sulla libreria
+@uref{http://www.cairographics.org,Cairo}, supporta in via sperimentale
+l'esportazione in formato LilyPond.
+
@item
@uref{http://www.holmessoft.co.uk/homepage/software/NWC2LY/index.htm,
NW2LY} è un programma scritto in C# che converte una canzone di NoteWorthy
in formato LilyPond.
@item
-@uref{https://github.com/ciconia/ripple/blob/master/README.markdown,
-Ripple} è un programma che aiuta a creare partiture e parti; include un
-modo per mischiare insieme opere musicali diverse in una singola partitura
-o parte.
+@uref{https://github.com/ciconia/ripple/blob/master/README.markdown,Ripple} è
+un programma che aiuta a creare partiture e parti; include un modo per
+mischiare insieme opere musicali diverse in una singola partitura o parte.
@item
@uref{http://www.rosegardenmusic.com,Rosegarden}, un sequencer audio
@c KEEP LY
@lilypond[quote,verbatim,ragged-right]
\new Staff \with {
- \remove Staff_symbol_engraver
+ \remove "Staff_symbol_engraver"
}
\relative c' {
c4 d
@lilypond[quote,verbatim,ragged-right]
\new Staff <<
\new Voice \with {
- \consists Ambitus_engraver
+ \consists "Ambitus_engraver"
} {
\relative c'' {
\voiceOne
@lilypond[quote,verbatim,ragged-right]
\new Staff \with {
- \consists Ambitus_engraver
+ \consists "Ambitus_engraver"
}
<<
\new Voice {
\layout {
\context {
\Staff
- \consists Ambitus_engraver
+ \consists "Ambitus_engraver"
}
}
}
\consists "Note_heads_engraver"
\consists "Rhythmic_column_engraver"
\consists "Text_engraver"
- \consists Pitch_squash_engraver
+ \consists "Pitch_squash_engraver"
squashedPosition = #0
\override NoteHead #'style = #'slash
\override Stem #'transparent = ##t
それらの機能を提供するエングラーバを付け加える必要があります:
@example
-\consists Note_heads_engraver
-\consists Text_engraver
+\consists "Note_heads_engraver"
+\consists "Text_engraver"
@end example
しかしながら、音符の代わりにスラッシュを譜の中央線上に配置します:
@example
-\consists Pitch_squash_engraver
+\consists "Pitch_squash_engraver"
squashedPosition = #0
@end example
\type "Engraver_group"
\consists "Note_heads_engraver"
\consists "Text_engraver"
- \consists Pitch_squash_engraver
+ \consists "Pitch_squash_engraver"
squashedPosition = #0
\override NoteHead #'style = #'slash
\override Stem #'transparent = ##t
}
\score {
<<
- \new Staff { \firstHarmonic }
+ \new Staff {
+ \clef "treble_8"
+ \firstHarmonic
+ }
\new TabStaff { \firstHarmonic }
>>
}
}
\score {
<<
- \new Staff { \fretHarmonics }
+ \new Staff {
+ \clef "treble_8"
+ \fretHarmonics
+ }
\new TabStaff { \fretHarmonics }
>>
}
}
\score {
<<
- \new Staff { \ratioHarmonics }
+ \new Staff {
+ \clef "treble_8"
+ \ratioHarmonics
+ }
\new TabStaff { \ratioHarmonics }
>>
}
cb hc bd sn ss tomh tommh tomml toml tomfh tomfl s16 }
\score {
<< \new DrumStaff \with {
- \remove Bar_engraver
- \remove Time_signature_engraver
+ \remove "Bar_engraver"
+ \remove "Time_signature_engraver"
\override Stem #'transparent = ##t
\override Flag #'transparent = ##t
\override Stem #'Y-extent = ##f
<<
\new DrumStaff \with {
- \remove Bar_engraver
- \remove Time_signature_engraver
+ \remove "Bar_engraver"
+ \remove "Time_signature_engraver"
\override Stem #'transparent = ##t
\override Flag #'transparent = ##t
\override Stem #'Y-extent = ##f
<<
\new DrumStaff \with {
- \remove Bar_engraver
- \remove Time_signature_engraver
+ \remove "Bar_engraver"
+ \remove "Time_signature_engraver"
drumStyleTable = #congas-style
\override StaffSymbol #'line-count = #2
<<
\new DrumStaff \with {
- \remove Bar_engraver
- \remove Time_signature_engraver
+ \remove "Bar_engraver"
+ \remove "Time_signature_engraver"
\override StaffSymbol #'line-count = #2
drumStyleTable = #bongos-style
<<
\new DrumStaff \with{
- \remove Bar_engraver
+ \remove "Bar_engraver"
drumStyleTable = #percussion-style
\override StaffSymbol #'line-count = #1
- \remove Time_signature_engraver
+ \remove "Time_signature_engraver"
\override Stem #'transparent = ##t
\override Flag #'transparent = ##t
\override Stem #'Y-extent = ##f
}
}
\new Voice \with {
- \consists Pitch_squash_engraver
+ \consists "Pitch_squash_engraver"
} \relative c'' {
\improvisationOn
c4 c8 c c4 c8 c
@lilypond[quote,ragged-right,verbatim]
\new Voice \with {
- \remove Forbid_line_break_engraver
+ \remove "Forbid_line_break_engraver"
} \relative c'' {
<<
{ c2. \times 2/3 { c4 c c } c2. | }
@item @code{proportionalNotationDuration}
@item @code{uniform-stretching}
@item @code{strict-note-spacing}
-@item @code{\remove Separating_line_group_engraver}
+@item @code{\remove "Separating_line_group_engraver"}
@item @code{\override PaperColumn #'used = ##t}
@end itemize
}
\new Staff \with {
- \remove Separating_line_group_engraver
+ \remove "Separating_line_group_engraver"
} {
c'1
\break
@item @code{\override Beam #'breakable = ##t}
@item @code{\override Glissando #'breakable = ##t}
@item @code{\override TextSpanner #'breakable = ##t}
-@item @code{\remove Forbid_line_break_engraver in the Voice context}
+@item @code{\remove "Forbid_line_break_engraver" in the Voice context}
@end itemize
これらの設定は、装飾小音符のスペースを厳密にし、@c
\layout {
\context {
\Staff
- \remove Bar_engraver
+ \remove "Bar_engraver"
}
}
}
\score {
\new ChoirStaff <<
\new Staff
- \with { \remove Bar_engraver } {
+ \with { \remove "Bar_engraver" } {
\relative c'' {
a4 b c2 |
a4 b c2 |
\layout {
\context {
\Staff
- \remove Bar_engraver
+ \remove "Bar_engraver"
}
}
}
\layout {
\context {
\Staff
- \remove Bar_engraver
- \remove Time_signature_engraver
- \remove Clef_engraver
+ \remove "Bar_engraver"
+ \remove "Time_signature_engraver"
+ \remove "Clef_engraver"
}
}
}
<textobject>
<programlisting language="lilypond" role="fragment verbatim staffsize=16 ragged-right relative=2">
\context Staff \with @{
- \remove Time_signature_engraver
- \remove Clef_engraver@}
+ \remove "Time_signature_engraver"
+ \remove "Clef_engraver"@}
@{ c4( fis) @}
</programlisting>
</textobject>
@lilypond[quote,verbatim,ragged-right]
\new Staff \with {
- \remove Staff_symbol_engraver
+ \remove "Staff_symbol_engraver"
}
\relative c' {
c4 d
@lilypond[quote,verbatim,ragged-right]
\new Staff <<
\new Voice \with {
- \consists Ambitus_engraver
+ \consists "Ambitus_engraver"
} {
\relative c'' {
\voiceOne
@lilypond[quote,verbatim,ragged-right]
\new Staff \with {
- \consists Ambitus_engraver
+ \consists "Ambitus_engraver"
}
<<
\new Voice {
\layout {
\context {
\Staff
- \consists Ambitus_engraver
+ \consists "Ambitus_engraver"
}
}
}
}
ManualTwoMusic = \relative c' {
c16 b c8~ c16 b c g a8 g~ g16 g aes ees |
- f16 ees f d g aes g f ees d e8~ ees16 f ees d |
+ f16 ees f d g aes g f ees d ees8~ ees16 f ees d |
}
PedalOrganMusic = \relative c {
r8 c16 d ees d ees8~ ees16 a, b g c b c8 |
@tab direction, beam-thickness
@end multitable
-As we shall see shortly, the properties of different types of
-object are modified by different commands, so it is useful to
-be able to recognize the type of object from the names of its
-properties.
+As we shall see shortly, the properties of different types of object are
+modified by different commands, so it is useful to be able to recognize
+the types of objects and properties from their names.
@node Tweaking methods
to be tweaked, it is easier to go straight to the IR and search there.
This Slur page in the IR tells us first that Slur objects are created
-by the Slur_engraver. Then it lists the standard settings. Note
-these are @strong{not} in alphabetic order. Browse down them looking
-for a property that might control the heaviness of slurs, and you
-should find
+by the Slur_engraver. Then it lists the standard settings. Browse
+through them looking for a property that might control the heaviness of
+slurs, and you should find
@example
@code{thickness} (number)
engraver}. So slurs will be created in whichever context
the @code{Slur_engraver} is in. Follow the link to the
@code{Slur_engraver} page. At the very bottom it tells
-us that @code{Slur_engraver} is part of five Voice contexts,
+us that @code{Slur_engraver} is part of seven Voice contexts,
including the standard voice context, @code{Voice}, so our
guess was correct. And because @code{Voice} is one of the
lowest level contexts which is implied unambiguously by
@end lilypond
Finally, there is also a grey scale available as part of the
-X11 set of colors. These range from black, @code{'grey0'},
+X11 set of colors. These range from black, @code{'grey0},
to white, @code{'grey100}, in steps of 1. Let's illustrate
this by setting all the layout objects in our example to
various shades of grey:
@cindex objects, changing size of
Let us begin by looking again at the earlier example
-see @ref{Nesting music expressions}) which showed
+(see @ref{Nesting music expressions}) which showed
how to introduce a new temporary staff, as in an @rglos{ossia}.
@cindex alignAboveContext property, example
@node Within-staff objects
@subsection Within-staff objects
-We have already seen how the commands @code{\voiceXXX} affect
-the direction of slurs, ties, fingering and
-everything else which depends on the direction of the stems.
-These commands are essential when writing polyphonic music to
-permit interweaving melodic lines to be distinguished.
-But occasionally it may be necessary to override this automatic
-behavior. This can be done for whole sections of music or even
-for an individual note. The property which controls this
-behavior is the @code{direction} property of each layout object.
-We first explain what this does, and then introduce a number of
-ready-made commands which avoid your having to code explicit
+We have already seen how the commands @code{\voiceXXX} affect the
+direction of slurs, ties, fingering and everything else which depends on
+the direction of the stems -- see @ref{Explicitly instantiating voices}.
+These commands are essential when writing polyphonic music to permit
+interweaving melodic lines to be distinguished. But occasionally it may
+be necessary to override this automatic behavior. This can be done for
+whole sections of music or even for an individual note. The property
+which controls this behavior is the @code{direction} property of each
+layout object. We first explain what this does, and then introduce a
+number of ready-made commands which avoid your having to code explicit
overrides for the more common modifications.
Some layout objects like slurs and ties curve, bend or point
The command to revert to the default behavior is
@code{\textLengthOff}. Remember @code{\once} only works with
-@code{\override}, @code{\set}, @code{\revert} or @code{unset},
+@code{\override}, @code{\set}, @code{\revert} or @code{\unset},
so cannot be used with @code{\textLengthOn}.
@cindex markup text, allowing collisions
@cindex dynamics, tweaking placement
Dynamic markings will normally be positioned beneath the
-staff, but may be positioned above with the @code{dynamicUp}
+staff, but may be positioned above with the @code{\dynamicUp}
command. They will be positioned vertically relative to the
note to which they are attached, and will float below (or above)
all within-staff objects such as phrasing slurs and bar numbers.
note. To correct this we set @code{force-hshift}, which is a property
of @code{NoteColumn}, of this note to zero.
-In the second chord we prefer the F to line up with the A and the
+In the second chord we prefer the F to line up with the A-flat and the
lowest note to be positioned slightly right to avoid a collision of
stems. We achieve this by setting @code{force-hshift} in the
@code{NoteColumn} of the low D-flat to move it to the right by half
overall size of the output.
@example
-%%% definitions.ily
+%%% web-publish.ily
mpdolce =
#(make-dynamic-script
#@{ \markup @{ \hspace #0
\layout {
\context {
\Staff
- \consists Custos_engraver
+ \consists "Custos_engraver"
}
}
\layout {
%indent = 1\cm
\context {\Voice
- \remove Ligature_bracket_engraver
- \consists Mensural_ligature_engraver
+ \remove "Ligature_bracket_engraver"
+ \consists "Mensural_ligature_engraver"
}
\context {\Staff
\remove "Time_signature_engraver"
\layout {
% indent = 1\cm
\context {\Voice
- \remove Ligature_bracket_engraver
- \consists Mensural_ligature_engraver
+ \remove "Ligature_bracket_engraver"
+ \consists "Mensural_ligature_engraver"
}
\context {\Staff
\remove "Time_signature_engraver"
\layout {
%indent = 1\cm
\context {\Voice
- \remove Ligature_bracket_engraver
- \consists Mensural_ligature_engraver
+ \remove "Ligature_bracket_engraver"
+ \consists "Mensural_ligature_engraver"
}
\context {\Staff
\remove "Time_signature_engraver"
}
\layout {
\context { \Voice
- \remove Ligature_bracket_engraver
- \consists Mensural_ligature_engraver
+ \remove "Ligature_bracket_engraver"
+ \consists "Mensural_ligature_engraver"
}
line-width=5\mm
}
}
\new Voice \with {
- \remove Forbid_line_break_engraver
+ \remove "Forbid_line_break_engraver"
} {
% measure 6
} <<
\new Voice \with {
- \remove Forbid_line_break_engraver
+ \remove "Forbid_line_break_engraver"
\override Stem #'direction = #up
\override Flag #'stroke-style = #"grace"
\override Stem #'font-size = #-3
}
\new Voice \with {
- \remove Forbid_line_break_engraver
+ \remove "Forbid_line_break_engraver"
\override Stem #'transparent = ##t
\override Flag #'transparent = ##t
\override Rest #'transparent = ##t
}
\new Voice \with {
- \remove Forbid_line_break_engraver
+ \remove "Forbid_line_break_engraver"
\override Stem #'direction = #down
\override Stem #'font-size = #-3
\override Flag #'stroke-style = #"grace"
}
\new Voice \with {
- \remove Forbid_line_break_engraver
+ \remove "Forbid_line_break_engraver"
\override Stem #'direction = #down
\override NoteHead #'transparent = ##t
\override NoteHead #'no-ledgers = ##t
* homophony::
* hook::
* hymn meter::
+* incomplete dominant seventh chord::
* interval::
* inversion::
* inverted interval::
S: ackord,
FI: sointu.
-Three or more tones sounding simultaneously. In traditional European music
+Two or more tones sounding simultaneously. In traditional European music
the base chord is a @emph{triad} consisting of two thirds. @emph{Major}
(major + minor third) as well as @emph{minor} (minor + major third) chords
may be extended with more thirds. Four-tone @emph{seventh chords} and
the middle third means their quality is ambivalent -- neither major nor
minor.
-@lilypond[quote,notime,line-width=13.0\cm]
+@lilypond[quote,notime]
<<
\new Staff {
\relative c'' {
"minor "
"diminished "
"augmented "
- "seventh-chord "
- "ninth-chord"
+ "seventh "
+ "ninth"
}
>>
@end lilypond
scale), subdominant (S, the chord on the fourth note), and dominant (D, the
chord on the fifth note). Others are considered to be variants of the base
chords.
-
-TODO: what does the @q{p} mean in Sp, Dp, Tp?
+A few examples among many others are the tonic, subdominant or dominant of
+the parallel minor scale, or the incomplete dominant seventh chord.
@lilypond[quote,notime,relative=2,line-width=13.0\cm]
+#(define-markup-command (diagonal-stroke layout props arg)
+ (markup?)
+ #:category font
+ #:properties ((font-size 0) (thickness 1.5) (extension 0.07))
+ (let*
+ ((thick (* (magstep font-size)
+ (ly:output-def-lookup layout 'line-thickness)))
+ (underline-thick (* thickness thick))
+ (markup (interpret-markup layout props arg))
+ (x1 (car (ly:stencil-extent markup X)))
+ (x2 (cdr (ly:stencil-extent markup X)))
+ (y1 (car (ly:stencil-extent markup Y)))
+ (y2 (cdr (ly:stencil-extent markup Y)))
+ (dx (* extension (- x2 x1)))
+ (dy (* extension (- y2 y1)))
+ (line (make-line-stencil underline-thick
+ (- x1 dx) (- y1 dy)
+ (+ x2 dx) (+ y2 dy))))
+ (ly:stencil-add markup line)))
<<
{
<g e c>1 <a f d> <b g e>
}
\lyrics {
T Sp Dp S D Tp
- \markup { D \translate #'(-2 . 0) | }
+ \markup { \concat { \diagonal-stroke D \super "7" } }
}
>>
@end lilypond
@seealso
-No cross-references.
+@ref{dominant}, @ref{incomplete dominant seventh chord},
+@ref{subdominant}, @ref{tonic}.
@node G
No cross-references.
+@node incomplete dominant seventh chord
+@section incomplete dominant seventh chord
+
+ES: ?,
+I: ?,
+F: ?,
+D: verkürzter Dominantseptakkord,
+NL: ?,
+DK: ?,
+S: ?,
+FI: ?.
+
+A dominant seventh chord where the root tone is removed.
+The remaining three tones build a diminished triad.
+
+@seealso
+@ref{chord}, @ref{dominant seventh chord}, @ref{functional harmony}.
+
+
@node interval
@section interval
and are called @emph{tritonus} because they consist of three whole tones.
The addition of such two intervals forms an octave.
-@lilypond[quote,notime,line-width=13.0\cm]
+@lilypond[quote]
<<
\context Voice \relative c'' {
% Prime or unison
@lilypond[quote,verbatim,ragged-right]
\new Staff \with {
- \remove Staff_symbol_engraver
+ \remove "Staff_symbol_engraver"
}
\relative c' {
c4 d
@lilypond[quote,verbatim,ragged-right]
\new Staff <<
\new Voice \with {
- \consists Ambitus_engraver
+ \consists "Ambitus_engraver"
} {
\relative c'' {
\voiceOne
@lilypond[quote,verbatim,ragged-right]
\new Staff \with {
- \consists Ambitus_engraver
+ \consists "Ambitus_engraver"
}
<<
\new Voice {
\layout {
\context {
\Staff
- \consists Ambitus_engraver
+ \consists "Ambitus_engraver"
}
}
}
<form action="http://google.com/search"
method="get"
name="search"
- onSubmit="search.q.value='site:lilypond.org +v2.14 '
+ onSubmit="search.q.value='site:lilypond.org +v2.16 '
+ search.brute_query.value"
- onMouseMove="search.q.value='site:lilypond.org +v2.14 '
+ onMouseMove="search.q.value='site:lilypond.org +v2.16 '
+ search.brute_query.value"
- onKeyUp="search.q.value='site:lilypond.org +v2.14 '
+ onKeyUp="search.q.value='site:lilypond.org +v2.16 '
+ search.brute_query.value">
<input type="hidden" name="btnG" value="Zoek met Google">
<input type="text" name="brute_query" onfocus="this.value=''" value="Zoek">
\layout {
\context {
\Staff
- \consists Custos_engraver
+ \consists "Custos_engraver"
\override Custos #'style = #'mensural
}
}
indent = 0.0
\context {
\Staff
- \remove Staff_symbol_engraver
- \remove Clef_engraver
- \remove Time_signature_engraver
+ \remove "Staff_symbol_engraver"
+ \remove "Clef_engraver"
+ \remove "Time_signature_engraver"
}
}
{
\layout @{
\context @{
\Voice
- \remove Ligature_bracket_engraver
- \consists Mensural_ligature_engraver
+ \remove "Ligature_bracket_engraver"
+ \consists "Mensural_ligature_engraver"
@}
@}
@end example
\layout {
\context {
\Voice
- \remove Ligature_bracket_engraver
- \consists Mensural_ligature_engraver
+ \remove "Ligature_bracket_engraver"
+ \consists "Mensural_ligature_engraver"
}
}
}
\consists "Note_heads_engraver"
\consists "Rhythmic_column_engraver"
\consists "Text_engraver"
- \consists Pitch_squash_engraver
+ \consists "Pitch_squash_engraver"
squashedPosition = #0
\override NoteHead #'style = #'slash
\override Stem #'transparent = ##t
the engravers which provide this functionality,
@example
-\consists Note_heads_engraver
-\consists Text_engraver
+\consists "Note_heads_engraver"
+\consists "Text_engraver"
@end example
but we only need this on the center line,
@example
-\consists Pitch_squash_engraver
+\consists "Pitch_squash_engraver"
squashedPosition = #0
@end example
\type "Engraver_group"
\consists "Note_heads_engraver"
\consists "Text_engraver"
- \consists Pitch_squash_engraver
+ \consists "Pitch_squash_engraver"
squashedPosition = #0
\override NoteHead #'style = #'slash
\override Stem #'transparent = ##t
@funindex \glissando
@funindex glissando
-A @notation{glissando} is created by attaching @code{\glissando}
+A @notation{glissando} is created by appending @code{\glissando}
to a note:
@lilypond[verbatim,quote,relative=2]
g2\glissando g'
c2\glissando c,
+\afterGrace f,1\glissando f'16
+@end lilypond
+
+A glissando can connect notes across staves:
+
+@lilypond[verbatim,quote]
+\new PianoStaff <<
+ \new Staff = "right" {
+ e'''2\glissando
+ \change Staff = "left"
+ a,,4\glissando
+ \change Staff = "right"
+ b''8 r |
+ }
+ \new Staff = "left" {
+ \clef bass
+ s1
+ }
+>>
+@end lilypond
+
+A glissando can connect notes in chords. If anything other than a
+direct one-to-one pairing of the notes in the two chords is required
+the connections between the notes are defined by setting
+@code{\glissandoMap}, where the notes of a chord are assumed to be
+numbered from zero in the order in which they appear in the input
+@file{.ly} file.
+
+@lilypond[verbatim,quote,relative=2]
+<c, e>1\glissando g' |
+<c, e>1\glissando |
+<g' b> |
+\break
+\set glissandoMap = #'((0 . 1) (1 . 0))
+<c, g'>1\glissando |
+<d a'> |
+\set glissandoMap = #'((0 . 0) (0 . 1) (0 . 2))
+c1\glissando |
+<d f a> |
+\set glissandoMap = #'((2 . 0) (1 . 0) (0 . 1))
+<f d a'>1\glissando |
+<c c'> |
@end lilypond
Different styles of glissandi can be created. For details, see
@ref{Line styles}.
+
@snippets
+@lilypondfile[verbatim,quote,texidoc,doctitle]
+{contemporary-glissando.ly}
@lilypondfile[verbatim,quote,texidoc,doctitle]
-{glissandi-can-skip-grobs.ly}
+{adding-timing-marks-to-long-glissandi.ly}
@lilypondfile[verbatim,quote,texidoc,doctitle]
-{contemporary-glissando.ly}
+{making-glissandi-breakable.ly}
@seealso
Music Glossary:
}
\score {
<<
- \new Staff { \firstHarmonic }
+ \new Staff {
+ \clef "treble_8"
+ \firstHarmonic
+ }
\new TabStaff { \firstHarmonic }
>>
}
}
\score {
<<
- \new Staff { \fretHarmonics }
+ \new Staff {
+ \clef "treble_8"
+ \fretHarmonics
+ }
\new TabStaff { \fretHarmonics }
>>
}
}
\score {
<<
- \new Staff { \ratioHarmonics }
+ \new Staff {
+ \clef "treble_8"
+ \ratioHarmonics
+ }
\new TabStaff { \ratioHarmonics }
>>
}
@code{#(ly:set-option 'point-and-click #f)}.
@item
-A @code{\header} block. This sets the global header block. This
-is the block containing the definitions for book-wide settings, like
-composer, title, etc.
+A @code{\header} block. This sets the global (i.e. the top of
+file) header block. This is the block containing the default
+settings of titling fields like composer, title, etc. for all
+books within the file (see @ref{Titles explained}).
@item
A @code{\score} block. This score will be collected with other
@rlearning{How LilyPond input files work}.
Notation Reference:
+@ref{Titles explained},
@ref{The \layout block}.
@menu
* Creating titles headers and footers::
-* Custom headers footers and titles::
+* Custom titles headers and footers::
* Creating footnotes::
* Reference to page numbers::
* Table of contents::
@subsection Creating titles headers and footers
@menu
-* Title blocks explained::
-* Default layout of book and score title blocks::
+* Titles explained::
+* Default layout of bookpart and score titles::
* Default layout of headers and footers::
@end menu
-@node Title blocks explained
-@unnumberedsubsubsec Title blocks explained
+@node Titles explained
+@unnumberedsubsubsec Titles explained
-@c TODO: figure out how \bookpart titles work
+Each @code{\book} block in a single input file produces a separate
+output file, see @ref{File structure}. Within each output file
+two types of titling areas are provided: @emph{Bookpart Titles} at
+the beginning of each bookpart and @emph{Score Titles} at the
+beginning of each score.
-There are two types of title blocks: the main title block that appears
-above of the first @code{\score} of a book, and individual title
-blocks that appear within each @code{\score} block. Text fields for
-both types are entered using a @code{\header} block.
+Values of titling fields such as @code{title} and @code{composer}
+are set in @code{\header} blocks. (For the syntax of @code{\header}
+blocks and a complete list of the fields available by default see
+@ref{Default layout of bookpart and score titles}). Both Bookpart
+Titles and Score Titles can contain the same fields, although by
+default the fields in Score Titles are limited to @code{piece} and
+@code{opus}.
-If the book only has a single score, the @code{\header} block may be
-placed inside or outside of the @code{\score} block.
+@code{\header} blocks may be placed in four different places to form
+a descending hierarchy of @code{\header} blocks:
-@warning{Remember when adding a @bs{}@code{header} block inside a
+@itemize
+
+@item
+At the top of the input file, before all @code{\book},
+@code{\bookpart}, and @code{\score} blocks.
+
+@item
+Within a @code{\book} block but outside all the @code{\bookpart} and
+@code{\score} blocks within that book.
+
+@item
+Within a @code{\bookpart} block but outside all @code{\score} blocks
+within that bookpart.
+
+@item
+After the music expression in a @code{\score} block.
+
+@end itemize
+
+The values of the fields filter down this hierarchy, with the values
+set higher in the hierarchy persisting unless they are over-ridden
+by a value set lower in the hierarchy, so:
+
+@itemize
+
+@item
+ A Bookpart Title is derived from fields set at the top of the input
+file, modified by fields set in the @code{\book} block, and further
+modified by fields set in the @code{\bookpart} block. The resulting
+values are used to print the Bookpart Title for that bookpart.
+
+@item
+A Score Title is derived from fields set at the top of the input
+file, modified by fields set in the @code{\book} block, further
+modified by fields set in the @code{\bookpart} block and finally
+modified by fields set in the @code{\score} block. The resulting
+values are used to print the Score Title for that score. Note,
+though, that only @code{piece} and @code{opus} fields are printed
+by default in Score Titles unless the @code{\paper} variable,
+@code{print-all-headers}, is set to @code{#t}.
+
+@end itemize
+
+@warning{Remember when placing a @bs{}@code{header} block inside a
@bs{}@code{score} block, that the music expression must come before the
@bs{}@code{header} block.}
+It is not necessary to provide @code{\header} blocks in all four
+places: any or even all of them may be omitted. Similarly, simple
+input files may omit the @code{\book} and @code{\bookpart} blocks,
+leaving them to be created implicitly.
+
+If the book has only a single score, the @code{\header} block should
+normally be placed at the top of the file so that just a Bookpart
+Title is produced, making all the titling fields available for use.
+
+If the book has multiple scores a number of different arrangements
+of @code{\header} blocks are possible, corresponding to the various
+types of musical publications. For example, if the publication
+contains several pieces by the same composer a @code{\header} block
+placed at the top of the file specifying the book title and the
+composer with @code{\header} blocks in each @code{\score} block
+specifying the @code{piece} and/or @code{opus} would be most
+suitable, as here:
+
@lilypond[papersize=a5,quote,verbatim,noragged-right]
\header {
title = "SUITE I."
}
@end lilypond
-Text fields from the main title block of a book can be displayed in all
-@code{\score} blocks, or manually suppressed:
+More complicated arrangements are possible. For example, text
+fields from the @code{\header} block in a book can be displayed in
+all Score Titles, with some fields over-ridden and some manually
+suppressed:
@lilypond[papersize=a5,quote,verbatim,noragged-right]
\book {
@seealso
Notation Reference:
@ref{File structure},
-@ref{Custom layout for title blocks}.
+@ref{Default layout of bookpart and score titles},
+@ref{Custom layout for titles}.
-@node Default layout of book and score title blocks
-@unnumberedsubsubsec Default layout of book and score title blocks
+@node Default layout of bookpart and score titles
+@unnumberedsubsubsec Default layout of bookpart and score titles
This example demonstrates all @code{\header} variables:
@end itemize
-To change the default layout see @ref{Custom layout for title blocks}.
+To change the default layout see @ref{Custom layout for titles}.
@cindex breakbefore
@rlearning{How LilyPond input files work},
Notation Reference:
-@ref{Custom layout for title blocks},
+@ref{Custom layout for titles},
@ref{File structure}.
Installed Files:
To remove the @code{tagline} set the value to @code{##f}.
-@node Custom headers footers and titles
-@subsection Custom headers footers and titles
+@node Custom titles headers and footers
+@subsection Custom titles headers and footers
@c TODO: somewhere put a link to header spacing info
@c (you'll have to explain it more in NR 4).
@menu
-* Custom text formatting for title blocks::
-* Custom layout for title blocks::
+* Custom text formatting for titles::
+* Custom layout for titles::
* Custom layout for headers and footers::
@end menu
-@node Custom text formatting for title blocks
-@unnumberedsubsubsec Custom text formatting for title blocks
+@node Custom text formatting for titles
+@unnumberedsubsubsec Custom text formatting for titles
Standard @code{\markup} commands can be used to customize any header,
footer and title text within the @code{\header} block.
@ref{Formatting text}.
-@node Custom layout for title blocks
-@unnumberedsubsubsec Custom layout for title blocks
+@node Custom layout for titles
+@unnumberedsubsubsec Custom layout for titles
@cindex bookTitleMarkup
@cindex scoreTitleMarkup
The placement of titles when using the default values of these
@code{\markup} variables is shown in the examples in
-@ref{Default layout of book and score title blocks}.
+@ref{Default layout of bookpart and score titles}.
The default settings for @code{scoreTitleMarkup} as defined in
@file{ly/titling-init.ly} are:
}
@end lilypond
-Text fields normally reserved for the main title block can be included
-in individual score title blocks with the @code{print-all-headers}
+Text fields not normally effective in score @code{\header} blocks
+can be printed in the Score Title area if @code{print-all-headers} is
placed inside the @code{\paper} block. A disadvantage of using this
-method is that the text fields that are intended specifically for the
-top-level @code{\header} block need to be manually suppressed in every
-@code{\score} block. See @ref{Title blocks explained}.
+method is that text fields that are intended specifically for the
+Bookpart Title area need to be manually suppressed in every
+@code{\score} block. See @ref{Titles explained}.
To avoid this, add the desired text field to the @code{scoreTitleMarkup}
definition. In the following example, the @code{composer} text field
@seealso
Notation Reference:
-@ref{Title blocks explained}.
+@ref{Titles explained}.
@node Custom layout for headers and footers
@seealso
Notation Reference:
-@ref{Title blocks explained},
-@ref{Default layout of book and score title blocks}.
+@ref{Titles explained},
+@ref{Default layout of bookpart and score titles}.
Installed Files:
@file{../ly/titling-init.ly}.
@node Creating footnotes
@subsection Creating footnotes
-There are two types of footnotes that can be created; automatic
-footnotes and manual footnotes.
+@cindex footnotes
+
+Footnotes may be used in many different situations. In all cases,
+a @q{footnote mark} is placed as a reference in text or music, and
+the corresponding @q{footnote text} appears at the bottom of the
+same page.
+
+Footnotes within music expressions and footnotes in stand-alone text
+outside music expressions are created in different ways.
@menu
-* Footnotes overview::
-* Automatic footnotes::
-* Manual footnotes::
+* Footnotes in music expressions::
+* Footnotes in stand-alone text::
@end menu
-@node Footnotes overview
-@unnumberedsubsubsec Footnotes overview
+@node Footnotes in music expressions
+@unnumberedsubsubsec Footnotes in music expressions
+
+@cindex footnotes in music expressions
+@funindex \footnote
+
+@subsubsubheading Music footnotes overview
-Automatic footnotes create incrementing numerical indicators and manual
-footnotes allow a custom indicator to be created instead. Footnotes are
-normally applied like @code{\tweak} and consequently can be placed
-directly on grobs (graphical objects) created by most music elements and
-post-events. In cases where this does not work (like with bar lines and
-meter changes, where the grobs are produced as a consequence of property
-changes), footnotes can also be specified as a standalone music event
-affecting all grobs of a given type at a particular time step.
+Footnotes in music expressions fall into two categories:
-The full form of a footnote command is
+@table @emph
+@item Event-based footnotes
+are attached to a particular event. Examples
+for such events are single notes, notes inside a chord, articulations
+(like beams, slurs, fingering indications, accents, dynamics) and
+lyrics.
+
+@item Time-based footnotes
+are bound to a particular point of time in a
+musical context. Some commands like @code{\time} and @code{\clef}
+don't actually use events for creating objects like time signatures
+and clefs. Neither does a chord create an event of its own: its
+stem or flag is created at the end of a time step (nominally through
+one of the note events inside). A time-based footnote allows
+annotating such layout objects without referring to an event.
+
+@end table
+
+The full form of a footnote command for both Event- and Time-based
+footnotes is
@example
-\footnote @var{mark} @var{offset} @var{grob-name} @var{footnote}
-@var{music}
+[@var{direction}] \footnote [@var{mark}] @var{offset} [@var{grob-name}] @var{footnote} @var{music}
@end example
-The elements are as follows:
+The elements are:
@table @var
+
+@item direction
+If (and only if) the @code{\footnote} is being applied to a
+post-event or articulation, it must be preceded with a direction
+indicator (@code{-, _, ^}) in order to attach @var{music} (with
+a footnote mark) to the preceding note or rest.
+
@item mark
is a markup or string specifying the footnote mark which is used for
-both marking the reference point as well as the footnote itself at the
-bottom of the page. It can be omitted (or equivalently replaced with
-@code{\default}) in which case a number in sequence will be generated.
+marking both the reference point and the footnote itself at the
+bottom of the page. It may be omitted (or equivalently replaced with
+@code{\default}) in which case a number in sequence will be generated
+automatically. Such numerical sequences restart on each page
+containing a footnote.
+
@item offset
-is a number pair such as @samp{#(2 . 1)} specifying the X and Y offset
-from the reference point where the mark will be placed.
+is a number pair such as @samp{#(2 . 1)} specifying the X and
+Y@tie{}offsets in units of staff-spaces from the boundary of the
+object where the mark should be placed. Positive values of the
+offsets are taken from the right/top edge, negative values from the
+left/bottom edge and zero implies the mark is centered on the edge.
+
@item grob-name
-specifies a type of grob to mark (like @samp{#'Flag}). If it is given,
-the respective grob will be used as a reference point even in case that
-its @q{cause} is not the referenced @var{music} itself but a grob
-created from it. It can be omitted (or replaced with @code{\default}),
-and then only a directly created grob will be annotated.
+specifies a type of grob to mark (like @samp{#'Flag}). If it is
+given, a grob of that type associated with the referenced @var{music}
+will be used as the reference point. It can be omitted (or replaced
+with @code{\default}) if the footnote mark is to be attached to the
+directly created grob in @var{music}.
+
@item footnote
-This markup or string specifies the footnote text to use at the bottom
-of the page.
+is the markup or string specifying the footnote text to use at the
+bottom of the page.
+
@item music
-This is the item, a music event or chord constituent or post-event, that
-is being annotated. While it cannot be omitted, it @emph{can} be
-replaced by @code{\default} in which case the footnote is not attached
-to a music expression in particular, but rather to a moment of time. It
-is mandatory in this case to use the @var{grob-name} argument for
+is the music event or chord constituent or post-event that is being
+annotated. While it cannot be omitted, it can be replaced by
+@code{\default} in which case the footnote is not attached to a music
+expression in particular, but rather to a moment of time. It is
+mandatory in this case to use the @var{grob-name} argument for
selecting an affected grob type, like @samp{#'TimeSignature}.
+
@end table
-Like with @code{\tweak}, if your @code{\footnote} is applied to a
-post-event or articulation, it will itself have to be preceded with
-@code{-} to make the parser attach the result to the preceding note or
-rest.
+@subsubsubheading Event-based footnotes
-@node Automatic footnotes
-@unnumberedsubsubsec Automatic footnotes
+@cindex footnotes, event-based
-Automatic footnotes take four arguments: the @samp{(x . y)} position of
-the indicator, the optional @var{grob-name} specifying the layout object
-to be annotated, the @var{footnote} markup itself that will appear at
-the bottom of the page, and of course the @var{music} to attach the
-footnote to.
+The simplest form of event-based footnotes is just
-@lilypond[verbatim,quote,ragged-right,papersize=a8]
+@example
+\footnote @var{offset} @var{footnote} @var{music}
+@end example
+
+This kind of footnote is attached to a layout object directly caused
+by the event corresponding to @var{music}.
+
+@lilypond[quote,verbatim,papersize=a8landscape]
\book {
\header { tagline = ##f }
- \relative c' {
- \footnote #'(0.5 . -2)
- \markup { The first note }
- a'4 b8
- \footnote #'(0.5 . 1) #'Flag
- \markup { The third note }
- e\noBeam c4 d4
+ \relative c'' {
+ \footnote #'(-1 . 3) "A note" a4
+ a4
+ \footnote #'(2 . 2) "A rest" r4
+ a4
}
}
@end lilypond
-Chorded notes pose no particular difficulty:
+If the footnote is to be attached to a post-event or articulation
+the @code{\footnote} command must be preceded by a direction
+indicator, @code{-, _, ^}, and followed by the post-event or
+articulation to be annotated as the @var{music} argument. In this
+form the @code{\footnote} can be considered to be simply a copy of
+its last argument with a footnote mark attached to it.
-@lilypond[verbatim,quote,ragged-right,papersize=a8]
+@lilypond[quote,verbatim,papersize=a8landscape]
\book {
\header { tagline = ##f }
- \relative c' {
- <
- \footnote #'(1 . -1.25) "Here is a C" c
- \footnote #'(2 . -0.25) \markup { \italic "An E-flat" } es
- \footnote #'(2 . 3) \markup { \bold "This is a G" } g
- >1
+ \relative c'' {
+ a4_\footnote #'(0 . -1) "A slur forced down" (
+ b8^\footnote #'(1 . 0.5) "A manual beam forced up" [
+ b8 ]
+ c4 )
+ c-\footnote #'(1 . 1) "Tenuto" --
}
}
@end lilypond
-@warning {When footnotes have the same vertical position, the footnotes
-are printed in order of descendancy; the higher the footnote, the
-higher up in the list.}
-
-Here are some more examples of footnoted grobs, also showing the
-relative position of the footnotes to the tagline and copyright.
+Custom marks can be used as alternatives to numerical marks, and the
+annotation line joining the marked object to the mark can be
+suppressed:
-@lilypond[verbatim,quote,ragged-right,papersize=a8]
+@lilypond[quote,verbatim,papersize=a8landscape]
\book {
- \header { copyright = \markup { "Copyright 1970" } }
+ \header { tagline = ##f }
\relative c' {
- a'4-\footnote #'(-3 . 0) \markup { \bold Forte } \f
- -\footnote #'(0 . 1.5) \markup { A slur } (
- b8)-\footnote #'(0 . -2) \markup { Beam } [ e]
- \footnote #'(1 . -1) #'Stem
- \markup { \teeny { This is a stem } }
- c4
- \footnote #'(0 . 0.5) #'AccidentalCautionary
- \markup \italic { A cautionary accidental }
- \footnote #'(1 . 1) "The note itself"
- dis?4-\footnote #'(0.5 . -0.5) \markup \italic { Slow Down }
- _"rit."
+ \footnote "*" #'(0.5 . -2) \markup { \italic "* The first note" }
+ a'4 b8
+ \footnote \markup { \super "$" } #'(0.5 . 1)
+ \markup { \super "$" \italic " The second note" }
+ e c4
+ \once \override Score.FootnoteItem #'annotation-line = ##f
+ b-\footnote \markup \tiny "+" #'(0.1 . 0.1)
+ \markup { \super "+" \italic " Editorial" } \p
}
}
@end lilypond
-For top-level @code{\markup}, the @code{\auto-footnote} command is
-required:
+More examples of custom marks are shown in
+@ref{Footnotes in stand-alone text}.
-@lilypond[verbatim,quote,ragged-right,papersize=a8]
+Marking an entire chord in this manner is not possible since a
+chord does not produce an event separate from that of its chord
+constituents, but the constituents themselves can be marked.
+
+If the layout object being footmarked is @emph{indirectly} caused by
+an event (like an @code{Accidental} or @code{Stem} caused by a
+@code{NoteHead}), an additional symbol argument, the @var{grob-name},
+is required before the footnote text:
+
+@lilypond[quote,verbatim,papersize=a8landscape]
\book {
\header { tagline = ##f }
- \markup { \auto-footnote "A simple tune" \italic "By me" }
- \relative c' {
- a'4 b8 e c4 d
+ \relative c'' {
+ % footnotes may be added to chord constituents
+ < \footnote #'(-1 . -3) #'Accidental "Another flat" aes
+ c
+ \footnote #'(-1 . 0.5) #'Accidental "A flat" ees
+ >2
+ \footnote #'(-1 . 2) #'Stem "A stem" ees2
}
}
@end lilypond
+@warning {When footnotes are attached to several musical elements at
+the same musical moment, the footnotes are numbered from the higher
+to the lower elements as they appear in the printed output, not in
+the order in which they are written in the input stream.}
-@node Manual footnotes
-@unnumberedsubsubsec Manual footnotes
+@subsubsubheading Time-based footnotes
-@cindex footnotes, manual
+@cindex footnotes, time-based
-Manually marked footnotes take an additional first markup argument
-@var{mark} for making the reference mark. In contrast to automatically
-generated footnote marks, they will not appear before the @var{footnote}
-markup at the bottom of the page: establishing the visual connection is
-left to the user. LilyPond will only make sure that the corresponding
-markup appears on the bottom of the same page.
+Layout objects like clefs and key change signatures are mostly caused
+as a consequence of changed properties rather than actual events.
+Others, like bar lines and bar numbers, are a direct consequence of
+timing. For this reason, footnotes on such objects have to be based
+on their musical timing. Time-based footnotes are also preferable
+when marking features like stems and beams on @emph{chords}: while
+such per-chord features are nominally assigned to @emph{one} event
+inside the chord, relying on a particular choice would be imprudent.
-Other than that, the use is identical to that of automatically numbered
-footnotes.
+A time-based footnote is written in the same manner as an event-based
+footnote, except that @code{\default} is used in place of music
+indicating an event. The layout object in question should always be
+explicitly specified for time-based footnotes to avoid getting marks
+on unexpected objects.
-@lilypond[verbatim,quote,ragged-right,papersize=a8]
+@lilypond[quote,verbatim,papersize=a8landscape]
\book {
\header { tagline = ##f }
- \relative c' {
- \footnote
- "1" #'(0.5 . -2)
- \markup { \italic "1. The first note" }
- a'4
- b8
- \footnote
- \markup { \bold "2" } #'(0.5 . 1)
- "2. The second note"
- e
- c4
- d-\footnote "3" #'(0.5 . -1) "3. Piano" \p
+ \relative c'' {
+ r1 |
+ \footnote #'(-0.5 . -1) #'TimeSignature "Meter change" \default
+ \time 3/4
+ \footnote #'(1 . -1) #'Stem "Chord stem" \default
+ <c e g>4 q q
+ \footnote #'(-0.5 . 1) #'BarLine "Bar line" \default
+ q q
+ \footnote #'(0.5 . -1) #'KeySignature "Key change" \default
+ \key c\minor
+ q
}
}
@end lilypond
-To annotate chorded notes with manual footnotes:
+
+@node Footnotes in stand-alone text
+@unnumberedsubsubsec Footnotes in stand-alone text
+
+@cindex footnotes in stand-alone text
+
+These are for use in markup outside of music expressions. They do
+not have a line drawn to their point of reference: their marks simply
+follow the referenced markup. Marks can be inserted automatically,
+in which case they are numerical. Alternatively, custom marks can be
+provided manually.
+
+Footnotes to stand-alone text with automatic and custom marks are
+created in different ways.
+
+@subsubsubheading Footnotes in stand-alone text with automatic marks
+
+The syntax of a footnote in stand-alone text with automatic marks is
+
+@example
+\markup @{ ... \auto-footnote @var{text} @var{footnote} ... @}
+@end example
+
+The elements are:
+
+@table @var
+
+@item text
+is the markup or string to be marked.
+
+@item footnote
+is the markup or string specifying the footnote text to use at the bottom
+of the page.
+
+@end table
+
+For example:
@lilypond[verbatim,quote,ragged-right,papersize=a8]
\book {
\header { tagline = ##f }
+ \markup {
+ "A simple"
+ \auto-footnote "tune" \italic " By me"
+ "is shown below. It is a"
+ \auto-footnote "recent" \italic " Aug 2012"
+ "composition."
+ }
\relative c' {
- <
- \footnote "1" #'(1 . -1.25) "1. C" c
- \footnote
- \markup { \bold "b" } #'(2 . -0.25) "b. E-flat" es
- \footnote "3" #'(2 . 3) \markup { \italic "iii. G" } g
- >1
+ a'4 b8 e c4 d
}
}
@end lilypond
-@warning {When footnotes have the same vertical position, the footnotes
-are printed in order of descendancy; the higher the footnote, the
-higher up in the list.}
+@subsubsubheading Footnotes in stand-alone text with custom marks
-Here are some examples of manually footnoted grobs, also showing
-the relative position of the footnotes to the tagline and copyright
+The syntax of a footnote in stand-alone text with custom marks is
+
+@example
+\markup @{ ... \footnote @var{mark} @var{footnote} ... @}
+@end example
+
+The elements are:
+
+@table @var
+
+@item mark
+is a markup or string specifying the footnote mark which is used for
+marking the reference point. Note that this mark is @emph{not}
+inserted automatically before the footnote itself.
+
+@item footnote
+is the markup or string specifying the footnote text to use at the
+bottom of the page, preceded by the @var{mark}.
+
+@end table
+
+Any easy-to-type character such as * or + may be used as a mark, as
+shown in @ref{Footnotes in music expressions}. Alteratively, ASCII
+aliases may be used (see @ref{ASCII aliases}):
@lilypond[verbatim,quote,ragged-right,papersize=a8]
\book {
+ \paper { #(include-special-characters) }
\header { tagline = ##f }
+ \markup {
+ "A simple tune"
+ \footnote "*" \italic "* By me"
+ "is shown below. It is a recent"
+ \footnote \super † \concat {
+ \super † \italic " Aug 2012"
+ }
+ "composition."
+ }
\relative c' {
- a'4-\footnote
- \markup { \teeny 1 } #'(-3 . 0)
- \markup { 1. \bold Forte } \f
- -\footnote
- \markup { \teeny b } #'(0 . 1.5)
- \markup { b. A slur } (
- b8)-\footnote
- \markup { \teeny 3 } #'(0 . -2)
- \markup { 3. Beam } [
- e]
- \footnote
- \markup { 4 } #'(1 . -1) #'Stem
- \markup { \bold 4. { This is a stem } }
- c4
- \footnote
- \markup \concat \teeny { "sharp (v)" }
- #'(0 . 0.5) #'AccidentalCautionary
- \markup \italic { v. A cautionary accidental }
- dis?4-\footnote
- \markup \concat \teeny { "a" } #'(0.5 . -0.5)
- \markup \italic { a. Slow Down } _"rit."
- \footnote
- \markup { \teeny \musicglyph #"rests.4" }
- #'(1.5 . -0.25)
- \markup { \null } \breathe
+ a'4 b8 e c4 d
}
}
@end lilypond
-To manually footnote a top-level @code{\markup}:
+Unicode character codes may also be used to specify marks
+(see @ref{Unicode}):
@lilypond[verbatim,quote,ragged-right,papersize=a8]
\book {
\header { tagline = ##f }
- \markup { "A simple tune" \footnote "*" \italic "* By me" }
+ \markup {
+ "A simple tune"
+ \footnote \super \char##x00a7 \concat {
+ \super \char##x00a7 \italic " By me"
+ }
+ "is shown below. It is a recent"
+ \footnote \super \char##x00b6 \concat {
+ \super \char##x00b6 \italic " Aug 2012"
+ }
+ "composition."
+ }
\relative c' {
- a'4 b8 e c4 d4
+ a'4 b8 e c4 d
}
}
@end lilypond
@rlearning{Objects and interfaces}.
Notation Reference:
+@ref{ASCII aliases},
@ref{Balloon help},
-@ref{Page layout},
+@ref{List of special characters},
@ref{Text marks},
@ref{Text scripts},
-@ref{Titles and headers}.
+@ref{Unicode}.
Internals Reference:
@rinternals{FootnoteEvent},
@rinternals{Footnote_engraver}.
@knownissues
-Multiple footnotes for the same page can only be stacked, one on top of
-the other, and cannot be printed on the same line. Footnotes cannot be
-attached to @code{MultiMeasureRests} and may collide with @code{Staff},
-@code{\markup} objects and other @code{footnote} annotations. When
-using any manual @code{footnote} command a @code{\paper} block
-containing @code{footnote-auto-number = ##f} is required.
+Multiple footnotes for the same page can only be stacked, one on top
+of the other; they cannot be printed on the same line.
+
+Footnotes cannot be attached to @code{MultiMeasureRests} or
+automatic beams and footnote marks may collide with staves,
+@code{\markup} objects, other footnote marks and annotation lines.
@node Reference to page numbers
been brought into the main file, so the file names they specify
must all be relative to the directory containing the main file,
not the directory containing the included file. However,
-this behavior can be changed by passing the option
+this behavior can be changed globally by passing the option
@option{-drelative-includes} option at the command line
(or by adding @code{#(ly:set-option 'relative-includes #t)}
-at the top of the main input file). With @code{relative-includes}
-set, the path for each @code{\include} command will be taken
-relative to the file containing that command. This behavior is
-recommended and it will become the default behavior in a future
-version of lilypond.
+at the top of the main input file).
+
+When @code{relative-includes} is set to @code{#t}, the path for each
+@code{\include} command will be taken relative to the file containing
+that command. This behavior is recommended and it will become the
+default behavior in a future version of lilypond.
+
+Files relative to the main directory and files relative to some other
+directory may both be @code{\include}d by setting
+@code{relative-includes} to @code{#t} or @code{#f} at appropriate
+places in the files. For example, if a general library, libA, has
+been created which itself uses sub-files which are @code{\include}d
+by the entry file of that library, those @code{\include} statements
+will need to be preceded by
+@code{#(ly:set-option #relative-includes #t)} so they are interpreted
+correctly when brought into the main @code{.ly} file, like this:
+
+@example
+libA/
+ libA.ly
+ A1.ly
+ A2.ly
+ ...
+@end example
+
+@noindent
+then the entry file, @code{libA.ly}, will contain
+
+@example
+#(ly:set-option 'relative-includes #t)
+\include "A1.ly"
+\include "A2.ly"
+...
+% return to default setting
+#(ly:set-option 'relative-includes #f)
+@end example
+
+Any @file{.ly} file can then include the entire library simply with
+
+@example
+\include "~/libA/libA.ly"
+@end example
+
+More complex file structures may be devised by switching at
+appropriate places.
Files can also be included from a directory in a search path
specified as an option when invoking LilyPond from the command
@lilypondfile[verbatim,quote]
{cross-staff-stems.ly}
+For the time being, this engraver can not be specified by its name in
+double quotes, but rather prefixing its name with a hash symbol
+@code{#}, due to the way it is implemented.
+
@snippets
@lilypondfile[verbatim,quote,texidoc,doctitle]
{indicating-cross-staff-chords-with-arpeggio-bracket.ly}
cb hc bd sn ss tomh tommh tomml toml tomfh tomfl s16 }
\score {
<< \new DrumStaff \with {
- \remove Bar_engraver
- \remove Time_signature_engraver
+ \remove "Bar_engraver"
+ \remove "Time_signature_engraver"
\override Stem #'transparent = ##t
\override Flag #'transparent = ##t
\override Stem #'Y-extent = ##f
<<
\new DrumStaff \with {
- \remove Bar_engraver
- \remove Time_signature_engraver
+ \remove "Bar_engraver"
+ \remove "Time_signature_engraver"
\override Stem #'transparent = ##t
\override Flag #'transparent = ##t
\override Stem #'Y-extent = ##f
<<
\new DrumStaff \with {
- \remove Bar_engraver
- \remove Time_signature_engraver
+ \remove "Bar_engraver"
+ \remove "Time_signature_engraver"
drumStyleTable = #congas-style
\override StaffSymbol #'line-count = #2
<<
\new DrumStaff \with {
- \remove Bar_engraver
- \remove Time_signature_engraver
+ \remove "Bar_engraver"
+ \remove "Time_signature_engraver"
\override StaffSymbol #'line-count = #2
drumStyleTable = #bongos-style
<<
\new DrumStaff \with{
- \remove Bar_engraver
+ \remove "Bar_engraver"
drumStyleTable = #percussion-style
\override StaffSymbol #'line-count = #1
- \remove Time_signature_engraver
+ \remove "Time_signature_engraver"
\override Stem #'transparent = ##t
\override Flag #'transparent = ##t
\override Stem #'Y-extent = ##f
@warning{Any note that does not lie within the given scale will be
left untransformed.}
-@subsubheading Modal transposition
+@subsubsubheading Modal transposition
@cindex modal transposition
@cindex transposition, modal
}
@end lilypond
-@subsubheading Modal inversion
+@subsubsubheading Modal inversion
@cindex modal inversion
@cindex inversion, modal
@funindex \overrideTimeSignatureSettings
In addition to setting the printed time signature, the @code{\time}
-command also sets time-signature-based default values for the properties
-@code{baseMoment}, @code{beatStructure}, and @code{beamExceptions}. The
-predefined default values for these properties can be found in
-@file{scm/time-signature-settings.scm}. The existing default values can
-be changed, or new default values can be added:
+command also sets the values of the time-signature-based properties
+@code{baseMoment}, @code{beatStructure}, and @code{beamExceptions}.
+The predefined default values for these properties can be found in
+@file{scm/time-signature-settings.scm}.
+
+The default value of @code{beatStructure} can be overridden in the
+@code{\time} command itself by supplying it as the optional first
+argument:
+
+@lilypond[quote,verbatim]
+\score {
+ \new Staff {
+ \relative c' {
+ \time #'(2 2 3) 7/8
+ \repeat unfold 7 { c8 } |
+ \time #'(3 2 2) 7/8
+ \repeat unfold 7 { c8 } |
+ }
+ }
+}
+@end lilypond
+
+Alternatively, the default values of all these time-signature-based
+variables, including @code{baseMoment} and @code{beamExceptions},
+can be set together. The values can be set independently for several
+different time signatures. The new values take effect when a
+subsequent @code{\time} command with the same value of the time
+signature is executed:
@lilypond[quote,verbatim]
\score {
@item
@code{@var{timeSignatureFraction}}, a fraction describing the
-time signature.
+time signature to which these values apply.
@item
@code{@var{baseMomentFraction}}, a fraction containing the numerator
}
@end lilypond
+A further method of changing these time-signature-related variables,
+which avoids reprinting the time signature at the time of the change,
+is shown in @ref{Setting automatic beam behavior}.
+
@predefined
@code{\numericTimeSignature},
@code{\defaultTimeSignature}.
Notation Reference:
@ref{Mensural time signatures},
+@ref{Setting automatic beam behavior},
@ref{Time administration}.
+Installed Files:
+@file{scm/time-signature-settings.scm}.
+
Snippets:
@rlsr{Rhythms}.
Polymetric notation is supported explicitly or by manually modifying the
visible time signature symbol and/or scaling note durations.
-@subsubheading Different time signatures with equal-length measures
+@subsubsubheading Different time signatures with equal-length measures
Set a common time signature for each staff, and set the
@code{timeSignatureFraction} to the desired fraction. Then use the
>>
@end lilypond
-@subsubheading Different time signatures with unequal-length measures
+@subsubsubheading Different time signatures with unequal-length measures
Each staff can be given its own independent time signature by
moving the @code{Timing_translator} and the
@cindex compound time signatures
@cindex time signature, compound
-@subsubheading Compound time signatures
+@subsubsubheading Compound time signatures
These are created using the @code{\compoundMeter} function. The syntax
for this is:
}
}
\new Voice \with {
- \consists Pitch_squash_engraver
+ \consists "Pitch_squash_engraver"
} \relative c'' {
\improvisationOn
c4 c8 c c4 c8 c
When automatic beaming is enabled, the placement of automatic beams
is determined by three context properties:
@code{baseMoment}, @code{beatStructure}, and @code{beamExceptions}.
+The default values of these variables may be overridden as described
+below, or alternatively the default values themselves may be changed
+as explained in @ref{Time signature}.
+
If a @code{beamExceptions} rule is defined for the time signature in
force, that rule is used to determine the beam placement. If no
@code{beamExceptions} rule is defined for the time signature in force,
@end example
-@subsubheading @i{Beaming based on @code{baseMoment} and @code{beatStructure}}
+@subsubsubheading Beaming based on @code{baseMoment} and @code{beatStructure}
In most instances, automatic beams will end at the end of a beat.
The ending points for beats are determined by the context properties
the time signature. Any exceptions to this default can be found in
@file{scm/time-signature-settings.scm}.
-@subsubheading @i{Beaming based on @code{beamExceptions}}
+@subsubsubheading Beaming based on @code{beamExceptions}
Special autobeaming rules (other than ending a beam on a beat)
are defined in the @code{beamExceptions} property.
r4. a8 a a |
@end lilypond
-@subsubheading @i{How automatic beaming works}
+@subsubsubheading How automatic beaming works
When automatic beaming is enabled, the placement of automatic beams
is determined by the context properties
{beam-endings-in-score-context.ly}
@seealso
+Notation Reference:
+@ref{Time signature}.
+
Installed Files:
-@file{scm/beam-settings.scm}.
+@file{scm/time-signature-settings.scm}.
Snippets:
@rlsr{Rhythms}.
@funindex \oneVoice
@funindex oneVoice
-@strong{@i{Explicitly instantiating voices}}
+@subsubsubheading Explicitly instantiating voices
The basic structure needed to achieve multiple independent
voices in a single staff is illustrated in the following example:
command returns all the voice settings to the neutral default
directions.
-@strong{@i{Temporary polyphonic passages}}
+@subsubsubheading Temporary polyphonic passages
A temporary polyphonic passage can be created with the following
construct:
Here, the @code{\voiceOne} and @code{\voiceTwo} commands are
required to define the settings of each voice.
-@strong{@i{The double backslash construct}}
+@subsubsubheading The double backslash construct
The @code{<< @{...@} \\ @{...@} >>} construct, where the two (or
more) expressions are separated by double backslashes, behaves
@code{Voice} contexts as explained in @rlearning{Contexts and engravers} and
@rlearning{Explicitly instantiating voices}.
-@strong{@i{Voice order}}
+@subsubsubheading Voice order
When entering multiple voices in the input file, use the following
order:
@warning{Lyrics, spanners (such as slurs, ties, hairpins etc.) cannot be
created @q{across} voices.}
-@strong{@i{Identical rhythms}}
+@subsubsubheading Identical rhythms
In the special case that we want to typeset parallel pieces of music
that have the same rhythm, we can combine them into a single
@code{\paper} variables that deal with page layout are discussed
in later sections. The markup definitions that deal with headers,
footers, and titles are discussed in
-@ref{Custom headers footers and titles}.
+@ref{Custom titles headers and footers}.
Most @code{\paper} variables will only work in a @code{\paper}
block. The few that will also work in a @code{\layout} block are
@seealso
Notation Reference:
@ref{Paper size and automatic scaling},
-@ref{Custom headers footers and titles},
+@ref{Custom titles headers and footers},
@ref{The \layout block}.
Installed Files:
#(set-default-paper-size "a6" 'landscape)
@end example
-The music output will @emph{not} be rotated, just the paper size.
+Swapping the paper dimensions @emph{without} having the print rotated
+(like when printing to postcard size, or creating graphics for inclusion
+rather than a standalone document) can be achieved by appending
+@samp{landscape} to the name of the paper size itself:
+
+@example
+#(set-default-paper-size "a6landscape")
+@end example
+
+When the paper size ends with an explicit @samp{landscape} or
+@samp{portrait}, the presence of a @code{'landscape} symbol @emph{only}
+affects print orientation, not the paper dimensions used for layout.
@seealso
Notation Reference:
@lilypond[quote,ragged-right,verbatim]
\new Voice \with {
- \remove Forbid_line_break_engraver
+ \remove "Forbid_line_break_engraver"
} \relative c'' {
<<
{ c2. \times 2/3 { c4 c c } c2. | }
>>
@end example
-@c TODO Check this
-A linebreaking configuration can be saved as a @file{.ly} file
-automatically. This allows vertical alignments to be stretched to
-fit pages in a second formatting run. This is fairly new and
-complicated. More details are available in
-@rlsr{Spacing}.
-
@predefined
@funindex \break
@item @code{proportionalNotationDuration}
@item @code{uniform-stretching}
@item @code{strict-note-spacing}
-@item @code{\remove Separating_line_group_engraver}
+@item @code{\remove "Separating_line_group_engraver"}
@item @code{\override PaperColumn #'used = ##t}
@end itemize
}
\new Staff \with {
- \remove Separating_line_group_engraver
+ \remove "Separating_line_group_engraver"
} {
c'1
\break
@item @code{\override Beam #'breakable = ##t}
@item @code{\override Glissando #'breakable = ##t}
@item @code{\override TextSpanner #'breakable = ##t}
-@item @code{\remove Forbid_line_break_engraver in the Voice context}
+@item @code{\remove "Forbid_line_break_engraver" in the Voice context}
@end itemize
These settings space grace notes strictly, extend tuplet brackets to
\layout {
\context {
\Staff
- \remove Bar_engraver
+ \remove "Bar_engraver"
}
}
}
\score {
\new ChoirStaff <<
\new Staff
- \with { \remove Bar_engraver } {
+ \with { \remove "Bar_engraver" } {
\relative c'' {
a4 b c2 |
a4 b c2 |
\layout {
\context {
\Staff
- \remove Bar_engraver
+ \remove "Bar_engraver"
}
}
}
\layout {
\context {
\Staff
- \remove Bar_engraver
- \remove Time_signature_engraver
- \remove Clef_engraver
+ \remove "Bar_engraver"
+ \remove "Time_signature_engraver"
+ \remove "Clef_engraver"
}
}
}
<!--
we depend on an external entity here, which we cannot control. Suppose
-we go from 2.15.x to 2.17.x and put the documentation under "v2.17".
+we go from 2.16.x to 2.17.x and put the documentation under "v2.17".
For some time, Google won't have the new location in its index, so the
-search would get nothing. It would be better to keep "v2.15" in the
-search for a while and have a redirection from "v2.15" to "v2.17".
+search would get nothing. It would be better to keep "v2.16" in the
+search for a while and have a redirection from "v2.16" to "v2.17".
-->
<form action="http://google.com/search"
method="get"
name="search"
- onSubmit="search.q.value='site:lilypond.org/doc/v2.15 '
+ onSubmit="search.q.value='site:lilypond.org/doc/v2.16 '
+ search.brute_query.value"
- onMouseMove="search.q.value='site:lilypond.org/doc/v2.15 '
+ onMouseMove="search.q.value='site:lilypond.org/doc/v2.16 '
+ search.brute_query.value"
- onKeyUp="search.q.value='site:lilypond.org/doc/v2.15 '
+ onKeyUp="search.q.value='site:lilypond.org/doc/v2.16 '
+ search.brute_query.value">
<input type="hidden" name="btnG" value="Google Search">
<input type="text" name="brute_query" onfocus="this.value=''" value="Search">
--- /dev/null
+% DO NOT EDIT this file manually; it is automatically
+% generated from Documentation/snippets/new
+% Make any changes in Documentation/snippets/new/
+% and then run scripts/auxiliar/makelsr.py
+%
+% This file is in the public domain.
+%% Note: this file works from version 2.15.15
+\version "2.15.15"
+
+\header {
+ lsrtags = "expressive-marks, staff-notation, tweaks-and-overrides"
+
+ texidoc = "
+Skipped beats in very long glissandi are sometimes indicated by
+timing marks, often consisting of stems without noteheads. Such
+stems can also be used to carry intermediate expression markings.
+
+If the stems do not align well with the glissando, they may need to
+be repositioned slightly.
+"
+
+ doctitle = "Adding timing marks to long glissandi"
+} % begin verbatim
+
+
+glissandoSkipOn = {
+ \override NoteColumn #'glissando-skip = ##t
+ \override NoteHead #'transparent = ##t
+ \override NoteHead #'no-ledgers = ##t
+}
+
+glissandoSkipOff = {
+ \revert NoteColumn #'glissando-skip
+ \revert NoteHead #'transparent
+ \revert NoteHead #'no-ledgers
+}
+
+\relative c'' {
+ r8 f8\glissando
+ \glissandoSkipOn
+ f4 g a a8\noBeam
+ \glissandoSkipOff
+ a8
+
+ r8 f8\glissando
+ \glissandoSkipOn
+ g4 a8
+ \glissandoSkipOff
+ a8 |
+
+ r4 f\glissando \<
+ \glissandoSkipOn
+ a4\f \>
+ \glissandoSkipOff
+ b8\! r |
+}
\new Staff {
<<
\new Voice \with {
- \consists Mark_engraver
+ \consists "Mark_engraver"
\consists "Staff_collecting_engraver"
}
{ c4 d e f
c4 d e f
}
\new Voice \with {
- \consists Mark_engraver
+ \consists "Mark_engraver"
\consists "Staff_collecting_engraver"
\override RehearsalMark #'direction = #DOWN
}
--- /dev/null
+% DO NOT EDIT this file manually; it is automatically
+% generated from Documentation/snippets/new
+% Make any changes in Documentation/snippets/new/
+% and then run scripts/auxiliar/makelsr.py
+%
+% This file is in the public domain.
+%% Note: this file works from version 2.15.15
+\version "2.15.15"
+
+\header {
+ lsrtags = "staff-notation, tweaks-and-overrides"
+
+ texidoc = "
+Setting the @code{breakable} property to @code{#t} in combination with
+@code{after-line-breaking} allows a glissando to break if it occurs
+at a line break:
+"
+
+ doctitle = "Making glissandi breakable"
+} % begin verbatim
+
+
+glissandoSkipOn = {
+ \override NoteColumn #'glissando-skip = ##t
+ \override NoteHead #'transparent = ##t
+ \override NoteHead #'no-ledgers = ##t
+}
+
+\relative c'' {
+ \override Glissando #'breakable = ##t
+ \override Glissando #'after-line-breaking = ##t
+ f1\glissando |
+ \break
+ a4 r2. |
+ f1\glissando
+ \once \glissandoSkipOn
+ \break
+ a2 a4 r4 |
+}
--- /dev/null
+\version "2.15.15"
+
+\header {
+ lsrtags = "expressive-marks, staff-notation, tweaks-and-overrides"
+
+ texidoc = "
+Skipped beats in very long glissandi are sometimes indicated by
+timing marks, often consisting of stems without noteheads. Such
+stems can also be used to carry intermediate expression markings.
+
+If the stems do not align well with the glissando, they may need to
+be repositioned slightly.
+"
+
+ doctitle = "Adding timing marks to long glissandi"
+}
+
+glissandoSkipOn = {
+ \override NoteColumn #'glissando-skip = ##t
+ \override NoteHead #'transparent = ##t
+ \override NoteHead #'no-ledgers = ##t
+}
+
+glissandoSkipOff = {
+ \revert NoteColumn #'glissando-skip
+ \revert NoteHead #'transparent
+ \revert NoteHead #'no-ledgers
+}
+
+\relative c'' {
+ r8 f8\glissando
+ \glissandoSkipOn
+ f4 g a a8\noBeam
+ \glissandoSkipOff
+ a8
+
+ r8 f8\glissando
+ \glissandoSkipOn
+ g4 a8
+ \glissandoSkipOff
+ a8 |
+
+ r4 f\glissando \<
+ \glissandoSkipOn
+ a4\f \>
+ \glissandoSkipOff
+ b8\! r |
+}
--- /dev/null
+\version "2.15.15"
+
+\header {
+ lsrtags = "staff-notation, tweaks-and-overrides"
+
+ texidoc = "
+Setting the @code{breakable} property to @code{#t} in combination with
+@code{after-line-breaking} allows a glissando to break if it occurs
+at a line break:
+"
+
+ doctitle = "Making glissandi breakable"
+}
+
+glissandoSkipOn = {
+ \override NoteColumn #'glissando-skip = ##t
+ \override NoteHead #'transparent = ##t
+ \override NoteHead #'no-ledgers = ##t
+}
+
+\relative c'' {
+ \override Glissando #'breakable = ##t
+ \override Glissando #'after-line-breaking = ##t
+ f1\glissando |
+ \break
+ a4 r2. |
+ f1\glissando
+ \once \glissandoSkipOn
+ \break
+ a2 a4 r4 |
+}
<textobject>
<programlisting language="lilypond" role="fragment verbatim staffsize=16 ragged-right relative=2">
\context Staff \with @{
- \remove Time_signature_engraver
- \remove Clef_engraver@}
+ \remove "Time_signature_engraver"
+ \remove "Clef_engraver"@}
@{ c4( fis) @}
</programlisting>
</textobject>
For MacOS X 10.4 or higher, running on Intel CPUs (if in doubt,
use this).
-MacOS X 10.7 Lion is not yet supported.
@item
@sourceimage{logo-macosx,,,}
For MacOS X 10.4 or higher, running on G3 and G4 CPUs (old Apple
computers).
-MacOS X 10.7 Lion is not yet supported.
@end itemize
@end ignore
+@divClass{column-center-top}
+@subheading Tunefl
+
+@sourceimage{logo-linux,,,}
+@sourceimage{logo-freebsd,,,}
+@sourceimage{logo-macosx,,,}
+@sourceimage{logo-windows,,,}
+
+@uref{http://www.tunefl.com}
+
+With tunefl you can typeset your scores directly online
+without needing to install lilypond locally. It allows
+trying out all the program's features using a convenient
+web interface.
+
+@divEnd
@divClass{column-center-top}
@subheading LilyPondTool
@sourceimage{logo-macosx,,,}
@sourceimage{logo-windows,,,}
+@uref{http://elysium.thsoft.hu}
+
+Elysium is a LilyPond IDE for Eclipse with an integrated, side-by-side
+view for source and score. It includes rapid visual & auditive feedback
+without having to switch contexts, and comes with many wizard-driven
+templates.
+
@uref{http://www.gnu.org/software/emacs/}
Emacs is a text editor with language-sensitive capabilities for
@itemize
@item
-@uref{http://www.canorus.org,Canorus}, a score editor, can also
-export to LilyPond, but is still beta-software. Testers are
-welcome, though.
+@uref{http://www.canorus.org,Canorus}, a score editor, can also export to
+LilyPond, but is still beta-software. Testers are welcome, though.
+
+@item
+@uref{http://enc2ly.sourceforge.net/en/,Enc2ly} is a GNU/Linux program
+which converts an @uref{http://www.gvox.com/,Encore} music score into
+a LilyPond one.
+
+@item
+@uref{https://github.com/hanwen/go-enc2ly,go-enc2ly} is a Go tool that converts
+@uref{http://www.gvox.com/,Encore} files to LilyPond. It was created using
+Felipe Castro's research and reverse engineering by tweaking existing .enc files
+and loading them using the 4.55 demo version.
@item
-@uref{http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml,
-NtEd}, a score editor based on the
-@uref{http://www.cairographics.org,Cairo} library, has experimental
-support for exporting to LilyPond.
+@uref{http://www.musescore.org,MuseScore}, a score editor, has incomplete
+LilyPond export but is being actively developed.
@item
-@uref{http://www.musescore.org,MuseScore}, a score editor, has
-incomplete LilyPond export but is being actively developed.
+@uref{http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml,NtEd}, a
+score editor based on the @uref{http://www.cairographics.org,Cairo} library,
+has experimental support for exporting to LilyPond.
@item
-@uref{http://www.holmessoft.co.uk/homepage/software/NWC2LY/index.htm,
-NW2LY} is a C# program which converts a
+@uref{http://www.holmessoft.co.uk/homepage/software/NWC2LY/index.htm,NW2LY} is
+a C# program which converts a
@c @uref{http://www.noteworthysoftware.com/,NoteWorthy}
NoteWorthy composer song into LilyPond.
@item
-@uref{https://github.com/ciconia/ripple/blob/master/README.markdown,
-Ripple} is a program that helps create scores and parts, including a
-mode for mixing different musical works together in a single score or
-part.
+@uref{https://github.com/ciconia/ripple/blob/master/README.markdown,Ripple} is
+a program that helps create scores and parts, including a mode for mixing
+different musical works together in a single score or part.
@item
-@uref{http://www.rosegardenmusic.com,Rosegarden}, an audio and MIDI
-sequencer, which also has a score editor for single-staff editing.
+@uref{http://www.rosegardenmusic.com,Rosegarden}, an audio and MIDI sequencer,
+which also has a score editor for single-staff editing.
@item
-@uref{https://launchpad.net/rumor/,Rumor}, a realtime monophonic
-MIDI to LilyPond converter.
+@uref{https://launchpad.net/rumor/,Rumor}, a realtime monophonic MIDI to
+LilyPond converter.
@item
-@uref{http://www.tuxguitar.com.ar/,TuxGuitar}, a multitrack tablature
-editor and player, includes a score viewer and can export to LilyPond.
+@uref{http://www.tuxguitar.com.ar/,TuxGuitar}, a multitrack tablature editor
+and player, includes a score viewer and can export to LilyPond.
@end itemize
@c used for news about the upcoming release; see CG 10.2
+@newsItem
+@subsubheading LilyPond 2.16.1 released! @emph{November 9, 2012}
+
+We are happy to announce the release of LilyPond 2.16.1. This has a number of
+updates to the previous stable version, and should cause no problems. We
+recommend that everybody upgrade to this version.
+@newsEnd
+
+@newsItem
+@subsubheading LilyPond 2.17.6 released! @emph{November 3, 2012}
+
+We are happy to announce the release of LilyPond 2.17.6. This
+release contains the usual number of bugfixes and enhancements, and contains
+some work in progress. You will have access to the very latest features, but
+some may be incomplete, and you may encounter bugs and crashes. If you require
+a stable version of Lilypond, we recommend using the 2.16 version.
+
+@newsEnd
+
+@newsItem
+@subsubheading LilyPond 2.17.5 released! @emph{October 20, 2012}
+
+We are happy to announce the release of LilyPond 2.17.5. This
+release contains the usual number of bugfixes and enhancements, and contains
+some work in progress. You will have access to the very latest features, but
+some may be incomplete, and you may encounter bugs and crashes. If you require
+a stable version of Lilypond, we recommend using the 2.16 version.
+
+@newsEnd
+
+@newsItem
+@subsubheading LilyPond 2.17.4 released! @emph{October 6, 2012}
+
+We are happy to announce the release of LilyPond 2.17.4. This
+release contains the usual number of bugfixes. It is strongly
+recommended that normal users do @strong{not} use this release,
+and instead use the stable 2.16 version.
+
+@newsEnd
+
@newsItem
@subsubheading Lilypond 2.16.0 released! @emph{August 24, 2012}
Main development team:
-Bertrand Bordage, Trevor Daniels, Phil Holmes, Ian Hulin,
+Bertrand Bordage, Trevor Daniels, Colin Hall, Phil Holmes, Ian Hulin,
Reinhold Kainhofer, David Kastrup, Jonathan Kulp, Werner Lemberg,
John Mandereau, Patrick McCarty, Joe Neeman, Han-Wen Nienhuys,
Jan Nieuwenhuizen, Graham Percival, Mark Polesky, Neil Puttock,
Programming contributors:
Aleksandr Andreev, Sven Axelsson, Peter Chubb, Karin Hoethker,
-Mark Hohl, Justin Ohmie, Benkő Pál, Julien Rioux, Patrick Schmidt,
+Marc Hohl, David Nalesnik, Justin Ohmie, Benkő Pál, Julien Rioux, Patrick Schmidt,
Adam Spiers, Heikki Taurainen, Piers Titus van der Torren,
Jan-Peter Voigt, Janek Warchol
@newsEnd
-@newsItem
-@subsubheading Lilypond 2.15.95 released! @emph{August 11, 2012}
-
-We are excited to announce the release of LilyPond 2.15.95.
-With this release, development on version 2.15 is frozen for the
-upcoming 2.16 stable release and only open to bug fixes.
-
-All users are urged to try this version to ensure the best
-quality of the upcoming stable release. If you discover any
-problems, please send us @ref{Bug reports}.
-
-New features since 2.14.2 are listed in the @qq{Changes} manual
-on the website section about @ref{Development}.
-
-@newsEnd
-
-
-@newsItem
-@subsubheading LilyPond 2.15.42 released! @emph{August 02, 2012}
-
-We are happy to announce the release of LilyPond 2.15.42. This
-release contains the usual number of bugfixes.
-It is strongly recommended that normal users do @strong{not} use
-this release, and instead use the stable 2.14 version. Please
-note that due to a few Critical bugs, this is not the next release
-candidate.
-
-@newsEnd
-
-
-@newsItem
-@subsubheading The LilyPond Report #27. @emph{August 2, 2012}
-
-The @emph{LilyPond Report} is back, with some interesting insights on
-new Scheme-related features recently added by our community’s only paid
-developer David Kastrup (thanks to your
-@uref{http://lilypond.org/sponsoring.html, continuing donations}). Also
-to be found in this issue are an overview of some lesser-known LilyPond
-companion projects, and a handful of more shallow factoids.
-
-Come
-@uref{http://news.lilynet.net/?The-LilyPond-Report-27, read
-LilyPond Report 27} now; comments and contributions are
-warmly encouraged!
-
-@newsEnd
version that you are working on. See TRANSLATION for details.
we depend on an external entity here, which we cannot control. Suppose
-we go from 2.15.x to 2.17.x and put the documentation under "v2.17".
+we go from 2.16.x to 2.17.x and put the documentation under "v2.17".
For some time, Google won't have the new location in its index, so the
-search would get nothing. It would be better to keep "v2.15" in the
-search for a while and have a redirection from "v2.15" to "v2.17".
+search would get nothing. It would be better to keep "v2.16" in the
+search for a while and have a redirection from "v2.16" to "v2.17".
-->
<form action="http://google.com/search"
method="get"
name="search"
- onSubmit="search.q.value='site:lilypond.org/doc/v2.15 '
+ onSubmit="search.q.value='site:lilypond.org/doc/v2.16 '
+ search.brute_query.value"
- onMouseMove="search.q.value='site:lilypond.org/doc/v2.15 '
+ onMouseMove="search.q.value='site:lilypond.org/doc/v2.16 '
+ search.brute_query.value"
- onKeyUp="search.q.value='site:lilypond.org/doc/v2.15 '
+ onKeyUp="search.q.value='site:lilypond.org/doc/v2.16 '
+ search.brute_query.value">
<input type="hidden" name="btnG" value="Google 搜索">
<input type="text" name="brute_query" onfocus="this.value=''" value="搜索">
+New features in 2.16
+********************
+
+Fixes and changes after 2.16.0
+==============================
+
+2.16.1
+ Please refer to the bug tracker for issues fixed in 2.16.1
+ (http://code.google.com/p/lilypond/issues/list?can=1&q=Fixed_2_16_1).
+
New features in 2.16 since 2.14
-*******************************
+===============================
* Support for cross-staff stems on chords, using `crossStaff' and
the `Span_stem_engraver'. This calculates the length of
PACKAGE_NAME=LilyPond
MAJOR_VERSION=2
MINOR_VERSION=16
-PATCH_LEVEL=0
+PATCH_LEVEL=1
MY_PATCH_LEVEL=
-VERSION_STABLE=2.14.2
-VERSION_DEVEL=2.15.95
+VERSION_STABLE=2.16.0
+VERSION_DEVEL=2.17.4
fi
- test -n "$FONTFORGE" && break
-done
-
- if test -n "20100501"; then
-
- r="`eval echo '$'"FONTFORGE"`"
- { $as_echo "$as_me:$LINENO: checking $r version" >&5
-$as_echo_n "checking $r version... " >&6; }
- exe=`
- ## which doesn't work in ash, if /usr/bin/which isn't installed
- ## type -p doesn't work in ash
- ## command -v doesn't work in zsh
- ## command -v "$r" 2>&1
- ## this test should work in ash, bash, pdksh (ksh), zsh
- type -p $r 2>/dev/null | tail -n 1 | awk '{print $NF}'
-`
- if test -n ""; then
- ver=""
- else
- ver=`
- ## "$exe" --version 2>&1 | grep -v '^$' | head -n 1 | awk '{print $NF}'
- ##
- ## ARG.
- ## Workaround for broken Debian gcc version string:
- ## gcc (GCC) 3.1.1 20020606 (Debian prerelease)
- ##
- ## -V: Workaround for python
-
- #dnl
-
- ## Assume and hunt for dotted version multiplet.
- ## use eval trickery, because we cannot use multi-level $() instead of ``
- ## for compatibility reasons.
-
- ## grab the first version number in --version output.
- eval _ver=\"\`("$exe" --version || "$exe" -V) 2>&1 |
- grep -E '(^| )[0-9][0-9]*\.[0-9]' |
- head -n 1 |
- tr ' ' '\n' |
- sed 's/\([0-9][0-9]*\.[0-9][0-9.]*\).*/\1/g' |
- grep -E '(^| )[0-9][0-9]*\.[0-9]' |
- head -n 1\`\"
-
- if test -z "$_ver"; then
- ## If empty, try date [fontforge]
- eval _ver=\"\`("$exe" --version || "$exe" -V) 2>&1 | grep '[0-9]\{6,8\}' \
- | head -n 1 \
- | sed -e 's/^[^.0-9]*//' -e 's/[^.0-9]*$//'\`\"
- fi
- echo "$_ver"
- #dnl
-`
- fi
- num=`
- echo "$ver" | awk -F. '
- {
- if ($3) {three = $3}
- else {three = 0}
- }
- {printf "%.0f\n", $1*1000000 + $2*1000 + three}'
-`
- req=`
- echo "20100501" | awk -F. '
- {
- if ($3) {three = $3}
- else {three = 0}
- }
- {printf "%.0f\n", $1*1000000 + $2*1000 + three}'
-`
- { $as_echo "$as_me:$LINENO: result: $ver" >&5
-$as_echo "$ver" >&6; }
- if test "$num" -lt "$req"; then
-
- eval "REQUIRED"=\"`eval echo \"'$'REQUIRED\" \""$r >= 20100501 (installed: $ver)"\"`\"
-
- fi
- vervar="`echo FONTFORGE | tr 'a-z' 'A-Z'`_VERSION"
- eval `echo $vervar=$num`
-## AC_SUBST(`eval echo $vervar`)
-
- fi
- fi
-
-
- for ac_prog in fontforge
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_FONTFORGE+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$FONTFORGE"; then
- ac_cv_prog_FONTFORGE="$FONTFORGE" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_FONTFORGE="$ac_prog"
- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-FONTFORGE=$ac_cv_prog_FONTFORGE
-if test -n "$FONTFORGE"; then
- { $as_echo "$as_me:$LINENO: result: $FONTFORGE" >&5
-$as_echo "$FONTFORGE" >&6; }
-else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$FONTFORGE" && break
-done
-test -n "$FONTFORGE" || FONTFORGE="no"
-
-
-
- r="`eval echo '$'"FONTFORGE"`"
- if test -n "$r" -a "$r" != "error" -a "$r" != "no" && expr '`eval echo '$'"FONTFORGE"`' : '.*\(echo\)' > /dev/null; then
- true
- else
- ##STEPMAKE_WARN(cannot find . )
- false
- fi
-
- if test $? -ne 0; then
-
- eval "OPTIONAL"=\"`eval echo \"'$'OPTIONAL\" \"fontforge\"`\"
-
- if test "OPTIONAL" = "REQUIRED"; then
- command="echo ERROR: fontforge not found"
- # abort configure process here?
- else
- command="- echo fontforge not found"
- fi
- eval "FONTFORGE"='$command'
- false
- else
- true
- fi
-
- if test $? -eq 0; then
- for ac_prog in fontforge
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_FONTFORGE+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- case $FONTFORGE in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_FONTFORGE="$FONTFORGE" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_FONTFORGE="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-FONTFORGE=$ac_cv_path_FONTFORGE
-if test -n "$FONTFORGE"; then
- { $as_echo "$as_me:$LINENO: result: $FONTFORGE" >&5
-$as_echo "$FONTFORGE" >&6; }
-else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
test -n "$FONTFORGE" && break
done
$as_echo "$ver" >&6; }
if test "$num" -lt "$req"; then
- eval "OPTIONAL"=\"`eval echo \"'$'OPTIONAL\" \""$r >= 20110222 (installed: $ver)"\"`\"
+ eval "REQUIRED"=\"`eval echo \"'$'REQUIRED\" \""$r >= 20110222 (installed: $ver)"\"`\"
fi
vervar="`echo FONTFORGE | tr 'a-z' 'A-Z'`_VERSION"
STEPMAKE_PATH_PROG(GHOSTSCRIPT, gs, OPTIONAL, 8.60)
-STEPMAKE_PATH_PROG(FONTFORGE, fontforge, REQUIRED, 20100501)
-STEPMAKE_PATH_PROG(FONTFORGE, fontforge, OPTIONAL, 20110222)
+STEPMAKE_PATH_PROG(FONTFORGE, fontforge, REQUIRED, 20110222)
STEPMAKE_PATH_PROG(T1ASM, t1asm, REQUIRED)
L: 1/4
K: none
CEGc | [K: C treble] CEGc |[K: Cm bass]CEGc |
-w: none | treble | bass |
+w: none * * * | treble * * * | bass * * * |
[K: C bass3]CEGc | [K: Cm alto4]CEGc| [K: C alto]CEGc |
-w: baritone | tenor | alto |
+w: baritone * * * | tenor * * * | alto * * * |
[K: Cm alto2]CEGc | [K: C alto1]CEGc | [K: Cm treble-8]CEGc |
-w: mezzosoprano | soprano | treble-8 |
+w: mezzosoprano * * * | soprano * * * | treble-8 * * |
[K: C treble-8va]CEGc | [K: Cm treble+8]CEGc | [K: C treble8]CEGc |]
-w: treble-8va | treble+8 | treble8 |
+w: treble-8va * * | treble+8 * * * | treble8 * * * |
}
\score {
- \new Voice \with { \consists Ambitus_engraver } {
+ \new Voice \with { \consists "Ambitus_engraver" } {
c'4( es')
}
}
}
\new Voice \with {
- \consists Ambitus_engraver
- \consists Mensural_ligature_engraver
+ \consists "Ambitus_engraver"
+ \consists "Mensural_ligature_engraver"
} {
\[ c'\longa c''\longa \]
}
\version "2.16.0"
\new Staff \with {
- \remove Bar_engraver
+ \remove "Bar_engraver"
\override Beam #'breakable = ##t
} {
\time 1/8
\layout {
ragged-right = ##t
- \context {\ChordNames \consists Instrument_name_engraver }
+ \context {\ChordNames \consists "Instrument_name_engraver" }
}
<<
\layout {
\context {
\Staff
- \consists Custos_engraver
+ \consists "Custos_engraver"
}
ragged-right = ##t
}
\markup "move Dot_column_engraver to Voice :"
\score{ \music
\layout {
- \context {\Staff \remove Dot_column_engraver}
- \context {\Voice \consists Dot_column_engraver}
+ \context {\Staff \remove "Dot_column_engraver"}
+ \context {\Voice \consists "Dot_column_engraver"}
}}
\paper { ragged-right = ##t }
\new Voice \with {
- \consists Horizontal_bracket_engraver }
+ \consists "Horizontal_bracket_engraver" }
{
c1\startGroup \break c1 \stopGroup
}
\context {
\Score
pedalSustainStrings = #'("Ped." "*Ped." "*")
- \remove Bar_number_engraver
+ \remove "Bar_number_engraver"
}
}
}
indent = #0
\context {
\Staff
- \remove Time_signature_engraver
+ \remove "Time_signature_engraver"
}
}
tuning = \markup {
\score {
\new Staff \with {
- \remove Time_signature_engraver
+ \remove "Time_signature_engraver"
} {
\clef bass <c, g, d g>1
}
ragged-right = ##t
\context {
\Staff
- \consists Instrument_name_engraver
+ \consists "Instrument_name_engraver"
}
}
}
\relative \new Staff \with {
- \remove Staff_symbol_engraver
- \consists Pitch_squash_engraver
- \remove Clef_engraver
+ \remove "Staff_symbol_engraver"
+ \consists "Pitch_squash_engraver"
+ \remove "Clef_engraver"
} {
c4 d4 e8 d8
}
\score {
<<
\context Staff = "s1" \with {
- \override StaffSymbol #'line-positions = #'(-4 -2 0 2)
+ \override StaffSymbol #'staff-space = #0.6
} {
s1 \bar ":|"
}
\context Staff = "s2" \with {
- \override StaffSymbol #'staff-space = #0.75
+ \override StaffSymbol #'line-positions = #'(-4 -2 0 2)
+ \override StaffSymbol #'staff-space = #0.7
} {
s1 \bar ":|"
}
+
+ \context Staff = "s3" {
+ s1 \bar ":|"
+ }
>>
}
}
\context Staff = "s2" \with {
- \override StaffSymbol #'staff-space = #2
- \override StaffSymbol #'line-count = #4
+ \override StaffSymbol #'staff-space = #1.7
+ \override StaffSymbol #'line-positions = #'(-4 -2 0 2)
+ } {
+ s1 \bar ":|"
+ }
+
+ \context Staff = "s3" \with {
+ \override StaffSymbol #'staff-space = #3
} {
s1 \bar ":|"
}
\score {
<<
\context Staff = "s1" \with {
- \override StaffSymbol #'staff-space = #0.65
+ \override StaffSymbol #'staff-space = #0.5
} {
s1 \bar ":|"
}
\context Staff = "s2" \with {
- \override StaffSymbol #'staff-space = #0.7
+ \override StaffSymbol #'staff-space = #0.6
\override StaffSymbol #'line-positions = #'(-4 -2 0 2)
} {
s1 \bar ":|"
}
+
+ \context Staff = "s3" {
+ s1 \bar ":|"
+ }
>>
}
\score {
<<
- \context Staff = "s1" \with {
- \override StaffSymbol #'staff-space = #0.25
- } {
+ \context Staff = "s1" {
s1 \bar ":|"
}
\context Staff = "s2" \with {
- \override StaffSymbol #'staff-space = #0.3
- \override StaffSymbol #'line-count = #4
+ \override StaffSymbol #'staff-space = #0.33
+ } {
+ s1 \bar ":|"
+ }
+
+ \context Staff = "s3" \with {
+ \override StaffSymbol #'staff-space = #0.33
+ \override StaffSymbol #'line-positions = #'(-4 -2 0 2)
} {
s1 \bar ":|"
}
--- /dev/null
+\version "2.16.0"
+\header {
+ texidoc = "The two dots of a repeat sign should be symmetric
+to the staff centre and avoid staff lines even for exotic staves.
+Test set-global-staff size 10 (with layout-set-staff-size)."
+}
+
+#(set-global-staff-size 5)
+
+\score {
+ <<
+ \context Staff = "s1" \with {
+ \override StaffSymbol #'staff-space = #0.7
+ } {
+ s1 \bar ":|"
+ }
+
+ \context Staff = "s2" \with {
+ \override StaffSymbol #'line-positions = #'(-4 -2 0 2)
+ } {
+ s1 \bar ":|"
+ }
+
+ \context Staff = "s3" {
+ s1 \bar ":|"
+ }
+ >>
+}
+
+\score {
+ <<
+ \context Staff = "s1" {
+ s1 \bar ":|"
+ }
+
+ \context Staff = "s2" \with {
+ \override StaffSymbol #'staff-space = #3
+ \override StaffSymbol #'line-positions = #'(-4 -2 0 2)
+ } {
+ s1 \bar ":|"
+ }
+
+ \context Staff = "s3" \with {
+ \override StaffSymbol #'staff-space = #6
+ } {
+ s1 \bar ":|"
+ }
+ >>
+
+ \layout {
+ #(layout-set-staff-size 30)
+ }
+}
\score {
<<
\context Staff = "s1" \with {
- \override StaffSymbol #'staff-space = #0.4
+ \override StaffSymbol #'staff-space = #0.3
} {
s1 \bar ":|"
}
} {
s1 \bar ":|"
}
+
+ \context Staff = "s3" {
+ s1 \bar ":|"
+ }
>>
\layout {
{
<<
\context Staff = "s1" \with {
- \override StaffSymbol #'staff-space = #0.7
+ \override StaffSymbol #'staff-space = #0.5
} {
s1 \bar ":|"
}
\context Staff = "s2" \with {
- \override StaffSymbol #'staff-space = #0.75
+ \override StaffSymbol #'staff-space = #0.6
} {
s1 \bar ":|"
}
+
+ \context Staff = "s3" {
+ s1 \bar ":|"
+ }
>>
}
}
\new Staff \with {
- \override StaffSymbol #'line-positions = #'(-7 -4)
+ \override StaffSymbol #'line-positions = #'(-8 -4)
} {
<<
\clef french
}
\new Staff \with {
- \override StaffSymbol #'staff-space = #1.5
\override StaffSymbol #'line-positions = #'(-2 0)
+ \override StaffSymbol #'staff-space = #1.5
} {
<<
\mus
- \context Voice { s1^"as wide as previous" }
+ \context Voice { s1^"widened by staff-space" }
>>
}
\new Staff \with {
- \override StaffSymbol #'line-positions = #'(-2.9 -2)
+ \override StaffSymbol #'line-positions = #'(-2 0)
} {
<<
\mus
- \context Voice { s1^"narrow staff" }
+ \context Voice { s1^"dots outside" }
>>
}
\new Staff \with {
- \override StaffSymbol #'line-positions = #'(-4 -3 -2)
+ \override StaffSymbol #'line-positions = #'(-2.9 -2)
} {
<<
\mus
- \context Voice { s1^"dense staff" }
+ \context Voice { s1^"narrow staff" }
>>
}
\new Staff \with {
\override StaffSymbol #'line-positions = #'(-4 -3 -2)
- \override StaffSymbol #'staff-space = #0.8
} {
<<
\mus
- \context Voice { s1^"denser staff" }
+ \context Voice { s1^"dense staff" }
>>
}
\new Staff \with {
- \override StaffSymbol #'line-positions = #'(-6 -2 0 5)
+ \override StaffSymbol #'line-positions = #'(-6 -5 -2 0 3 5)
} {
<<
\mus
>>
}
+\new Staff \with {
+ \override StaffSymbol #'line-positions = #'(-10 -2 6 14)
+} {
+ <<
+ \mus
+ \context Voice { s1^"dots in outer spaces" }
+ >>
+}
+
+\new Staff \with {
+ \override StaffSymbol #'line-positions = #'(-5 -4 -2 2 4 6)
+} {
+ <<
+ \mus
+ \context Voice { s1^"dots in the middle" }
+ >>
+}
+
\new Staff \with {
\override StaffSymbol #'thickness = #4
} {
ragged-right = ##t
\context {
\Staff
- \remove Time_signature_engraver
+ \remove "Time_signature_engraver"
}
}
\score {
\new Staff \with {
- \remove Separating_line_group_engraver
+ \remove "Separating_line_group_engraver"
} {
\relative c' {
\override Score.SpacingSpanner #'uniform-stretching = ##t
}
\new Staff \with {
- \remove Staff_symbol_engraver
+ \remove "Staff_symbol_engraver"
}
\relative c' {
\time 5/8
--- /dev/null
+\header
+{
+ texidoc = "How a repeat sign looks in tablature."
+}
+
+\version "2.16.0"
+\paper
+{
+ ragged-right = ##t
+}
+
+\new TabStaff
+{
+ \repeat volta 2 s1
+}
>>
\layout {
\context {
- \Voice \remove Forbid_line_break_engraver
+ \Voice \remove "Forbid_line_break_engraver"
}
}
}
}
\context{
\TabVoice
- \remove Beam_engraver
- \remove Stem_engraver
+ \remove "Beam_engraver"
+ \remove "Stem_engraver"
\override TupletBracket #'number-visibility = ##f
}
}
/* doc */
"Create barlines. This engraver is controlled through the"
" @code{whichBar} property. If it has no bar line to create,"
- " it will forbid a linebreak at this point.",
+ " it will forbid a linebreak at this point. This engraver"
+ " is required to trigger the creation of clefs at the start"
+ " of systems.",
/* create */
"BarLine ",
reflect after.
*/
is_main_input_ = include_stack_.size () > 2;
- if (!close_input ())
+ if (!close_input () || !is_main_input_)
/* Returns YY_NULL */
yyterminate ();
}
chordmodifier_tab_ = src.chordmodifier_tab_;
pitchname_tab_stack_ = src.pitchname_tab_stack_;
sources_ = src.sources_;
+ scopes_ = src.scopes_;
start_module_ = SCM_EOL;
error_level_ = 0;
is_main_input_ = src.is_main_input_;
- scopes_ = SCM_EOL;
extra_tokens_ = SCM_EOL;
smobify_self ();
- SCM scopes = SCM_EOL;
- SCM *tail = &scopes;
- for (SCM s = src.scopes_; scm_is_pair (s); s = scm_cdr (s))
- {
- SCM newmod = ly_make_module (false);
- ly_module_copy (newmod, scm_car (s));
- *tail = scm_cons (newmod, SCM_EOL);
- tail = SCM_CDRLOC (*tail);
- }
-
- scopes_ = scopes;
push_note_state (SCM_EOL);
}
void
Lily_parser::parse_file (string init, string name, string out_name)
{
- // TODO: use $parser
lexer_->set_identifier (ly_symbol2scm ("parser"), self_scm ());
output_basename_ = out_name;
OUT_FILE (unless IN_FILE redefines output file name). */
SCM mod = lexer_->set_current_scope ();
- do_yyparse ();
+ do {
+ do_yyparse ();
+ } while (!lexer_->is_clean ());
/*
Don't mix cyclic pointers with weak tables.
void
Lily_parser::parse_string (string ly_code)
{
- // TODO: use $parser
- lexer_->set_identifier (ly_symbol2scm ("parser"),
- self_scm ());
-
lexer_->main_input_name_ = "<string>";
lexer_->is_main_input_ = true;
lexer_->new_input (lexer_->main_input_name_, ly_code, sources_);
SCM mod = lexer_->set_current_scope ();
+ SCM parser = lexer_->lookup_identifier_symbol (ly_symbol2scm ("parser"));
+ lexer_->set_identifier (ly_symbol2scm ("parser"), self_scm ());
do_yyparse ();
+ lexer_->set_identifier (ly_symbol2scm ("parser"), parser);
scm_set_current_module (mod);
error_level_ = error_level_ | lexer_->error_level_;
Lily_parser::parse_string_expression (string ly_code, string filename,
int line)
{
- // TODO: use $parser
- lexer_->set_identifier (ly_symbol2scm ("parser"),
- self_scm ());
-
lexer_->main_input_name_ = filename;
lexer_->is_main_input_ = true;
lexer_->new_input (lexer_->main_input_name_, ly_code, sources_);
lexer_->get_source_file ()->set_line (0, line);
}
SCM mod = lexer_->set_current_scope ();
+ SCM parser = lexer_->lookup_identifier_symbol (ly_symbol2scm ("parser"));
+ lexer_->set_identifier (ly_symbol2scm ("parser"), self_scm ());
lexer_->push_extra_token (EMBEDDED_LILY);
do_yyparse ();
SCM result = lexer_->lookup_identifier_symbol (ly_symbol2scm ("parseStringResult"));
// parseStringResult is set in the grammar rule for embedded_lilypond
+ lexer_->set_identifier (ly_symbol2scm ("parser"), parser);
scm_set_current_module (mod);
error_level_ = error_level_ | lexer_->error_level_;
#include "axis-group-interface.hh"
#include "font-interface.hh"
#include "grob-interface.hh"
-#include "international.hh"
#include "item.hh"
#include "lily-proto.hh"
#include "line-interface.hh"
arrows[LEFT],
arrows[RIGHT]));
}
- else
- me->warning (_ ("Line spanner's left point is to the right of its right point."));
line.translate (Offset (-me->relative_coordinate (commonx, X_AXIS),
simple_y ? 0.0 : -me->relative_coordinate (my_common_y, Y_AXIS)));
/* Put the tokens into the symbol table, so that GDB and other debuggers
know about them. */
enum yytokentype {
+ END_OF_FILE = 0,
PREC_BOT = 258,
REPEAT = 259,
ALTERNATIVE = 260,
};
#endif
/* Tokens. */
+#define END_OF_FILE 0
#define PREC_BOT 258
#define REPEAT 259
#define ALTERNATIVE 260
/* Copy the first part of user declarations. */
-#line 30 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 30 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
#define yyerror Lily_parser::parser_error
((Current).set_location ((Rhs)[1], (Rhs)[N]))
-#line 108 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 108 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
// -*-Fundamental-*-
/*
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 182 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 182 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Book *book;
Output_def *outputdef;
int i;
}
/* Line 187 of yacc.c. */
-#line 439 "out/parser.cc"
+#line 441 "out/parser.cc"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
/* Copy the second part of user declarations. */
-#line 191 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 191 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
#define MY_MAKE_MUSIC(x, spot) make_music_with_input (ly_symbol2scm (x), spot)
/* Line 216 of yacc.c. */
-#line 507 "out/parser.cc"
+#line 509 "out/parser.cc"
#ifdef short
# undef short
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 5
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 4878
+#define YYLAST 4999
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 147
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 186
/* YYNRULES -- Number of rules. */
-#define YYNRULES 529
+#define YYNRULES 530
/* YYNRULES -- Number of states. */
-#define YYNSTATES 784
+#define YYNSTATES 786
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
327, 329, 331, 333, 335, 337, 339, 341, 346, 353,
356, 358, 361, 365, 367, 369, 371, 372, 378, 381,
383, 386, 387, 389, 390, 393, 396, 399, 401, 403,
- 405, 408, 410, 412, 414, 416, 418, 420, 424, 428,
- 432, 437, 442, 447, 452, 458, 464, 470, 472, 477,
- 482, 484, 489, 494, 496, 498, 500, 502, 507, 512,
- 517, 522, 527, 532, 537, 543, 549, 555, 560, 565,
- 570, 574, 578, 580, 582, 584, 588, 592, 596, 600,
- 602, 604, 608, 612, 617, 622, 627, 631, 633, 635,
- 637, 641, 645, 650, 655, 660, 664, 668, 672, 674,
- 677, 681, 685, 687, 690, 694, 698, 700, 702, 704,
- 706, 708, 711, 713, 717, 721, 726, 731, 736, 739,
- 740, 743, 745, 747, 749, 752, 757, 762, 765, 769,
- 771, 773, 775, 777, 779, 781, 783, 785, 787, 788,
- 792, 793, 798, 801, 802, 807, 812, 814, 817, 819,
- 823, 826, 832, 836, 838, 840, 842, 844, 846, 848,
- 850, 852, 854, 856, 859, 862, 864, 868, 874, 878,
- 883, 886, 888, 890, 892, 896, 898, 900, 902, 904,
- 906, 908, 910, 912, 914, 916, 918, 921, 924, 928,
- 932, 934, 936, 940, 944, 945, 948, 954, 957, 959,
- 961, 963, 966, 969, 971, 973, 975, 977, 979, 981,
- 983, 984, 987, 989, 992, 994, 996, 999, 1002, 1004,
+ 405, 408, 410, 412, 414, 416, 418, 420, 422, 426,
+ 430, 434, 439, 444, 449, 454, 460, 466, 472, 474,
+ 479, 484, 486, 491, 496, 498, 500, 502, 504, 509,
+ 514, 519, 524, 529, 534, 539, 545, 551, 557, 562,
+ 567, 572, 576, 580, 582, 584, 586, 590, 594, 598,
+ 602, 604, 606, 610, 614, 619, 624, 629, 633, 635,
+ 637, 639, 643, 647, 652, 657, 662, 666, 670, 674,
+ 676, 679, 683, 687, 689, 692, 696, 700, 702, 704,
+ 706, 708, 710, 713, 715, 719, 723, 728, 733, 738,
+ 741, 742, 745, 747, 749, 751, 754, 759, 764, 767,
+ 771, 773, 775, 777, 779, 781, 783, 785, 787, 789,
+ 790, 794, 795, 800, 803, 804, 809, 814, 816, 819,
+ 821, 825, 828, 834, 838, 840, 842, 844, 846, 848,
+ 850, 852, 854, 856, 858, 861, 864, 866, 870, 876,
+ 880, 885, 888, 890, 892, 894, 898, 900, 902, 904,
+ 906, 908, 910, 912, 914, 916, 918, 920, 923, 926,
+ 930, 934, 936, 938, 942, 946, 947, 950, 956, 959,
+ 961, 963, 965, 968, 971, 973, 975, 977, 979, 981,
+ 983, 985, 986, 989, 991, 994, 996, 998, 1001, 1004,
1007, 1010, 1012, 1015, 1017, 1019, 1021, 1023, 1025, 1027,
1029, 1031, 1033, 1035, 1037, 1039, 1041, 1043, 1045, 1047,
- 1049, 1050, 1052, 1055, 1058, 1060, 1063, 1065, 1068, 1070,
- 1073, 1076, 1078, 1081, 1084, 1086, 1088, 1090, 1092, 1094,
+ 1049, 1051, 1052, 1054, 1057, 1060, 1062, 1065, 1067, 1070,
+ 1072, 1075, 1078, 1080, 1083, 1086, 1088, 1090, 1092, 1094,
1096, 1098, 1100, 1102, 1104, 1106, 1108, 1110, 1112, 1114,
- 1116, 1118, 1120, 1121, 1123, 1125, 1128, 1131, 1133, 1137,
- 1141, 1142, 1145, 1147, 1150, 1152, 1154, 1156, 1158, 1160,
- 1162, 1164, 1166, 1169, 1172, 1175, 1177, 1179, 1181, 1183,
- 1185, 1188, 1189, 1192, 1196, 1197, 1199, 1206, 1209, 1212,
- 1214, 1217, 1219, 1221, 1223, 1227, 1231, 1235, 1239, 1242,
- 1247, 1248, 1251, 1253, 1255, 1258, 1261, 1263, 1265, 1267,
- 1269, 1273, 1275, 1278, 1281, 1283, 1287, 1291, 1295, 1297,
- 1299, 1303, 1307, 1310, 1312, 1314, 1317, 1320, 1322, 1324,
- 1326, 1328, 1330, 1332, 1333, 1336, 1337, 1340, 1342, 1343,
- 1347, 1349, 1350, 1354, 1356, 1357, 1361, 1363, 1366, 1368,
- 1369, 1373, 1375, 1377, 1379, 1381, 1384, 1387, 1391, 1392,
- 1395, 1398, 1401, 1405, 1409, 1411, 1413, 1417, 1421, 1423,
- 1426, 1428, 1430, 1432, 1434, 1435, 1441, 1444, 1447, 1450
+ 1116, 1118, 1120, 1122, 1123, 1125, 1127, 1130, 1133, 1135,
+ 1139, 1143, 1144, 1147, 1149, 1152, 1154, 1156, 1158, 1160,
+ 1162, 1164, 1166, 1168, 1171, 1174, 1177, 1179, 1181, 1183,
+ 1185, 1187, 1190, 1191, 1194, 1198, 1199, 1201, 1208, 1211,
+ 1214, 1216, 1219, 1221, 1223, 1225, 1229, 1233, 1237, 1241,
+ 1244, 1249, 1250, 1253, 1255, 1257, 1260, 1263, 1265, 1267,
+ 1269, 1271, 1275, 1277, 1280, 1283, 1285, 1289, 1293, 1297,
+ 1299, 1301, 1305, 1309, 1312, 1314, 1316, 1319, 1322, 1324,
+ 1326, 1328, 1330, 1332, 1334, 1335, 1338, 1339, 1342, 1344,
+ 1345, 1349, 1351, 1352, 1356, 1358, 1359, 1363, 1365, 1368,
+ 1370, 1371, 1375, 1377, 1379, 1381, 1383, 1386, 1389, 1393,
+ 1394, 1397, 1400, 1403, 1407, 1411, 1413, 1415, 1419, 1423,
+ 1425, 1428, 1430, 1432, 1434, 1436, 1437, 1443, 1446, 1449,
+ 1452
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
-1, -1, 59, 197, 130, 199, 131, -1, 59, 105,
-1, 105, -1, 59, 219, -1, -1, 196, -1, -1,
199, 240, -1, 199, 105, -1, 199, 166, -1, 225,
- -1, 202, -1, 202, -1, 226, 201, -1, 227, -1,
- 118, -1, 203, -1, 194, -1, 193, -1, 212, -1,
- 97, 91, 204, -1, 97, 92, 204, -1, 97, 93,
- 204, -1, 97, 91, 211, 271, -1, 97, 92, 215,
- 276, -1, 97, 93, 215, 109, -1, 97, 93, 215,
- 259, -1, 97, 93, 215, 127, 13, -1, 97, 93,
- 215, 127, 12, -1, 97, 93, 215, 127, 18, -1,
- 205, -1, 97, 93, 211, 220, -1, 97, 93, 215,
- 307, -1, 205, -1, 97, 93, 211, 156, -1, 97,
- 93, 215, 306, -1, 212, -1, 210, -1, 216, -1,
- 210, -1, 97, 93, 208, 220, -1, 97, 93, 209,
- 259, -1, 97, 93, 208, 293, -1, 97, 93, 209,
- 13, -1, 97, 93, 209, 12, -1, 97, 93, 209,
- 18, -1, 97, 93, 209, 109, -1, 97, 93, 209,
- 127, 13, -1, 97, 93, 209, 127, 12, -1, 97,
- 93, 209, 127, 18, -1, 97, 91, 208, 271, -1,
- 97, 92, 209, 276, -1, 97, 93, 210, 94, -1,
- 210, 95, 220, -1, 210, 95, 306, -1, 212, -1,
- 207, -1, 222, -1, 93, 217, 156, -1, 93, 218,
- 306, -1, 93, 218, 109, -1, 93, 218, 259, -1,
- 214, -1, 213, -1, 93, 217, 293, -1, 213, 95,
- 294, -1, 93, 218, 127, 13, -1, 93, 218, 127,
- 12, -1, 93, 218, 127, 18, -1, 214, 95, 306,
- -1, 216, -1, 206, -1, 222, -1, 93, 217, 220,
- -1, 93, 218, 306, -1, 93, 218, 127, 13, -1,
- 93, 218, 127, 12, -1, 93, 218, 127, 18, -1,
- 93, 218, 259, -1, 93, 218, 109, -1, 93, 217,
- 293, -1, 208, -1, 210, 94, -1, 97, 91, 217,
- -1, 97, 92, 217, -1, 209, -1, 210, 94, -1,
- 97, 91, 218, -1, 97, 92, 218, -1, 153, -1,
- 221, -1, 154, -1, 221, -1, 201, -1, 121, 215,
- -1, 98, -1, 91, 217, 271, -1, 92, 218, 276,
- -1, 97, 91, 204, 8, -1, 97, 92, 204, 8,
- -1, 97, 93, 204, 8, -1, 117, 211, -1, -1,
- 132, 245, -1, 223, -1, 192, -1, 233, -1, 226,
- 188, -1, 28, 245, 224, 198, -1, 60, 245, 224,
- 198, -1, 228, 203, -1, 229, 198, 203, -1, 46,
- -1, 32, -1, 34, -1, 25, -1, 39, -1, 33,
- -1, 35, -1, 26, -1, 40, -1, -1, 7, 231,
- 200, -1, -1, 230, 7, 232, 200, -1, 200, 230,
- -1, -1, 41, 245, 234, 188, -1, 24, 125, 132,
- 125, -1, 219, -1, 236, 219, -1, 236, -1, 125,
- 132, 246, -1, 58, 245, -1, 47, 245, 237, 132,
- 246, -1, 51, 245, 155, -1, 27, -1, 49, -1,
- 20, -1, 29, -1, 30, -1, 21, -1, 57, -1,
- 31, -1, 45, -1, 238, -1, 239, 125, -1, 239,
- 155, -1, 245, -1, 245, 133, 245, -1, 47, 241,
- 237, 132, 246, -1, 51, 241, 155, -1, 54, 241,
- 132, 246, -1, 58, 241, -1, 242, -1, 125, -1,
- 126, -1, 244, 128, 244, -1, 125, -1, 110, -1,
- 126, -1, 156, -1, 306, -1, 109, -1, 293, -1,
- 220, -1, 306, -1, 109, -1, 293, -1, 291, 258,
- -1, 292, 258, -1, 103, 278, 258, -1, 88, 278,
- 258, -1, 256, -1, 249, -1, 250, 278, 258, -1,
- 66, 251, 67, -1, -1, 251, 252, -1, 270, 310,
- 311, 265, 258, -1, 106, 258, -1, 253, -1, 223,
- -1, 118, -1, 117, 215, -1, 108, 215, -1, 257,
- -1, 75, -1, 77, -1, 70, -1, 134, -1, 80,
- -1, 185, -1, -1, 258, 260, -1, 263, -1, 275,
- 254, -1, 85, -1, 81, -1, 275, 264, -1, 275,
- 263, -1, 261, -1, 135, 273, -1, 136, 273, -1,
+ -1, 202, -1, 202, -1, 226, 201, -1, 254, -1,
+ 227, -1, 118, -1, 203, -1, 194, -1, 193, -1,
+ 212, -1, 97, 91, 204, -1, 97, 92, 204, -1,
+ 97, 93, 204, -1, 97, 91, 211, 271, -1, 97,
+ 92, 215, 276, -1, 97, 93, 215, 109, -1, 97,
+ 93, 215, 259, -1, 97, 93, 215, 127, 13, -1,
+ 97, 93, 215, 127, 12, -1, 97, 93, 215, 127,
+ 18, -1, 205, -1, 97, 93, 211, 220, -1, 97,
+ 93, 215, 307, -1, 205, -1, 97, 93, 211, 156,
+ -1, 97, 93, 215, 306, -1, 212, -1, 210, -1,
+ 216, -1, 210, -1, 97, 93, 208, 220, -1, 97,
+ 93, 209, 259, -1, 97, 93, 208, 293, -1, 97,
+ 93, 209, 13, -1, 97, 93, 209, 12, -1, 97,
+ 93, 209, 18, -1, 97, 93, 209, 109, -1, 97,
+ 93, 209, 127, 13, -1, 97, 93, 209, 127, 12,
+ -1, 97, 93, 209, 127, 18, -1, 97, 91, 208,
+ 271, -1, 97, 92, 209, 276, -1, 97, 93, 210,
+ 94, -1, 210, 95, 220, -1, 210, 95, 306, -1,
+ 212, -1, 207, -1, 222, -1, 93, 217, 156, -1,
+ 93, 218, 306, -1, 93, 218, 109, -1, 93, 218,
+ 259, -1, 214, -1, 213, -1, 93, 217, 293, -1,
+ 213, 95, 294, -1, 93, 218, 127, 13, -1, 93,
+ 218, 127, 12, -1, 93, 218, 127, 18, -1, 214,
+ 95, 306, -1, 216, -1, 206, -1, 222, -1, 93,
+ 217, 220, -1, 93, 218, 306, -1, 93, 218, 127,
+ 13, -1, 93, 218, 127, 12, -1, 93, 218, 127,
+ 18, -1, 93, 218, 259, -1, 93, 218, 109, -1,
+ 93, 217, 293, -1, 208, -1, 210, 94, -1, 97,
+ 91, 217, -1, 97, 92, 217, -1, 209, -1, 210,
+ 94, -1, 97, 91, 218, -1, 97, 92, 218, -1,
+ 153, -1, 221, -1, 154, -1, 221, -1, 201, -1,
+ 121, 215, -1, 98, -1, 91, 217, 271, -1, 92,
+ 218, 276, -1, 97, 91, 204, 8, -1, 97, 92,
+ 204, 8, -1, 97, 93, 204, 8, -1, 117, 211,
+ -1, -1, 132, 245, -1, 223, -1, 192, -1, 233,
+ -1, 226, 188, -1, 28, 245, 224, 198, -1, 60,
+ 245, 224, 198, -1, 228, 203, -1, 229, 198, 203,
+ -1, 46, -1, 32, -1, 34, -1, 25, -1, 39,
+ -1, 33, -1, 35, -1, 26, -1, 40, -1, -1,
+ 7, 231, 200, -1, -1, 230, 7, 232, 200, -1,
+ 200, 230, -1, -1, 41, 245, 234, 188, -1, 24,
+ 125, 132, 125, -1, 219, -1, 236, 219, -1, 236,
+ -1, 125, 132, 246, -1, 58, 245, -1, 47, 245,
+ 237, 132, 246, -1, 51, 245, 155, -1, 27, -1,
+ 49, -1, 20, -1, 29, -1, 30, -1, 21, -1,
+ 57, -1, 31, -1, 45, -1, 238, -1, 239, 125,
+ -1, 239, 155, -1, 245, -1, 245, 133, 245, -1,
+ 47, 241, 237, 132, 246, -1, 51, 241, 155, -1,
+ 54, 241, 132, 246, -1, 58, 241, -1, 242, -1,
+ 125, -1, 126, -1, 244, 128, 244, -1, 125, -1,
+ 110, -1, 126, -1, 156, -1, 306, -1, 109, -1,
+ 293, -1, 220, -1, 306, -1, 109, -1, 293, -1,
+ 291, 258, -1, 292, 258, -1, 103, 278, 258, -1,
+ 88, 278, 258, -1, 256, -1, 249, -1, 250, 278,
+ 258, -1, 66, 251, 67, -1, -1, 251, 252, -1,
+ 270, 310, 311, 265, 258, -1, 106, 258, -1, 253,
+ -1, 223, -1, 118, -1, 117, 215, -1, 108, 215,
+ -1, 257, -1, 75, -1, 77, -1, 70, -1, 134,
+ -1, 80, -1, 185, -1, -1, 258, 260, -1, 263,
+ -1, 275, 254, -1, 85, -1, 81, -1, 275, 264,
+ -1, 275, 263, -1, 135, 273, -1, 136, 273, -1,
259, -1, 127, 273, -1, 89, -1, 137, -1, 138,
-1, 139, -1, 140, -1, 141, -1, 74, -1, 76,
- -1, 73, -1, 71, -1, 78, -1, 262, -1, 107,
- -1, 282, -1, 255, -1, 272, -1, 274, -1, -1,
- 132, -1, 132, 267, -1, 132, 266, -1, 142, -1,
- 266, 142, -1, 143, -1, 267, 143, -1, 15, -1,
- 15, 266, -1, 15, 267, -1, 14, -1, 14, 266,
- -1, 14, 267, -1, 268, -1, 16, -1, 270, -1,
- 269, -1, 316, -1, 245, -1, 13, -1, 135, -1,
- 128, -1, 127, -1, 134, -1, 67, -1, 133, -1,
- 136, -1, 136, -1, 135, -1, 127, -1, 280, -1,
- -1, 280, -1, 277, -1, 308, 281, -1, 11, 281,
- -1, 279, -1, 280, 144, 308, -1, 280, 144, 109,
- -1, -1, 281, 133, -1, 10, -1, 10, 308, -1,
- 13, -1, 125, -1, 316, -1, 127, -1, 128, -1,
- 145, -1, 84, -1, 283, -1, 285, 138, -1, 285,
- 284, -1, 285, 286, -1, 79, -1, 74, -1, 17,
- -1, 70, -1, 285, -1, 137, 285, -1, -1, 288,
- 287, -1, 83, 288, 82, -1, -1, 50, -1, 270,
- 310, 311, 265, 277, 290, -1, 106, 278, -1, 120,
- 278, -1, 296, -1, 289, 278, -1, 312, -1, 110,
- -1, 293, -1, 293, 280, 258, -1, 293, 260, 258,
- -1, 111, 278, 258, -1, 293, 278, 258, -1, 269,
- 278, -1, 269, 278, 298, 297, -1, -1, 297, 299,
- -1, 63, -1, 62, -1, 65, 269, -1, 61, 269,
- -1, 298, -1, 300, -1, 102, -1, 301, -1, 300,
- 133, 301, -1, 308, -1, 308, 128, -1, 308, 64,
- -1, 308, -1, 308, 139, 308, -1, 303, 128, 304,
- -1, 303, 127, 304, -1, 304, -1, 305, -1, 305,
- 144, 305, -1, 305, 17, 305, -1, 127, 305, -1,
- 306, -1, 307, -1, 13, 18, -1, 12, 18, -1,
- 13, -1, 12, -1, 18, -1, 13, -1, 13, -1,
- 18, -1, -1, 310, 145, -1, -1, 311, 146, -1,
- 112, -1, -1, 87, 313, 318, -1, 116, -1, -1,
- 43, 315, 321, -1, 115, -1, -1, 42, 317, 318,
- -1, 321, -1, 329, 330, -1, 330, -1, -1, 153,
- 320, 94, -1, 116, -1, 322, -1, 323, -1, 325,
- -1, 319, 116, -1, 329, 323, -1, 130, 324, 131,
- -1, -1, 324, 332, -1, 324, 321, -1, 114, 327,
- -1, 96, 327, 321, -1, 93, 327, 219, -1, 98,
- -1, 326, -1, 90, 327, 332, -1, 113, 90, 327,
- -1, 328, -1, 329, 328, -1, 125, -1, 115, -1,
- 112, -1, 126, -1, -1, 52, 331, 130, 175, 131,
- -1, 113, 326, -1, 319, 115, -1, 329, 330, -1,
- 330, -1
+ -1, 73, -1, 71, -1, 78, -1, 262, -1, 261,
+ -1, 107, -1, 282, -1, 255, -1, 272, -1, 274,
+ -1, -1, 132, -1, 132, 267, -1, 132, 266, -1,
+ 142, -1, 266, 142, -1, 143, -1, 267, 143, -1,
+ 15, -1, 15, 266, -1, 15, 267, -1, 14, -1,
+ 14, 266, -1, 14, 267, -1, 268, -1, 16, -1,
+ 270, -1, 269, -1, 316, -1, 245, -1, 13, -1,
+ 135, -1, 128, -1, 127, -1, 134, -1, 67, -1,
+ 133, -1, 136, -1, 136, -1, 135, -1, 127, -1,
+ 280, -1, -1, 280, -1, 277, -1, 308, 281, -1,
+ 11, 281, -1, 279, -1, 280, 144, 308, -1, 280,
+ 144, 109, -1, -1, 281, 133, -1, 10, -1, 10,
+ 308, -1, 13, -1, 125, -1, 316, -1, 127, -1,
+ 128, -1, 145, -1, 84, -1, 283, -1, 285, 138,
+ -1, 285, 284, -1, 285, 286, -1, 79, -1, 74,
+ -1, 17, -1, 70, -1, 285, -1, 137, 285, -1,
+ -1, 288, 287, -1, 83, 288, 82, -1, -1, 50,
+ -1, 270, 310, 311, 265, 277, 290, -1, 106, 278,
+ -1, 120, 278, -1, 296, -1, 289, 278, -1, 312,
+ -1, 110, -1, 293, -1, 293, 280, 258, -1, 293,
+ 260, 258, -1, 111, 278, 258, -1, 293, 278, 258,
+ -1, 269, 278, -1, 269, 278, 298, 297, -1, -1,
+ 297, 299, -1, 63, -1, 62, -1, 65, 269, -1,
+ 61, 269, -1, 298, -1, 300, -1, 102, -1, 301,
+ -1, 300, 133, 301, -1, 308, -1, 308, 128, -1,
+ 308, 64, -1, 308, -1, 308, 139, 308, -1, 303,
+ 128, 304, -1, 303, 127, 304, -1, 304, -1, 305,
+ -1, 305, 144, 305, -1, 305, 17, 305, -1, 127,
+ 305, -1, 306, -1, 307, -1, 13, 18, -1, 12,
+ 18, -1, 13, -1, 12, -1, 18, -1, 13, -1,
+ 13, -1, 18, -1, -1, 310, 145, -1, -1, 311,
+ 146, -1, 112, -1, -1, 87, 313, 318, -1, 116,
+ -1, -1, 43, 315, 321, -1, 115, -1, -1, 42,
+ 317, 318, -1, 321, -1, 329, 330, -1, 330, -1,
+ -1, 153, 320, 94, -1, 116, -1, 322, -1, 323,
+ -1, 325, -1, 319, 116, -1, 329, 323, -1, 130,
+ 324, 131, -1, -1, 324, 332, -1, 324, 321, -1,
+ 114, 327, -1, 96, 327, 321, -1, 93, 327, 219,
+ -1, 98, -1, 326, -1, 90, 327, 332, -1, 113,
+ 90, 327, -1, 328, -1, 329, 328, -1, 125, -1,
+ 115, -1, 112, -1, 126, -1, -1, 52, 331, 130,
+ 175, 131, -1, 113, 326, -1, 319, 115, -1, 329,
+ 330, -1, 330, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 564, 564, 565, 565, 574, 575, 577, 579, 582,
- 589, 589, 594, 600, 606, 613, 618, 622, 626, 643,
- 647, 651, 652, 653, 654, 655, 656, 657, 662, 663,
- 668, 673, 683, 684, 688, 689, 690, 694, 702, 705,
- 706, 714, 717, 723, 725, 731, 740, 741, 745, 748,
- 760, 765, 769, 773, 777, 781, 784, 787, 790, 793,
- 796, 799, 802, 805, 808, 814, 821, 822, 826, 842,
- 846, 850, 853, 860, 872, 883, 893, 899, 904, 910,
- 916, 921, 925, 930, 929, 933, 934, 942, 949, 954,
- 960, 964, 970, 975, 979, 984, 983, 989, 990, 997,
- 1003, 1013, 1019, 1018, 1024, 1036, 1047, 1060, 1069, 1074,
- 1079, 1088, 1100, 1105, 1104, 1114, 1118, 1128, 1132, 1131,
- 1147, 1153, 1156, 1159, 1168, 1171, 1175, 1185, 1191, 1192,
- 1196, 1197, 1211, 1221, 1225, 1226, 1227, 1231, 1235, 1242,
- 1245, 1251, 1254, 1260, 1261, 1262, 1266, 1266, 1271, 1275,
- 1279, 1291, 1294, 1301, 1304, 1307, 1312, 1319, 1320, 1325,
- 1326, 1333, 1334, 1335, 1339, 1340, 1348, 1349, 1353, 1357,
- 1365, 1368, 1371, 1375, 1379, 1395, 1401, 1410, 1411, 1415,
- 1422, 1423, 1427, 1434, 1435, 1439, 1440, 1444, 1454, 1464,
- 1481, 1492, 1503, 1513, 1523, 1543, 1553, 1562, 1566, 1570,
- 1575, 1580, 1588, 1589, 1593, 1594, 1599, 1604, 1609, 1614,
- 1615, 1619, 1650, 1659, 1676, 1682, 1687, 1694, 1695, 1699,
- 1700, 1705, 1710, 1726, 1732, 1738, 1743, 1748, 1756, 1757,
- 1758, 1762, 1769, 1770, 1771, 1775, 1782, 1783, 1787, 1788,
- 1789, 1793, 1800, 1803, 1806, 1809, 1812, 1815, 1821, 1829,
- 1830, 1836, 1837, 1838, 1839, 1846, 1853, 1863, 1874, 1889,
- 1895, 1902, 1907, 1915, 1922, 1928, 1933, 1940, 1947, 1947,
- 1956, 1956, 1965, 1968, 1968, 1977, 1984, 1987, 1993, 1999,
- 2003, 2007, 2012, 2019, 2020, 2022, 2023, 2024, 2026, 2027,
- 2028, 2029, 2033, 2034, 2037, 2054, 2063, 2070, 2077, 2083,
- 2089, 2097, 2103, 2106, 2109, 2114, 2117, 2120, 2126, 2127,
- 2128, 2129, 2133, 2134, 2135, 2136, 2141, 2155, 2164, 2170,
- 2176, 2177, 2182, 2200, 2207, 2208, 2215, 2241, 2251, 2268,
- 2269, 2278, 2285, 2292, 2295, 2300, 2305, 2308, 2325, 2328,
- 2335, 2338, 2345, 2348, 2355, 2360, 2365, 2373, 2381, 2382,
- 2387, 2395, 2396, 2402, 2410, 2413, 2416, 2419, 2422, 2425,
- 2428, 2431, 2434, 2437, 2443, 2457, 2460, 2465, 2469, 2472,
- 2483, 2484, 2485, 2486, 2490, 2493, 2499, 2502, 2508, 2511,
- 2516, 2528, 2531, 2536, 2545, 2548, 2552, 2553, 2557, 2562,
- 2571, 2579, 2582, 2585, 2588, 2591, 2594, 2597, 2603, 2604,
- 2605, 2609, 2615, 2618, 2626, 2634, 2643, 2653, 2656, 2659,
- 2667, 2670, 2676, 2679, 2687, 2688, 2689, 2693, 2694, 2695,
- 2699, 2703, 2714, 2718, 2729, 2752, 2755, 2758, 2761, 2767,
- 2770, 2777, 2780, 2786, 2793, 2794, 2798, 2830, 2837, 2853,
- 2858, 2868, 2871, 2877, 2878, 2884, 2890, 2900, 2909, 2912,
- 2919, 2922, 2928, 2931, 2934, 2937, 2943, 2946, 2949, 2955,
- 2956, 2962, 2965, 2968, 2974, 2977, 2989, 2992, 2995, 2999,
- 3002, 3005, 3011, 3014, 3019, 3020, 3023, 3029, 3030, 3031,
- 3035, 3041, 3042, 3046, 3047, 3051, 3052, 3060, 3064, 3063,
- 3072, 3076, 3075, 3084, 3088, 3087, 3096, 3099, 3102, 3109,
- 3108, 3123, 3126, 3129, 3132, 3135, 3142, 3149, 3155, 3156,
- 3159, 3165, 3171, 3174, 3177, 3183, 3184, 3190, 3196, 3199,
- 3205, 3208, 3211, 3214, 3217, 3217, 3226, 3229, 3236, 3240
+ 0, 565, 565, 566, 566, 575, 576, 578, 580, 583,
+ 590, 590, 595, 601, 607, 614, 619, 623, 627, 644,
+ 648, 652, 653, 654, 655, 656, 657, 658, 663, 664,
+ 669, 674, 684, 685, 689, 690, 691, 695, 703, 706,
+ 707, 715, 718, 724, 726, 732, 741, 742, 746, 749,
+ 761, 766, 770, 774, 778, 782, 785, 788, 791, 794,
+ 797, 800, 803, 806, 809, 815, 822, 823, 827, 843,
+ 847, 851, 854, 861, 873, 884, 894, 900, 905, 911,
+ 917, 922, 926, 931, 930, 934, 935, 943, 950, 955,
+ 961, 965, 971, 976, 980, 985, 984, 990, 991, 998,
+ 1004, 1014, 1020, 1019, 1025, 1037, 1048, 1061, 1070, 1075,
+ 1080, 1089, 1101, 1106, 1105, 1115, 1119, 1129, 1133, 1132,
+ 1148, 1154, 1157, 1160, 1169, 1172, 1176, 1186, 1192, 1193,
+ 1197, 1198, 1212, 1222, 1226, 1227, 1228, 1232, 1236, 1243,
+ 1246, 1252, 1255, 1261, 1262, 1263, 1267, 1267, 1272, 1276,
+ 1280, 1292, 1295, 1302, 1305, 1308, 1313, 1320, 1321, 1326,
+ 1327, 1331, 1335, 1336, 1337, 1341, 1342, 1350, 1351, 1355,
+ 1359, 1367, 1370, 1373, 1377, 1381, 1397, 1403, 1412, 1413,
+ 1417, 1424, 1425, 1429, 1436, 1437, 1441, 1442, 1446, 1456,
+ 1466, 1483, 1494, 1505, 1515, 1525, 1545, 1555, 1564, 1568,
+ 1572, 1577, 1582, 1590, 1591, 1595, 1596, 1601, 1606, 1611,
+ 1616, 1617, 1621, 1652, 1661, 1678, 1684, 1689, 1696, 1697,
+ 1701, 1702, 1707, 1712, 1728, 1734, 1740, 1745, 1750, 1758,
+ 1759, 1760, 1764, 1771, 1772, 1773, 1777, 1784, 1785, 1789,
+ 1790, 1791, 1795, 1802, 1805, 1808, 1811, 1814, 1817, 1823,
+ 1831, 1832, 1838, 1839, 1840, 1841, 1848, 1855, 1865, 1876,
+ 1891, 1897, 1904, 1909, 1917, 1924, 1930, 1935, 1942, 1949,
+ 1949, 1958, 1958, 1967, 1970, 1970, 1979, 1986, 1989, 1995,
+ 2001, 2005, 2009, 2014, 2021, 2022, 2024, 2025, 2026, 2028,
+ 2029, 2030, 2031, 2035, 2036, 2039, 2056, 2065, 2072, 2079,
+ 2085, 2091, 2099, 2105, 2108, 2111, 2116, 2119, 2122, 2128,
+ 2129, 2130, 2131, 2135, 2136, 2137, 2138, 2143, 2157, 2166,
+ 2172, 2178, 2179, 2184, 2202, 2209, 2210, 2217, 2243, 2253,
+ 2270, 2271, 2280, 2287, 2294, 2297, 2302, 2307, 2310, 2327,
+ 2330, 2337, 2340, 2347, 2350, 2357, 2362, 2367, 2375, 2383,
+ 2388, 2396, 2397, 2403, 2411, 2414, 2417, 2420, 2423, 2426,
+ 2429, 2432, 2435, 2438, 2444, 2458, 2459, 2462, 2467, 2471,
+ 2474, 2485, 2486, 2487, 2488, 2492, 2495, 2501, 2504, 2510,
+ 2513, 2518, 2530, 2533, 2538, 2547, 2550, 2554, 2555, 2559,
+ 2564, 2573, 2581, 2584, 2587, 2590, 2593, 2596, 2599, 2605,
+ 2606, 2607, 2611, 2617, 2620, 2628, 2636, 2645, 2655, 2658,
+ 2661, 2669, 2672, 2678, 2681, 2689, 2690, 2691, 2695, 2696,
+ 2697, 2701, 2705, 2716, 2720, 2731, 2754, 2757, 2760, 2763,
+ 2769, 2772, 2779, 2782, 2788, 2795, 2796, 2800, 2832, 2839,
+ 2855, 2860, 2870, 2873, 2879, 2880, 2886, 2892, 2902, 2911,
+ 2914, 2921, 2924, 2930, 2933, 2936, 2939, 2945, 2948, 2951,
+ 2957, 2958, 2964, 2967, 2970, 2976, 2979, 2991, 2994, 2997,
+ 3001, 3004, 3007, 3013, 3016, 3021, 3022, 3025, 3031, 3032,
+ 3033, 3037, 3043, 3044, 3048, 3049, 3053, 3054, 3062, 3066,
+ 3065, 3074, 3078, 3077, 3086, 3090, 3089, 3098, 3101, 3104,
+ 3111, 3110, 3125, 3128, 3131, 3134, 3137, 3144, 3151, 3157,
+ 3158, 3161, 3167, 3173, 3176, 3179, 3185, 3186, 3192, 3198,
+ 3201, 3207, 3210, 3213, 3216, 3219, 3219, 3228, 3231, 3238,
+ 3242
};
#endif
First, the terminals, then, starting at YYNTOKENS, nonterminals. */
static const char *const yytname[] =
{
- "$end", "error", "$undefined", "PREC_BOT", "\"\\\\repeat\"",
+ "\"end of input\"", "error", "$undefined", "PREC_BOT", "\"\\\\repeat\"",
"\"\\\\alternative\"", "COMPOSITE", "\"\\\\addlyrics\"",
"\"\\\\default\"", "FUNCTION_ARGLIST", "':'", "DURATION_IDENTIFIER",
"REAL", "UNSIGNED", "TONICNAME_PITCH", "NOTENAME_PITCH",
"string", "simple_string", "scalar", "scalar_closed", "event_chord",
"note_chord_element", "chord_body", "chord_body_elements",
"chord_body_element", "music_function_chord_body",
- "music_function_event", "event_function_event", "command_element",
+ "music_function_call_closed", "event_function_event", "command_element",
"command_event", "post_events", "post_event_nofinger", "post_event",
"string_number_event", "direction_less_char", "direction_less_event",
"direction_reqd_event", "octave_check", "sup_quotes", "sub_quotes",
189, 189, 190, 190, 191, 191, 191, 192, 192, 193,
193, 194, 194, 195, 195, 195, 197, 196, 196, 196,
196, 198, 198, 199, 199, 199, 199, 200, 200, 201,
- 201, 202, 202, 202, 203, 203, 204, 204, 204, 204,
- 205, 205, 205, 205, 205, 205, 205, 206, 206, 206,
- 207, 207, 207, 208, 208, 209, 209, 210, 210, 210,
+ 201, 201, 202, 202, 202, 203, 203, 204, 204, 204,
+ 204, 205, 205, 205, 205, 205, 205, 205, 206, 206,
+ 206, 207, 207, 207, 208, 208, 209, 209, 210, 210,
210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
- 210, 210, 211, 211, 212, 212, 212, 212, 212, 212,
- 212, 213, 213, 214, 214, 214, 214, 215, 215, 216,
- 216, 216, 216, 216, 216, 216, 216, 216, 217, 217,
- 217, 217, 218, 218, 218, 218, 219, 219, 220, 220,
- 220, 221, 222, 222, 222, 222, 222, 222, 223, 224,
- 224, 225, 225, 225, 225, 226, 226, 227, 227, 228,
- 228, 228, 228, 228, 229, 229, 229, 229, 231, 230,
- 232, 230, 233, 234, 233, 235, 236, 236, 237, 238,
- 238, 238, 238, 239, 239, 239, 239, 239, 239, 239,
- 239, 239, 240, 240, 240, 241, 241, 242, 242, 242,
- 242, 243, 244, 244, 244, 245, 245, 245, 246, 246,
- 246, 246, 247, 247, 247, 247, 248, 248, 248, 248,
- 248, 248, 249, 250, 251, 251, 252, 252, 252, 253,
- 253, 254, 255, 256, 256, 256, 256, 256, 257, 257,
- 258, 258, 259, 259, 259, 259, 259, 259, 259, 259,
+ 210, 210, 210, 211, 211, 212, 212, 212, 212, 212,
+ 212, 212, 213, 213, 214, 214, 214, 214, 215, 215,
+ 216, 216, 216, 216, 216, 216, 216, 216, 216, 217,
+ 217, 217, 217, 218, 218, 218, 218, 219, 219, 220,
+ 220, 220, 221, 222, 222, 222, 222, 222, 222, 223,
+ 224, 224, 225, 225, 225, 225, 226, 226, 227, 227,
+ 228, 228, 228, 228, 228, 229, 229, 229, 229, 231,
+ 230, 232, 230, 233, 234, 233, 235, 236, 236, 237,
+ 238, 238, 238, 238, 239, 239, 239, 239, 239, 239,
+ 239, 239, 239, 240, 240, 240, 241, 241, 242, 242,
+ 242, 242, 243, 244, 244, 244, 245, 245, 245, 246,
+ 246, 246, 246, 247, 247, 247, 247, 248, 248, 248,
+ 248, 248, 248, 249, 250, 251, 251, 252, 252, 252,
+ 253, 253, 254, 255, 256, 256, 256, 256, 256, 257,
+ 257, 258, 258, 259, 259, 259, 259, 259, 259, 259,
259, 260, 260, 261, 262, 262, 262, 262, 262, 262,
- 262, 262, 262, 262, 263, 263, 263, 263, 264, 264,
- 265, 265, 265, 265, 266, 266, 267, 267, 268, 268,
- 268, 269, 269, 269, 270, 270, 271, 271, 272, 272,
- 273, 274, 274, 274, 274, 274, 274, 274, 275, 275,
- 275, 276, 277, 277, 278, 279, 279, 280, 280, 280,
- 281, 281, 282, 282, 283, 283, 283, 284, 284, 284,
- 285, 285, 285, 285, 285, 286, 286, 286, 286, 287,
- 287, 288, 288, 289, 290, 290, 291, 291, 291, 292,
- 292, 293, 293, 294, 294, 294, 294, 295, 296, 296,
- 297, 297, 298, 298, 298, 298, 299, 299, 299, 300,
- 300, 301, 301, 301, 302, 302, 303, 303, 303, 304,
- 304, 304, 305, 305, 306, 306, 306, 307, 307, 307,
- 308, 309, 309, 310, 310, 311, 311, 312, 313, 312,
- 314, 315, 314, 316, 317, 316, 318, 318, 318, 320,
- 319, 321, 321, 321, 321, 321, 322, 323, 324, 324,
- 324, 325, 326, 326, 326, 327, 327, 328, 329, 329,
- 330, 330, 330, 330, 331, 330, 330, 330, 332, 332
+ 262, 262, 262, 262, 263, 263, 263, 263, 263, 264,
+ 264, 265, 265, 265, 265, 266, 266, 267, 267, 268,
+ 268, 268, 269, 269, 269, 270, 270, 271, 271, 272,
+ 272, 273, 274, 274, 274, 274, 274, 274, 274, 275,
+ 275, 275, 276, 277, 277, 278, 279, 279, 280, 280,
+ 280, 281, 281, 282, 282, 283, 283, 283, 284, 284,
+ 284, 285, 285, 285, 285, 285, 286, 286, 286, 286,
+ 287, 287, 288, 288, 289, 290, 290, 291, 291, 291,
+ 292, 292, 293, 293, 294, 294, 294, 294, 295, 296,
+ 296, 297, 297, 298, 298, 298, 298, 299, 299, 299,
+ 300, 300, 301, 301, 301, 302, 302, 303, 303, 303,
+ 304, 304, 304, 305, 305, 306, 306, 306, 307, 307,
+ 307, 308, 309, 309, 310, 310, 311, 311, 312, 313,
+ 312, 314, 315, 314, 316, 317, 316, 318, 318, 318,
+ 320, 319, 321, 321, 321, 321, 321, 322, 323, 324,
+ 324, 324, 325, 326, 326, 326, 327, 327, 328, 329,
+ 329, 330, 330, 330, 330, 331, 330, 330, 330, 332,
+ 332
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
1, 1, 1, 1, 1, 1, 1, 4, 6, 2,
1, 2, 3, 1, 1, 1, 0, 5, 2, 1,
2, 0, 1, 0, 2, 2, 2, 1, 1, 1,
- 2, 1, 1, 1, 1, 1, 1, 3, 3, 3,
- 4, 4, 4, 4, 5, 5, 5, 1, 4, 4,
- 1, 4, 4, 1, 1, 1, 1, 4, 4, 4,
- 4, 4, 4, 4, 5, 5, 5, 4, 4, 4,
- 3, 3, 1, 1, 1, 3, 3, 3, 3, 1,
- 1, 3, 3, 4, 4, 4, 3, 1, 1, 1,
- 3, 3, 4, 4, 4, 3, 3, 3, 1, 2,
- 3, 3, 1, 2, 3, 3, 1, 1, 1, 1,
- 1, 2, 1, 3, 3, 4, 4, 4, 2, 0,
- 2, 1, 1, 1, 2, 4, 4, 2, 3, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 0, 3,
- 0, 4, 2, 0, 4, 4, 1, 2, 1, 3,
- 2, 5, 3, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 2, 2, 1, 3, 5, 3, 4,
- 2, 1, 1, 1, 3, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 2, 2, 3, 3,
- 1, 1, 3, 3, 0, 2, 5, 2, 1, 1,
- 1, 2, 2, 1, 1, 1, 1, 1, 1, 1,
- 0, 2, 1, 2, 1, 1, 2, 2, 1, 2,
+ 2, 1, 1, 1, 1, 1, 1, 1, 3, 3,
+ 3, 4, 4, 4, 4, 5, 5, 5, 1, 4,
+ 4, 1, 4, 4, 1, 1, 1, 1, 4, 4,
+ 4, 4, 4, 4, 4, 5, 5, 5, 4, 4,
+ 4, 3, 3, 1, 1, 1, 3, 3, 3, 3,
+ 1, 1, 3, 3, 4, 4, 4, 3, 1, 1,
+ 1, 3, 3, 4, 4, 4, 3, 3, 3, 1,
+ 2, 3, 3, 1, 2, 3, 3, 1, 1, 1,
+ 1, 1, 2, 1, 3, 3, 4, 4, 4, 2,
+ 0, 2, 1, 1, 1, 2, 4, 4, 2, 3,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
+ 3, 0, 4, 2, 0, 4, 4, 1, 2, 1,
+ 3, 2, 5, 3, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 2, 2, 1, 3, 5, 3,
+ 4, 2, 1, 1, 1, 3, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 2, 2, 3,
+ 3, 1, 1, 3, 3, 0, 2, 5, 2, 1,
+ 1, 1, 2, 2, 1, 1, 1, 1, 1, 1,
+ 1, 0, 2, 1, 2, 1, 1, 2, 2, 2,
2, 1, 2, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 0, 1, 2, 2, 1, 2, 1, 2, 1, 2,
- 2, 1, 2, 2, 1, 1, 1, 1, 1, 1,
+ 1, 0, 1, 2, 2, 1, 2, 1, 2, 1,
+ 2, 2, 1, 2, 2, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 0, 1, 1, 2, 2, 1, 3, 3,
- 0, 2, 1, 2, 1, 1, 1, 1, 1, 1,
- 1, 1, 2, 2, 2, 1, 1, 1, 1, 1,
- 2, 0, 2, 3, 0, 1, 6, 2, 2, 1,
- 2, 1, 1, 1, 3, 3, 3, 3, 2, 4,
- 0, 2, 1, 1, 2, 2, 1, 1, 1, 1,
- 3, 1, 2, 2, 1, 3, 3, 3, 1, 1,
- 3, 3, 2, 1, 1, 2, 2, 1, 1, 1,
- 1, 1, 1, 0, 2, 0, 2, 1, 0, 3,
- 1, 0, 3, 1, 0, 3, 1, 2, 1, 0,
- 3, 1, 1, 1, 1, 2, 2, 3, 0, 2,
- 2, 2, 3, 3, 1, 1, 3, 3, 1, 2,
- 1, 1, 1, 1, 0, 5, 2, 2, 2, 1
+ 1, 1, 1, 0, 1, 1, 2, 2, 1, 3,
+ 3, 0, 2, 1, 2, 1, 1, 1, 1, 1,
+ 1, 1, 1, 2, 2, 2, 1, 1, 1, 1,
+ 1, 2, 0, 2, 3, 0, 1, 6, 2, 2,
+ 1, 2, 1, 1, 1, 3, 3, 3, 3, 2,
+ 4, 0, 2, 1, 1, 2, 2, 1, 1, 1,
+ 1, 3, 1, 2, 2, 1, 3, 3, 3, 1,
+ 1, 3, 3, 2, 1, 1, 2, 2, 1, 1,
+ 1, 1, 1, 1, 0, 2, 0, 2, 1, 0,
+ 3, 1, 0, 3, 1, 0, 3, 1, 2, 1,
+ 0, 3, 1, 1, 1, 1, 2, 2, 3, 0,
+ 2, 2, 2, 3, 3, 1, 1, 3, 3, 1,
+ 2, 1, 1, 1, 1, 0, 5, 2, 2, 2,
+ 1
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
static const yytype_uint16 yydefact[] =
{
5, 3, 0, 0, 0, 1, 8, 0, 0, 0,
- 262, 266, 0, 260, 264, 261, 265, 9, 110, 263,
- 267, 0, 494, 491, 109, 259, 108, 0, 0, 0,
- 0, 124, 47, 493, 490, 0, 162, 0, 20, 19,
+ 263, 267, 0, 261, 265, 262, 266, 9, 110, 264,
+ 268, 0, 495, 492, 109, 260, 108, 0, 0, 0,
+ 0, 124, 47, 494, 491, 0, 163, 0, 20, 19,
46, 124, 6, 0, 32, 50, 33, 0, 7, 12,
- 13, 14, 18, 111, 0, 0, 140, 252, 165, 164,
- 15, 158, 163, 251, 157, 0, 161, 0, 151, 253,
- 17, 16, 41, 412, 478, 477, 381, 378, 385, 479,
- 0, 0, 0, 0, 0, 0, 0, 0, 146, 324,
- 336, 362, 361, 359, 334, 360, 335, 363, 338, 345,
- 431, 344, 488, 402, 353, 402, 149, 402, 365, 0,
- 59, 442, 487, 402, 302, 303, 400, 337, 399, 398,
+ 13, 14, 18, 111, 0, 0, 140, 253, 166, 165,
+ 15, 158, 164, 252, 157, 0, 162, 0, 151, 254,
+ 17, 16, 41, 413, 479, 478, 382, 379, 386, 480,
+ 0, 0, 0, 0, 0, 0, 0, 0, 146, 325,
+ 337, 362, 361, 359, 335, 360, 336, 363, 339, 346,
+ 432, 345, 489, 403, 353, 403, 149, 403, 366, 0,
+ 59, 443, 488, 403, 303, 304, 401, 338, 400, 399,
354, 355, 356, 357, 358, 131, 4, 39, 55, 52,
- 53, 51, 54, 339, 130, 0, 128, 56, 132, 64,
- 133, 145, 301, 144, 60, 143, 321, 402, 367, 320,
- 333, 57, 348, 364, 342, 384, 402, 483, 0, 366,
- 402, 340, 340, 402, 129, 439, 58, 468, 469, 473,
- 474, 441, 63, 62, 306, 305, 307, 0, 75, 88,
- 249, 273, 0, 0, 0, 139, 141, 249, 0, 0,
- 0, 0, 0, 242, 180, 203, 248, 202, 210, 209,
- 204, 37, 0, 0, 11, 0, 0, 236, 276, 237,
- 278, 0, 115, 120, 107, 117, 0, 268, 272, 254,
- 132, 133, 129, 257, 152, 0, 480, 413, 476, 475,
- 374, 376, 382, 383, 379, 380, 0, 69, 42, 0,
- 295, 0, 0, 410, 477, 310, 0, 22, 23, 21,
- 34, 308, 35, 28, 29, 30, 27, 31, 36, 26,
- 240, 158, 312, 239, 0, 123, 0, 0, 311, 309,
- 410, 25, 24, 300, 148, 0, 150, 0, 0, 0,
- 404, 340, 407, 403, 340, 437, 0, 0, 177, 218,
- 332, 217, 219, 438, 0, 472, 390, 349, 350, 131,
- 124, 0, 340, 448, 485, 395, 0, 393, 392, 396,
- 394, 391, 397, 389, 343, 347, 346, 368, 369, 388,
- 440, 316, 317, 340, 0, 0, 0, 0, 481, 482,
- 0, 76, 0, 89, 0, 0, 151, 0, 524, 522,
- 0, 0, 521, 501, 520, 523, 508, 499, 495, 0,
- 496, 502, 503, 504, 518, 0, 498, 0, 0, 492,
- 0, 101, 0, 100, 151, 126, 142, 125, 0, 228,
- 184, 183, 0, 0, 232, 186, 185, 0, 0, 0,
- 184, 0, 0, 204, 0, 0, 0, 0, 0, 127,
- 43, 241, 61, 48, 134, 135, 136, 277, 0, 116,
- 113, 119, 112, 0, 270, 258, 375, 377, 0, 70,
- 0, 0, 0, 298, 0, 406, 0, 180, 160, 0,
- 0, 405, 153, 323, 340, 330, 329, 325, 328, 483,
- 414, 433, 420, 415, 0, 421, 429, 432, 416, 489,
- 319, 0, 318, 0, 0, 0, 0, 304, 322, 0,
- 453, 452, 0, 450, 484, 370, 331, 400, 351, 341,
- 447, 467, 466, 471, 470, 137, 86, 74, 85, 0,
- 78, 79, 77, 106, 80, 82, 81, 98, 87, 97,
- 0, 91, 90, 92, 94, 93, 250, 255, 274, 0,
- 0, 0, 0, 514, 526, 0, 515, 511, 0, 0,
- 527, 505, 0, 506, 519, 497, 105, 99, 0, 104,
- 256, 0, 0, 0, 229, 0, 387, 386, 243, 0,
- 0, 233, 244, 401, 0, 0, 0, 0, 229, 34,
- 205, 211, 207, 400, 208, 206, 0, 0, 0, 202,
- 0, 0, 166, 0, 0, 0, 0, 0, 402, 443,
- 212, 216, 0, 49, 0, 269, 0, 275, 285, 288,
- 283, 286, 287, 290, 291, 0, 284, 0, 289, 0,
- 0, 65, 66, 68, 73, 72, 67, 292, 0, 71,
- 0, 296, 310, 299, 311, 309, 411, 0, 0, 121,
- 464, 0, 327, 485, 430, 427, 428, 426, 425, 417,
- 418, 422, 419, 423, 424, 409, 408, 238, 159, 220,
- 0, 227, 226, 400, 225, 221, 0, 0, 455, 454,
- 449, 371, 486, 402, 352, 0, 84, 96, 0, 517,
- 0, 0, 0, 507, 510, 0, 529, 509, 500, 103,
- 0, 228, 183, 230, 0, 184, 231, 0, 0, 0,
- 184, 200, 201, 0, 0, 184, 234, 232, 235, 211,
- 207, 400, 208, 206, 0, 214, 213, 215, 0, 0,
- 0, 245, 170, 0, 246, 171, 0, 247, 181, 172,
- 400, 173, 182, 340, 340, 340, 45, 44, 69, 271,
- 0, 0, 280, 0, 293, 294, 297, 0, 0, 122,
- 0, 155, 147, 156, 154, 370, 223, 222, 224, 178,
- 478, 477, 179, 458, 456, 451, 457, 459, 461, 373,
- 372, 434, 138, 0, 513, 512, 0, 516, 528, 0,
- 0, 0, 197, 198, 0, 0, 187, 189, 191, 190,
- 192, 193, 400, 188, 199, 0, 0, 214, 213, 215,
- 0, 0, 167, 168, 169, 175, 174, 176, 446, 445,
- 444, 0, 0, 282, 279, 474, 465, 340, 0, 463,
- 462, 435, 436, 525, 184, 186, 195, 194, 196, 114,
- 0, 326, 460, 281
+ 53, 51, 54, 340, 130, 0, 128, 56, 132, 64,
+ 133, 145, 302, 144, 60, 143, 322, 403, 368, 321,
+ 334, 57, 365, 364, 343, 385, 403, 484, 0, 367,
+ 403, 341, 341, 403, 129, 440, 58, 469, 470, 474,
+ 475, 442, 63, 62, 307, 306, 308, 0, 75, 88,
+ 250, 274, 0, 0, 0, 139, 141, 250, 0, 0,
+ 0, 0, 0, 243, 181, 204, 249, 203, 211, 210,
+ 205, 37, 0, 0, 11, 0, 0, 237, 277, 238,
+ 279, 0, 115, 120, 107, 117, 0, 269, 273, 255,
+ 132, 133, 129, 258, 152, 0, 481, 414, 477, 476,
+ 375, 377, 383, 384, 380, 381, 0, 69, 42, 0,
+ 296, 0, 0, 411, 478, 311, 0, 0, 22, 23,
+ 21, 34, 309, 35, 28, 29, 30, 27, 31, 36,
+ 26, 241, 158, 313, 240, 0, 123, 0, 161, 0,
+ 312, 310, 411, 25, 24, 301, 148, 0, 150, 0,
+ 0, 0, 405, 341, 408, 404, 341, 438, 0, 0,
+ 178, 219, 333, 218, 220, 439, 0, 473, 391, 349,
+ 350, 131, 124, 0, 341, 449, 486, 396, 0, 394,
+ 393, 397, 395, 392, 398, 390, 344, 348, 347, 369,
+ 370, 389, 441, 317, 318, 341, 0, 0, 0, 0,
+ 482, 483, 0, 76, 0, 89, 0, 0, 151, 0,
+ 525, 523, 0, 0, 522, 502, 521, 524, 509, 500,
+ 496, 0, 497, 503, 504, 505, 519, 0, 499, 0,
+ 0, 493, 0, 101, 0, 100, 151, 126, 142, 125,
+ 0, 229, 185, 184, 0, 0, 233, 187, 186, 0,
+ 0, 0, 185, 0, 0, 205, 0, 0, 0, 0,
+ 0, 127, 43, 242, 61, 48, 134, 135, 136, 278,
+ 0, 116, 113, 119, 112, 0, 271, 259, 376, 378,
+ 0, 70, 0, 0, 0, 299, 0, 407, 0, 181,
+ 332, 160, 0, 0, 406, 153, 324, 341, 331, 330,
+ 326, 329, 484, 415, 434, 421, 416, 0, 422, 430,
+ 433, 417, 490, 320, 0, 319, 0, 0, 0, 0,
+ 305, 323, 0, 454, 453, 0, 451, 485, 371, 401,
+ 351, 342, 448, 468, 467, 472, 471, 137, 86, 74,
+ 85, 0, 78, 79, 77, 106, 80, 82, 81, 98,
+ 87, 97, 0, 91, 90, 92, 94, 93, 251, 256,
+ 275, 0, 0, 0, 0, 515, 527, 0, 516, 512,
+ 0, 0, 528, 506, 0, 507, 520, 498, 105, 99,
+ 0, 104, 257, 0, 0, 0, 230, 0, 388, 387,
+ 244, 0, 0, 234, 245, 402, 0, 0, 0, 0,
+ 230, 34, 206, 212, 208, 401, 209, 207, 0, 0,
+ 0, 203, 0, 0, 167, 0, 0, 0, 0, 0,
+ 403, 444, 213, 217, 0, 49, 0, 270, 0, 276,
+ 286, 289, 284, 287, 288, 291, 292, 0, 285, 0,
+ 290, 0, 0, 65, 66, 68, 73, 72, 67, 293,
+ 0, 71, 0, 297, 311, 300, 312, 310, 412, 0,
+ 0, 121, 465, 0, 328, 486, 431, 428, 429, 427,
+ 426, 418, 419, 423, 420, 424, 425, 410, 409, 239,
+ 159, 221, 0, 228, 227, 401, 226, 222, 0, 0,
+ 456, 455, 450, 372, 487, 403, 352, 0, 84, 96,
+ 0, 518, 0, 0, 0, 508, 511, 0, 530, 510,
+ 501, 103, 0, 229, 184, 231, 0, 185, 232, 0,
+ 0, 0, 185, 201, 202, 0, 0, 185, 235, 233,
+ 236, 212, 208, 401, 209, 207, 0, 215, 214, 216,
+ 0, 0, 0, 246, 171, 0, 247, 172, 0, 248,
+ 182, 173, 401, 174, 183, 341, 341, 341, 45, 44,
+ 69, 272, 0, 0, 281, 0, 294, 295, 298, 0,
+ 0, 122, 0, 155, 147, 156, 154, 371, 224, 223,
+ 225, 179, 479, 478, 180, 459, 457, 452, 458, 460,
+ 462, 374, 373, 435, 138, 0, 514, 513, 0, 517,
+ 529, 0, 0, 0, 198, 199, 0, 0, 188, 190,
+ 192, 191, 193, 194, 401, 189, 200, 0, 0, 215,
+ 214, 216, 0, 0, 168, 169, 170, 176, 175, 177,
+ 447, 446, 445, 0, 0, 283, 280, 475, 466, 341,
+ 0, 464, 463, 436, 437, 526, 185, 187, 196, 195,
+ 197, 114, 0, 327, 461, 282
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 2, 4, 3, 42, 43, 44, 529, 299, 251,
- 46, 126, 552, 204, 47, 48, 127, 253, 573, 574,
- 410, 254, 332, 469, 255, 334, 480, 256, 362, 508,
- 472, 257, 53, 54, 401, 554, 55, 216, 133, 188,
- 56, 134, 367, 136, 137, 57, 58, 59, 220, 259,
- 275, 225, 591, 221, 260, 61, 62, 752, 417, 289,
- 195, 369, 374, 380, 201, 642, 198, 199, 391, 376,
- 643, 656, 208, 609, 263, 383, 63, 336, 64, 65,
- 66, 67, 68, 218, 403, 556, 69, 337, 141, 210,
- 211, 577, 578, 579, 239, 142, 143, 144, 240, 265,
- 266, 145, 146, 147, 277, 427, 428, 314, 148, 149,
- 150, 321, 458, 459, 152, 153, 154, 316, 623, 232,
- 233, 155, 156, 157, 732, 317, 297, 318, 158, 733,
- 280, 281, 282, 283, 415, 159, 435, 603, 436, 604,
- 437, 278, 160, 772, 161, 162, 163, 550, 222, 165,
- 620, 453, 715, 716, 717, 589, 166, 167, 168, 169,
- 170, 270, 330, 304, 455, 171, 279, 271, 183, 272,
- 182, 348, 502, 499, 350, 351, 352, 498, 353, 496,
- 497, 354, 355, 356, 489, 637
+ -1, 2, 4, 3, 42, 43, 44, 531, 301, 252,
+ 46, 126, 554, 204, 47, 48, 127, 254, 575, 576,
+ 412, 255, 334, 471, 256, 336, 482, 257, 364, 510,
+ 474, 258, 53, 54, 403, 556, 55, 216, 133, 188,
+ 56, 134, 369, 136, 137, 57, 58, 59, 220, 260,
+ 277, 225, 593, 221, 261, 61, 62, 754, 419, 291,
+ 195, 371, 376, 382, 196, 644, 198, 199, 393, 378,
+ 645, 658, 208, 611, 264, 385, 63, 338, 64, 65,
+ 66, 67, 68, 218, 405, 558, 69, 339, 141, 210,
+ 211, 579, 580, 581, 239, 142, 143, 144, 240, 266,
+ 267, 145, 146, 147, 279, 430, 431, 268, 148, 149,
+ 150, 323, 460, 461, 152, 153, 154, 318, 625, 232,
+ 233, 155, 156, 157, 734, 319, 299, 320, 158, 735,
+ 282, 283, 284, 285, 417, 159, 438, 605, 439, 606,
+ 440, 280, 160, 774, 161, 162, 163, 552, 222, 165,
+ 622, 456, 717, 718, 719, 591, 166, 167, 168, 169,
+ 170, 272, 332, 306, 458, 171, 281, 273, 183, 274,
+ 182, 350, 504, 501, 352, 353, 354, 500, 355, 498,
+ 499, 356, 357, 358, 491, 639
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -542
+#define YYPACT_NINF -560
static const yytype_int16 yypact[] =
{
- 12, -542, 128, 4145, 877, -542, -542, 54, 17, 48,
- -542, -542, 54, -542, -542, -542, -542, -542, -542, -542,
- -542, 54, -542, -542, -542, -542, -542, 64, 75, 75,
- 54, -542, -542, -542, -542, 480, -542, 480, -542, -542,
- -542, -542, -542, 135, -542, -542, -542, 292, -542, -542,
- -542, -542, -542, -542, 139, 1505, -542, -542, -542, -542,
- 136, -542, -542, -542, -542, 3928, -542, 209, 22, -542,
- -542, -542, -542, 161, 211, 254, 92, 92, -542, -542,
- 151, 23, 877, 54, 54, 54, 2972, 54, 168, -542,
- -542, -542, -542, -542, -542, -542, -542, -542, -542, -542,
- -542, -542, -542, 107, -542, 107, -542, 107, -542, 600,
- -542, -542, -542, 107, -542, -542, 308, -542, 266, 266,
- -542, -542, -542, -542, -542, 293, -542, -542, -542, -542,
- -542, -542, -542, -542, -542, 3710, -542, -542, 299, -542,
- 89, -542, -542, -542, 179, -542, -542, 107, -542, -542,
- -542, -542, -542, -542, -542, -542, 107, -542, 1567, -542,
- 107, -542, -542, 107, 317, -542, 245, -542, 73, -542,
- -542, -542, -542, -542, -542, -542, -542, 118, 219, 224,
- 213, -542, 1260, 411, 3821, -542, -542, 213, 1281, 626,
- 706, 733, 163, -542, -542, -542, -542, -542, 246, 255,
- -542, -542, 1393, 253, -542, 600, 1041, -542, -542, -542,
- 485, 222, 271, -542, -542, -542, 4035, -542, 378, -542,
- -542, 136, -542, -542, -542, 209, -542, -542, -542, -542,
- -542, -542, 252, 257, 252, 257, 265, 316, -542, 485,
- 303, 581, 313, -542, 59, 148, 766, -542, -542, -542,
- 1751, -542, -542, -542, -542, -542, -542, -542, -542, -542,
- -542, 1792, -542, -542, 3928, -542, 107, 314, 202, 291,
- -542, -542, -542, -542, -542, 295, -542, 633, 210, 1260,
- -542, -542, -542, 306, -542, -542, 733, 656, -542, -542,
- -542, -542, -542, -542, 112, -542, -542, -542, -542, -542,
- -542, 279, -542, 675, 312, -542, 600, -542, -542, -542,
- -542, -542, -542, -542, -542, -542, -542, -542, -542, -542,
- -542, 1525, 1525, -542, 112, 112, 112, 112, -542, -542,
- 3928, -542, 4191, -542, 4291, 54, 22, 3928, -542, -542,
- 405, 433, -542, -542, -542, -542, -542, -542, -542, 212,
- -542, -542, -542, -542, -542, 1362, -542, 370, 352, -542,
- -14, -542, 122, -542, 22, -542, -542, -542, 685, -542,
- 323, -542, 802, 744, -542, 335, -542, 107, 733, 748,
- 1638, 3218, 2448, 1884, 777, 928, 951, 200, 308, -542,
- -542, -542, -542, -542, -542, 136, -542, -542, 1041, -542,
- 54, -542, -542, 755, -542, -542, -542, -542, 344, -542,
- 4336, 343, 54, -542, 3095, 346, 774, 1905, -542, 351,
- 161, 346, -542, -542, -542, -542, -542, -542, -542, -542,
- -542, -542, -542, -542, 156, -542, 158, -542, -542, -542,
- 1525, 45, 1525, 4642, 2528, 951, 1169, -542, 1525, 477,
- -542, -542, 477, -542, -542, -17, -542, 266, -542, -542,
- 1525, -542, -542, -542, -542, 488, -542, -542, -542, 135,
- -542, -542, -542, -542, 136, -542, -542, -542, -542, -542,
- 135, -542, -542, 136, -542, -542, -542, -542, -542, 374,
- 433, 433, 433, -542, -542, 433, -542, -542, 730, 406,
- -542, -542, 390, -542, -542, -542, -542, -542, 135, -542,
- -542, 1040, 1043, 1114, -542, 4601, -542, -542, -542, 1167,
- 1167, -542, -542, 306, 3341, 2602, 1226, 1226, 2641, -542,
- -542, -542, -542, 440, -542, -542, 791, 499, 802, 505,
- 805, 508, -542, 107, 815, 509, 3464, 2680, 107, 2834,
- -542, -542, 632, -542, 400, -542, 755, -542, -542, -542,
- -542, -542, -542, -542, -542, 54, -542, 54, -542, 54,
- 388, -542, -542, -542, -542, -542, 136, -542, 684, -542,
- 3095, -542, -542, -542, -542, -542, -542, 951, 161, -542,
- 393, 4487, 1525, 312, 158, -542, -542, -542, -542, -542,
- -542, -542, -542, -542, -542, -542, -542, -542, -542, -542,
- 1208, -542, -542, 452, -542, -542, 4748, 2754, -542, -542,
- 196, 92, -542, 107, -542, 75, -542, -542, 3821, -542,
- 485, 411, 915, -542, -542, 1362, -542, -542, -542, -542,
- 847, 802, 505, -542, 107, 173, -542, 917, 4642, 2793,
- 1712, -542, -542, 931, 802, 188, -542, 107, -542, 1985,
- 2065, 464, 2086, 2166, 942, -542, -542, -542, 777, 928,
- 951, -542, -542, 951, -542, -542, 951, -542, -542, -542,
- 533, -542, -542, -542, -542, 306, -542, -542, 316, -542,
- 485, 581, -542, 3095, -542, -542, -542, 3587, 2680, -542,
- 161, -542, -542, -542, -542, -17, -542, -542, -542, -542,
- -542, -542, -542, -542, -542, -542, 403, -542, 27, 252,
- 257, 494, -542, 149, -542, -542, 915, -542, -542, 1040,
- 1043, 1114, -542, -542, 1262, 1114, -542, -542, -542, -542,
- -542, -542, 592, -542, -542, 1167, 1167, 2246, 2267, 2347,
- 1226, 1226, -542, -542, -542, -542, -542, -542, 1525, 1525,
- 1525, 4443, 415, -542, -542, 2427, -542, -542, 161, -542,
- -542, -542, -542, -542, 460, 460, -542, -542, -542, -542,
- 3095, 1525, -542, -542
+ -24, -560, 78, 4169, 966, -560, -560, 56, -28, -19,
+ -560, -560, 56, -560, -560, -560, -560, -560, -560, -560,
+ -560, 56, -560, -560, -560, -560, -560, -7, 22, 22,
+ 56, -560, -560, -560, -560, 382, -560, 382, -560, -560,
+ -560, -560, -560, 84, -560, -560, -560, -25, -560, -560,
+ -560, -560, -560, -560, 40, 801, -560, -560, -560, -560,
+ 107, -560, -560, -560, -560, 3845, -560, 273, 28, -560,
+ -560, -560, -560, 117, 116, 149, 93, 93, -560, -560,
+ 52, 176, 966, 56, 56, 56, 2889, 56, 172, -560,
+ -560, -560, -560, -560, -560, -560, -560, -560, -560, -560,
+ -560, -560, -560, 183, -560, 183, -560, 183, -560, 634,
+ -560, -560, -560, 183, -560, -560, 297, -560, 167, 167,
+ -560, -560, -560, -560, -560, 187, -560, -560, -560, -560,
+ -560, -560, -560, -560, -560, 3627, -560, -560, 202, -560,
+ 122, -560, -560, -560, 86, -560, -560, 183, -560, -560,
+ -560, -560, -560, -560, -560, -560, 183, -560, 1518, -560,
+ 183, -560, -560, 183, 217, -560, 279, -560, 14, -560,
+ -560, -560, -560, -560, -560, -560, -560, 151, 130, 140,
+ 90, -560, 669, 316, 3738, -560, -560, 90, 1344, 651,
+ 746, 836, 157, -560, -560, -560, -560, -560, 150, 162,
+ -560, -560, 1456, 133, -560, 634, 1104, -560, -560, -560,
+ 575, 134, 178, -560, -560, -560, 4059, -560, 282, -560,
+ -560, 107, -560, -560, -560, 273, -560, -560, -560, -560,
+ -560, -560, 190, 164, 190, 164, 210, 247, -560, 575,
+ 230, 595, 233, -560, 59, 303, 861, 861, -560, -560,
+ -560, 1670, -560, -560, -560, -560, -560, -560, -560, -560,
+ -560, -560, 1762, -560, -560, 3952, -560, 183, -560, 253,
+ 310, 334, -560, -560, -560, -560, -560, 257, -560, 170,
+ 420, 669, -560, -560, -560, 249, -560, -560, 836, 642,
+ -560, -560, -560, -560, -560, -560, 138, -560, -560, -560,
+ -560, -560, -560, 323, -560, 735, 251, -560, 634, -560,
+ -560, -560, -560, -560, -560, -560, -560, -560, -560, -560,
+ -560, -560, -560, 2751, 2751, -560, 138, 138, 138, 138,
+ -560, -560, 3845, -560, 4215, -560, 4315, 56, 28, 3845,
+ -560, -560, 436, 440, -560, -560, -560, -560, -560, -560,
+ -560, 320, -560, -560, -560, -560, -560, 1313, -560, 309,
+ 298, -560, -18, -560, 80, -560, 28, -560, -560, -560,
+ 686, -560, 358, -560, 816, 782, -560, 364, -560, 183,
+ 836, 846, 1590, 3135, 2406, 1783, 871, 965, 968, 171,
+ 297, -560, -560, -560, -560, -560, -560, 107, -560, -560,
+ 1104, -560, 56, -560, -560, 4618, -560, -560, -560, -560,
+ 294, -560, 4360, 295, 56, -560, 3012, 333, 849, 1863,
+ -560, -560, 337, 117, 333, -560, -560, -560, -560, -560,
+ -560, -560, -560, -560, -560, -560, -560, 129, -560, 1124,
+ -560, -560, -560, 2751, 75, 2751, 4763, 2480, 968, 1232,
+ -560, 2751, 457, -560, -560, 457, -560, -560, 13, 167,
+ -560, -560, 2751, -560, -560, -560, -560, 476, -560, -560,
+ -560, 84, -560, -560, -560, -560, 107, -560, -560, -560,
+ -560, -560, 84, -560, -560, 107, -560, -560, -560, -560,
+ -560, 359, 440, 440, 440, -560, -560, 440, -560, -560,
+ 643, 400, -560, -560, 388, -560, -560, -560, -560, -560,
+ 84, -560, -560, 1108, 1183, 1230, -560, 4657, -560, -560,
+ -560, 1289, 1289, -560, -560, 249, 3258, 2519, 1325, 1325,
+ 2558, -560, -560, -560, -560, 317, -560, -560, 882, 503,
+ 816, 507, 894, 514, -560, 183, 904, 519, 3381, 2632,
+ 183, 809, -560, -560, 741, -560, 401, -560, 4618, -560,
+ -560, -560, -560, -560, -560, -560, -560, 56, -560, 56,
+ -560, 56, 407, -560, -560, -560, -560, -560, 107, -560,
+ 685, -560, 3012, -560, -560, -560, -560, -560, -560, 968,
+ 117, -560, 405, 4511, 2751, 251, 1124, -560, -560, -560,
+ -560, -560, -560, -560, -560, -560, -560, -560, -560, -560,
+ -560, -560, 1271, -560, -560, 528, -560, -560, 4869, 2671,
+ -560, -560, 206, 93, -560, 183, -560, 22, -560, -560,
+ 3738, -560, 575, 316, 395, -560, -560, 1313, -560, -560,
+ -560, -560, 936, 816, 507, -560, 183, 104, -560, 1006,
+ 4763, 2710, 1629, -560, -560, 1018, 816, 165, -560, 183,
+ -560, 1943, 1964, 553, 2044, 2124, 1032, -560, -560, -560,
+ 871, 965, 968, -560, -560, 968, -560, -560, 968, -560,
+ -560, -560, 621, -560, -560, -560, -560, 249, -560, -560,
+ 247, -560, 575, 595, -560, 3012, -560, -560, -560, 3504,
+ 2632, -560, 117, -560, -560, -560, -560, 13, -560, -560,
+ -560, -560, -560, -560, -560, -560, -560, -560, 431, -560,
+ 27, 190, 164, 523, -560, 124, -560, -560, 395, -560,
+ -560, 1108, 1183, 1230, -560, -560, 1401, 1230, -560, -560,
+ -560, -560, -560, -560, 666, -560, -560, 1289, 1289, 2145,
+ 2225, 2305, 1325, 1325, -560, -560, -560, -560, -560, -560,
+ 2751, 2751, 2751, 4467, 437, -560, -560, 2326, -560, -560,
+ 117, -560, -560, -560, -560, -560, 481, 481, -560, -560,
+ -560, -560, 3012, 2751, -560, -560
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -542, -542, -542, -542, -542, -542, -37, -16, -3, -276,
- -58, 481, -542, -374, -542, -24, -135, 18, -542, -29,
- -123, 69, -542, -542, 44, -542, -542, 94, -59, -542,
- 240, 4, -542, -542, -542, -542, -542, -542, -542, 13,
- 9, -42, 90, -84, -542, -542, -542, -542, 25, 1,
- -542, -227, -542, 0, -214, -68, 11, 301, -5, -542,
- -542, 41, 103, -1, -2, -26, -542, -542, 95, 3,
- -164, -134, -71, -66, -28, -22, 304, 389, -542, -52,
- -542, -542, -542, -542, -542, -542, -542, -542, -542, -542,
- -204, -542, -542, -7, 134, -542, -542, 288, 32, -306,
- -542, -542, -542, -542, -542, -542, -542, -542, -542, -542,
- -542, -146, 10, 43, -542, -542, 445, -542, -91, -53,
- -51, -542, -308, -232, -287, -542, -45, -542, -542, -297,
- 2, -46, -40, -302, 348, -542, -542, -542, 186, -542,
- -542, -542, -542, -542, -542, -542, -65, -542, 39, -542,
- -542, 6, -542, -542, -128, 34, -542, 114, -61, -74,
- -541, -67, -542, 223, 58, -542, -542, 99, -542, 37,
- -542, 375, -117, -542, -141, -542, -267, -542, -542, 315,
- 146, -292, -147, -271, -542, 26
+ -560, -560, -560, -560, -560, -560, -35, -12, -3, -347,
+ -58, 500, -560, -192, -560, -29, -167, 45, -560, -2,
+ -104, 67, -560, -560, 64, -560, -560, 37, -42, -560,
+ 256, 4, -560, -560, -560, -560, -560, -560, -560, 2,
+ -11, -41, 58, -63, -560, -560, -560, -560, 50, 1,
+ -560, -253, -560, 0, -220, -56, -10, 224, -8, -560,
+ -560, 57, 160, 39, -22, -26, -560, -560, 29, -5,
+ -157, -127, -53, -76, -27, -16, 321, 408, -560, -31,
+ -560, -560, -560, -560, -560, -560, -560, -560, -560, -560,
+ -214, -560, -560, 8, 414, -560, -560, 300, 114, -351,
+ -560, -560, -560, -560, -560, -560, -560, 446, -560, -560,
+ -560, -78, 10, 62, -560, -560, 456, -560, -90, -75,
+ -55, -560, -156, -235, -308, -560, -39, -560, -560, -306,
+ -1, -57, -40, -271, 348, -560, -560, -560, 191, -560,
+ -560, -560, -560, -560, -560, -560, -70, -560, 72, -560,
+ -560, 9, -560, -560, -140, 61, -560, 223, -44, -73,
+ -559, -67, -560, 208, 47, -560, -560, 55, -560, 106,
+ -560, 366, -145, -560, -141, -560, -257, -560, -560, 313,
+ -69, -268, -150, -310, -560, 24
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule which
number is the opposite. If zero, do what YYDEFACT says.
If YYTABLE_NINF, syntax error. */
-#define YYTABLE_NINF -481
+#define YYTABLE_NINF -482
static const yytype_int16 yytable[] =
{
- 45, 125, 258, 60, 140, 139, 227, 52, 132, 197,
- 207, 197, 269, 200, 151, 200, 322, 276, 261, 209,
- 262, 268, 128, 219, 234, 372, 235, 381, 252, 138,
- 194, 215, 194, 196, 264, 411, 360, 185, 186, 177,
- 71, 173, 359, 164, 180, 429, 267, 50, 130, 249,
- 418, 207, 45, 181, 202, 295, 377, 382, 226, 284,
- 209, 285, 187, 504, 516, 349, 358, 293, 504, 224,
- 250, 393, 49, 129, 298, 523, 712, 229, 223, 125,
- 522, 88, 140, 139, 505, 518, 132, 292, 503, -135,
- 326, 769, 151, 503, 135, 626, 217, 51, 131, 357,
- 128, 302, 70, 172, 288, 530, 627, 138, 583, 487,
- 303, 1, 291, 180, 320, 621, 346, 323, 243, 173,
- 226, 164, 443, 506, 74, 75, 130, 106, 5, 622,
- 79, 328, 402, 174, 639, 440, 329, 510, 442, 397,
- 517, 618, 363, 217, 619, 347, 347, 178, 175, 176,
- 506, 129, 444, 237, 605, 770, 448, 765, -102, -314,
- 18, -314, 349, 371, 174, 371, 24, 200, 292, 430,
- 26, 203, 135, 207, 226, 595, 131, 460, 179, 175,
- 176, 172, 209, 292, -186, -102, -186, 18, 370, 375,
- 313, -480, -480, 24, 184, 319, 261, 26, 22, -186,
- 288, -186, 207, 392, 290, 41, 395, 139, 291, 226,
- 132, 209, 264, -315, 524, -315, 151, 327, 241, 242,
- 197, 273, 219, 430, 128, 300, 419, 636, 596, 228,
- 516, 394, 597, 295, 230, 231, 405, 598, 413, 294,
- 432, 523, 347, 173, 525, 396, 675, 685, 530, 291,
- 130, 672, 22, 507, 384, 385, 386, 449, 450, 451,
- 371, 452, 28, 553, 29, 463, 464, 514, 515, 212,
- 678, 33, 229, 274, 696, 129, 236, 31, 592, 296,
- 773, 433, 521, 515, 292, 599, 600, 102, 465, 205,
- 38, 39, 431, -61, 432, 488, 601, 258, 713, -134,
- 131, 288, -313, 602, -313, 172, 517, 301, 535, 291,
- 111, 548, 112, 446, 551, 438, 531, -136, 347, 331,
- 74, 75, 549, 252, 333, 33, 79, 500, 501, 468,
- 258, 479, 474, 516, 483, 433, 473, 224, 473, 41,
- 585, 387, 523, 504, 249, 335, 516, 434, 646, 584,
- 388, 635, 371, 590, 398, 523, 252, 634, 539, 542,
- 539, 636, 200, 646, 728, 224, 509, 486, 503, 476,
- 615, 485, 324, 325, 606, 608, 470, 249, 611, 194,
- 288, 349, 538, 390, 546, 404, 658, 764, 291, 291,
- 399, 610, 534, 658, 406, 392, 418, 408, 395, 139,
- 407, 456, 132, 555, 114, 115, 249, 572, 151, 517,
- 576, 575, 624, 205, 38, 39, 128, 514, 515, 539,
- 409, 678, 517, 394, 206, 422, 471, 607, 481, 521,
- 515, 475, 180, 484, 504, 173, 412, 396, 461, 462,
- 258, 652, 130, 616, 581, 414, 420, 608, 291, 651,
- 441, 663, 665, 666, 614, 728, 261, 454, 667, 659,
- 490, 347, 258, 610, 706, 707, 252, 129, 501, 557,
- 708, 438, 264, 682, 783, 580, 747, 748, 249, 586,
- 543, 547, 749, 588, 360, 726, 762, 249, 252, 200,
- 725, 76, 131, 625, 542, 490, 258, 172, 491, 607,
- 638, 492, 683, 493, 628, 500, 585, 671, 250, 249,
- 370, 645, 650, -166, 358, 584, 674, 677, 655, 375,
- 693, 590, 252, 495, 357, 341, 491, 343, 687, 492,
- 688, 493, 700, 38, 39, 662, 768, 758, 759, 760,
- 617, 346, 608, 249, 771, 755, 756, 780, 608, 45,
- 709, 757, 641, 718, 648, 515, 689, 681, 610, 724,
- 654, 539, 703, 238, 610, 761, 646, 641, 719, 723,
- 720, 189, 190, 191, 482, 695, 364, 192, 193, 249,
- 608, 426, 736, 737, 704, 697, 363, 646, 572, 447,
- 291, 576, 684, 207, 347, 347, 610, 690, 347, 691,
- 607, 692, 209, 315, 776, 777, 205, 38, 39, 258,
- 778, 249, 658, 258, 767, 644, 649, 658, 421, 585,
- 594, 781, 699, 657, 682, 721, 714, 681, 584, 261,
- 657, 709, 607, 766, 722, 252, 629, 630, 631, 252,
- 782, 632, 539, 542, 539, 264, 200, 539, 77, 78,
- 539, 705, 593, 207, 439, 494, 249, 0, 727, 743,
- 249, 0, 209, 194, 288, 0, 538, 0, 546, 0,
- 0, 616, 291, 291, 697, 0, 291, 0, 0, 291,
- 0, 250, 698, 0, 0, 537, 541, 545, 763, 347,
- 0, 189, 190, 286, 0, 0, 258, 287, 193, 0,
- 423, 718, 37, 38, 39, 0, 585, 200, 681, 542,
- 0, 0, 200, 0, 0, 584, 0, 189, 190, 191,
- 542, 0, 252, 368, 193, 0, 0, 509, 370, 645,
- 650, 0, 0, 774, 775, 0, 449, 450, 451, 424,
- 452, 0, 32, 249, 655, 375, 545, 384, 385, 445,
- 35, 425, 0, 37, 38, 39, 0, 40, 572, 7,
- 0, 576, 575, 686, 543, 547, 0, 0, 617, 0,
- 641, 698, 648, 0, 0, 654, 511, 512, 513, 0,
- 10, 11, 338, 12, 0, 0, 654, 13, 14, 15,
- 16, 641, 0, 0, 19, 20, 21, 189, 190, 286,
- 0, 25, 0, 373, 193, 37, 38, 39, 28, 694,
- 29, 0, 537, 541, 545, 30, 76, 77, 78, 0,
- 537, 541, 0, 31, 189, 190, 378, 537, 541, 0,
- 379, 193, 0, 644, 649, 519, 520, 513, 644, 526,
- 527, 513, 339, 340, 341, 342, 343, 0, 0, 657,
- 0, 0, 38, 39, 657, 344, 345, 189, 190, 378,
- 346, 633, 0, 416, 193, 384, 385, 587, 189, 190,
- 191, 0, 35, 36, 536, 193, 0, -38, 72, 0,
- 0, 7, 668, 669, 670, 41, 0, 73, 545, 74,
- 75, 76, 77, 78, 0, 79, 668, 669, 673, 8,
- 9, 80, 10, 11, 0, 81, 668, 669, 676, 13,
- 14, 15, 16, 0, 82, 18, 19, 20, 21, 22,
- 23, 24, 0, 25, 83, 26, 0, 0, 84, 27,
- 28, 85, 29, 86, 0, 87, 88, 30, 729, 730,
- 731, 0, 0, 89, 0, 31, 0, 90, 91, 0,
- 92, 93, 94, 95, 96, 97, 0, 98, 99, 0,
- 100, 0, 101, 0, 102, 103, 104, 338, 0, 0,
- 753, 754, 0, 0, 754, 0, 0, 754, 0, 0,
- 105, 0, 106, 107, 108, 109, 110, 111, 0, 112,
- 0, 0, 33, 34, 35, 36, 0, 113, 37, 38,
- 39, 0, 114, 115, 116, 0, 0, 41, 734, 735,
- 731, 117, 118, 119, 120, 121, 122, 123, 124, 189,
- 190, 378, 745, 746, 731, 540, 193, 339, 340, 0,
- 342, 753, 754, 750, 751, 731, 753, 38, 39, 0,
- 344, 345, 189, 190, 378, 7, 0, 753, 544, 193,
- 0, 73, 753, 74, 75, 76, 77, 78, 0, 79,
- 0, 0, 0, 8, 9, 80, 10, 11, 0, 81,
- 0, 0, 0, 13, 14, 15, 16, 0, 0, 18,
- 19, 20, 21, 22, 23, 24, 0, 25, 83, 26,
- 0, 0, 84, 27, 28, 85, 29, 86, 0, 87,
- 88, 30, 0, 0, 0, 0, 0, 89, 0, 31,
- 0, 90, 91, 0, 92, 93, 94, 95, 96, 97,
- 0, 98, 99, 0, 100, 0, 101, 0, 102, 103,
- 104, 189, 190, 191, 189, 190, 378, 640, 193, 0,
- 640, 193, 0, 0, 105, 0, 106, 107, 108, 109,
- 110, 111, 0, 112, 0, 0, 33, 34, 35, 36,
- 0, 113, 37, 38, 39, 0, 114, 115, 116, -40,
- 365, 41, 0, 7, 0, 117, 118, 119, 120, 121,
- 122, 123, 124, 76, 77, 78, 0, 0, 0, 0,
- 0, 0, 0, 80, 10, 11, 0, 12, 0, 0,
- 0, 13, 14, 15, 16, 189, 190, 378, 19, 20,
- 21, 647, 193, 0, 0, 25, 83, 0, 0, 0,
- 84, 0, 28, 85, 29, 86, 0, 87, 0, 30,
- 0, 0, 0, 10, 11, 89, 12, 31, 0, 90,
- 13, 14, 15, 16, 94, 0, 96, 19, 20, 98,
- 0, 0, 100, 0, 25, 0, 102, 103, 189, 190,
- 378, 28, 0, 29, 653, 193, 0, 0, 30, 0,
- 0, 0, 105, 0, 0, 107, 31, 0, 0, 111,
- 0, 112, 365, 0, 0, 7, 35, 36, 0, 113,
- 37, 38, 39, 0, 0, 76, 77, 78, 0, 41,
- 0, 0, 0, 117, 0, 80, 10, 11, 0, 12,
- 0, 0, 338, 13, 14, 15, 16, 189, 190, 378,
- 19, 20, 21, 664, 193, 0, 36, 25, 83, 0,
- 0, 0, 84, 0, 28, 85, 29, 86, 41, 87,
- 0, 30, 0, 0, 0, 0, 0, 89, 0, 31,
- 366, 90, 0, 189, 190, 191, 94, 0, 96, 647,
- 193, 98, 0, 0, 100, 0, 0, 0, 102, 103,
- 0, 0, 339, 340, 341, 342, 343, 0, 0, 0,
- 0, 0, 38, 39, 105, 344, 345, 107, 0, 0,
- 346, 111, 0, 112, 365, 0, 0, 7, 35, 36,
- 0, 113, 37, 38, 39, 0, 0, 76, 77, 78,
- 0, 41, 0, 0, 338, 117, 0, 80, 10, 11,
- 0, 12, 0, 0, 0, 13, 14, 15, 16, 0,
- 0, 0, 19, 20, 21, 0, 0, 0, 0, 25,
- 83, 0, 0, 0, 84, 0, 28, 85, 29, 86,
- 0, 87, 0, 30, 0, 0, 0, 0, 0, 89,
- 0, 31, 0, 90, 0, 0, 0, 0, 94, 0,
- 96, 0, 0, 98, 339, 340, 100, 342, 0, 0,
- 102, 103, 0, 0, 38, 39, 0, 344, 345, 0,
- 0, 0, 346, 0, 0, 0, 105, 0, 0, 107,
- 0, 0, 0, 111, 0, 112, 213, 0, 0, -118,
- 35, 36, 0, 113, 37, 38, 39, 0, 0, -118,
- -118, -118, 0, 41, 389, 0, 0, 117, 0, -118,
- -118, -118, 0, -118, 0, 73, 0, -118, -118, -118,
- -118, 0, 0, 0, -118, -118, -118, 0, 0, 0,
- 0, -118, -118, 0, 0, 0, -118, 0, -118, -118,
- -118, -118, 0, -118, 0, -118, 0, 0, 0, 0,
- 0, -118, 0, -118, 0, -118, 0, 73, 0, 0,
- -118, 0, -118, 0, 0, -118, 0, 0, -118, 0,
- 0, 0, 0, -118, 0, 0, 91, 0, 92, 93,
- 0, 95, 0, 97, 0, 0, 99, 0, -118, 22,
- 101, -118, 0, 0, 104, 32, 0, 0, 0, 0,
- 0, 0, -118, -118, 0, -118, 37, 38, 39, 0,
- 40, 0, 108, 109, 305, -118, 214, 0, 91, -118,
- 92, 93, 0, 95, 0, 97, 0, 0, -186, -186,
- -186, -186, 457, 0, 0, 0, -186, 0, 0, 0,
- 118, 119, 120, 121, 122, 123, 124, 0, 0, 0,
- 0, 0, 0, 0, 108, 109, 0, 174, 0, 0,
- 0, 0, 33, 0, 306, 0, 0, 0, 0, 0,
- 0, 0, 175, 176, 307, 308, 0, 0, 0, 0,
- 309, 310, 311, 312, 120, 121, 122, 123, 124, -186,
- 0, -186, -186, 0, -186, 0, -186, 0, 0, -186,
- 0, 0, -186, -186, -186, -186, 0, -186, 0, 0,
- -186, 0, 528, 515, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, -186, -186, -186, 0, 0,
+ 45, 125, 234, 60, 140, 139, 227, 52, 132, 197,
+ 263, 197, 207, 271, 151, 201, 270, 185, 186, 200,
+ 209, 200, 235, 259, 219, 413, 215, 194, 253, 194,
+ 262, 328, 374, 362, 383, 278, 532, 351, 360, 395,
+ 51, 131, 361, 202, 432, 421, 269, 507, 286, 128,
+ 287, 250, 45, 207, 138, 265, 295, 223, 70, 172,
+ 714, 209, 135, 379, 384, 585, 520, 50, 130, 224,
+ 49, 129, 297, 524, 251, 1, 164, 229, 5, 125,
+ 300, 508, 140, 139, 324, 489, 132, 88, 226, 506,
+ 304, 771, 151, 294, 506, 359, 205, 38, 39, 305,
+ 505, 290, 178, 322, 293, 505, 325, 206, 525, 71,
+ 173, 179, 348, 512, 217, -187, -102, -187, 18, 131,
+ 203, 177, -135, 184, 24, 508, 180, 128, 26, 217,
+ 226, 446, 138, 106, 228, 181, 351, 172, 292, 519,
+ 135, 767, 433, 365, 187, 623, 130, 349, 349, 129,
+ 74, 75, 41, 404, 164, 772, 79, 399, 329, 624,
+ -102, 447, 18, 373, 330, 373, 174, 229, 24, 331,
+ 212, 22, 26, 200, 294, 207, -187, 236, -187, 532,
+ 298, 175, 176, 209, 607, 77, 78, -61, 173, 294,
+ 638, -481, -481, 302, 243, 180, 226, 290, 516, 517,
+ 293, 680, -134, 394, 207, 443, 397, 139, 445, 262,
+ 132, 509, 209, 435, 303, 407, 151, -136, 518, 226,
+ 197, 197, 337, 526, 219, 201, 451, 422, 372, 377,
+ 333, 698, 674, 555, 265, 230, 231, 426, 415, 677,
+ 335, 293, 293, 131, 33, 389, 349, 462, 386, 387,
+ 388, 128, 297, 527, 436, 775, 396, 390, 102, 523,
+ 517, 172, 373, 392, 321, 296, 400, 452, 453, 454,
+ 130, 455, 315, 129, 525, 420, 427, 276, 398, 628,
+ 687, 111, 550, 112, 465, 466, 174, 35, 428, 406,
+ 629, 467, 294, 205, 38, 39, 620, 401, 490, 621,
+ 290, 175, 176, 293, 449, 519, 237, 409, 715, 74,
+ 75, 537, 173, 533, -315, 79, -315, 553, 641, 551,
+ 259, -316, 349, -316, 638, 253, 28, 730, 29, 667,
+ 668, 470, 408, 481, 476, 669, 485, 420, 475, 224,
+ 475, 31, 410, 587, 766, -314, 586, -314, 250, 594,
+ 637, 411, 680, 259, 373, 351, 592, 648, 253, 636,
+ 541, 544, 541, 414, 540, 416, 548, 224, 511, 506,
+ 200, 473, 648, 483, 617, 525, 613, 608, 194, 290,
+ 505, 250, 293, 293, 518, 423, 441, 425, 525, 477,
+ 610, 486, 421, 444, 536, 660, 457, 394, 472, 492,
+ 397, 139, 660, 41, 132, 557, 326, 327, 519, 574,
+ 151, 250, 578, 577, 503, 612, 545, 549, 730, 559,
+ 626, 519, 541, 631, 632, 633, 618, 582, 634, 359,
+ 343, 785, 345, 433, 609, 502, 503, 131, 38, 39,
+ 478, 653, 487, 293, 654, 128, 348, 340, 114, 115,
+ 396, 488, 516, 517, 665, 172, 661, 616, 523, 517,
+ 506, 610, 22, 259, 130, 349, 588, 129, 253, 590,
+ 262, 76, 398, 189, 190, 191, 684, 619, 764, 192,
+ 193, 627, 250, 362, 728, 259, 612, 518, 360, 630,
+ 253, 250, 727, 685, 640, 265, 544, 200, 241, 242,
+ 518, 275, 434, 502, 435, 609, 173, 341, 342, 587,
+ 344, 673, 586, 250, 251, -167, 180, 38, 39, 259,
+ 346, 347, 676, 592, 253, 689, 492, 679, 583, 493,
+ 497, 690, 494, 493, 495, 33, 494, 664, 495, 695,
+ 708, 709, 711, 441, 702, 436, 710, 250, 721, 463,
+ 464, 45, 372, 647, 652, 720, 610, 437, 691, 683,
+ 657, 377, 610, 541, 770, 749, 750, 699, 722, 782,
+ 643, 751, 650, 773, 738, 648, 517, 697, 656, 726,
+ 739, 612, 238, 250, 293, 643, 763, 612, 725, 365,
+ 574, 705, 484, 578, 610, 366, 648, 207, 349, 349,
+ 429, 706, 349, 450, 316, 209, 609, 760, 761, 762,
+ 539, 543, 547, 686, 317, 250, 724, 769, 700, 612,
+ 424, 660, 587, 711, 723, 586, 660, 684, 596, 683,
+ 784, 716, 259, 757, 758, 768, 259, 253, 609, 759,
+ 595, 253, 707, 262, 541, 544, 541, 442, 540, 541,
+ 548, 701, 541, 618, 200, 496, 699, 207, 729, 0,
+ 250, 745, 194, 290, 250, 209, 293, 293, 265, 0,
+ 293, 0, 547, 293, 646, 651, 0, 0, 778, 779,
+ 0, 692, 659, 693, 780, 694, 0, 251, 0, 659,
+ 765, 783, 0, 349, 0, 340, 205, 38, 39, 0,
+ 545, 549, 0, 720, 619, 0, 0, 700, 0, 587,
+ 683, 544, 586, 0, 0, 200, 37, 38, 39, 259,
+ 200, 340, 544, 0, 253, 189, 190, 288, 0, 511,
+ 0, 289, 193, 386, 387, 448, 0, 539, 543, 547,
+ 0, 0, 189, 190, 191, 539, 543, 250, 370, 193,
+ 0, 0, 539, 543, 0, 341, 342, 343, 344, 345,
+ 574, 0, 0, 578, 577, 38, 39, 0, 346, 347,
+ 372, 647, 652, 348, 635, 776, 777, 513, 514, 515,
+ 0, 341, 342, 343, 344, 345, 657, 377, 643, 0,
+ 650, 38, 39, 656, 346, 347, 452, 453, 454, 348,
+ 455, 0, 213, 0, 656, -118, 37, 38, 39, 643,
+ 696, 0, 0, 547, 0, -118, -118, -118, 0, 73,
+ 243, 0, 226, 0, 0, -118, -118, -118, 0, -118,
+ 76, 77, 78, -118, -118, -118, -118, 189, 190, 288,
+ -118, -118, -118, 375, 193, 0, 0, -118, -118, 0,
+ 0, 32, -118, 0, -118, -118, -118, -118, 0, -118,
+ 0, -118, 37, 38, 39, 0, 40, -118, 0, -118,
+ 0, -118, 688, 521, 522, 515, -118, 0, -118, 0,
+ 91, -118, 92, 93, -118, 95, 0, 97, 0, -118,
+ 99, 0, 646, 651, 101, 755, 756, 646, 104, 756,
+ 0, 0, 756, 0, -118, 0, 0, -118, 659, 0,
+ 0, 32, 0, 659, 0, 0, 108, 109, -118, -118,
+ 0, -118, 37, 38, 39, 0, 40, 189, 190, 380,
+ 0, -118, 214, 381, 193, -118, 459, 528, 529, 515,
+ 386, 387, 589, 0, 118, 119, 120, 121, 122, 123,
+ 124, 0, 189, 190, 380, 0, 755, 756, 418, 193,
+ 0, 755, 189, 190, 191, 0, -38, 72, 538, 193,
+ 7, 0, 755, 670, 671, 672, 73, 755, 74, 75,
+ 76, 77, 78, 0, 79, 670, 671, 675, 8, 9,
+ 80, 10, 11, 0, 81, 670, 671, 678, 13, 14,
+ 15, 16, 0, 82, 18, 19, 20, 21, 22, 23,
+ 24, 0, 25, 83, 26, 0, 0, 84, 27, 28,
+ 85, 29, 86, 0, 87, 88, 30, 731, 732, 733,
+ 0, 0, 89, 0, 31, 0, 90, 91, 0, 92,
+ 93, 94, 95, 96, 97, 0, 98, 99, 0, 100,
+ 0, 101, 0, 102, 103, 104, 189, 190, 380, 189,
+ 190, 380, 542, 193, 0, 546, 193, 0, 0, 105,
+ 0, 106, 107, 108, 109, 110, 111, 0, 112, 0,
+ 0, 33, 34, 35, 36, 0, 113, 37, 38, 39,
+ 0, 114, 115, 116, 0, 0, 41, 736, 737, 733,
+ 117, 118, 119, 120, 121, 122, 123, 124, 7, 747,
+ 748, 733, 0, 0, 73, 0, 74, 75, 76, 77,
+ 78, 0, 79, 752, 753, 733, 8, 9, 80, 10,
+ 11, 0, 81, 0, 0, 0, 13, 14, 15, 16,
+ 0, 597, 18, 19, 20, 21, 22, 23, 24, 0,
+ 25, 83, 26, 0, 0, 84, 27, 28, 85, 29,
+ 86, 0, 87, 88, 30, 0, 0, 0, 0, 0,
+ 89, 0, 31, 0, 90, 91, 0, 92, 93, 94,
+ 95, 96, 97, 0, 98, 99, 0, 100, 0, 101,
+ 0, 102, 103, 104, 598, 0, 0, 0, 599, 189,
+ 190, 191, 0, 600, 0, 642, 193, 105, 0, 106,
+ 107, 108, 109, 110, 111, 0, 112, 0, 0, 33,
+ 34, 35, 36, 0, 113, 37, 38, 39, 0, 114,
+ 115, 116, -40, 367, 41, 0, 7, 0, 117, 118,
+ 119, 120, 121, 122, 123, 124, 76, 77, 78, 0,
+ 0, 601, 602, 0, 0, 0, 80, 10, 11, 0,
+ 12, 0, 603, 0, 13, 14, 15, 16, 0, 604,
+ 0, 19, 20, 21, 189, 190, 380, 0, 25, 83,
+ 642, 193, 0, 84, 0, 28, 85, 29, 86, 0,
+ 87, 0, 30, 0, 0, 0, 10, 11, 89, 12,
+ 31, 0, 90, 13, 14, 15, 16, 94, 0, 96,
+ 19, 20, 98, 0, 0, 100, 0, 25, 0, 102,
+ 103, 189, 190, 380, 28, 0, 29, 649, 193, 0,
+ 0, 30, 0, 0, 0, 105, 0, 0, 107, 31,
+ 0, 0, 111, 0, 112, 367, 0, 0, 7, 35,
+ 36, 0, 113, 37, 38, 39, 0, 0, 76, 77,
+ 78, 0, 41, 0, 0, 340, 117, 0, 80, 10,
+ 11, 0, 12, 0, 0, 0, 13, 14, 15, 16,
+ 189, 190, 380, 19, 20, 21, 655, 193, 308, 36,
+ 25, 83, 0, 0, 0, 84, 0, 28, 85, 29,
+ 86, 41, 87, 0, 30, 0, 0, 0, 0, 0,
+ 89, 0, 31, 368, 90, 0, 189, 190, 380, 94,
+ 0, 96, 666, 193, 98, 341, 342, 100, 344, 0,
+ 0, 102, 103, 0, 0, 38, 39, 0, 346, 347,
+ 0, 0, 0, 348, 0, 0, 0, 105, 0, 0,
+ 107, 0, 0, 0, 111, 0, 112, 367, 0, 0,
+ 7, 35, 36, 0, 113, 37, 38, 39, 0, 0,
+ 76, 77, 78, 0, 41, 0, 0, 0, 117, 0,
+ 80, 10, 11, 0, 12, 0, 0, 0, 13, 14,
+ 15, 16, 189, 190, 191, 19, 20, 21, 649, 193,
+ 0, 0, 25, 83, 0, 0, 0, 84, 0, 28,
+ 85, 29, 86, 0, 87, 0, 30, 0, 0, 0,
+ 0, 0, 89, 0, 31, 0, 90, 0, 73, 0,
+ 0, 94, 0, 96, 0, 0, 98, 0, 0, 100,
+ 0, 0, 0, 102, 103, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 105,
+ 22, 0, 107, 0, 0, 0, 111, 0, 112, 0,
+ 0, 0, 0, 35, 36, 0, 113, 37, 38, 39,
+ 0, 0, 0, 0, 0, 307, 41, 391, 0, 91,
+ 117, 92, 93, 0, 95, 0, 97, 0, 0, 0,
+ -187, -187, -187, -187, 0, 0, 0, 104, -187, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, -238, -238, -238, -238, -186, 0, 0, 0, -238,
- 0, 0, 0, -186, -186, -186, -186, -186, -186, -186,
- 0, 0, 0, -186, 0, -186, -186, 0, -186, 0,
- -186, 0, 0, -186, 0, 0, 0, -186, 0, 0,
- 0, -186, -159, -159, -159, -159, 744, 515, 0, 0,
- -159, 0, 0, 0, 0, 0, 0, 0, 0, -186,
- -186, -186, -238, 0, -238, -238, 0, -238, 0, -238,
- 0, 0, -238, 0, 0, 0, -238, 0, 0, -186,
- -238, 0, 0, 0, 0, 0, 0, -186, -186, -186,
- -186, -186, -186, -186, 0, 0, 0, 0, -238, -238,
- -238, 0, 0, -159, 0, -159, -159, 0, -159, 0,
- -159, 0, 0, -159, 0, 0, 0, -159, -238, 0,
- 0, -159, 0, 0, 0, 0, -238, -238, -238, -238,
- -238, -238, -238, 0, -219, -219, -219, -219, 0, -159,
- -159, -159, -219, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, -177, -177, -177, -177, -159,
- 0, 0, 0, -177, 0, 0, 0, -159, -159, -159,
- -159, -159, -159, -159, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 108, 109, 0, 174, 0,
+ 0, 0, 0, 33, 0, 308, 0, 0, 0, -187,
+ 0, -187, -187, 175, 176, 309, 310, -187, 0, 0,
+ 0, 311, 312, 313, 314, 120, 121, 122, 123, 124,
+ 0, -187, 0, -187, -187, 0, -187, 0, -187, 0,
+ 0, -187, 0, 0, 0, -187, 0, 0, 0, -187,
+ -239, -239, -239, -239, 530, 517, 0, 0, -239, 0,
+ 0, 0, 0, 0, 0, 0, 0, -187, -187, -187,
+ -187, 0, -187, -187, 0, -187, 0, -187, 0, 0,
+ -187, 0, 0, 0, -187, 0, 0, -187, -187, 0,
+ 0, 0, 0, 746, 517, -187, -187, -187, -187, -187,
+ -187, -187, 0, 0, 0, 0, -187, -187, -187, 0,
+ 0, -239, 0, -239, -239, 0, -239, 0, -239, 0,
+ 0, -239, 0, 0, 0, -239, -187, 0, 0, -239,
+ 0, 0, 0, 0, -187, -187, -187, -187, -187, -187,
+ -187, 0, -159, -159, -159, -159, 0, -239, -239, -239,
+ -159, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, -220, -220, -220, -220, -239, 0, 0,
+ 0, -220, 0, 0, 0, -239, -239, -239, -239, -239,
+ -239, -239, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, -219, 0, -219, -219, 0,
- -219, 0, -219, 0, 0, -219, 0, 0, 0, -219,
- 0, 0, 0, -219, 0, 0, -177, 0, -177, -177,
- 0, -177, 0, -177, 0, 0, -177, 0, 0, 0,
- -177, -219, -219, -219, -177, -227, -227, -227, -227, 0,
- 0, 0, 0, -227, 0, 0, 0, 0, 0, 0,
- 0, -219, -177, -177, -177, 0, 0, 0, 0, -219,
- -219, -219, -219, -219, -219, -219, 0, 0, 0, 0,
- 0, 0, -177, 0, 0, 0, 0, 0, 0, 0,
- -177, -177, -177, -177, -177, -177, -177, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, -227, 0, -227, -227,
- 0, -227, 0, -227, 0, 0, -227, 0, 0, 0,
- -227, 0, 0, 0, -227, -226, -226, -226, -226, 0,
- 0, 0, 0, -226, 0, 0, 0, 0, 0, 0,
- 0, 0, -227, -227, -227, 0, -225, -225, -225, -225,
- 0, 0, 0, 0, -225, 0, 0, 0, 0, 0,
+ 0, 0, 0, -159, 0, -159, -159, 0, -159, 0,
+ -159, 0, 0, -159, 0, 0, 0, -159, 0, 0,
+ 0, -159, 0, 0, -220, 0, -220, -220, 0, -220,
+ 0, -220, 0, 0, -220, 0, 0, 0, -220, -159,
+ -159, -159, -220, -178, -178, -178, -178, 0, 0, 0,
+ 0, -178, 0, 0, 0, 0, 0, 0, 0, -159,
+ -220, -220, -220, 0, 0, 0, 0, -159, -159, -159,
+ -159, -159, -159, -159, 0, 0, 0, 0, 0, 0,
+ -220, 0, 0, 0, 0, 0, 0, 0, -220, -220,
+ -220, -220, -220, -220, -220, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, -178, 0, -178, -178, 0, -178,
+ 0, -178, 0, 0, -178, 0, 0, 0, -178, 0,
+ 0, 0, -178, -228, -228, -228, -228, 0, 0, 0,
+ 0, -228, 0, 0, 0, 0, 0, 0, 0, 0,
+ -178, -178, -178, 0, -227, -227, -227, -227, 0, 0,
0, 0, -227, 0, 0, 0, 0, 0, 0, 0,
- -227, -227, -227, -227, -227, -227, -227, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, -226, 0, -226, -226,
- 0, -226, 0, -226, 0, 0, -226, 0, 0, 0,
- -226, 0, 0, 0, -226, 0, 0, -225, 0, -225,
- -225, 0, -225, 0, -225, 0, 0, -225, 0, 0,
- 0, -225, -226, -226, -226, -225, -221, -221, -221, -221,
- 0, 0, 0, 0, -221, 0, 0, 0, 0, 0,
- 0, 0, -226, -225, -225, -225, 0, 0, 0, 0,
- -226, -226, -226, -226, -226, -226, -226, 0, 0, 0,
+ -178, 0, 0, 0, 0, 0, 0, 0, -178, -178,
+ -178, -178, -178, -178, -178, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, -228, 0, -228, -228, 0, -228,
+ 0, -228, 0, 0, -228, 0, 0, 0, -228, 0,
+ 0, 0, -228, 0, 0, -227, 0, -227, -227, 0,
+ -227, 0, -227, 0, 0, -227, 0, 0, 0, -227,
+ -228, -228, -228, -227, -226, -226, -226, -226, 0, 0,
+ 0, 0, -226, 0, 0, 0, 0, 0, 0, 0,
+ -228, -227, -227, -227, 0, 0, 0, 0, -228, -228,
+ -228, -228, -228, -228, -228, 0, 0, 0, 0, 0,
+ 0, -227, 0, 0, 0, 0, 0, 0, 0, -227,
+ -227, -227, -227, -227, -227, -227, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, -226, 0, -226, -226, 0,
+ -226, 0, -226, 0, 0, -226, 0, 0, 0, -226,
+ 0, 0, 0, -226, -222, -222, -222, -222, 0, 0,
+ 0, 0, -222, 0, 0, 0, 0, 0, 0, 0,
+ 0, -226, -226, -226, 0, -224, -224, -224, -224, 0,
+ 0, 0, 0, -224, 0, 0, 0, 0, 0, 0,
+ 0, -226, 0, 0, 0, 0, 0, 0, 0, -226,
+ -226, -226, -226, -226, -226, -226, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, -222, 0, -222, -222, 0,
+ -222, 0, -222, 0, 0, -222, 0, 0, 0, -222,
+ 0, 0, 0, -222, 0, 0, -224, 0, -224, -224,
+ 0, -224, 0, -224, 0, 0, -224, 0, 0, 0,
+ -224, -222, -222, -222, -224, -223, -223, -223, -223, 0,
+ 0, 0, 0, -223, 0, 0, 0, 0, 0, 0,
+ 0, -222, -224, -224, -224, 0, 0, 0, 0, -222,
+ -222, -222, -222, -222, -222, -222, 0, 0, 0, 0,
+ 0, 0, -224, 0, 0, 0, 0, 0, 0, 0,
+ -224, -224, -224, -224, -224, -224, -224, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, -223, 0, -223, -223,
+ 0, -223, 0, -223, 0, 0, -223, 0, 0, 0,
+ -223, 0, 0, 0, -223, -225, -225, -225, -225, 0,
0, 0, 0, -225, 0, 0, 0, 0, 0, 0,
- 0, -225, -225, -225, -225, -225, -225, -225, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, -221, 0, -221,
- -221, 0, -221, 0, -221, 0, 0, -221, 0, 0,
- 0, -221, 0, 0, 0, -221, -223, -223, -223, -223,
- 0, 0, 0, 0, -223, 0, 0, 0, 0, 0,
- 0, 0, 0, -221, -221, -221, 0, -222, -222, -222,
- -222, 0, 0, 0, 0, -222, 0, 0, 0, 0,
- 0, 0, 0, -221, 0, 0, 0, 0, 0, 0,
- 0, -221, -221, -221, -221, -221, -221, -221, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, -223, 0, -223,
- -223, 0, -223, 0, -223, 0, 0, -223, 0, 0,
- 0, -223, 0, 0, 0, -223, 0, 0, -222, 0,
- -222, -222, 0, -222, 0, -222, 0, 0, -222, 0,
- 0, 0, -222, -223, -223, -223, -222, -224, -224, -224,
- -224, 0, 0, 0, 0, -224, 0, 0, 0, 0,
- 0, 0, 0, -223, -222, -222, -222, 0, 0, 0,
- 0, -223, -223, -223, -223, -223, -223, -223, 0, 0,
- 0, 0, 0, 0, -222, 0, 0, 0, 0, 0,
- 0, 0, -222, -222, -222, -222, -222, -222, -222, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, -224, 0,
- -224, -224, 0, -224, 0, -224, 0, 0, -224, 0,
- 0, 0, -224, 0, 0, 0, -224, -179, -179, -179,
- -179, 0, 0, 0, 0, -179, 0, 0, 0, 0,
- 0, 0, 0, 0, -224, -224, -224, 0, 73, 0,
- 74, 75, 0, 0, 0, 0, 79, 0, 0, 0,
- 0, 0, 0, 0, -224, 0, 0, 0, 0, 0,
- 0, 0, -224, -224, -224, -224, -224, -224, -224, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, -179, 0,
- -179, -179, 0, -179, 0, -179, 0, 0, -179, 0,
- 0, 0, -179, 0, 0, 0, -179, 0, 0, 91,
- 0, 92, 93, 0, 95, 0, 97, 0, 0, 99,
- 0, 0, 0, 101, -179, -179, -179, 104, 73, 0,
- 74, 75, 0, 0, 0, 0, 79, 0, 0, 0,
- 0, 0, 0, 0, -179, 108, 109, 532, 0, 0,
- 0, 0, -179, -179, -179, -179, -179, -179, -179, 0,
- 0, 0, 0, 0, 0, 533, 0, 0, 0, 0,
- 0, 0, 0, 118, 119, 120, 121, 122, 123, 124,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 91,
- 0, 92, 93, 0, 95, 0, 97, 0, 0, 99,
- 0, 0, 73, 101, 74, 75, 0, 104, 0, 0,
- 79, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 108, 109, 612, 0, 0,
+ 0, 0, -223, -223, -223, 0, -180, -180, -180, -180,
+ 0, 0, 0, 0, -180, 0, 0, 0, 0, 0,
+ 0, 0, -223, 0, 0, 0, 0, 0, 0, 0,
+ -223, -223, -223, -223, -223, -223, -223, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, -225, 0, -225, -225,
+ 0, -225, 0, -225, 0, 0, -225, 0, 0, 0,
+ -225, 0, 0, 0, -225, 0, 0, -180, 0, -180,
+ -180, 0, -180, 0, -180, 0, 0, -180, 0, 0,
+ 0, -180, -225, -225, -225, -180, 73, 0, 74, 75,
+ 0, 0, 0, 0, 79, 0, 0, 0, 0, 0,
+ 0, 0, -225, -180, -180, -180, 0, 0, 0, 0,
+ -225, -225, -225, -225, -225, -225, -225, 0, 0, 0,
+ 0, 0, 0, -180, 0, 0, 0, 0, 0, 0,
+ 0, -180, -180, -180, -180, -180, -180, -180, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 91, 0, 92,
+ 93, 0, 95, 0, 97, 0, 0, 99, 0, 0,
+ 73, 101, 74, 75, 0, 104, 0, 0, 79, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 108, 109, 534, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 73,
+ 0, 74, 75, 535, 0, 0, 0, 79, 0, 0,
+ 0, 118, 119, 120, 121, 122, 123, 124, 0, 0,
+ 0, 91, 0, 92, 93, 0, 95, 0, 97, 0,
+ 0, 99, 0, 0, 0, 101, 0, 0, -234, 104,
+ -234, -234, 0, 0, 0, 0, -234, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 108, 109, 614,
+ 91, 0, 92, 93, 0, 95, 0, 97, 0, 0,
+ 99, 0, 0, 0, 101, 0, 0, 615, 104, 0,
+ 0, 0, 0, 0, 0, 118, 119, 120, 121, 122,
+ 123, 124, 0, 0, 0, 0, 108, 109, 662, -234,
+ 0, -234, -234, 0, -234, 0, -234, 0, 0, -234,
+ 0, 0, 73, -234, 74, 75, 663, -234, 0, 0,
+ 79, 0, 0, 0, 118, 119, 120, 121, 122, 123,
+ 124, 0, 0, 0, 0, -234, -234, -234, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, -233, 0, -233, -233, 613, 0, 0, 0, -233,
- 0, 0, 0, 118, 119, 120, 121, 122, 123, 124,
+ 0, 73, 0, 712, 713, -234, 0, 0, 0, 79,
+ 0, 0, 0, -234, -234, -234, -234, -234, -234, -234,
0, 0, 0, 91, 0, 92, 93, 0, 95, 0,
97, 0, 0, 99, 0, 0, 0, 101, 0, 0,
- 73, 104, 74, 75, 0, 0, 0, 0, 79, 0,
+ 73, 104, 740, 741, 0, 0, 0, 0, 742, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 108,
- 109, 660, -233, 0, -233, -233, 0, -233, 0, -233,
- 0, 0, -233, 0, 0, 0, -233, 0, 0, 661,
- -233, 0, 0, 0, 0, 0, 0, 118, 119, 120,
- 121, 122, 123, 124, 0, 0, 0, 0, -233, -233,
- -233, 91, 0, 92, 93, 0, 95, 0, 97, 0,
- 0, 99, 0, 0, 73, 101, 710, 711, -233, 104,
- 0, 0, 79, 0, 0, 0, -233, -233, -233, -233,
- -233, -233, -233, 0, 0, 0, 0, 108, 109, 679,
+ 109, 681, 91, 0, 92, 93, 0, 95, 0, 97,
+ 0, 0, 99, 0, 0, 0, 101, 0, 0, 682,
+ 104, 73, 0, 0, 0, 0, 0, 118, 119, 120,
+ 121, 122, 123, 124, 0, 0, 0, 0, 108, 109,
+ 681, 91, 0, 92, 93, 0, 95, 0, 97, 0,
+ 0, 99, 0, 0, 0, 101, 0, 0, 682, 104,
+ 0, 0, 0, 0, 0, 0, 118, 119, 120, 121,
+ 122, 123, 124, 0, 0, 0, 0, 108, 109, 743,
+ 0, 0, 91, 0, 92, 93, 0, 95, 0, 97,
+ 0, 0, 99, 0, 0, 0, 101, 744, 0, 0,
+ 104, 0, 0, 0, 0, 118, 119, 120, 121, 122,
+ 123, 124, 0, 0, 0, 0, 0, 0, 108, 109,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 73, 0, 738, 739, 680, 0, 0,
- 0, 740, 0, 0, 0, 118, 119, 120, 121, 122,
- 123, 124, 0, 0, 0, 91, 0, 92, 93, 0,
- 95, 0, 97, 0, 0, 99, 0, 0, 0, 101,
- 0, 0, 0, 104, 73, 243, 0, 226, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 459, 0,
+ 0, 0, 0, 0, 0, 0, 118, 119, 120, 121,
+ 122, 123, 124, 7, 0, 0, 0, 0, 0, 0,
+ 243, 74, 244, 76, 77, 78, 0, 79, 0, 0,
+ 0, 8, 9, 80, 10, 11, 0, 81, 0, 0,
+ 0, 13, 14, 15, 16, 0, 0, 18, 19, 20,
+ 21, 22, 23, 24, 0, 25, 83, 26, 0, 0,
+ 84, 27, 28, 85, 29, 86, 0, 87, 88, 30,
+ 0, 0, 0, 0, 0, 89, 0, 31, 0, 90,
+ 0, 0, 0, 0, 94, 0, 96, 0, 0, 98,
+ 0, 0, 100, 0, 0, 0, 102, 103, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 108, 109, 679, 91, 0, 92, 93, 0, 95,
- 0, 97, 0, 0, 99, 0, 0, 0, 101, 0,
- 0, 680, 104, 0, 0, 0, 0, 0, 0, 118,
- 119, 120, 121, 122, 123, 124, 0, 0, 0, 0,
- 108, 109, 741, 0, 0, 91, 0, 92, 93, 0,
- 95, 0, 97, 0, 0, 99, 0, 0, 0, 101,
- 742, 0, 0, 104, 0, 0, 0, 0, 118, 119,
- 120, 121, 122, 123, 124, 0, 0, 0, 0, 0,
- 0, 108, 109, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 457, 0, 0, 0, 0, 0, 0, 0, 118,
- 119, 120, 121, 122, 123, 124, 7, 0, 0, 0,
- 0, 0, 0, 243, 74, 244, 76, 77, 78, 0,
+ 0, 0, 105, 0, 106, 107, 0, 0, 245, 111,
+ 0, 112, 0, 0, 33, 34, 246, 36, 0, 113,
+ 247, 38, 39, 0, 248, 249, 7, 0, 0, 41,
+ 0, 0, 0, 117, 74, 75, 76, 77, 78, 0,
79, 0, 0, 0, 8, 9, 80, 10, 11, 0,
81, 0, 0, 0, 13, 14, 15, 16, 0, 0,
18, 19, 20, 21, 22, 23, 24, 0, 25, 83,
0, 0, 98, 0, 0, 100, 0, 0, 0, 102,
103, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 105, 0, 106, 107, 0,
- 0, 245, 111, 0, 112, 0, 0, 33, 34, 35,
- 36, 0, 113, 246, 38, 39, 0, 247, 248, 7,
- 0, 0, 41, 0, 0, 0, 117, 74, 75, 76,
- 77, 78, 0, 79, 0, 0, 0, 8, 9, 80,
+ 0, 584, 111, 0, 112, 0, 0, 33, 34, 35,
+ 36, 0, 113, 37, 38, 39, 0, 248, 249, 7,
+ 0, 0, 41, 0, 0, 0, 117, 0, 0, 76,
+ 77, 78, 0, 0, 0, 0, 0, 8, 9, 80,
10, 11, 0, 81, 0, 0, 0, 13, 14, 15,
16, 0, 0, 18, 19, 20, 21, 22, 23, 24,
0, 25, 83, 26, 0, 0, 84, 27, 28, 85,
94, 0, 96, 0, 0, 98, 0, 0, 100, 0,
0, 0, 102, 103, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 105, 0,
- 106, 107, 0, 0, 582, 111, 0, 112, 0, 0,
+ 106, 107, 0, 0, 0, 111, 0, 112, 0, 0,
33, 34, 35, 36, 0, 113, 37, 38, 39, 0,
- 247, 248, 7, 0, 0, 41, 0, 0, 0, 117,
+ 248, 249, 7, 0, 0, 41, 0, 0, 0, 117,
0, 0, 76, 77, 78, 0, 0, 0, 0, 0,
8, 9, 80, 10, 11, 0, 81, 0, 0, 0,
13, 14, 15, 16, 0, 0, 18, 19, 20, 21,
0, 100, 0, 0, 0, 102, 103, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 105, 0, 106, 107, 0, 0, 0, 111, 0,
- 112, 0, 0, 33, 34, 35, 36, 0, 113, 37,
- 38, 39, 0, 247, 248, 7, 0, 0, 41, 0,
+ 112, 0, 0, 33, 34, 246, 36, 0, 113, 247,
+ 38, 39, 0, 248, 249, 7, 0, 0, 41, 0,
0, 0, 117, 0, 0, 76, 77, 78, 0, 0,
0, 0, 0, 8, 9, 80, 10, 11, 0, 81,
0, 0, 0, 13, 14, 15, 16, 0, 0, 18,
0, 0, 84, 27, 28, 85, 29, 86, 0, 87,
88, 30, 0, 0, 0, 0, 0, 89, 0, 31,
0, 90, 0, 0, 0, 0, 94, 0, 96, 0,
- 0, 98, 0, 0, 100, 0, 0, 0, 102, 103,
+ 0, 98, 0, 0, 100, 0, 0, 0, 0, 103,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 105, 0, 106, 107, 0, 0,
- 0, 111, 0, 112, 0, 0, 33, 34, 35, 36,
- 0, 113, 246, 38, 39, 0, 247, 248, 7, 0,
+ 0, 0, 0, 0, 0, 0, 33, 34, 35, 36,
+ 0, 113, 37, 38, 39, 0, 248, 249, 7, 0,
0, 41, 0, 0, 0, 117, 0, 0, 76, 77,
78, 0, 0, 0, 0, 0, 8, 9, 80, 10,
11, 0, 81, 0, 0, 0, 13, 14, 15, 16,
0, 0, 103, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 105, 0, 106,
107, 0, 0, 0, 0, 0, 0, 0, 0, 33,
- 34, 35, 36, 0, 113, 37, 38, 39, 0, 247,
- 248, 7, 0, 0, 41, 0, 0, 0, 117, 0,
- 0, 76, 77, 78, 0, 0, 0, 0, 0, 8,
- 9, 80, 10, 11, 0, 81, 0, 0, 0, 13,
- 14, 15, 16, 0, 0, 18, 19, 20, 21, 22,
- 23, 24, 0, 25, 83, 26, 0, 0, 84, 27,
- 28, 85, 29, 86, 0, 87, 88, 30, 0, 0,
+ 34, 246, 36, 0, 113, 247, 38, 39, 0, 248,
+ 249, 7, 0, 0, 41, 0, 0, 0, 117, 0,
+ 0, 76, 77, 78, 0, 0, 0, 0, 0, 0,
+ 0, 80, 10, 11, 0, 12, 0, 0, 0, 13,
+ 14, 15, 16, 0, 0, 0, 19, 20, 21, 0,
+ 0, 0, 0, 25, 83, 0, 0, 0, 84, 0,
+ 28, 85, 29, 86, 0, 87, 0, 30, 0, 0,
0, 0, 0, 89, 0, 31, 0, 90, 0, 0,
0, 0, 94, 0, 96, 0, 0, 98, 0, 0,
- 100, 0, 0, 0, 0, 103, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 105, 0, 106, 107, 0, 0, 0, 0, 0, 0,
- 0, 0, 33, 34, 35, 36, 0, 113, 246, 38,
- 39, 0, 247, 248, 7, 0, 0, 41, 0, 0,
- 0, 117, 0, 0, 76, 77, 78, 0, 0, 0,
- 0, 0, 0, 0, 80, 10, 11, 0, 12, 0,
- 0, 0, 13, 14, 15, 16, 0, 0, 0, 19,
- 20, 21, 0, 0, 0, 0, 25, 83, 0, 0,
- 0, 84, 0, 28, 85, 29, 86, 0, 87, 0,
- 30, 0, 0, 0, 0, 0, 89, 0, 31, 0,
- 90, 0, 0, 0, 0, 94, 0, 96, 0, 0,
- 98, 0, 0, 100, 0, 0, 0, 102, 103, 0,
+ 100, 0, 0, 0, 102, 103, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 105, 0, 0, 107, 0, 0, 0,
- 111, 0, 112, 0, 0, 7, 0, 35, 36, 0,
- 113, 37, 38, 39, 0, 76, 77, 78, 0, 0,
- 41, 0, 0, 0, 117, 80, 10, 11, 0, 12,
- 0, 0, 0, 13, 14, 15, 16, 0, 0, 0,
- 19, 20, 21, 0, 0, 0, 0, 25, 83, 0,
- 0, 0, 84, 0, 28, 85, 29, 86, 0, 87,
- 0, 30, 0, 0, 0, 0, 0, 89, 0, 31,
- 0, 90, 0, 0, 0, 0, 94, 0, 96, 0,
- 0, 98, 0, 0, 100, 0, 0, 0, 102, 103,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 105, 0, 0, 107, 0, 0,
- 0, 111, 7, 112, 0, 0, 0, 0, 35, 36,
- 0, 113, 76, 77, 78, 361, 0, 0, 0, 0,
- 0, 41, 80, 10, 11, 117, 12, 0, 0, 0,
+ 105, 0, 0, 107, 0, 0, 0, 111, 0, 112,
+ 0, 0, 7, 0, 35, 36, 0, 113, 37, 38,
+ 39, 0, 76, 77, 78, 0, 0, 41, 0, 0,
+ 0, 117, 80, 10, 11, 0, 12, 0, 0, 0,
13, 14, 15, 16, 0, 0, 0, 19, 20, 21,
0, 0, 0, 0, 25, 83, 0, 0, 0, 84,
0, 28, 85, 29, 86, 0, 87, 0, 30, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 105, 0, 0, 107, 0, 0, 0, 111, 7,
112, 0, 0, 0, 0, 35, 36, 0, 113, 76,
- 77, 78, 0, 0, 0, 0, 0, 0, 41, 80,
- 10, 11, 117, 400, 0, 0, 0, 13, 14, 15,
+ 77, 78, 363, 0, 0, 0, 0, 0, 41, 80,
+ 10, 11, 117, 12, 0, 0, 0, 13, 14, 15,
16, 0, 0, 0, 19, 20, 21, 0, 0, 0,
0, 25, 83, 0, 0, 0, 84, 0, 28, 85,
29, 86, 0, 87, 0, 30, 0, 0, 0, 0,
0, 89, 0, 31, 0, 90, 0, 0, 0, 0,
94, 0, 96, 0, 0, 98, 0, 0, 100, 0,
- 0, 0, 0, 103, 0, 0, 0, 0, 0, 0,
+ 0, 0, 102, 103, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 105, 0,
- 0, 107, 0, 0, 0, -2, 6, 0, 0, 7,
- 0, 0, 35, 36, 0, 113, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 41, 0, 8, 9, 117,
+ 0, 107, 0, 0, 0, 111, 7, 112, 0, 0,
+ 0, 0, 35, 36, 0, 113, 76, 77, 78, 0,
+ 0, 0, 0, 0, 0, 41, 80, 10, 11, 117,
+ 12, 0, 0, 0, 13, 14, 15, 16, 0, 0,
+ 0, 19, 20, 21, 0, 0, 0, 0, 25, 83,
+ 0, 0, 0, 84, 0, 28, 85, 29, 86, 0,
+ 87, 0, 30, 0, 0, 0, 0, 0, 89, 0,
+ 31, 0, 90, 0, 0, 0, 0, 94, 0, 96,
+ 0, 0, 98, 0, 0, 100, 0, 0, 0, 102,
+ 103, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 105, 0, 0, 107, 0,
+ 0, 0, 111, 7, 112, 0, 0, 0, 0, 246,
+ 36, 0, 113, 76, 77, 78, 0, 0, 0, 0,
+ 0, 0, 41, 80, 10, 11, 117, 402, 0, 0,
+ 0, 13, 14, 15, 16, 0, 0, 0, 19, 20,
+ 21, 0, 0, 0, 0, 25, 83, 0, 0, 0,
+ 84, 0, 28, 85, 29, 86, 0, 87, 0, 30,
+ 0, 0, 0, 0, 0, 89, 0, 31, 0, 90,
+ 0, 0, 0, 0, 94, 0, 96, 0, 0, 98,
+ 0, 0, 100, 0, 0, 0, 0, 103, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 105, 0, 0, 107, 0, 0, 0, -2,
+ 6, 0, 0, 7, 0, 0, 35, 36, 0, 113,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 41,
+ 0, 8, 9, 117, 10, 11, 0, 12, 0, 0,
+ 0, 13, 14, 15, 16, -10, 17, 18, 19, 20,
+ 21, 22, 23, 24, 0, 25, 468, 26, 0, 7,
+ 0, 27, 28, 0, 29, 0, 0, 0, 0, 30,
+ 0, 0, 0, 0, 0, 0, 0, 31, 9, 0,
10, 11, 0, 12, 0, 0, 0, 13, 14, 15,
- 16, -10, 17, 18, 19, 20, 21, 22, 23, 24,
- 0, 25, 466, 26, 0, 7, 0, 27, 28, 0,
+ 16, -83, 0, 18, 19, 20, 21, 22, 23, 24,
+ 0, 25, 0, 26, 0, 0, 0, 27, 28, 0,
+ 29, 0, 0, 0, 0, 30, 0, 0, 0, 32,
+ 0, 0, 0, 31, 33, 34, 35, 36, 0, 0,
+ 37, 38, 39, 0, 40, 0, 0, 0, 0, 41,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 479, 0, 0, 7,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 33, 34, 35, 36, 0, 0, 37, 38, 39, 0,
+ 10, 11, 0, 12, 0, 41, 469, 13, 14, 15,
+ 16, -95, 0, 18, 19, 20, 21, 22, 23, 24,
+ 0, 25, 0, 26, 7, 0, 0, 27, 28, 0,
29, 0, 0, 0, 0, 30, 0, 0, 0, 0,
- 0, 0, 0, 31, 9, 0, 10, 11, 0, 12,
- 0, 0, 0, 13, 14, 15, 16, -83, 0, 18,
- 19, 20, 21, 22, 23, 24, 0, 25, 0, 26,
- 0, 0, 0, 27, 28, 0, 29, 0, 0, 0,
- 0, 30, 0, 0, 0, 32, 0, 0, 0, 31,
+ 560, 561, 0, 31, 0, 10, 11, 562, 12, 563,
+ 564, 565, 13, 14, 15, 16, 0, 0, 0, 19,
+ 20, 21, 0, 0, 0, 566, 25, 567, 0, 568,
+ 0, 569, 0, 28, 0, 29, 0, 570, 571, 88,
+ 30, 0, 0, 0, 0, 0, 0, 0, 31, 0,
33, 34, 35, 36, 0, 0, 37, 38, 39, 0,
- 40, 0, 0, 0, 0, 41, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 477, 0, 0, 7, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 33, 34, 35, 36,
- 0, 0, 37, 38, 39, 0, 10, 11, 0, 12,
- 0, 41, 467, 13, 14, 15, 16, -95, 0, 18,
- 19, 20, 21, 22, 23, 24, 0, 25, 0, 26,
- 7, 0, 0, 27, 28, 0, 29, 0, 0, 0,
- 0, 30, 0, 0, 0, 0, 558, 559, 0, 31,
- 0, 10, 11, 560, 12, 561, 562, 563, 13, 14,
- 15, 16, 0, 0, 0, 19, 20, 21, 0, 0,
- 0, 564, 25, 565, 0, 566, 0, 567, 0, 28,
- 0, 29, 0, 568, 569, 88, 30, 0, 0, 0,
- 0, 0, 0, 0, 31, 0, 33, 34, 35, 36,
- 0, 0, 37, 38, 39, 0, 0, 0, 0, 0,
- 0, 41, 478, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 41, 480, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 106, 0, 0, 0, 0, 0, 7, 0, 0,
- 0, 0, 0, 35, 36, 0, 0, 37, 38, 39,
- 0, 570, 0, 558, 559, 0, 41, 571, 10, 11,
- 560, 12, 561, 562, 563, 13, 14, 15, 16, 0,
- 0, 0, 19, 20, 21, 0, 0, 0, 564, 25,
- 565, 7, 566, 0, 567, 0, 28, 0, 29, 0,
- 568, 569, 88, 30, 0, 0, 0, 558, 559, 0,
- 0, 31, 10, 11, 560, 12, 561, 562, 563, 13,
+ 0, 0, 0, 0, 0, 106, 0, 0, 0, 0,
+ 0, 7, 0, 0, 0, 0, 0, 35, 36, 0,
+ 0, 37, 38, 39, 0, 572, 0, 560, 561, 0,
+ 41, 573, 10, 11, 562, 12, 563, 564, 565, 13,
14, 15, 16, 0, 0, 0, 19, 20, 21, 0,
- 0, 0, 564, 25, 565, 0, 566, 0, 567, 0,
- 28, 0, 29, 0, 568, 569, 0, 30, 106, 0,
+ 0, 0, 566, 25, 567, 7, 568, 0, 569, 0,
+ 28, 0, 29, 0, 570, 571, 88, 30, 0, 0,
+ 0, 560, 561, 0, 0, 31, 10, 11, 562, 12,
+ 563, 564, 565, 13, 14, 15, 16, 0, 0, 0,
+ 19, 20, 21, 0, 0, 0, 566, 25, 567, 0,
+ 568, 0, 569, 0, 28, 0, 29, 0, 570, 571,
+ 0, 30, 106, 0, 0, 0, 0, 0, 0, 31,
+ 0, 0, 0, 0, 35, 36, 0, 0, 37, 38,
+ 39, 0, 572, 0, 0, 0, 0, 41, 781, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 703, 0, 0, 0,
+ 0, 0, 7, 0, 0, 0, 0, 0, 35, 36,
+ 0, 0, 37, 38, 39, 0, 572, 0, 0, 0,
+ 0, 41, 704, 10, 11, 0, 12, 0, 0, 0,
+ 13, 14, 15, 16, 0, 0, 0, 19, 20, 21,
+ 0, 0, 0, 0, 25, 0, 0, 0, 0, 74,
+ 75, 28, 0, 29, 0, 79, 0, 0, 30, 8,
+ 9, 0, 10, 11, 0, 81, 31, 0, 0, 13,
+ 14, 15, 16, 0, 0, 18, 19, 20, 0, 22,
+ 23, 24, 0, 25, 0, 26, 0, 0, 0, 27,
+ 28, 0, 29, 0, 0, 0, 88, 30, 0, 0,
0, 0, 0, 0, 0, 31, 0, 0, 0, 0,
- 35, 36, 0, 0, 37, 38, 39, 0, 570, 0,
- 0, 0, 0, 41, 779, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 35, 36, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 41, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 701, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 35, 36, 0, 0, 37, 38,
- 39, 0, 570, 74, 75, 0, 0, 41, 702, 79,
- 0, 0, 0, 8, 9, 0, 10, 11, 0, 81,
- 0, 0, 0, 13, 14, 15, 16, 0, 0, 18,
- 19, 20, 0, 22, 23, 24, 0, 25, 0, 26,
- 0, 0, 0, 27, 28, 0, 29, 0, 0, 0,
- 88, 30, 0, 0, 8, 9, 0, 10, 11, 31,
- 81, 0, 0, 0, 13, 14, 15, 16, 0, 0,
- 18, 19, 20, 0, 22, 23, 24, 0, 25, 0,
- 26, 0, 0, 0, 27, 28, 0, 29, 0, 0,
- 0, 88, 30, 0, 0, 0, 106, 0, 0, 0,
- 31, 0, 0, 0, 0, 0, 33, 34, 0, 36,
- 0, 0, 205, 38, 39, 0, 247, 248, 0, 102,
- 0, 41, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 106, 0, 0,
- 0, 0, 111, 0, 112, 0, 0, 33, 34, 0,
- 36, 0, 0, 205, 38, 39, 0, 247, 248, 0,
- 8, 9, 41, 10, 11, 0, 81, 0, 0, 0,
- 13, 14, 15, 16, 0, 0, 18, 19, 20, 0,
- 22, 23, 24, 0, 25, 0, 26, 0, 0, 0,
- 27, 28, 0, 29, 0, 0, 0, 88, 30, 0,
- 0, 0, 0, 0, 0, 0, 31, 0, 0, 0,
+ 0, 0, 106, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 33, 34, 308, 36, 0, 0, 205, 38,
+ 39, 0, 248, 249, 0, 8, 9, 41, 10, 11,
+ 0, 81, 0, 0, 0, 13, 14, 15, 16, 0,
+ 0, 18, 19, 20, 0, 22, 23, 24, 0, 25,
+ 0, 26, 0, 0, 0, 27, 28, 0, 29, 0,
+ 0, 0, 88, 30, 0, 0, 0, 0, 0, 0,
+ 0, 31, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 102, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 106, 0,
+ 0, 0, 0, 111, 0, 112, 0, 0, 33, 34,
+ 308, 36, 0, 0, 205, 38, 39, 0, 248, 249,
+ 0, 8, 9, 41, 10, 11, 0, 81, 0, 0,
+ 0, 13, 14, 15, 16, 0, 0, 18, 19, 20,
+ 0, 22, 23, 24, 0, 25, 0, 26, 0, 0,
+ 0, 27, 28, 0, 29, 0, 0, 0, 88, 30,
+ 0, 0, 0, 0, 0, 0, 0, 31, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 106, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 33, 34, 0, 36, 0, 0, 205,
- 38, 39, 0, 247, 248, 0, 0, 0, 41
+ 0, 0, 0, 0, 106, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 33, 34, 308, 36, 0, 0,
+ 205, 38, 39, 0, 248, 249, 0, 0, 0, 41
};
static const yytype_int16 yycheck[] =
{
- 3, 4, 86, 3, 4, 4, 73, 3, 4, 35,
- 47, 37, 86, 35, 4, 37, 162, 88, 86, 47,
- 86, 86, 4, 65, 77, 189, 77, 191, 86, 4,
- 35, 55, 37, 35, 86, 239, 183, 28, 29, 7,
- 3, 4, 183, 4, 12, 277, 86, 3, 4, 86,
- 264, 88, 55, 21, 41, 116, 190, 191, 13, 105,
- 88, 107, 30, 355, 372, 182, 183, 113, 360, 68,
- 86, 206, 3, 4, 119, 377, 617, 18, 67, 82,
- 377, 59, 82, 82, 355, 372, 82, 109, 355, 0,
- 17, 64, 82, 360, 4, 469, 7, 3, 4, 113,
- 82, 147, 3, 4, 109, 381, 480, 82, 414, 336,
- 156, 99, 109, 81, 160, 132, 130, 163, 11, 82,
- 13, 82, 286, 1, 12, 13, 82, 105, 0, 146,
- 18, 13, 216, 110, 508, 281, 18, 364, 284, 210,
- 372, 449, 184, 7, 452, 182, 183, 130, 125, 126,
- 1, 82, 286, 130, 109, 128, 302, 698, 36, 11,
- 38, 13, 279, 189, 110, 191, 44, 189, 190, 13,
- 48, 36, 82, 210, 13, 17, 82, 323, 130, 125,
- 126, 82, 210, 205, 11, 36, 13, 38, 189, 190,
- 158, 132, 133, 44, 130, 158, 264, 48, 42, 11,
- 205, 13, 239, 206, 109, 130, 206, 206, 205, 13,
- 206, 239, 264, 11, 378, 13, 206, 144, 84, 85,
- 246, 87, 264, 13, 206, 135, 266, 498, 70, 18,
- 538, 206, 74, 294, 142, 143, 225, 79, 241, 127,
- 84, 543, 279, 206, 378, 206, 543, 549, 524, 246,
- 206, 538, 42, 131, 91, 92, 93, 61, 62, 63,
- 286, 65, 53, 398, 55, 326, 327, 94, 95, 130,
- 546, 115, 18, 105, 580, 206, 125, 68, 424, 13,
- 131, 125, 94, 95, 306, 127, 128, 87, 330, 121,
- 122, 123, 82, 0, 84, 337, 138, 381, 102, 0,
- 206, 306, 11, 145, 13, 206, 538, 128, 382, 306,
- 110, 111, 112, 300, 388, 278, 381, 0, 355, 100,
- 12, 13, 387, 381, 100, 115, 18, 115, 116, 332,
- 414, 334, 332, 641, 334, 125, 332, 336, 334, 130,
- 414, 95, 644, 635, 381, 132, 654, 137, 512, 414,
- 95, 498, 378, 420, 132, 657, 414, 498, 384, 385,
- 386, 632, 384, 527, 635, 364, 362, 335, 635, 332,
- 444, 334, 127, 128, 441, 443, 332, 414, 443, 384,
- 385, 498, 384, 130, 386, 7, 520, 693, 385, 386,
- 119, 443, 382, 527, 142, 398, 610, 132, 398, 398,
- 143, 306, 398, 403, 125, 126, 443, 410, 398, 641,
- 410, 410, 457, 121, 122, 123, 398, 94, 95, 445,
- 104, 697, 654, 398, 132, 130, 332, 443, 334, 94,
- 95, 332, 400, 334, 726, 398, 133, 398, 324, 325,
- 524, 515, 398, 445, 412, 132, 132, 515, 445, 515,
- 144, 525, 12, 13, 444, 726, 524, 145, 18, 524,
- 90, 498, 546, 515, 12, 13, 524, 398, 116, 125,
- 18, 434, 524, 547, 780, 132, 12, 13, 515, 133,
- 385, 386, 18, 132, 631, 632, 690, 524, 546, 511,
- 631, 14, 398, 5, 520, 90, 580, 398, 93, 515,
- 94, 96, 548, 98, 130, 115, 580, 8, 524, 546,
- 511, 512, 513, 8, 631, 580, 8, 8, 519, 520,
- 132, 588, 580, 90, 113, 114, 93, 116, 552, 96,
- 130, 98, 139, 122, 123, 525, 133, 683, 684, 685,
- 445, 130, 610, 580, 50, 12, 13, 132, 616, 552,
- 616, 18, 511, 620, 513, 95, 556, 547, 610, 630,
- 519, 587, 591, 82, 616, 688, 730, 526, 621, 628,
- 621, 91, 92, 93, 334, 578, 187, 97, 98, 616,
- 648, 277, 648, 648, 591, 587, 628, 751, 591, 301,
- 587, 591, 549, 630, 631, 632, 648, 565, 635, 567,
- 616, 569, 630, 158, 12, 13, 121, 122, 123, 693,
- 18, 648, 746, 697, 705, 512, 513, 751, 270, 693,
- 434, 767, 588, 520, 698, 623, 620, 617, 693, 697,
- 527, 697, 648, 700, 625, 693, 490, 491, 492, 697,
- 768, 495, 668, 669, 670, 697, 668, 673, 15, 16,
- 676, 593, 429, 690, 279, 340, 693, -1, 632, 649,
- 697, -1, 690, 668, 669, -1, 668, -1, 670, -1,
- -1, 673, 669, 670, 676, -1, 673, -1, -1, 676,
- -1, 697, 587, -1, -1, 384, 385, 386, 691, 726,
- -1, 91, 92, 93, -1, -1, 780, 97, 98, -1,
- 67, 768, 121, 122, 123, -1, 780, 729, 698, 735,
- -1, -1, 734, -1, -1, 780, -1, 91, 92, 93,
- 746, -1, 780, 97, 98, -1, -1, 723, 729, 730,
- 731, -1, -1, 734, 735, -1, 61, 62, 63, 106,
- 65, -1, 110, 780, 745, 746, 445, 91, 92, 93,
- 117, 118, -1, 121, 122, 123, -1, 125, 761, 4,
- -1, 761, 761, 131, 669, 670, -1, -1, 673, -1,
- 729, 676, 731, -1, -1, 734, 91, 92, 93, -1,
- 25, 26, 52, 28, -1, -1, 745, 32, 33, 34,
- 35, 750, -1, -1, 39, 40, 41, 91, 92, 93,
- -1, 46, -1, 97, 98, 121, 122, 123, 53, 125,
- 55, -1, 511, 512, 513, 60, 14, 15, 16, -1,
- 519, 520, -1, 68, 91, 92, 93, 526, 527, -1,
- 97, 98, -1, 730, 731, 91, 92, 93, 735, 91,
- 92, 93, 112, 113, 114, 115, 116, -1, -1, 746,
- -1, -1, 122, 123, 751, 125, 126, 91, 92, 93,
- 130, 131, -1, 97, 98, 91, 92, 93, 91, 92,
- 93, -1, 117, 118, 97, 98, -1, 0, 1, -1,
- -1, 4, 91, 92, 93, 130, -1, 10, 587, 12,
- 13, 14, 15, 16, -1, 18, 91, 92, 93, 22,
- 23, 24, 25, 26, -1, 28, 91, 92, 93, 32,
- 33, 34, 35, -1, 37, 38, 39, 40, 41, 42,
- 43, 44, -1, 46, 47, 48, -1, -1, 51, 52,
- 53, 54, 55, 56, -1, 58, 59, 60, 91, 92,
- 93, -1, -1, 66, -1, 68, -1, 70, 71, -1,
- 73, 74, 75, 76, 77, 78, -1, 80, 81, -1,
- 83, -1, 85, -1, 87, 88, 89, 52, -1, -1,
- 669, 670, -1, -1, 673, -1, -1, 676, -1, -1,
- 103, -1, 105, 106, 107, 108, 109, 110, -1, 112,
- -1, -1, 115, 116, 117, 118, -1, 120, 121, 122,
- 123, -1, 125, 126, 127, -1, -1, 130, 91, 92,
- 93, 134, 135, 136, 137, 138, 139, 140, 141, 91,
- 92, 93, 91, 92, 93, 97, 98, 112, 113, -1,
- 115, 730, 731, 91, 92, 93, 735, 122, 123, -1,
- 125, 126, 91, 92, 93, 4, -1, 746, 97, 98,
- -1, 10, 751, 12, 13, 14, 15, 16, -1, 18,
- -1, -1, -1, 22, 23, 24, 25, 26, -1, 28,
- -1, -1, -1, 32, 33, 34, 35, -1, -1, 38,
- 39, 40, 41, 42, 43, 44, -1, 46, 47, 48,
- -1, -1, 51, 52, 53, 54, 55, 56, -1, 58,
- 59, 60, -1, -1, -1, -1, -1, 66, -1, 68,
- -1, 70, 71, -1, 73, 74, 75, 76, 77, 78,
- -1, 80, 81, -1, 83, -1, 85, -1, 87, 88,
- 89, 91, 92, 93, 91, 92, 93, 97, 98, -1,
- 97, 98, -1, -1, 103, -1, 105, 106, 107, 108,
- 109, 110, -1, 112, -1, -1, 115, 116, 117, 118,
- -1, 120, 121, 122, 123, -1, 125, 126, 127, 0,
- 1, 130, -1, 4, -1, 134, 135, 136, 137, 138,
- 139, 140, 141, 14, 15, 16, -1, -1, -1, -1,
- -1, -1, -1, 24, 25, 26, -1, 28, -1, -1,
- -1, 32, 33, 34, 35, 91, 92, 93, 39, 40,
- 41, 97, 98, -1, -1, 46, 47, -1, -1, -1,
- 51, -1, 53, 54, 55, 56, -1, 58, -1, 60,
- -1, -1, -1, 25, 26, 66, 28, 68, -1, 70,
- 32, 33, 34, 35, 75, -1, 77, 39, 40, 80,
- -1, -1, 83, -1, 46, -1, 87, 88, 91, 92,
- 93, 53, -1, 55, 97, 98, -1, -1, 60, -1,
- -1, -1, 103, -1, -1, 106, 68, -1, -1, 110,
- -1, 112, 1, -1, -1, 4, 117, 118, -1, 120,
- 121, 122, 123, -1, -1, 14, 15, 16, -1, 130,
- -1, -1, -1, 134, -1, 24, 25, 26, -1, 28,
- -1, -1, 52, 32, 33, 34, 35, 91, 92, 93,
- 39, 40, 41, 97, 98, -1, 118, 46, 47, -1,
- -1, -1, 51, -1, 53, 54, 55, 56, 130, 58,
- -1, 60, -1, -1, -1, -1, -1, 66, -1, 68,
- 69, 70, -1, 91, 92, 93, 75, -1, 77, 97,
- 98, 80, -1, -1, 83, -1, -1, -1, 87, 88,
- -1, -1, 112, 113, 114, 115, 116, -1, -1, -1,
- -1, -1, 122, 123, 103, 125, 126, 106, -1, -1,
- 130, 110, -1, 112, 1, -1, -1, 4, 117, 118,
- -1, 120, 121, 122, 123, -1, -1, 14, 15, 16,
- -1, 130, -1, -1, 52, 134, -1, 24, 25, 26,
- -1, 28, -1, -1, -1, 32, 33, 34, 35, -1,
- -1, -1, 39, 40, 41, -1, -1, -1, -1, 46,
- 47, -1, -1, -1, 51, -1, 53, 54, 55, 56,
- -1, 58, -1, 60, -1, -1, -1, -1, -1, 66,
- -1, 68, -1, 70, -1, -1, -1, -1, 75, -1,
- 77, -1, -1, 80, 112, 113, 83, 115, -1, -1,
- 87, 88, -1, -1, 122, 123, -1, 125, 126, -1,
- -1, -1, 130, -1, -1, -1, 103, -1, -1, 106,
- -1, -1, -1, 110, -1, 112, 1, -1, -1, 4,
- 117, 118, -1, 120, 121, 122, 123, -1, -1, 14,
- 15, 16, -1, 130, 131, -1, -1, 134, -1, 24,
- 25, 26, -1, 28, -1, 10, -1, 32, 33, 34,
- 35, -1, -1, -1, 39, 40, 41, -1, -1, -1,
- -1, 46, 47, -1, -1, -1, 51, -1, 53, 54,
- 55, 56, -1, 58, -1, 60, -1, -1, -1, -1,
- -1, 66, -1, 68, -1, 70, -1, 10, -1, -1,
- 75, -1, 77, -1, -1, 80, -1, -1, 83, -1,
- -1, -1, -1, 88, -1, -1, 71, -1, 73, 74,
- -1, 76, -1, 78, -1, -1, 81, -1, 103, 42,
- 85, 106, -1, -1, 89, 110, -1, -1, -1, -1,
- -1, -1, 117, 118, -1, 120, 121, 122, 123, -1,
- 125, -1, 107, 108, 67, 130, 131, -1, 71, 134,
- 73, 74, -1, 76, -1, 78, -1, -1, 10, 11,
- 12, 13, 127, -1, -1, -1, 18, -1, -1, -1,
- 135, 136, 137, 138, 139, 140, 141, -1, -1, -1,
- -1, -1, -1, -1, 107, 108, -1, 110, -1, -1,
- -1, -1, 115, -1, 117, -1, -1, -1, -1, -1,
- -1, -1, 125, 126, 127, 128, -1, -1, -1, -1,
- 133, 134, 135, 136, 137, 138, 139, 140, 141, 71,
- -1, 73, 74, -1, 76, -1, 78, -1, -1, 81,
- -1, -1, 10, 85, 12, 13, -1, 89, -1, -1,
- 18, -1, 94, 95, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 107, 108, 109, -1, -1,
+ 3, 4, 77, 3, 4, 4, 73, 3, 4, 35,
+ 86, 37, 47, 86, 4, 37, 86, 28, 29, 35,
+ 47, 37, 77, 86, 65, 239, 55, 35, 86, 37,
+ 86, 17, 189, 183, 191, 88, 383, 182, 183, 206,
+ 3, 4, 183, 41, 279, 265, 86, 357, 105, 4,
+ 107, 86, 55, 88, 4, 86, 113, 67, 3, 4,
+ 619, 88, 4, 190, 191, 416, 374, 3, 4, 68,
+ 3, 4, 116, 379, 86, 99, 4, 18, 0, 82,
+ 119, 1, 82, 82, 162, 338, 82, 59, 13, 357,
+ 147, 64, 82, 109, 362, 113, 121, 122, 123, 156,
+ 357, 109, 130, 160, 109, 362, 163, 132, 379, 3,
+ 4, 130, 130, 366, 7, 11, 36, 13, 38, 82,
+ 36, 7, 0, 130, 44, 1, 12, 82, 48, 7,
+ 13, 288, 82, 105, 18, 21, 281, 82, 109, 374,
+ 82, 700, 13, 184, 30, 132, 82, 182, 183, 82,
+ 12, 13, 130, 216, 82, 128, 18, 210, 144, 146,
+ 36, 288, 38, 189, 13, 191, 110, 18, 44, 18,
+ 130, 42, 48, 189, 190, 210, 11, 125, 13, 526,
+ 13, 125, 126, 210, 109, 15, 16, 0, 82, 205,
+ 500, 132, 133, 135, 11, 81, 13, 205, 94, 95,
+ 205, 548, 0, 206, 239, 283, 206, 206, 286, 265,
+ 206, 131, 239, 84, 128, 225, 206, 0, 374, 13,
+ 246, 247, 132, 380, 265, 247, 304, 267, 189, 190,
+ 100, 582, 540, 400, 265, 142, 143, 67, 241, 545,
+ 100, 246, 247, 206, 115, 95, 281, 325, 91, 92,
+ 93, 206, 296, 380, 125, 131, 206, 95, 87, 94,
+ 95, 206, 288, 130, 158, 127, 132, 61, 62, 63,
+ 206, 65, 158, 206, 545, 246, 106, 105, 206, 471,
+ 551, 110, 111, 112, 328, 329, 110, 117, 118, 7,
+ 482, 332, 308, 121, 122, 123, 452, 119, 339, 455,
+ 308, 125, 126, 308, 302, 540, 130, 143, 102, 12,
+ 13, 384, 206, 383, 11, 18, 13, 390, 510, 389,
+ 383, 11, 357, 13, 634, 383, 53, 637, 55, 12,
+ 13, 334, 142, 336, 334, 18, 336, 308, 334, 338,
+ 336, 68, 132, 416, 695, 11, 416, 13, 383, 427,
+ 500, 104, 699, 416, 380, 500, 423, 514, 416, 500,
+ 386, 387, 388, 133, 386, 132, 388, 366, 364, 637,
+ 386, 334, 529, 336, 447, 646, 446, 444, 386, 387,
+ 637, 416, 387, 388, 540, 132, 280, 130, 659, 334,
+ 446, 336, 612, 144, 384, 522, 145, 400, 334, 90,
+ 400, 400, 529, 130, 400, 405, 127, 128, 643, 412,
+ 400, 446, 412, 412, 116, 446, 387, 388, 728, 125,
+ 459, 656, 448, 492, 493, 494, 448, 132, 497, 113,
+ 114, 782, 116, 13, 446, 115, 116, 400, 122, 123,
+ 334, 517, 336, 448, 517, 400, 130, 52, 125, 126,
+ 400, 337, 94, 95, 527, 400, 526, 447, 94, 95,
+ 728, 517, 42, 526, 400, 500, 133, 400, 526, 132,
+ 526, 14, 400, 91, 92, 93, 549, 448, 692, 97,
+ 98, 5, 517, 633, 634, 548, 517, 643, 633, 130,
+ 548, 526, 633, 550, 94, 526, 522, 513, 84, 85,
+ 656, 87, 82, 115, 84, 517, 400, 112, 113, 582,
+ 115, 8, 582, 548, 526, 8, 402, 122, 123, 582,
+ 125, 126, 8, 590, 582, 554, 90, 8, 414, 93,
+ 90, 130, 96, 93, 98, 115, 96, 527, 98, 132,
+ 12, 13, 618, 437, 139, 125, 18, 582, 623, 326,
+ 327, 554, 513, 514, 515, 622, 612, 137, 558, 549,
+ 521, 522, 618, 589, 133, 12, 13, 589, 623, 132,
+ 513, 18, 515, 50, 650, 732, 95, 580, 521, 632,
+ 650, 612, 82, 618, 589, 528, 690, 618, 630, 630,
+ 593, 593, 336, 593, 650, 187, 753, 632, 633, 634,
+ 279, 593, 637, 303, 158, 632, 618, 685, 686, 687,
+ 386, 387, 388, 551, 158, 650, 627, 707, 589, 650,
+ 272, 748, 695, 699, 625, 695, 753, 700, 437, 619,
+ 770, 622, 695, 12, 13, 702, 699, 695, 650, 18,
+ 432, 699, 595, 699, 670, 671, 672, 281, 670, 675,
+ 672, 590, 678, 675, 670, 342, 678, 692, 634, -1,
+ 695, 651, 670, 671, 699, 692, 671, 672, 699, -1,
+ 675, -1, 448, 678, 514, 515, -1, -1, 12, 13,
+ -1, 567, 522, 569, 18, 571, -1, 699, -1, 529,
+ 693, 769, -1, 728, -1, 52, 121, 122, 123, -1,
+ 671, 672, -1, 770, 675, -1, -1, 678, -1, 782,
+ 700, 737, 782, -1, -1, 731, 121, 122, 123, 782,
+ 736, 52, 748, -1, 782, 91, 92, 93, -1, 725,
+ -1, 97, 98, 91, 92, 93, -1, 513, 514, 515,
+ -1, -1, 91, 92, 93, 521, 522, 782, 97, 98,
+ -1, -1, 528, 529, -1, 112, 113, 114, 115, 116,
+ 763, -1, -1, 763, 763, 122, 123, -1, 125, 126,
+ 731, 732, 733, 130, 131, 736, 737, 91, 92, 93,
+ -1, 112, 113, 114, 115, 116, 747, 748, 731, -1,
+ 733, 122, 123, 736, 125, 126, 61, 62, 63, 130,
+ 65, -1, 1, -1, 747, 4, 121, 122, 123, 752,
+ 125, -1, -1, 589, -1, 14, 15, 16, -1, 10,
+ 11, -1, 13, -1, -1, 24, 25, 26, -1, 28,
+ 14, 15, 16, 32, 33, 34, 35, 91, 92, 93,
+ 39, 40, 41, 97, 98, -1, -1, 46, 47, -1,
+ -1, 110, 51, -1, 53, 54, 55, 56, -1, 58,
+ -1, 60, 121, 122, 123, -1, 125, 66, -1, 68,
+ -1, 70, 131, 91, 92, 93, 75, -1, 77, -1,
+ 71, 80, 73, 74, 83, 76, -1, 78, -1, 88,
+ 81, -1, 732, 733, 85, 671, 672, 737, 89, 675,
+ -1, -1, 678, -1, 103, -1, -1, 106, 748, -1,
+ -1, 110, -1, 753, -1, -1, 107, 108, 117, 118,
+ -1, 120, 121, 122, 123, -1, 125, 91, 92, 93,
+ -1, 130, 131, 97, 98, 134, 127, 91, 92, 93,
+ 91, 92, 93, -1, 135, 136, 137, 138, 139, 140,
+ 141, -1, 91, 92, 93, -1, 732, 733, 97, 98,
+ -1, 737, 91, 92, 93, -1, 0, 1, 97, 98,
+ 4, -1, 748, 91, 92, 93, 10, 753, 12, 13,
+ 14, 15, 16, -1, 18, 91, 92, 93, 22, 23,
+ 24, 25, 26, -1, 28, 91, 92, 93, 32, 33,
+ 34, 35, -1, 37, 38, 39, 40, 41, 42, 43,
+ 44, -1, 46, 47, 48, -1, -1, 51, 52, 53,
+ 54, 55, 56, -1, 58, 59, 60, 91, 92, 93,
+ -1, -1, 66, -1, 68, -1, 70, 71, -1, 73,
+ 74, 75, 76, 77, 78, -1, 80, 81, -1, 83,
+ -1, 85, -1, 87, 88, 89, 91, 92, 93, 91,
+ 92, 93, 97, 98, -1, 97, 98, -1, -1, 103,
+ -1, 105, 106, 107, 108, 109, 110, -1, 112, -1,
+ -1, 115, 116, 117, 118, -1, 120, 121, 122, 123,
+ -1, 125, 126, 127, -1, -1, 130, 91, 92, 93,
+ 134, 135, 136, 137, 138, 139, 140, 141, 4, 91,
+ 92, 93, -1, -1, 10, -1, 12, 13, 14, 15,
+ 16, -1, 18, 91, 92, 93, 22, 23, 24, 25,
+ 26, -1, 28, -1, -1, -1, 32, 33, 34, 35,
+ -1, 17, 38, 39, 40, 41, 42, 43, 44, -1,
+ 46, 47, 48, -1, -1, 51, 52, 53, 54, 55,
+ 56, -1, 58, 59, 60, -1, -1, -1, -1, -1,
+ 66, -1, 68, -1, 70, 71, -1, 73, 74, 75,
+ 76, 77, 78, -1, 80, 81, -1, 83, -1, 85,
+ -1, 87, 88, 89, 70, -1, -1, -1, 74, 91,
+ 92, 93, -1, 79, -1, 97, 98, 103, -1, 105,
+ 106, 107, 108, 109, 110, -1, 112, -1, -1, 115,
+ 116, 117, 118, -1, 120, 121, 122, 123, -1, 125,
+ 126, 127, 0, 1, 130, -1, 4, -1, 134, 135,
+ 136, 137, 138, 139, 140, 141, 14, 15, 16, -1,
+ -1, 127, 128, -1, -1, -1, 24, 25, 26, -1,
+ 28, -1, 138, -1, 32, 33, 34, 35, -1, 145,
+ -1, 39, 40, 41, 91, 92, 93, -1, 46, 47,
+ 97, 98, -1, 51, -1, 53, 54, 55, 56, -1,
+ 58, -1, 60, -1, -1, -1, 25, 26, 66, 28,
+ 68, -1, 70, 32, 33, 34, 35, 75, -1, 77,
+ 39, 40, 80, -1, -1, 83, -1, 46, -1, 87,
+ 88, 91, 92, 93, 53, -1, 55, 97, 98, -1,
+ -1, 60, -1, -1, -1, 103, -1, -1, 106, 68,
+ -1, -1, 110, -1, 112, 1, -1, -1, 4, 117,
+ 118, -1, 120, 121, 122, 123, -1, -1, 14, 15,
+ 16, -1, 130, -1, -1, 52, 134, -1, 24, 25,
+ 26, -1, 28, -1, -1, -1, 32, 33, 34, 35,
+ 91, 92, 93, 39, 40, 41, 97, 98, 117, 118,
+ 46, 47, -1, -1, -1, 51, -1, 53, 54, 55,
+ 56, 130, 58, -1, 60, -1, -1, -1, -1, -1,
+ 66, -1, 68, 69, 70, -1, 91, 92, 93, 75,
+ -1, 77, 97, 98, 80, 112, 113, 83, 115, -1,
+ -1, 87, 88, -1, -1, 122, 123, -1, 125, 126,
+ -1, -1, -1, 130, -1, -1, -1, 103, -1, -1,
+ 106, -1, -1, -1, 110, -1, 112, 1, -1, -1,
+ 4, 117, 118, -1, 120, 121, 122, 123, -1, -1,
+ 14, 15, 16, -1, 130, -1, -1, -1, 134, -1,
+ 24, 25, 26, -1, 28, -1, -1, -1, 32, 33,
+ 34, 35, 91, 92, 93, 39, 40, 41, 97, 98,
+ -1, -1, 46, 47, -1, -1, -1, 51, -1, 53,
+ 54, 55, 56, -1, 58, -1, 60, -1, -1, -1,
+ -1, -1, 66, -1, 68, -1, 70, -1, 10, -1,
+ -1, 75, -1, 77, -1, -1, 80, -1, -1, 83,
+ -1, -1, -1, 87, 88, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 103,
+ 42, -1, 106, -1, -1, -1, 110, -1, 112, -1,
+ -1, -1, -1, 117, 118, -1, 120, 121, 122, 123,
+ -1, -1, -1, -1, -1, 67, 130, 131, -1, 71,
+ 134, 73, 74, -1, 76, -1, 78, -1, -1, -1,
+ 10, 11, 12, 13, -1, -1, -1, 89, 18, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 107, 108, -1, 110, -1,
+ -1, -1, -1, 115, -1, 117, -1, -1, -1, 10,
+ -1, 12, 13, 125, 126, 127, 128, 18, -1, -1,
+ -1, 133, 134, 135, 136, 137, 138, 139, 140, 141,
+ -1, 71, -1, 73, 74, -1, 76, -1, 78, -1,
+ -1, 81, -1, -1, -1, 85, -1, -1, -1, 89,
+ 10, 11, 12, 13, 94, 95, -1, -1, 18, -1,
+ -1, -1, -1, -1, -1, -1, -1, 107, 108, 109,
+ 71, -1, 73, 74, -1, 76, -1, 78, -1, -1,
+ 81, -1, -1, -1, 85, -1, -1, 127, 89, -1,
+ -1, -1, -1, 94, 95, 135, 136, 137, 138, 139,
+ 140, 141, -1, -1, -1, -1, 107, 108, 109, -1,
+ -1, 71, -1, 73, 74, -1, 76, -1, 78, -1,
+ -1, 81, -1, -1, -1, 85, 127, -1, -1, 89,
+ -1, -1, -1, -1, 135, 136, 137, 138, 139, 140,
+ 141, -1, 10, 11, 12, 13, -1, 107, 108, 109,
+ 18, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 10, 11, 12, 13, 127, -1, -1,
+ -1, 18, -1, -1, -1, 135, 136, 137, 138, 139,
+ 140, 141, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 10, 11, 12, 13, 127, -1, -1, -1, 18,
- -1, -1, -1, 135, 136, 137, 138, 139, 140, 141,
-1, -1, -1, 71, -1, 73, 74, -1, 76, -1,
78, -1, -1, 81, -1, -1, -1, 85, -1, -1,
- -1, 89, 10, 11, 12, 13, 94, 95, -1, -1,
- 18, -1, -1, -1, -1, -1, -1, -1, -1, 107,
- 108, 109, 71, -1, 73, 74, -1, 76, -1, 78,
- -1, -1, 81, -1, -1, -1, 85, -1, -1, 127,
- 89, -1, -1, -1, -1, -1, -1, 135, 136, 137,
- 138, 139, 140, 141, -1, -1, -1, -1, 107, 108,
- 109, -1, -1, 71, -1, 73, 74, -1, 76, -1,
- 78, -1, -1, 81, -1, -1, -1, 85, 127, -1,
- -1, 89, -1, -1, -1, -1, 135, 136, 137, 138,
- 139, 140, 141, -1, 10, 11, 12, 13, -1, 107,
- 108, 109, 18, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 10, 11, 12, 13, 127,
- -1, -1, -1, 18, -1, -1, -1, 135, 136, 137,
+ -1, 89, -1, -1, 71, -1, 73, 74, -1, 76,
+ -1, 78, -1, -1, 81, -1, -1, -1, 85, 107,
+ 108, 109, 89, 10, 11, 12, 13, -1, -1, -1,
+ -1, 18, -1, -1, -1, -1, -1, -1, -1, 127,
+ 107, 108, 109, -1, -1, -1, -1, 135, 136, 137,
138, 139, 140, 141, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 127, -1, -1, -1, -1, -1, -1, -1, 135, 136,
+ 137, 138, 139, 140, 141, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 71, -1, 73, 74, -1, 76,
+ -1, 78, -1, -1, 81, -1, -1, -1, 85, -1,
+ -1, -1, 89, 10, 11, 12, 13, -1, -1, -1,
+ -1, 18, -1, -1, -1, -1, -1, -1, -1, -1,
+ 107, 108, 109, -1, 10, 11, 12, 13, -1, -1,
+ -1, -1, 18, -1, -1, -1, -1, -1, -1, -1,
+ 127, -1, -1, -1, -1, -1, -1, -1, 135, 136,
+ 137, 138, 139, 140, 141, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 71, -1, 73, 74, -1, 76,
+ -1, 78, -1, -1, 81, -1, -1, -1, 85, -1,
+ -1, -1, 89, -1, -1, 71, -1, 73, 74, -1,
+ 76, -1, 78, -1, -1, 81, -1, -1, -1, 85,
+ 107, 108, 109, 89, 10, 11, 12, 13, -1, -1,
+ -1, -1, 18, -1, -1, -1, -1, -1, -1, -1,
+ 127, 107, 108, 109, -1, -1, -1, -1, 135, 136,
+ 137, 138, 139, 140, 141, -1, -1, -1, -1, -1,
+ -1, 127, -1, -1, -1, -1, -1, -1, -1, 135,
+ 136, 137, 138, 139, 140, 141, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 71, -1, 73, 74, -1,
+ 76, -1, 78, -1, -1, 81, -1, -1, -1, 85,
+ -1, -1, -1, 89, 10, 11, 12, 13, -1, -1,
+ -1, -1, 18, -1, -1, -1, -1, -1, -1, -1,
+ -1, 107, 108, 109, -1, 10, 11, 12, 13, -1,
+ -1, -1, -1, 18, -1, -1, -1, -1, -1, -1,
+ -1, 127, -1, -1, -1, -1, -1, -1, -1, 135,
+ 136, 137, 138, 139, 140, 141, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 71, -1, 73, 74, -1,
76, -1, 78, -1, -1, 81, -1, -1, -1, 85,
-1, -1, -1, 89, -1, -1, 71, -1, 73, 74,
-1, 76, -1, 78, -1, -1, 81, -1, -1, -1,
85, -1, -1, -1, 89, -1, -1, 71, -1, 73,
74, -1, 76, -1, 78, -1, -1, 81, -1, -1,
- -1, 85, 107, 108, 109, 89, 10, 11, 12, 13,
+ -1, 85, 107, 108, 109, 89, 10, -1, 12, 13,
-1, -1, -1, -1, 18, -1, -1, -1, -1, -1,
-1, -1, 127, 107, 108, 109, -1, -1, -1, -1,
135, 136, 137, 138, 139, 140, 141, -1, -1, -1,
-1, 135, 136, 137, 138, 139, 140, 141, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 71, -1, 73,
74, -1, 76, -1, 78, -1, -1, 81, -1, -1,
- -1, 85, -1, -1, -1, 89, 10, 11, 12, 13,
- -1, -1, -1, -1, 18, -1, -1, -1, -1, -1,
- -1, -1, -1, 107, 108, 109, -1, 10, 11, 12,
- 13, -1, -1, -1, -1, 18, -1, -1, -1, -1,
- -1, -1, -1, 127, -1, -1, -1, -1, -1, -1,
- -1, 135, 136, 137, 138, 139, 140, 141, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 71, -1, 73,
- 74, -1, 76, -1, 78, -1, -1, 81, -1, -1,
- -1, 85, -1, -1, -1, 89, -1, -1, 71, -1,
- 73, 74, -1, 76, -1, 78, -1, -1, 81, -1,
- -1, -1, 85, 107, 108, 109, 89, 10, 11, 12,
- 13, -1, -1, -1, -1, 18, -1, -1, -1, -1,
- -1, -1, -1, 127, 107, 108, 109, -1, -1, -1,
+ 10, 85, 12, 13, -1, 89, -1, -1, 18, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 107, 108, 109, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 10,
+ -1, 12, 13, 127, -1, -1, -1, 18, -1, -1,
-1, 135, 136, 137, 138, 139, 140, 141, -1, -1,
- -1, -1, -1, -1, 127, -1, -1, -1, -1, -1,
- -1, -1, 135, 136, 137, 138, 139, 140, 141, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 71, -1,
- 73, 74, -1, 76, -1, 78, -1, -1, 81, -1,
- -1, -1, 85, -1, -1, -1, 89, 10, 11, 12,
- 13, -1, -1, -1, -1, 18, -1, -1, -1, -1,
- -1, -1, -1, -1, 107, 108, 109, -1, 10, -1,
- 12, 13, -1, -1, -1, -1, 18, -1, -1, -1,
- -1, -1, -1, -1, 127, -1, -1, -1, -1, -1,
- -1, -1, 135, 136, 137, 138, 139, 140, 141, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 71, -1,
- 73, 74, -1, 76, -1, 78, -1, -1, 81, -1,
- -1, -1, 85, -1, -1, -1, 89, -1, -1, 71,
- -1, 73, 74, -1, 76, -1, 78, -1, -1, 81,
- -1, -1, -1, 85, 107, 108, 109, 89, 10, -1,
+ -1, 71, -1, 73, 74, -1, 76, -1, 78, -1,
+ -1, 81, -1, -1, -1, 85, -1, -1, 10, 89,
12, 13, -1, -1, -1, -1, 18, -1, -1, -1,
- -1, -1, -1, -1, 127, 107, 108, 109, -1, -1,
- -1, -1, 135, 136, 137, 138, 139, 140, 141, -1,
- -1, -1, -1, -1, -1, 127, -1, -1, -1, -1,
- -1, -1, -1, 135, 136, 137, 138, 139, 140, 141,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
+ -1, -1, -1, -1, -1, -1, -1, 107, 108, 109,
+ 71, -1, 73, 74, -1, 76, -1, 78, -1, -1,
+ 81, -1, -1, -1, 85, -1, -1, 127, 89, -1,
+ -1, -1, -1, -1, -1, 135, 136, 137, 138, 139,
+ 140, 141, -1, -1, -1, -1, 107, 108, 109, 71,
-1, 73, 74, -1, 76, -1, 78, -1, -1, 81,
- -1, -1, 10, 85, 12, 13, -1, 89, -1, -1,
- 18, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 107, 108, 109, -1, -1,
+ -1, -1, 10, 85, 12, 13, 127, 89, -1, -1,
+ 18, -1, -1, -1, 135, 136, 137, 138, 139, 140,
+ 141, -1, -1, -1, -1, 107, 108, 109, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 10, -1, 12, 13, 127, -1, -1, -1, 18,
-1, -1, -1, 135, 136, 137, 138, 139, 140, 141,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 107,
108, 109, 71, -1, 73, 74, -1, 76, -1, 78,
-1, -1, 81, -1, -1, -1, 85, -1, -1, 127,
- 89, -1, -1, -1, -1, -1, -1, 135, 136, 137,
+ 89, 10, -1, -1, -1, -1, -1, 135, 136, 137,
138, 139, 140, 141, -1, -1, -1, -1, 107, 108,
109, 71, -1, 73, 74, -1, 76, -1, 78, -1,
- -1, 81, -1, -1, 10, 85, 12, 13, 127, 89,
- -1, -1, 18, -1, -1, -1, 135, 136, 137, 138,
+ -1, 81, -1, -1, -1, 85, -1, -1, 127, 89,
+ -1, -1, -1, -1, -1, -1, 135, 136, 137, 138,
139, 140, 141, -1, -1, -1, -1, 107, 108, 109,
+ -1, -1, 71, -1, 73, 74, -1, 76, -1, 78,
+ -1, -1, 81, -1, -1, -1, 85, 127, -1, -1,
+ 89, -1, -1, -1, -1, 135, 136, 137, 138, 139,
+ 140, 141, -1, -1, -1, -1, -1, -1, 107, 108,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 10, -1, 12, 13, 127, -1, -1,
- -1, 18, -1, -1, -1, 135, 136, 137, 138, 139,
- 140, 141, -1, -1, -1, 71, -1, 73, 74, -1,
- 76, -1, 78, -1, -1, 81, -1, -1, -1, 85,
- -1, -1, -1, 89, 10, 11, -1, 13, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 107, 108, 109, 71, -1, 73, 74, -1, 76,
- -1, 78, -1, -1, 81, -1, -1, -1, 85, -1,
- -1, 127, 89, -1, -1, -1, -1, -1, -1, 135,
- 136, 137, 138, 139, 140, 141, -1, -1, -1, -1,
- 107, 108, 109, -1, -1, 71, -1, 73, 74, -1,
- 76, -1, 78, -1, -1, 81, -1, -1, -1, 85,
- 127, -1, -1, 89, -1, -1, -1, -1, 135, 136,
- 137, 138, 139, 140, 141, -1, -1, -1, -1, -1,
- -1, 107, 108, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 127, -1,
+ -1, -1, -1, -1, -1, -1, 135, 136, 137, 138,
+ 139, 140, 141, 4, -1, -1, -1, -1, -1, -1,
+ 11, 12, 13, 14, 15, 16, -1, 18, -1, -1,
+ -1, 22, 23, 24, 25, 26, -1, 28, -1, -1,
+ -1, 32, 33, 34, 35, -1, -1, 38, 39, 40,
+ 41, 42, 43, 44, -1, 46, 47, 48, -1, -1,
+ 51, 52, 53, 54, 55, 56, -1, 58, 59, 60,
+ -1, -1, -1, -1, -1, 66, -1, 68, -1, 70,
+ -1, -1, -1, -1, 75, -1, 77, -1, -1, 80,
+ -1, -1, 83, -1, -1, -1, 87, 88, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 127, -1, -1, -1, -1, -1, -1, -1, 135,
- 136, 137, 138, 139, 140, 141, 4, -1, -1, -1,
- -1, -1, -1, 11, 12, 13, 14, 15, 16, -1,
+ -1, -1, 103, -1, 105, 106, -1, -1, 109, 110,
+ -1, 112, -1, -1, 115, 116, 117, 118, -1, 120,
+ 121, 122, 123, -1, 125, 126, 4, -1, -1, 130,
+ -1, -1, -1, 134, 12, 13, 14, 15, 16, -1,
18, -1, -1, -1, 22, 23, 24, 25, 26, -1,
28, -1, -1, -1, 32, 33, 34, 35, -1, -1,
38, 39, 40, 41, 42, 43, 44, -1, 46, 47,
-1, -1, -1, -1, -1, 103, -1, 105, 106, -1,
-1, 109, 110, -1, 112, -1, -1, 115, 116, 117,
118, -1, 120, 121, 122, 123, -1, 125, 126, 4,
- -1, -1, 130, -1, -1, -1, 134, 12, 13, 14,
- 15, 16, -1, 18, -1, -1, -1, 22, 23, 24,
+ -1, -1, 130, -1, -1, -1, 134, -1, -1, 14,
+ 15, 16, -1, -1, -1, -1, -1, 22, 23, 24,
25, 26, -1, 28, -1, -1, -1, 32, 33, 34,
35, -1, -1, 38, 39, 40, 41, 42, 43, 44,
-1, 46, 47, 48, -1, -1, 51, 52, 53, 54,
75, -1, 77, -1, -1, 80, -1, -1, 83, -1,
-1, -1, 87, 88, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 103, -1,
- 105, 106, -1, -1, 109, 110, -1, 112, -1, -1,
+ 105, 106, -1, -1, -1, 110, -1, 112, -1, -1,
115, 116, 117, 118, -1, 120, 121, 122, 123, -1,
125, 126, 4, -1, -1, 130, -1, -1, -1, 134,
-1, -1, 14, 15, 16, -1, -1, -1, -1, -1,
-1, -1, 51, 52, 53, 54, 55, 56, -1, 58,
59, 60, -1, -1, -1, -1, -1, 66, -1, 68,
-1, 70, -1, -1, -1, -1, 75, -1, 77, -1,
- -1, 80, -1, -1, 83, -1, -1, -1, 87, 88,
+ -1, 80, -1, -1, 83, -1, -1, -1, -1, 88,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 103, -1, 105, 106, -1, -1,
- -1, 110, -1, 112, -1, -1, 115, 116, 117, 118,
+ -1, -1, -1, -1, -1, -1, 115, 116, 117, 118,
-1, 120, 121, 122, 123, -1, 125, 126, 4, -1,
-1, 130, -1, -1, -1, 134, -1, -1, 14, 15,
16, -1, -1, -1, -1, -1, 22, 23, 24, 25,
106, -1, -1, -1, -1, -1, -1, -1, -1, 115,
116, 117, 118, -1, 120, 121, 122, 123, -1, 125,
126, 4, -1, -1, 130, -1, -1, -1, 134, -1,
- -1, 14, 15, 16, -1, -1, -1, -1, -1, 22,
- 23, 24, 25, 26, -1, 28, -1, -1, -1, 32,
- 33, 34, 35, -1, -1, 38, 39, 40, 41, 42,
- 43, 44, -1, 46, 47, 48, -1, -1, 51, 52,
- 53, 54, 55, 56, -1, 58, 59, 60, -1, -1,
+ -1, 14, 15, 16, -1, -1, -1, -1, -1, -1,
+ -1, 24, 25, 26, -1, 28, -1, -1, -1, 32,
+ 33, 34, 35, -1, -1, -1, 39, 40, 41, -1,
+ -1, -1, -1, 46, 47, -1, -1, -1, 51, -1,
+ 53, 54, 55, 56, -1, 58, -1, 60, -1, -1,
-1, -1, -1, 66, -1, 68, -1, 70, -1, -1,
-1, -1, 75, -1, 77, -1, -1, 80, -1, -1,
- 83, -1, -1, -1, -1, 88, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 103, -1, 105, 106, -1, -1, -1, -1, -1, -1,
- -1, -1, 115, 116, 117, 118, -1, 120, 121, 122,
- 123, -1, 125, 126, 4, -1, -1, 130, -1, -1,
- -1, 134, -1, -1, 14, 15, 16, -1, -1, -1,
- -1, -1, -1, -1, 24, 25, 26, -1, 28, -1,
- -1, -1, 32, 33, 34, 35, -1, -1, -1, 39,
- 40, 41, -1, -1, -1, -1, 46, 47, -1, -1,
- -1, 51, -1, 53, 54, 55, 56, -1, 58, -1,
- 60, -1, -1, -1, -1, -1, 66, -1, 68, -1,
- 70, -1, -1, -1, -1, 75, -1, 77, -1, -1,
- 80, -1, -1, 83, -1, -1, -1, 87, 88, -1,
+ 83, -1, -1, -1, 87, 88, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 103, -1, -1, 106, -1, -1, -1,
- 110, -1, 112, -1, -1, 4, -1, 117, 118, -1,
- 120, 121, 122, 123, -1, 14, 15, 16, -1, -1,
- 130, -1, -1, -1, 134, 24, 25, 26, -1, 28,
- -1, -1, -1, 32, 33, 34, 35, -1, -1, -1,
- 39, 40, 41, -1, -1, -1, -1, 46, 47, -1,
- -1, -1, 51, -1, 53, 54, 55, 56, -1, 58,
- -1, 60, -1, -1, -1, -1, -1, 66, -1, 68,
- -1, 70, -1, -1, -1, -1, 75, -1, 77, -1,
- -1, 80, -1, -1, 83, -1, -1, -1, 87, 88,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 103, -1, -1, 106, -1, -1,
- -1, 110, 4, 112, -1, -1, -1, -1, 117, 118,
- -1, 120, 14, 15, 16, 124, -1, -1, -1, -1,
- -1, 130, 24, 25, 26, 134, 28, -1, -1, -1,
+ 103, -1, -1, 106, -1, -1, -1, 110, -1, 112,
+ -1, -1, 4, -1, 117, 118, -1, 120, 121, 122,
+ 123, -1, 14, 15, 16, -1, -1, 130, -1, -1,
+ -1, 134, 24, 25, 26, -1, 28, -1, -1, -1,
32, 33, 34, 35, -1, -1, -1, 39, 40, 41,
-1, -1, -1, -1, 46, 47, -1, -1, -1, 51,
-1, 53, 54, 55, 56, -1, 58, -1, 60, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 103, -1, -1, 106, -1, -1, -1, 110, 4,
112, -1, -1, -1, -1, 117, 118, -1, 120, 14,
- 15, 16, -1, -1, -1, -1, -1, -1, 130, 24,
+ 15, 16, 124, -1, -1, -1, -1, -1, 130, 24,
25, 26, 134, 28, -1, -1, -1, 32, 33, 34,
35, -1, -1, -1, 39, 40, 41, -1, -1, -1,
-1, 46, 47, -1, -1, -1, 51, -1, 53, 54,
55, 56, -1, 58, -1, 60, -1, -1, -1, -1,
-1, 66, -1, 68, -1, 70, -1, -1, -1, -1,
75, -1, 77, -1, -1, 80, -1, -1, 83, -1,
- -1, -1, -1, 88, -1, -1, -1, -1, -1, -1,
+ -1, -1, 87, 88, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 103, -1,
- -1, 106, -1, -1, -1, 0, 1, -1, -1, 4,
- -1, -1, 117, 118, -1, 120, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 130, -1, 22, 23, 134,
+ -1, 106, -1, -1, -1, 110, 4, 112, -1, -1,
+ -1, -1, 117, 118, -1, 120, 14, 15, 16, -1,
+ -1, -1, -1, -1, -1, 130, 24, 25, 26, 134,
+ 28, -1, -1, -1, 32, 33, 34, 35, -1, -1,
+ -1, 39, 40, 41, -1, -1, -1, -1, 46, 47,
+ -1, -1, -1, 51, -1, 53, 54, 55, 56, -1,
+ 58, -1, 60, -1, -1, -1, -1, -1, 66, -1,
+ 68, -1, 70, -1, -1, -1, -1, 75, -1, 77,
+ -1, -1, 80, -1, -1, 83, -1, -1, -1, 87,
+ 88, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 103, -1, -1, 106, -1,
+ -1, -1, 110, 4, 112, -1, -1, -1, -1, 117,
+ 118, -1, 120, 14, 15, 16, -1, -1, -1, -1,
+ -1, -1, 130, 24, 25, 26, 134, 28, -1, -1,
+ -1, 32, 33, 34, 35, -1, -1, -1, 39, 40,
+ 41, -1, -1, -1, -1, 46, 47, -1, -1, -1,
+ 51, -1, 53, 54, 55, 56, -1, 58, -1, 60,
+ -1, -1, -1, -1, -1, 66, -1, 68, -1, 70,
+ -1, -1, -1, -1, 75, -1, 77, -1, -1, 80,
+ -1, -1, 83, -1, -1, -1, -1, 88, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 103, -1, -1, 106, -1, -1, -1, 0,
+ 1, -1, -1, 4, -1, -1, 117, 118, -1, 120,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 130,
+ -1, 22, 23, 134, 25, 26, -1, 28, -1, -1,
+ -1, 32, 33, 34, 35, 36, 37, 38, 39, 40,
+ 41, 42, 43, 44, -1, 46, 1, 48, -1, 4,
+ -1, 52, 53, -1, 55, -1, -1, -1, -1, 60,
+ -1, -1, -1, -1, -1, -1, -1, 68, 23, -1,
25, 26, -1, 28, -1, -1, -1, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- -1, 46, 1, 48, -1, 4, -1, 52, 53, -1,
+ 35, 36, -1, 38, 39, 40, 41, 42, 43, 44,
+ -1, 46, -1, 48, -1, -1, -1, 52, 53, -1,
+ 55, -1, -1, -1, -1, 60, -1, -1, -1, 110,
+ -1, -1, -1, 68, 115, 116, 117, 118, -1, -1,
+ 121, 122, 123, -1, 125, -1, -1, -1, -1, 130,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 1, -1, -1, 4,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 115, 116, 117, 118, -1, -1, 121, 122, 123, -1,
+ 25, 26, -1, 28, -1, 130, 131, 32, 33, 34,
+ 35, 36, -1, 38, 39, 40, 41, 42, 43, 44,
+ -1, 46, -1, 48, 4, -1, -1, 52, 53, -1,
55, -1, -1, -1, -1, 60, -1, -1, -1, -1,
- -1, -1, -1, 68, 23, -1, 25, 26, -1, 28,
- -1, -1, -1, 32, 33, 34, 35, 36, -1, 38,
- 39, 40, 41, 42, 43, 44, -1, 46, -1, 48,
- -1, -1, -1, 52, 53, -1, 55, -1, -1, -1,
- -1, 60, -1, -1, -1, 110, -1, -1, -1, 68,
+ 20, 21, -1, 68, -1, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, -1, -1, -1, 39,
+ 40, 41, -1, -1, -1, 45, 46, 47, -1, 49,
+ -1, 51, -1, 53, -1, 55, -1, 57, 58, 59,
+ 60, -1, -1, -1, -1, -1, -1, -1, 68, -1,
115, 116, 117, 118, -1, -1, 121, 122, 123, -1,
- 125, -1, -1, -1, -1, 130, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 130, 131, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 1, -1, -1, 4, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 115, 116, 117, 118,
- -1, -1, 121, 122, 123, -1, 25, 26, -1, 28,
- -1, 130, 131, 32, 33, 34, 35, 36, -1, 38,
- 39, 40, 41, 42, 43, 44, -1, 46, -1, 48,
- 4, -1, -1, 52, 53, -1, 55, -1, -1, -1,
- -1, 60, -1, -1, -1, -1, 20, 21, -1, 68,
- -1, 25, 26, 27, 28, 29, 30, 31, 32, 33,
- 34, 35, -1, -1, -1, 39, 40, 41, -1, -1,
- -1, 45, 46, 47, -1, 49, -1, 51, -1, 53,
- -1, 55, -1, 57, 58, 59, 60, -1, -1, -1,
- -1, -1, -1, -1, 68, -1, 115, 116, 117, 118,
- -1, -1, 121, 122, 123, -1, -1, -1, -1, -1,
- -1, 130, 131, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 105, -1, -1, -1, -1, -1, 4, -1, -1,
- -1, -1, -1, 117, 118, -1, -1, 121, 122, 123,
- -1, 125, -1, 20, 21, -1, 130, 131, 25, 26,
- 27, 28, 29, 30, 31, 32, 33, 34, 35, -1,
- -1, -1, 39, 40, 41, -1, -1, -1, 45, 46,
- 47, 4, 49, -1, 51, -1, 53, -1, 55, -1,
- 57, 58, 59, 60, -1, -1, -1, 20, 21, -1,
- -1, 68, 25, 26, 27, 28, 29, 30, 31, 32,
+ -1, -1, -1, -1, -1, 105, -1, -1, -1, -1,
+ -1, 4, -1, -1, -1, -1, -1, 117, 118, -1,
+ -1, 121, 122, 123, -1, 125, -1, 20, 21, -1,
+ 130, 131, 25, 26, 27, 28, 29, 30, 31, 32,
33, 34, 35, -1, -1, -1, 39, 40, 41, -1,
- -1, -1, 45, 46, 47, -1, 49, -1, 51, -1,
- 53, -1, 55, -1, 57, 58, -1, 60, 105, -1,
+ -1, -1, 45, 46, 47, 4, 49, -1, 51, -1,
+ 53, -1, 55, -1, 57, 58, 59, 60, -1, -1,
+ -1, 20, 21, -1, -1, 68, 25, 26, 27, 28,
+ 29, 30, 31, 32, 33, 34, 35, -1, -1, -1,
+ 39, 40, 41, -1, -1, -1, 45, 46, 47, -1,
+ 49, -1, 51, -1, 53, -1, 55, -1, 57, 58,
+ -1, 60, 105, -1, -1, -1, -1, -1, -1, 68,
+ -1, -1, -1, -1, 117, 118, -1, -1, 121, 122,
+ 123, -1, 125, -1, -1, -1, -1, 130, 131, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 105, -1, -1, -1,
+ -1, -1, 4, -1, -1, -1, -1, -1, 117, 118,
+ -1, -1, 121, 122, 123, -1, 125, -1, -1, -1,
+ -1, 130, 131, 25, 26, -1, 28, -1, -1, -1,
+ 32, 33, 34, 35, -1, -1, -1, 39, 40, 41,
+ -1, -1, -1, -1, 46, -1, -1, -1, -1, 12,
+ 13, 53, -1, 55, -1, 18, -1, -1, 60, 22,
+ 23, -1, 25, 26, -1, 28, 68, -1, -1, 32,
+ 33, 34, 35, -1, -1, 38, 39, 40, -1, 42,
+ 43, 44, -1, 46, -1, 48, -1, -1, -1, 52,
+ 53, -1, 55, -1, -1, -1, 59, 60, -1, -1,
-1, -1, -1, -1, -1, 68, -1, -1, -1, -1,
- 117, 118, -1, -1, 121, 122, 123, -1, 125, -1,
- -1, -1, -1, 130, 131, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 117, 118, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 130, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 105, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 117, 118, -1, -1, 121, 122,
- 123, -1, 125, 12, 13, -1, -1, 130, 131, 18,
- -1, -1, -1, 22, 23, -1, 25, 26, -1, 28,
- -1, -1, -1, 32, 33, 34, 35, -1, -1, 38,
- 39, 40, -1, 42, 43, 44, -1, 46, -1, 48,
- -1, -1, -1, 52, 53, -1, 55, -1, -1, -1,
- 59, 60, -1, -1, 22, 23, -1, 25, 26, 68,
- 28, -1, -1, -1, 32, 33, 34, 35, -1, -1,
- 38, 39, 40, -1, 42, 43, 44, -1, 46, -1,
- 48, -1, -1, -1, 52, 53, -1, 55, -1, -1,
- -1, 59, 60, -1, -1, -1, 105, -1, -1, -1,
- 68, -1, -1, -1, -1, -1, 115, 116, -1, 118,
- -1, -1, 121, 122, 123, -1, 125, 126, -1, 87,
- -1, 130, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 105, -1, -1,
- -1, -1, 110, -1, 112, -1, -1, 115, 116, -1,
- 118, -1, -1, 121, 122, 123, -1, 125, 126, -1,
- 22, 23, 130, 25, 26, -1, 28, -1, -1, -1,
- 32, 33, 34, 35, -1, -1, 38, 39, 40, -1,
- 42, 43, 44, -1, 46, -1, 48, -1, -1, -1,
- 52, 53, -1, 55, -1, -1, -1, 59, 60, -1,
- -1, -1, -1, -1, -1, -1, 68, -1, -1, -1,
+ -1, -1, 115, 116, 117, 118, -1, -1, 121, 122,
+ 123, -1, 125, 126, -1, 22, 23, 130, 25, 26,
+ -1, 28, -1, -1, -1, 32, 33, 34, 35, -1,
+ -1, 38, 39, 40, -1, 42, 43, 44, -1, 46,
+ -1, 48, -1, -1, -1, 52, 53, -1, 55, -1,
+ -1, -1, 59, 60, -1, -1, -1, -1, -1, -1,
+ -1, 68, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 87, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 105, -1,
+ -1, -1, -1, 110, -1, 112, -1, -1, 115, 116,
+ 117, 118, -1, -1, 121, 122, 123, -1, 125, 126,
+ -1, 22, 23, 130, 25, 26, -1, 28, -1, -1,
+ -1, 32, 33, 34, 35, -1, -1, 38, 39, 40,
+ -1, 42, 43, 44, -1, 46, -1, 48, -1, -1,
+ -1, 52, 53, -1, 55, -1, -1, -1, 59, 60,
+ -1, -1, -1, -1, -1, -1, -1, 68, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 105, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 115, 116, -1, 118, -1, -1, 121,
- 122, 123, -1, 125, 126, -1, -1, -1, 130
+ -1, -1, -1, -1, 105, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 115, 116, 117, 118, -1, -1,
+ 121, 122, 123, -1, 125, 126, -1, -1, -1, 130
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
236, 237, 130, 1, 131, 162, 184, 7, 230, 188,
195, 200, 295, 203, 196, 198, 13, 308, 18, 18,
142, 143, 266, 267, 266, 267, 125, 130, 158, 241,
- 245, 241, 241, 11, 13, 109, 121, 125, 126, 153,
- 154, 156, 157, 164, 168, 171, 174, 178, 190, 196,
- 201, 202, 220, 221, 226, 246, 247, 279, 293, 306,
- 308, 314, 316, 241, 105, 197, 219, 251, 288, 313,
- 277, 278, 279, 280, 278, 278, 93, 97, 205, 206,
- 215, 216, 222, 278, 127, 305, 13, 273, 273, 155,
- 189, 128, 278, 278, 310, 67, 117, 127, 128, 133,
- 134, 135, 136, 245, 254, 263, 264, 272, 274, 316,
- 278, 258, 258, 278, 127, 128, 17, 144, 13, 18,
- 309, 100, 169, 100, 172, 132, 224, 234, 52, 112,
- 113, 114, 115, 116, 125, 126, 130, 153, 318, 319,
- 321, 322, 323, 325, 328, 329, 330, 113, 319, 321,
- 329, 124, 175, 188, 224, 1, 69, 189, 97, 208,
- 210, 212, 217, 97, 209, 210, 216, 218, 93, 97,
- 210, 217, 218, 222, 91, 92, 93, 95, 95, 131,
- 130, 215, 155, 163, 195, 200, 295, 219, 132, 119,
- 28, 181, 190, 231, 7, 203, 142, 143, 132, 104,
- 167, 237, 133, 155, 132, 281, 97, 205, 201, 279,
- 132, 281, 130, 67, 106, 118, 223, 252, 253, 270,
- 13, 82, 84, 125, 137, 283, 285, 287, 316, 318,
- 258, 144, 258, 217, 218, 93, 186, 244, 258, 61,
- 62, 63, 65, 298, 145, 311, 215, 127, 259, 260,
- 258, 304, 304, 305, 305, 188, 1, 131, 155, 170,
- 171, 174, 177, 178, 200, 314, 316, 1, 131, 155,
- 173, 174, 177, 200, 314, 316, 245, 198, 188, 331,
- 90, 93, 96, 98, 326, 90, 326, 327, 324, 320,
- 115, 116, 319, 323, 328, 330, 1, 131, 176, 178,
- 198, 91, 92, 93, 94, 95, 269, 270, 271, 91,
- 92, 94, 276, 280, 217, 218, 91, 92, 94, 154,
- 156, 293, 109, 127, 259, 306, 97, 204, 211, 212,
- 97, 204, 212, 215, 97, 204, 211, 215, 111, 293,
- 294, 306, 159, 163, 182, 200, 232, 125, 20, 21,
- 27, 29, 30, 31, 45, 47, 49, 51, 57, 58,
- 125, 131, 155, 165, 166, 196, 200, 238, 239, 240,
- 132, 245, 109, 246, 293, 306, 133, 93, 132, 302,
- 308, 199, 258, 310, 285, 17, 70, 74, 79, 127,
- 128, 138, 145, 284, 286, 109, 308, 154, 202, 220,
- 226, 293, 109, 127, 259, 306, 211, 215, 269, 269,
- 297, 132, 146, 265, 273, 5, 160, 160, 130, 327,
- 327, 327, 327, 131, 321, 329, 330, 332, 94, 160,
- 97, 208, 212, 217, 209, 210, 217, 97, 208, 209,
- 210, 220, 306, 97, 208, 210, 218, 209, 218, 293,
- 109, 127, 259, 306, 97, 12, 13, 18, 91, 92,
- 93, 8, 271, 93, 8, 276, 93, 8, 156, 109,
- 127, 259, 306, 278, 260, 280, 131, 162, 130, 200,
- 245, 245, 245, 132, 125, 155, 246, 211, 215, 302,
- 139, 105, 131, 166, 240, 311, 12, 13, 18, 220,
- 12, 13, 307, 102, 298, 299, 300, 301, 308, 266,
- 267, 277, 187, 175, 219, 321, 329, 332, 330, 91,
- 92, 93, 271, 276, 91, 92, 220, 293, 12, 13,
- 18, 109, 127, 259, 94, 91, 92, 12, 13, 18,
- 91, 92, 204, 204, 204, 12, 13, 18, 258, 258,
- 258, 167, 237, 155, 246, 307, 308, 265, 133, 64,
- 128, 50, 290, 131, 210, 210, 12, 13, 18, 131,
- 132, 258, 301, 246
+ 245, 241, 241, 11, 13, 109, 117, 121, 125, 126,
+ 153, 154, 156, 157, 164, 168, 171, 174, 178, 190,
+ 196, 201, 202, 220, 221, 226, 246, 247, 254, 279,
+ 293, 306, 308, 314, 316, 241, 105, 197, 219, 251,
+ 288, 313, 277, 278, 279, 280, 278, 278, 93, 97,
+ 205, 206, 215, 216, 222, 278, 127, 305, 13, 273,
+ 273, 155, 189, 128, 278, 278, 310, 67, 117, 127,
+ 128, 133, 134, 135, 136, 245, 254, 263, 264, 272,
+ 274, 316, 278, 258, 258, 278, 127, 128, 17, 144,
+ 13, 18, 309, 100, 169, 100, 172, 132, 224, 234,
+ 52, 112, 113, 114, 115, 116, 125, 126, 130, 153,
+ 318, 319, 321, 322, 323, 325, 328, 329, 330, 113,
+ 319, 321, 329, 124, 175, 188, 224, 1, 69, 189,
+ 97, 208, 210, 212, 217, 97, 209, 210, 216, 218,
+ 93, 97, 210, 217, 218, 222, 91, 92, 93, 95,
+ 95, 131, 130, 215, 155, 163, 195, 200, 295, 219,
+ 132, 119, 28, 181, 190, 231, 7, 203, 142, 143,
+ 132, 104, 167, 237, 133, 155, 132, 281, 97, 205,
+ 215, 201, 279, 132, 281, 130, 67, 106, 118, 223,
+ 252, 253, 270, 13, 82, 84, 125, 137, 283, 285,
+ 287, 316, 318, 258, 144, 258, 217, 218, 93, 186,
+ 244, 258, 61, 62, 63, 65, 298, 145, 311, 127,
+ 259, 260, 258, 304, 304, 305, 305, 188, 1, 131,
+ 155, 170, 171, 174, 177, 178, 200, 314, 316, 1,
+ 131, 155, 173, 174, 177, 200, 314, 316, 245, 198,
+ 188, 331, 90, 93, 96, 98, 326, 90, 326, 327,
+ 324, 320, 115, 116, 319, 323, 328, 330, 1, 131,
+ 176, 178, 198, 91, 92, 93, 94, 95, 269, 270,
+ 271, 91, 92, 94, 276, 280, 217, 218, 91, 92,
+ 94, 154, 156, 293, 109, 127, 259, 306, 97, 204,
+ 211, 212, 97, 204, 212, 215, 97, 204, 211, 215,
+ 111, 293, 294, 306, 159, 163, 182, 200, 232, 125,
+ 20, 21, 27, 29, 30, 31, 45, 47, 49, 51,
+ 57, 58, 125, 131, 155, 165, 166, 196, 200, 238,
+ 239, 240, 132, 245, 109, 246, 293, 306, 133, 93,
+ 132, 302, 308, 199, 258, 310, 285, 17, 70, 74,
+ 79, 127, 128, 138, 145, 284, 286, 109, 308, 154,
+ 202, 220, 226, 293, 109, 127, 259, 306, 211, 215,
+ 269, 269, 297, 132, 146, 265, 273, 5, 160, 160,
+ 130, 327, 327, 327, 327, 131, 321, 329, 330, 332,
+ 94, 160, 97, 208, 212, 217, 209, 210, 217, 97,
+ 208, 209, 210, 220, 306, 97, 208, 210, 218, 209,
+ 218, 293, 109, 127, 259, 306, 97, 12, 13, 18,
+ 91, 92, 93, 8, 271, 93, 8, 276, 93, 8,
+ 156, 109, 127, 259, 306, 278, 260, 280, 131, 162,
+ 130, 200, 245, 245, 245, 132, 125, 155, 246, 211,
+ 215, 302, 139, 105, 131, 166, 240, 311, 12, 13,
+ 18, 220, 12, 13, 307, 102, 298, 299, 300, 301,
+ 308, 266, 267, 277, 187, 175, 219, 321, 329, 332,
+ 330, 91, 92, 93, 271, 276, 91, 92, 220, 293,
+ 12, 13, 18, 109, 127, 259, 94, 91, 92, 12,
+ 13, 18, 91, 92, 204, 204, 204, 12, 13, 18,
+ 258, 258, 258, 167, 237, 155, 246, 307, 308, 265,
+ 133, 64, 128, 50, 290, 131, 210, 210, 12, 13,
+ 18, 131, 132, 258, 301, 246
};
#define yyerrok (yyerrstatus = 0)
switch (yyn)
{
case 3:
-#line 565 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 566 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
SCM nn = parser->lexer_->lookup_identifier ("pitchnames");
parser->lexer_->push_note_state (nn);
break;
case 4:
-#line 568 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 569 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
parser->lexer_->pop_state ();
parser->lexer_->set_identifier (ly_symbol2scm ("parseStringResult"), (yyvsp[(3) - (3)].scm));
break;
case 5:
-#line 574 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 575 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ ;}
break;
case 6:
-#line 575 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 576 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
;}
break;
case 7:
-#line 577 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 578 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
;}
break;
case 8:
-#line 579 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 580 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
parser->error_level_ = 1;
;}
break;
case 9:
-#line 582 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 583 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
parser->error_level_ = 1;
;}
break;
case 10:
-#line 589 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 590 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
parser->lexer_->add_scope (get_header (parser));
;}
break;
case 11:
-#line 591 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 592 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
parser->lexer_->set_identifier (ly_symbol2scm ("$defaultheader"), (yyvsp[(2) - (2)].scm));
;}
break;
case 12:
-#line 594 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 595 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Book *book = (yyvsp[(1) - (1)].book);
SCM proc = parser->lexer_->lookup_identifier ("toplevel-book-handler");
break;
case 13:
-#line 600 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 601 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Book *bookpart = (yyvsp[(1) - (1)].book);
SCM proc = parser->lexer_->lookup_identifier ("toplevel-bookpart-handler");
break;
case 14:
-#line 606 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 607 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Score *score = (yyvsp[(1) - (1)].score);
break;
case 15:
-#line 613 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 614 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Music *music = unsmob_music ((yyvsp[(1) - (1)].scm));
SCM proc = parser->lexer_->lookup_identifier ("toplevel-music-handler");
break;
case 16:
-#line 618 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 619 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
SCM proc = parser->lexer_->lookup_identifier ("toplevel-text-handler");
scm_call_2 (proc, parser->self_scm (), scm_list_1 ((yyvsp[(1) - (1)].scm)));
break;
case 17:
-#line 622 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 623 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
SCM proc = parser->lexer_->lookup_identifier ("toplevel-text-handler");
scm_call_2 (proc, parser->self_scm (), (yyvsp[(1) - (1)].scm));
break;
case 18:
-#line 626 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 627 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
SCM id = SCM_EOL;
Output_def * od = (yyvsp[(1) - (1)].outputdef);
break;
case 19:
-#line 644 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 645 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = parser->lexer_->eval_scm_token ((yyvsp[(1) - (1)].scm));
;}
break;
case 27:
-#line 658 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 659 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].score)->self_scm ();
(yyvsp[(1) - (1)].score)->unprotect ();
break;
case 29:
-#line 664 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 665 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].book)->self_scm ();
(yyvsp[(1) - (1)].book)->unprotect ();
break;
case 30:
-#line 669 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 670 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].book)->self_scm ();
(yyvsp[(1) - (1)].book)->unprotect ();
break;
case 31:
-#line 674 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 675 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].outputdef)->self_scm ();
(yyvsp[(1) - (1)].outputdef)->unprotect ();
break;
case 37:
-#line 694 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 695 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = MAKE_SYNTAX ("music-function", (yyloc),
(yyvsp[(1) - (2)].scm), (yyvsp[(2) - (2)].scm));
break;
case 38:
-#line 702 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 703 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = MAKE_SYNTAX ("void-music", (yyloc));
;}
break;
case 40:
-#line 706 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 707 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyvsp[(3) - (3)].scm) = scm_reverse_x ((yyvsp[(3) - (3)].scm), SCM_EOL);
if (unsmob_music ((yyvsp[(2) - (3)].scm)))
break;
case 41:
-#line 714 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 715 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
parser->error_level_ = 1;
;}
break;
case 42:
-#line 717 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 718 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
parser->error_level_ = 1;
;}
break;
case 44:
-#line 725 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 726 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
;}
break;
case 45:
-#line 731 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 732 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = parser->lexer_->remove_scope ();
;}
break;
case 46:
-#line 740 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 741 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
break;
case 47:
-#line 741 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 742 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
break;
case 48:
-#line 745 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 746 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
parser->lexer_->set_identifier ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm));
;}
break;
case 49:
-#line 748 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 749 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
SCM path = scm_cons (scm_string_to_symbol ((yyvsp[(1) - (4)].scm)), (yyvsp[(2) - (4)].scm));
parser->lexer_->set_identifier (path, (yyvsp[(4) - (4)].scm));
break;
case 50:
-#line 760 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 761 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ ;}
break;
case 51:
-#line 765 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 766 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].score)->self_scm ();
(yyvsp[(1) - (1)].score)->unprotect ();
break;
case 52:
-#line 769 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 770 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].book)->self_scm ();
(yyvsp[(1) - (1)].book)->unprotect ();
break;
case 53:
-#line 773 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 774 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].book)->self_scm ();
(yyvsp[(1) - (1)].book)->unprotect ();
break;
case 54:
-#line 777 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 778 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].outputdef)->self_scm ();
(yyvsp[(1) - (1)].outputdef)->unprotect ();
break;
case 55:
-#line 781 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 782 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
case 56:
-#line 784 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 785 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
case 57:
-#line 787 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 788 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
case 58:
-#line 790 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 791 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
case 59:
-#line 793 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 794 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
case 60:
-#line 796 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 797 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
case 61:
-#line 799 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 800 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
case 62:
-#line 802 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 803 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
case 63:
-#line 805 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 806 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
case 64:
-#line 808 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 809 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
case 65:
-#line 815 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 816 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(3) - (4)].scm);
;}
break;
case 68:
-#line 827 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 828 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
if (unsmob_music ((yyvsp[(1) - (1)].scm))) {
SCM proc = parser->lexer_->lookup_identifier ("context-mod-music-handler");
break;
case 69:
-#line 842 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 843 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = Context_def::make_scm ();
unsmob_context_def ((yyval.scm))->origin ()->set_spot ((yyloc));
break;
case 70:
-#line 846 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 847 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
unsmob_context_def ((yyval.scm))->origin ()->set_spot ((yyloc));
break;
case 71:
-#line 850 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 851 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
unsmob_context_def ((yyval.scm))->add_context_mod ((yyvsp[(2) - (2)].scm));
;}
break;
case 72:
-#line 853 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 854 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Context_def *td = unsmob_context_def ((yyval.scm));
SCM new_mods = unsmob_context_mod ((yyvsp[(2) - (2)].scm))->get_mods ();
break;
case 73:
-#line 860 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 861 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Context_def *td = unsmob_context_def ((yyval.scm));
SCM new_mods = unsmob_context_mod ((yyvsp[(2) - (2)].scm))->get_mods ();
break;
case 74:
-#line 872 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 873 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.book) = (yyvsp[(3) - (4)].book);
pop_paper (parser);
break;
case 75:
-#line 883 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 884 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.book) = new Book;
init_papers (parser);
break;
case 76:
-#line 893 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 894 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.book) = unsmob_book ((yyvsp[(1) - (1)].scm));
(yyval.book)->protect ();
break;
case 77:
-#line 899 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 900 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.book)->paper_ = (yyvsp[(2) - (2)].outputdef);
(yyvsp[(2) - (2)].outputdef)->unprotect ();
break;
case 78:
-#line 904 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 905 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Book *bookpart = (yyvsp[(2) - (2)].book);
SCM proc = parser->lexer_->lookup_identifier ("book-bookpart-handler");
break;
case 79:
-#line 910 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 911 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Score *score = (yyvsp[(2) - (2)].score);
SCM proc = parser->lexer_->lookup_identifier ("book-score-handler");
break;
case 80:
-#line 916 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 917 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Music *music = unsmob_music ((yyvsp[(2) - (2)].scm));
SCM proc = parser->lexer_->lookup_identifier ("book-music-handler");
break;
case 81:
-#line 921 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 922 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
SCM proc = parser->lexer_->lookup_identifier ("book-text-handler");
scm_call_2 (proc, (yyval.book)->self_scm (), scm_list_1 ((yyvsp[(2) - (2)].scm)));
break;
case 82:
-#line 925 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 926 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
SCM proc = parser->lexer_->lookup_identifier ("book-text-handler");
scm_call_2 (proc, (yyval.book)->self_scm (), (yyvsp[(2) - (2)].scm));
break;
case 83:
-#line 930 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 931 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
parser->lexer_->add_scope ((yyvsp[(1) - (1)].book)->header_);
;}
break;
case 85:
-#line 933 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 934 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ ;}
break;
case 86:
-#line 934 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 935 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.book)->paper_ = 0;
(yyval.book)->scores_ = SCM_EOL;
break;
case 87:
-#line 942 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 943 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.book) = (yyvsp[(3) - (4)].book);
parser->lexer_->set_identifier (ly_symbol2scm ("$current-bookpart"), SCM_BOOL_F);
break;
case 88:
-#line 949 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 950 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.book) = new Book;
(yyval.book)->origin ()->set_spot ((yyloc));
break;
case 89:
-#line 954 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 955 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.book) = unsmob_book ((yyvsp[(1) - (1)].scm));
(yyval.book)->protect ();
break;
case 90:
-#line 960 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 961 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.book)->paper_ = (yyvsp[(2) - (2)].outputdef);
(yyvsp[(2) - (2)].outputdef)->unprotect ();
break;
case 91:
-#line 964 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 965 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Score *score = (yyvsp[(2) - (2)].score);
SCM proc = parser->lexer_->lookup_identifier ("bookpart-score-handler");
break;
case 92:
-#line 970 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 971 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Music *music = unsmob_music ((yyvsp[(2) - (2)].scm));
SCM proc = parser->lexer_->lookup_identifier ("bookpart-music-handler");
break;
case 93:
-#line 975 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 976 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
SCM proc = parser->lexer_->lookup_identifier ("bookpart-text-handler");
scm_call_2 (proc, (yyval.book)->self_scm (), scm_list_1 ((yyvsp[(2) - (2)].scm)));
break;
case 94:
-#line 979 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 980 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
SCM proc = parser->lexer_->lookup_identifier ("bookpart-text-handler");
scm_call_2 (proc, (yyval.book)->self_scm (), (yyvsp[(2) - (2)].scm));
break;
case 95:
-#line 984 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 985 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
if (!ly_is_module ((yyvsp[(1) - (1)].book)->header_))
(yyvsp[(1) - (1)].book)->header_ = ly_make_module (false);
break;
case 97:
-#line 989 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 990 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ ;}
break;
case 98:
-#line 990 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 991 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.book)->paper_ = 0;
(yyval.book)->scores_ = SCM_EOL;
break;
case 99:
-#line 997 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 998 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.score) = (yyvsp[(3) - (4)].score);
;}
break;
case 100:
-#line 1003 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1004 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
SCM m = (yyvsp[(1) - (1)].scm);
SCM scorify = ly_lily_module_constant ("scorify-music");
break;
case 101:
-#line 1013 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1014 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.score) = unsmob_score ((yyvsp[(1) - (1)].scm));
(yyval.score)->protect ();
break;
case 102:
-#line 1019 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1020 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
if (!ly_is_module ((yyvsp[(1) - (1)].score)->get_header ()))
(yyvsp[(1) - (1)].score)->set_header (ly_make_module (false));
break;
case 104:
-#line 1024 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1025 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
if ((yyvsp[(2) - (2)].outputdef)->lookup_variable (ly_symbol2scm ("is-paper")) == SCM_BOOL_T)
{
break;
case 105:
-#line 1036 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1037 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.score)->error_found_ = true;
;}
break;
case 106:
-#line 1047 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1048 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.outputdef) = (yyvsp[(1) - (1)].outputdef);
if ((yyval.outputdef)->lookup_variable (ly_symbol2scm ("is-paper")) != SCM_BOOL_T)
break;
case 107:
-#line 1060 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1061 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.outputdef) = (yyvsp[(1) - (2)].outputdef);
break;
case 108:
-#line 1069 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1070 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.outputdef) = get_paper (parser);
(yyval.outputdef)->input_origin_ = (yyloc);
break;
case 109:
-#line 1074 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1075 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Output_def *p = get_midi (parser);
(yyval.outputdef) = p;
break;
case 110:
-#line 1079 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1080 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Output_def *p = get_layout (parser);
break;
case 111:
-#line 1088 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1089 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
parser->lexer_->push_initial_state ();
(yyval.outputdef) = (yyvsp[(1) - (1)].outputdef);
break;
case 112:
-#line 1101 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1102 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
parser->lexer_->pop_state ();
;}
break;
case 113:
-#line 1105 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1106 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
parser->lexer_->pop_state ();
;}
break;
case 114:
-#line 1108 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1109 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(4) - (5)].scm);
;}
break;
case 115:
-#line 1114 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1115 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.outputdef) = (yyvsp[(1) - (2)].outputdef);
(yyval.outputdef)->input_origin_.set_spot ((yyloc));
break;
case 116:
-#line 1118 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1119 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyvsp[(1) - (3)].outputdef)->unprotect ();
break;
case 117:
-#line 1128 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1129 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
;}
break;
case 118:
-#line 1132 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1133 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
SCM nn = parser->lexer_->lookup_identifier ("pitchnames");
parser->lexer_->push_note_state (nn);
break;
case 119:
-#line 1136 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1137 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
if (unsmob_context_def ((yyvsp[(3) - (3)].scm)))
assign_context_def ((yyval.outputdef), (yyvsp[(3) - (3)].scm));
break;
case 120:
-#line 1147 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1148 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
;}
break;
case 121:
-#line 1153 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1154 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = MAKE_SYNTAX ("tempo", (yyloc), SCM_EOL, (yyvsp[(2) - (4)].scm), (yyvsp[(4) - (4)].scm));
;}
break;
case 122:
-#line 1156 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1157 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = MAKE_SYNTAX ("tempo", (yyloc), (yyvsp[(2) - (5)].scm), (yyvsp[(3) - (5)].scm), (yyvsp[(5) - (5)].scm));
;}
break;
case 123:
-#line 1159 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1160 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = MAKE_SYNTAX ("tempo", (yyloc), (yyvsp[(2) - (2)].scm));
;}
break;
case 124:
-#line 1168 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1169 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = SCM_EOL;
;}
break;
case 125:
-#line 1171 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1172 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
if (unsmob_music ((yyvsp[(2) - (2)].scm)))
(yyval.scm) = scm_cons ((yyvsp[(2) - (2)].scm), (yyvsp[(1) - (2)].scm));
break;
case 126:
-#line 1175 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1176 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Music *m = MY_MAKE_MUSIC("Music", (yyloc));
// ugh. code dup
break;
case 127:
-#line 1186 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1187 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_reverse_x ((yyvsp[(2) - (3)].scm), SCM_EOL);
;}
break;
case 131:
-#line 1198 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1199 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
if (unsmob_music ((yyvsp[(1) - (1)].scm))
|| scm_is_eq ((yyvsp[(1) - (1)].scm), SCM_UNSPECIFIED))
break;
case 132:
-#line 1212 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1213 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
if (unsmob_pitch ((yyvsp[(1) - (1)].scm))) {
Music *n = MY_MAKE_MUSIC ("NoteEvent", (yylsp[(1) - (1)]));
break;
case 137:
-#line 1232 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1233 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = MAKE_SYNTAX ("repeat", (yyloc), (yyvsp[(2) - (4)].scm), (yyvsp[(3) - (4)].scm), (yyvsp[(4) - (4)].scm), SCM_EOL);
;}
break;
case 138:
-#line 1236 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1237 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = MAKE_SYNTAX ("repeat", (yyloc), (yyvsp[(2) - (6)].scm), (yyvsp[(3) - (6)].scm), (yyvsp[(4) - (6)].scm), (yyvsp[(6) - (6)].scm));
;}
break;
case 139:
-#line 1242 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1243 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = MAKE_SYNTAX ("sequential-music", (yyloc), (yyvsp[(2) - (2)].scm));
;}
break;
case 140:
-#line 1245 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1246 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = MAKE_SYNTAX ("sequential-music", (yyloc), (yyvsp[(1) - (1)].scm));
;}
break;
case 141:
-#line 1251 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1252 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = MAKE_SYNTAX ("simultaneous-music", (yyloc), (yyvsp[(2) - (2)].scm));
;}
break;
case 142:
-#line 1254 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1255 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = MAKE_SYNTAX ("simultaneous-music", (yyloc), scm_reverse_x ((yyvsp[(2) - (3)].scm), SCM_EOL));
;}
break;
case 146:
-#line 1266 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1267 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ parser->lexer_->push_initial_state (); ;}
break;
case 147:
-#line 1267 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1268 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
parser->lexer_->pop_state ();
(yyval.scm) = (yyvsp[(4) - (5)].scm);
break;
case 148:
-#line 1272 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1273 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(2) - (2)].scm);
;}
break;
case 149:
-#line 1276 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1277 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
case 150:
-#line 1280 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1281 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
if (unsmob_context_mod ((yyvsp[(2) - (2)].scm)))
(yyval.scm) = (yyvsp[(2) - (2)].scm);
break;
case 151:
-#line 1291 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1292 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = SCM_EOL;
;}
break;
case 152:
-#line 1295 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1296 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
case 153:
-#line 1301 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1302 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = Context_mod ().smobbed_copy ();
;}
break;
case 154:
-#line 1304 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1305 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
unsmob_context_mod ((yyvsp[(1) - (2)].scm))->add_context_mod ((yyvsp[(2) - (2)].scm));
;}
break;
case 155:
-#line 1307 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1308 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Context_mod *md = unsmob_context_mod ((yyvsp[(2) - (2)].scm));
if (md)
break;
case 156:
-#line 1312 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1313 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
unsmob_context_mod ((yyvsp[(1) - (2)].scm))->add_context_mods
(unsmob_context_mod ((yyvsp[(2) - (2)].scm))->get_mods ());
break;
case 160:
-#line 1327 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1328 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = FINISH_MAKE_SYNTAX ((yyvsp[(1) - (2)].scm), (yyloc), (yyvsp[(2) - (2)].scm));
;}
break;
- case 164:
-#line 1339 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
- { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
- break;
-
case 165:
-#line 1340 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1341 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
break;
- case 167:
-#line 1350 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
- {
- (yyval.scm) = scm_cons ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm));
- ;}
+ case 166:
+#line 1342 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
break;
case 168:
-#line 1354 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1352 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_cons ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm));
;}
break;
case 169:
-#line 1358 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1356 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_cons ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm));
;}
break;
case 170:
-#line 1365 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1360 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
- (yyval.scm) = scm_cons ((yyvsp[(4) - (4)].scm), (yyvsp[(3) - (4)].scm));
+ (yyval.scm) = scm_cons ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm));
;}
break;
case 171:
-#line 1368 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1367 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_cons ((yyvsp[(4) - (4)].scm), (yyvsp[(3) - (4)].scm));
;}
break;
case 172:
-#line 1372 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1370 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
- (yyval.scm) = check_scheme_arg (parser, (yylsp[(4) - (4)]), (yyvsp[(4) - (4)].scm), (yyvsp[(3) - (4)].scm), (yyvsp[(2) - (4)].scm));
+ (yyval.scm) = scm_cons ((yyvsp[(4) - (4)].scm), (yyvsp[(3) - (4)].scm));
;}
break;
case 173:
-#line 1376 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1374 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = check_scheme_arg (parser, (yylsp[(4) - (4)]), (yyvsp[(4) - (4)].scm), (yyvsp[(3) - (4)].scm), (yyvsp[(2) - (4)].scm));
;}
break;
case 174:
-#line 1380 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 1378 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ {
+ (yyval.scm) = check_scheme_arg (parser, (yylsp[(4) - (4)]), (yyvsp[(4) - (4)].scm), (yyvsp[(3) - (4)].scm), (yyvsp[(2) - (4)].scm));
+ ;}
+ break;
+
+ case 175:
+#line 1382 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
SCM n = scm_difference ((yyvsp[(5) - (5)].scm), SCM_UNDEFINED);
if (scm_is_true (scm_call_1 ((yyvsp[(2) - (5)].scm), n)))
;}
break;
- case 175:
-#line 1396 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 176:
+#line 1398 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = check_scheme_arg (parser, (yylsp[(4) - (5)]),
scm_difference ((yyvsp[(5) - (5)].scm), SCM_UNDEFINED),
;}
break;
- case 176:
-#line 1402 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 177:
+#line 1404 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = check_scheme_arg (parser, (yylsp[(4) - (5)]),
scm_difference ((yyvsp[(5) - (5)].scm), SCM_UNDEFINED),
;}
break;
- case 178:
-#line 1412 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 179:
+#line 1414 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = check_scheme_arg (parser, (yylsp[(4) - (4)]), (yyvsp[(4) - (4)].scm), (yyvsp[(3) - (4)].scm), (yyvsp[(2) - (4)].scm));
;}
break;
- case 179:
-#line 1416 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 180:
+#line 1418 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = check_scheme_arg (parser, (yylsp[(4) - (4)]), (yyvsp[(4) - (4)].scm), (yyvsp[(3) - (4)].scm), (yyvsp[(2) - (4)].scm));
;}
break;
- case 181:
-#line 1424 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 182:
+#line 1426 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = check_scheme_arg (parser, (yylsp[(4) - (4)]), (yyvsp[(4) - (4)].scm), (yyvsp[(3) - (4)].scm), (yyvsp[(2) - (4)].scm));
;}
break;
- case 182:
-#line 1428 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 183:
+#line 1430 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = check_scheme_arg (parser, (yylsp[(4) - (4)]), (yyvsp[(4) - (4)].scm), (yyvsp[(3) - (4)].scm), (yyvsp[(2) - (4)].scm));
;}
break;
- case 187:
-#line 1445 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 188:
+#line 1447 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
if (scm_is_true (scm_call_1 ((yyvsp[(2) - (4)].scm), (yyvsp[(4) - (4)].scm))))
{
;}
break;
- case 188:
-#line 1455 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 189:
+#line 1457 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
if (scm_is_true (scm_call_1 ((yyvsp[(2) - (4)].scm), (yyvsp[(4) - (4)].scm))))
{
;}
break;
- case 189:
-#line 1465 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 190:
+#line 1467 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
// There is no point interpreting a lyrics string as
// an event, since we don't allow music possibly
;}
break;
- case 190:
-#line 1482 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 191:
+#line 1484 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
if (scm_is_true (scm_call_1 ((yyvsp[(2) - (4)].scm), (yyvsp[(4) - (4)].scm))))
{
;}
break;
- case 191:
-#line 1493 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 192:
+#line 1495 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
if (scm_is_true (scm_call_1 ((yyvsp[(2) - (4)].scm), (yyvsp[(4) - (4)].scm))))
{
;}
break;
- case 192:
-#line 1504 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 193:
+#line 1506 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
if (scm_is_true (scm_call_1 ((yyvsp[(2) - (4)].scm), (yyvsp[(4) - (4)].scm))))
{
;}
break;
- case 193:
-#line 1514 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 194:
+#line 1516 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
if (scm_is_true (scm_call_1 ((yyvsp[(2) - (4)].scm), (yyvsp[(4) - (4)].scm))))
{
;}
break;
- case 194:
-#line 1524 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 195:
+#line 1526 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
SCM n = scm_difference ((yyvsp[(5) - (5)].scm), SCM_UNDEFINED);
if (scm_is_true (scm_call_1 ((yyvsp[(2) - (5)].scm), n))) {
;}
break;
- case 195:
-#line 1544 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 196:
+#line 1546 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
SCM n = scm_difference ((yyvsp[(5) - (5)].scm), SCM_UNDEFINED);
if (scm_is_true (scm_call_1 ((yyvsp[(2) - (5)].scm), n))) {
;}
break;
- case 196:
-#line 1554 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 197:
+#line 1556 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
SCM n = scm_difference ((yyvsp[(5) - (5)].scm), SCM_UNDEFINED);
if (scm_is_true (scm_call_1 ((yyvsp[(2) - (5)].scm), n))) {
;}
break;
- case 197:
-#line 1563 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 198:
+#line 1565 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_cons ((yyvsp[(4) - (4)].scm), (yyvsp[(3) - (4)].scm));
;}
break;
- case 198:
-#line 1567 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 199:
+#line 1569 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_cons ((yyvsp[(4) - (4)].scm), (yyvsp[(3) - (4)].scm));
;}
break;
- case 199:
-#line 1571 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 200:
+#line 1573 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_cons ((yyvsp[(1) - (4)].scm), (yyvsp[(3) - (4)].scm));
MYBACKUP(0, SCM_UNDEFINED, (yylsp[(3) - (4)]));
;}
break;
- case 200:
-#line 1576 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 201:
+#line 1578 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = check_scheme_arg (parser, (yylsp[(3) - (3)]),
(yyvsp[(3) - (3)].scm), (yyvsp[(1) - (3)].scm), (yyvsp[(2) - (3)].scm));
;}
break;
- case 201:
-#line 1581 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 202:
+#line 1583 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = check_scheme_arg (parser, (yylsp[(3) - (3)]),
(yyvsp[(3) - (3)].scm), (yyvsp[(1) - (3)].scm), (yyvsp[(2) - (3)].scm));
;}
break;
- case 205:
-#line 1595 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 206:
+#line 1597 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = check_scheme_arg (parser, (yylsp[(3) - (3)]),
(yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm), (yyvsp[(1) - (3)].scm));
;}
break;
- case 206:
-#line 1600 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 207:
+#line 1602 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = check_scheme_arg (parser, (yylsp[(3) - (3)]),
(yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm), (yyvsp[(1) - (3)].scm));
;}
break;
- case 207:
-#line 1605 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 208:
+#line 1607 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = check_scheme_arg (parser, (yylsp[(3) - (3)]),
(yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm), (yyvsp[(1) - (3)].scm));
;}
break;
- case 208:
-#line 1610 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 209:
+#line 1612 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = check_scheme_arg (parser, (yylsp[(3) - (3)]),
(yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm), (yyvsp[(1) - (3)].scm));
;}
break;
- case 211:
-#line 1620 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 212:
+#line 1622 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
// We check how the predicate thinks about a lyrics
// event or about a markup. If it accepts neither, we
;}
break;
- case 212:
-#line 1651 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 213:
+#line 1653 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
// This should never be false
(yyval.scm) = check_scheme_arg (parser, (yylsp[(3) - (3)]),
;}
break;
- case 213:
-#line 1660 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 214:
+#line 1662 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
SCM n = scm_difference ((yyvsp[(4) - (4)].scm), SCM_UNDEFINED);
if (scm_is_true (scm_call_1 ((yyvsp[(1) - (4)].scm), n))) {
;}
break;
- case 214:
-#line 1677 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 215:
+#line 1679 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(2) - (4)].scm);
SCM n = scm_difference ((yyvsp[(4) - (4)].scm), SCM_UNDEFINED);
;}
break;
- case 215:
-#line 1683 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 216:
+#line 1685 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
SCM n = scm_difference ((yyvsp[(4) - (4)].scm), SCM_UNDEFINED);
(yyval.scm) = check_scheme_arg (parser, (yylsp[(4) - (4)]), n, (yyvsp[(2) - (4)].scm), (yyvsp[(1) - (4)].scm));
;}
break;
- case 216:
-#line 1688 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 217:
+#line 1690 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = check_scheme_arg (parser, (yylsp[(3) - (3)]), (yyvsp[(3) - (3)].scm), (yyvsp[(1) - (3)].scm), (yyvsp[(2) - (3)].scm));
;}
break;
- case 220:
-#line 1701 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 221:
+#line 1703 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = check_scheme_arg (parser, (yylsp[(3) - (3)]),
(yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm), (yyvsp[(1) - (3)].scm));
;}
break;
- case 221:
-#line 1706 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 222:
+#line 1708 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = check_scheme_arg (parser, (yylsp[(3) - (3)]),
(yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm), (yyvsp[(1) - (3)].scm));
;}
break;
- case 222:
-#line 1711 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 223:
+#line 1713 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
SCM n = scm_difference ((yyvsp[(4) - (4)].scm), SCM_UNDEFINED);
if (scm_is_true (scm_call_1 ((yyvsp[(1) - (4)].scm), n))) {
;}
break;
- case 223:
-#line 1727 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 224:
+#line 1729 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = check_scheme_arg (parser, (yylsp[(3) - (4)]),
scm_difference ((yyvsp[(4) - (4)].scm), SCM_UNDEFINED),
;}
break;
- case 224:
-#line 1733 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 225:
+#line 1735 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = check_scheme_arg (parser, (yylsp[(3) - (4)]),
scm_difference ((yyvsp[(4) - (4)].scm), SCM_UNDEFINED),
;}
break;
- case 225:
-#line 1739 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 226:
+#line 1741 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = check_scheme_arg (parser, (yylsp[(3) - (3)]),
(yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm), (yyvsp[(1) - (3)].scm));
;}
break;
- case 226:
-#line 1744 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 227:
+#line 1746 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = check_scheme_arg (parser, (yylsp[(3) - (3)]),
(yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm), (yyvsp[(1) - (3)].scm));
;}
break;
- case 227:
-#line 1749 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 228:
+#line 1751 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = check_scheme_arg (parser, (yylsp[(3) - (3)]),
(yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm), (yyvsp[(1) - (3)].scm));
;}
break;
- case 230:
-#line 1759 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 231:
+#line 1761 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_cons ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm));
;}
break;
- case 231:
-#line 1763 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 232:
+#line 1765 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_cons ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm));
;}
break;
- case 234:
-#line 1772 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 235:
+#line 1774 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_cons ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm));
;}
break;
- case 235:
-#line 1776 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 236:
+#line 1778 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_cons ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm));
;}
break;
- case 241:
-#line 1793 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 242:
+#line 1795 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = MAKE_SYNTAX ("music-function", (yyloc),
(yyvsp[(1) - (2)].scm), (yyvsp[(2) - (2)].scm));
;}
break;
- case 242:
-#line 1800 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 243:
+#line 1802 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = SCM_EOL;
;}
break;
- case 243:
-#line 1803 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 244:
+#line 1805 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_cons ((yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm));
;}
break;
- case 244:
-#line 1806 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 245:
+#line 1808 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_cons ((yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm));
;}
break;
- case 245:
-#line 1809 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 246:
+#line 1811 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_cons ((yyvsp[(1) - (4)].scm), (yyvsp[(3) - (4)].scm));
;}
break;
- case 246:
-#line 1812 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 247:
+#line 1814 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_cons ((yyvsp[(1) - (4)].scm), (yyvsp[(3) - (4)].scm));
;}
break;
- case 247:
-#line 1815 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 248:
+#line 1817 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_cons ((yyvsp[(1) - (4)].scm), (yyvsp[(3) - (4)].scm));
;}
break;
- case 248:
-#line 1821 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 249:
+#line 1823 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = MAKE_SYNTAX ("music-function", (yyloc),
(yyvsp[(1) - (2)].scm), (yyvsp[(2) - (2)].scm));
;}
break;
- case 249:
-#line 1829 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 250:
+#line 1831 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ (yyval.scm) = SCM_EOL; ;}
break;
- case 250:
-#line 1830 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 251:
+#line 1832 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(2) - (2)].scm);
;}
break;
- case 252:
-#line 1837 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 253:
+#line 1839 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
break;
- case 253:
-#line 1838 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 254:
+#line 1840 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
break;
- case 254:
-#line 1840 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 255:
+#line 1842 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = FINISH_MAKE_SYNTAX ((yyvsp[(1) - (2)].scm), (yyloc), (yyvsp[(2) - (2)].scm));
;}
break;
- case 255:
-#line 1846 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 256:
+#line 1848 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Context_mod *ctxmod = unsmob_context_mod ((yyvsp[(4) - (4)].scm));
SCM mods = SCM_EOL;
;}
break;
- case 256:
-#line 1853 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 257:
+#line 1855 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Context_mod *ctxmod = unsmob_context_mod ((yyvsp[(4) - (4)].scm));
SCM mods = SCM_EOL;
;}
break;
- case 257:
-#line 1863 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 258:
+#line 1865 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
if ((yyvsp[(1) - (2)].scm) == ly_symbol2scm ("chords"))
{
;}
break;
- case 258:
-#line 1874 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 259:
+#line 1876 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Context_mod *ctxmod = unsmob_context_mod ((yyvsp[(2) - (3)].scm));
SCM mods = SCM_EOL;
;}
break;
- case 259:
-#line 1889 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 260:
+#line 1891 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
SCM nn = parser->lexer_->lookup_identifier ("pitchnames");
parser->lexer_->push_note_state (nn);
;}
break;
- case 260:
-#line 1896 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 261:
+#line 1898 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
SCM nn = parser->lexer_->lookup_identifier ("drumPitchNames");
parser->lexer_->push_note_state (nn);
;}
break;
- case 261:
-#line 1902 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 262:
+#line 1904 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
parser->lexer_->push_figuredbass_state ();
;}
break;
- case 262:
-#line 1907 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 263:
+#line 1909 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
SCM nn = parser->lexer_->lookup_identifier ("chordmodifiers");
parser->lexer_->chordmodifier_tab_ = alist_to_hashq (nn);
;}
break;
- case 263:
-#line 1916 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 264:
+#line 1918 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ parser->lexer_->push_lyric_state ();
(yyval.scm) = ly_symbol2scm ("lyrics");
;}
break;
- case 264:
-#line 1922 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 265:
+#line 1924 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
SCM nn = parser->lexer_->lookup_identifier ("drumPitchNames");
parser->lexer_->push_note_state (nn);
;}
break;
- case 265:
-#line 1928 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 266:
+#line 1930 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
parser->lexer_->push_figuredbass_state ();
;}
break;
- case 266:
-#line 1933 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 267:
+#line 1935 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
SCM nn = parser->lexer_->lookup_identifier ("chordmodifiers");
parser->lexer_->chordmodifier_tab_ = alist_to_hashq (nn);
;}
break;
- case 267:
-#line 1941 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 268:
+#line 1943 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ parser->lexer_->push_lyric_state ();
(yyval.scm) = ly_symbol2scm ("Lyrics");
;}
break;
- case 268:
-#line 1947 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 269:
+#line 1949 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ parser->lexer_->push_lyric_state (); ;}
break;
- case 269:
-#line 1949 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 270:
+#line 1951 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
/* Can also use music at the expensive of two S/Rs similar to
\repeat \alternative */
;}
break;
- case 270:
-#line 1956 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 271:
+#line 1958 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
parser->lexer_->push_lyric_state ();
;}
break;
- case 271:
-#line 1958 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 272:
+#line 1960 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
parser->lexer_->pop_state ();
(yyval.scm) = scm_cons ((yyvsp[(4) - (4)].scm), (yyvsp[(1) - (4)].scm));
;}
break;
- case 272:
-#line 1965 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 273:
+#line 1967 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = MAKE_SYNTAX ("add-lyrics", (yyloc), (yyvsp[(1) - (2)].scm), scm_reverse_x ((yyvsp[(2) - (2)].scm), SCM_EOL));
;}
break;
- case 273:
-#line 1968 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 274:
+#line 1970 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
parser->lexer_->push_lyric_state ();
;}
break;
- case 274:
-#line 1970 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 275:
+#line 1972 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
parser->lexer_->pop_state ();
(yyval.scm) = MAKE_SYNTAX ("lyric-combine", (yyloc), (yyvsp[(2) - (4)].scm), (yyvsp[(4) - (4)].scm));
;}
break;
- case 275:
-#line 1977 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 276:
+#line 1979 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = MAKE_SYNTAX ("context-change", (yyloc), scm_string_to_symbol ((yyvsp[(2) - (4)].scm)), (yyvsp[(4) - (4)].scm));
;}
break;
- case 276:
-#line 1984 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 277:
+#line 1986 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_cons ((yyvsp[(1) - (1)].scm), SCM_EOL);
;}
break;
- case 277:
-#line 1987 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 278:
+#line 1989 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_cons ((yyvsp[(2) - (2)].scm), (yyvsp[(1) - (2)].scm));
;}
break;
- case 278:
-#line 1993 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 279:
+#line 1995 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_reverse_x ((yyvsp[(1) - (1)].scm), SCM_EOL);
;}
break;
- case 279:
-#line 1999 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 280:
+#line 2001 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_list_3 (ly_symbol2scm ("assign"),
scm_string_to_symbol ((yyvsp[(1) - (3)].scm)), (yyvsp[(3) - (3)].scm));
;}
break;
- case 280:
-#line 2003 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 281:
+#line 2005 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_list_2 (ly_symbol2scm ("unset"),
scm_string_to_symbol ((yyvsp[(2) - (2)].scm)));
;}
break;
- case 281:
-#line 2007 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 282:
+#line 2009 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_append (scm_list_2 (scm_list_3 (ly_symbol2scm ("push"),
scm_string_to_symbol ((yyvsp[(2) - (5)].scm)), (yyvsp[(5) - (5)].scm)),
;}
break;
- case 282:
-#line 2012 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 283:
+#line 2014 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_list_3 (ly_symbol2scm ("pop"),
scm_string_to_symbol ((yyvsp[(2) - (3)].scm)), (yyvsp[(3) - (3)].scm));
;}
break;
- case 283:
-#line 2019 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 284:
+#line 2021 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ (yyval.scm) = ly_symbol2scm ("consists"); ;}
break;
- case 284:
-#line 2020 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 285:
+#line 2022 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ (yyval.scm) = ly_symbol2scm ("remove"); ;}
break;
- case 285:
-#line 2022 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 286:
+#line 2024 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ (yyval.scm) = ly_symbol2scm ("accepts"); ;}
break;
- case 286:
-#line 2023 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 287:
+#line 2025 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ (yyval.scm) = ly_symbol2scm ("default-child"); ;}
break;
- case 287:
-#line 2024 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 288:
+#line 2026 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ (yyval.scm) = ly_symbol2scm ("denies"); ;}
break;
- case 288:
-#line 2026 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 289:
+#line 2028 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ (yyval.scm) = ly_symbol2scm ("alias"); ;}
break;
- case 289:
-#line 2027 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 290:
+#line 2029 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ (yyval.scm) = ly_symbol2scm ("translator-type"); ;}
break;
- case 290:
-#line 2028 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 291:
+#line 2030 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ (yyval.scm) = ly_symbol2scm ("description"); ;}
break;
- case 291:
-#line 2029 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 292:
+#line 2031 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ (yyval.scm) = ly_symbol2scm ("context-name"); ;}
break;
- case 292:
-#line 2033 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 293:
+#line 2035 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
break;
- case 293:
-#line 2034 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 294:
+#line 2036 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_list_2 ((yyvsp[(1) - (2)].scm), (yyvsp[(2) - (2)].scm));
;}
break;
- case 294:
-#line 2038 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 295:
+#line 2040 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
if (!scm_is_string ((yyvsp[(2) - (2)].scm))
&& ly_symbol2scm ("consists") != (yyvsp[(1) - (2)].scm)
;}
break;
- case 295:
-#line 2054 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 296:
+#line 2056 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
if (!is_regular_identifier ((yyvsp[(1) - (1)].scm)))
{
;}
break;
- case 296:
-#line 2063 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 297:
+#line 2065 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_list_2 (scm_string_to_symbol ((yyvsp[(1) - (3)].scm)),
scm_string_to_symbol ((yyvsp[(3) - (3)].scm)));
;}
break;
- case 297:
-#line 2070 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 298:
+#line 2072 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_append (scm_list_2 (scm_list_n (scm_car ((yyvsp[(2) - (5)].scm)),
ly_symbol2scm ("OverrideProperty"),
;}
break;
- case 298:
-#line 2077 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 299:
+#line 2079 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_list_4 (scm_car ((yyvsp[(2) - (3)].scm)),
ly_symbol2scm ("RevertProperty"),
;}
break;
- case 299:
-#line 2083 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 300:
+#line 2085 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_list_4 (scm_car ((yyvsp[(2) - (4)].scm)),
ly_symbol2scm ("PropertySet"),
;}
break;
- case 300:
-#line 2089 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 301:
+#line 2091 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_list_3 (scm_car ((yyvsp[(2) - (2)].scm)),
ly_symbol2scm ("PropertyUnset"),
;}
break;
- case 301:
-#line 2097 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 302:
+#line 2099 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = LOWLEVEL_MAKE_SYNTAX (ly_lily_module_constant ("property-operation"), scm_cons2 (parser->self_scm (), make_input ((yyloc)), (yyvsp[(1) - (1)].scm)));
;}
break;
- case 302:
-#line 2103 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 303:
+#line 2105 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
- case 303:
-#line 2106 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 304:
+#line 2108 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
- case 304:
-#line 2109 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 305:
+#line 2111 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_string_append (scm_list_2 ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm)));
;}
break;
- case 305:
-#line 2114 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 306:
+#line 2116 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
- case 306:
-#line 2117 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 307:
+#line 2119 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
- case 307:
-#line 2120 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 308:
+#line 2122 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
- case 316:
-#line 2141 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 317:
+#line 2143 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
// Let the rhythmic music iterator sort this mess out.
if (scm_is_pair ((yyvsp[(2) - (2)].scm))) {
;}
break;
- case 317:
-#line 2155 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 318:
+#line 2157 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
SCM elts = ly_append2 ((yyvsp[(1) - (2)].scm), scm_reverse_x ((yyvsp[(2) - (2)].scm), SCM_EOL));
;}
break;
- case 318:
-#line 2164 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 319:
+#line 2166 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Input i;
i.set_location ((yylsp[(1) - (3)]), (yylsp[(3) - (3)]));
;}
break;
- case 319:
-#line 2170 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 320:
+#line 2172 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Input i;
i.set_location ((yylsp[(1) - (3)]), (yylsp[(3) - (3)]));
;}
break;
- case 322:
-#line 2183 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 323:
+#line 2185 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Music *m = unsmob_music ((yyvsp[(1) - (3)].scm));
SCM dur = unsmob_duration ((yyvsp[(2) - (3)].scm))->smobbed_copy ();
;}
break;
- case 323:
-#line 2201 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 324:
+#line 2203 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = MAKE_SYNTAX ("event-chord", (yyloc), scm_reverse_x ((yyvsp[(2) - (3)].scm), SCM_EOL));
;}
break;
- case 324:
-#line 2207 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 325:
+#line 2209 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ (yyval.scm) = SCM_EOL; ;}
break;
- case 325:
-#line 2208 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 326:
+#line 2210 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
if (!SCM_UNBNDP ((yyvsp[(2) - (2)].scm)))
(yyval.scm) = scm_cons ((yyvsp[(2) - (2)].scm), (yyvsp[(1) - (2)].scm));
;}
break;
- case 326:
-#line 2216 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 327:
+#line 2218 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
int q = (yyvsp[(3) - (5)].i);
int ex = (yyvsp[(2) - (5)].i);
;}
break;
- case 327:
-#line 2241 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 328:
+#line 2243 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Music *n = MY_MAKE_MUSIC ("NoteEvent", (yyloc));
n->set_property ("drum-type", (yyvsp[(1) - (2)].scm));
;}
break;
- case 328:
-#line 2252 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 329:
+#line 2254 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Music *m = unsmob_music ((yyvsp[(1) - (1)].scm));
;}
break;
- case 331:
-#line 2278 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 332:
+#line 2280 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = MAKE_SYNTAX ("music-function", (yyloc),
(yyvsp[(1) - (2)].scm), (yyvsp[(2) - (2)].scm));
;}
break;
- case 332:
-#line 2285 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 333:
+#line 2287 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = MAKE_SYNTAX ("music-function", (yyloc),
(yyvsp[(1) - (2)].scm), (yyvsp[(2) - (2)].scm));
;}
break;
- case 333:
-#line 2292 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 334:
+#line 2294 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
- case 334:
-#line 2295 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 335:
+#line 2297 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Music *m = MY_MAKE_MUSIC ("LigatureEvent", (yyloc));
m->set_property ("span-direction", scm_from_int (START));
;}
break;
- case 335:
-#line 2300 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 336:
+#line 2302 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Music *m = MY_MAKE_MUSIC ("LigatureEvent", (yyloc));
m->set_property ("span-direction", scm_from_int (STOP));
;}
break;
- case 336:
-#line 2305 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 337:
+#line 2307 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = MAKE_SYNTAX ("voice-separator", (yyloc));
;}
break;
- case 337:
-#line 2308 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 338:
+#line 2310 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
SCM pipe = parser->lexer_->lookup_identifier ("pipeSymbol");
;}
break;
- case 338:
-#line 2325 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 339:
+#line 2327 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = MY_MAKE_MUSIC ("PesOrFlexaEvent", (yyloc))->unprotect ();
;}
break;
- case 339:
-#line 2328 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 340:
+#line 2330 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
- case 340:
-#line 2335 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 341:
+#line 2337 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = SCM_EOL;
;}
break;
- case 341:
-#line 2338 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 342:
+#line 2340 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
unsmob_music ((yyvsp[(2) - (2)].scm))->set_spot ((yylsp[(2) - (2)]));
(yyval.scm) = scm_cons ((yyvsp[(2) - (2)].scm), (yyval.scm));
;}
break;
- case 342:
-#line 2345 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 343:
+#line 2347 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
- case 343:
-#line 2348 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 344:
+#line 2350 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(2) - (2)].scm);
if ((yyvsp[(1) - (2)].i))
;}
break;
- case 344:
-#line 2355 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 345:
+#line 2357 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
if (!parser->lexer_->is_lyric_state ())
parser->parser_error ((yylsp[(1) - (1)]), _ ("have to be in Lyric mode for lyrics"));
;}
break;
- case 345:
-#line 2360 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 346:
+#line 2362 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
if (!parser->lexer_->is_lyric_state ())
parser->parser_error ((yylsp[(1) - (1)]), _ ("have to be in Lyric mode for lyrics"));
;}
break;
- case 346:
-#line 2365 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 347:
+#line 2367 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
if ((yyvsp[(1) - (2)].i))
{
;}
break;
- case 347:
-#line 2373 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 348:
+#line 2375 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
if ((yyvsp[(1) - (2)].i))
{
break;
case 349:
-#line 2383 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 2384 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(2) - (2)].scm);
unsmob_music ((yyval.scm))->set_property ("direction", scm_from_int (UP));
break;
case 350:
-#line 2388 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 2389 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(2) - (2)].scm);
unsmob_music ((yyval.scm))->set_property ("direction", scm_from_int (DOWN));
break;
case 352:
-#line 2396 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 2397 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(2) - (2)].scm);
;}
break;
case 353:
-#line 2402 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 2403 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Music *s = MY_MAKE_MUSIC ("StringNumberEvent", (yyloc));
s->set_property ("string-number", scm_from_int ((yyvsp[(1) - (1)].i)));
break;
case 354:
-#line 2410 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 2411 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = ly_symbol2scm ("bracketOpenSymbol");
;}
break;
case 355:
-#line 2413 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 2414 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = ly_symbol2scm ("bracketCloseSymbol");
;}
break;
case 356:
-#line 2416 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 2417 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = ly_symbol2scm ("tildeSymbol");
;}
break;
case 357:
-#line 2419 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 2420 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = ly_symbol2scm ("parenthesisOpenSymbol");
;}
break;
case 358:
-#line 2422 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 2423 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = ly_symbol2scm ("parenthesisCloseSymbol");
;}
break;
case 359:
-#line 2425 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 2426 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = ly_symbol2scm ("escapedExclamationSymbol");
;}
break;
case 360:
-#line 2428 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 2429 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = ly_symbol2scm ("escapedParenthesisOpenSymbol");
;}
break;
case 361:
-#line 2431 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 2432 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = ly_symbol2scm ("escapedParenthesisCloseSymbol");
;}
break;
case 362:
-#line 2434 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 2435 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = ly_symbol2scm ("escapedBiggerSymbol");
;}
break;
case 363:
-#line 2437 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 2438 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = ly_symbol2scm ("escapedSmallerSymbol");
;}
break;
case 364:
-#line 2443 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 2444 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
SCM predefd = parser->lexer_->lookup_identifier_symbol ((yyvsp[(1) - (1)].scm));
Music *m = 0;
;}
break;
- case 365:
-#line 2457 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 366:
+#line 2459 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
- case 366:
-#line 2460 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 367:
+#line 2462 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Music *a = MY_MAKE_MUSIC ("TremoloEvent", (yyloc));
a->set_property ("tremolo-type", scm_from_int ((yyvsp[(1) - (1)].i)));
;}
break;
- case 368:
-#line 2469 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 369:
+#line 2471 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
- case 369:
-#line 2472 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 370:
+#line 2474 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
SCM s = parser->lexer_->lookup_identifier ("dash" + ly_scm2string ((yyvsp[(1) - (1)].scm)));
Music *a = MY_MAKE_MUSIC ("ArticulationEvent", (yyloc));
;}
break;
- case 370:
-#line 2483 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 371:
+#line 2485 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ (yyval.scm) = SCM_EOL; ;}
break;
- case 371:
-#line 2484 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 372:
+#line 2486 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ (yyval.scm) = scm_from_int (0); ;}
break;
- case 372:
-#line 2485 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 373:
+#line 2487 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ (yyval.scm) = scm_from_int (-(yyvsp[(2) - (2)].i)); ;}
break;
- case 373:
-#line 2486 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 374:
+#line 2488 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ (yyval.scm) = scm_from_int ((yyvsp[(2) - (2)].i)); ;}
break;
- case 374:
-#line 2490 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 375:
+#line 2492 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.i) = 1;
;}
break;
- case 375:
-#line 2493 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 376:
+#line 2495 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.i) ++;
;}
break;
- case 376:
-#line 2499 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 377:
+#line 2501 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.i) = 1;
;}
break;
- case 377:
-#line 2502 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 378:
+#line 2504 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.i)++;
;}
break;
- case 378:
-#line 2508 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 379:
+#line 2510 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
- case 379:
-#line 2511 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 380:
+#line 2513 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Pitch p = *unsmob_pitch ((yyvsp[(1) - (2)].scm));
p = p.transposed (Pitch ((yyvsp[(2) - (2)].i),0,0));
;}
break;
- case 380:
-#line 2516 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 381:
+#line 2518 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Pitch p =* unsmob_pitch ((yyvsp[(1) - (2)].scm));
p = p.transposed (Pitch (-(yyvsp[(2) - (2)].i),0,0));
;}
break;
- case 381:
-#line 2528 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 382:
+#line 2530 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
- case 382:
-#line 2531 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 383:
+#line 2533 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Pitch p = *unsmob_pitch ((yyvsp[(1) - (2)].scm));
p = p.transposed (Pitch ((yyvsp[(2) - (2)].i),0,0));
;}
break;
- case 383:
-#line 2536 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 384:
+#line 2538 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Pitch p = *unsmob_pitch ((yyvsp[(1) - (2)].scm));
;}
break;
- case 384:
-#line 2545 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 385:
+#line 2547 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
- case 388:
-#line 2557 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 389:
+#line 2559 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Music *t = MY_MAKE_MUSIC ("TextScriptEvent", (yyloc));
t->set_property ("text", (yyvsp[(1) - (1)].scm));
;}
break;
- case 389:
-#line 2562 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 390:
+#line 2564 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Music *t = MY_MAKE_MUSIC ("TextScriptEvent", (yyloc));
t->set_property ("text",
;}
break;
- case 390:
-#line 2571 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 391:
+#line 2573 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Music *t = MY_MAKE_MUSIC ("FingeringEvent", (yyloc));
t->set_property ("digit", (yyvsp[(1) - (1)].scm));
;}
break;
- case 391:
-#line 2579 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 392:
+#line 2581 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_from_locale_string ("Hat");
;}
break;
- case 392:
-#line 2582 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 393:
+#line 2584 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_from_locale_string ("Plus");
;}
break;
- case 393:
-#line 2585 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 394:
+#line 2587 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_from_locale_string ("Dash");
;}
break;
- case 394:
-#line 2588 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 395:
+#line 2590 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_from_locale_string ("Bar");
;}
break;
- case 395:
-#line 2591 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 396:
+#line 2593 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_from_locale_string ("Larger");
;}
break;
- case 396:
-#line 2594 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 397:
+#line 2596 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_from_locale_string ("Dot");
;}
break;
- case 397:
-#line 2597 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 398:
+#line 2599 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_from_locale_string ("Underscore");
;}
break;
- case 398:
-#line 2603 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 399:
+#line 2605 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ (yyval.i) = DOWN; ;}
break;
- case 399:
-#line 2604 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 400:
+#line 2606 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ (yyval.i) = UP; ;}
break;
- case 400:
-#line 2605 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 401:
+#line 2607 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ (yyval.i) = CENTER; ;}
break;
- case 401:
-#line 2609 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 402:
+#line 2611 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
- case 402:
-#line 2615 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 403:
+#line 2617 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = SCM_UNDEFINED;
;}
break;
- case 403:
-#line 2618 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 404:
+#line 2620 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
parser->default_duration_ = *unsmob_duration ((yyval.scm));
;}
break;
- case 404:
-#line 2627 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 405:
+#line 2629 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
if (SCM_UNBNDP ((yyval.scm)))
(yyval.scm) = parser->default_duration_.smobbed_copy ();
;}
break;
- case 405:
-#line 2634 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 406:
+#line 2636 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
int len = 0;
if (!is_duration ((yyvsp[(1) - (2)].i)))
;}
break;
- case 406:
-#line 2643 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 407:
+#line 2645 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Duration *d = unsmob_duration ((yyvsp[(1) - (2)].scm));
Duration k (d->duration_log (), d->dot_count () + (yyvsp[(2) - (2)].i));
;}
break;
- case 407:
-#line 2653 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 408:
+#line 2655 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
- case 408:
-#line 2656 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 409:
+#line 2658 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = unsmob_duration ((yyval.scm))->compressed ( (yyvsp[(3) - (3)].i)) .smobbed_copy ();
;}
break;
- case 409:
-#line 2659 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 410:
+#line 2661 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Rational m (scm_to_int (scm_car ((yyvsp[(3) - (3)].scm))), scm_to_int (scm_cdr ((yyvsp[(3) - (3)].scm))));
;}
break;
- case 410:
-#line 2667 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 411:
+#line 2669 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.i) = 0;
;}
break;
- case 411:
-#line 2670 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 412:
+#line 2672 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.i) ++;
;}
break;
- case 412:
-#line 2676 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 413:
+#line 2678 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.i) = 0;
;}
break;
- case 413:
-#line 2679 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 414:
+#line 2681 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
if (!is_duration ((yyvsp[(2) - (2)].i)))
parser->parser_error ((yylsp[(2) - (2)]), _f ("not a duration: %d", (yyvsp[(2) - (2)].i)));
;}
break;
- case 414:
-#line 2687 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
- { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
- break;
-
case 415:
-#line 2688 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 2689 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
break;
case 416:
-#line 2689 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 2690 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
break;
case 417:
-#line 2693 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
- { (yyval.scm) = ly_rational2scm (FLAT_ALTERATION); ;}
+#line 2691 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
break;
case 418:
-#line 2694 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
- { (yyval.scm) = ly_rational2scm (SHARP_ALTERATION); ;}
+#line 2695 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ { (yyval.scm) = ly_rational2scm (FLAT_ALTERATION); ;}
break;
case 419:
-#line 2695 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
- { (yyval.scm) = scm_from_int (0); ;}
+#line 2696 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ { (yyval.scm) = ly_rational2scm (SHARP_ALTERATION); ;}
break;
case 420:
-#line 2699 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 2697 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ { (yyval.scm) = scm_from_int (0); ;}
+ break;
+
+ case 421:
+#line 2701 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Music *bfr = MY_MAKE_MUSIC ("BassFigureEvent", (yyloc));
(yyval.scm) = bfr->unprotect ();
;}
break;
- case 421:
-#line 2703 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 422:
+#line 2705 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Music *bfr = MY_MAKE_MUSIC ("BassFigureEvent", (yyloc));
(yyval.scm) = bfr->self_scm ();
;}
break;
- case 422:
-#line 2714 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 423:
+#line 2716 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (2)].scm);
unsmob_music ((yyvsp[(1) - (2)].scm))->set_property ("bracket-stop", SCM_BOOL_T);
;}
break;
- case 423:
-#line 2718 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 424:
+#line 2720 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Music *m = unsmob_music ((yyvsp[(1) - (2)].scm));
if (scm_to_double ((yyvsp[(2) - (2)].scm))) {
;}
break;
- case 424:
-#line 2729 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 425:
+#line 2731 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Music *m = unsmob_music ((yyvsp[(1) - (2)].scm));
if ((yyvsp[(2) - (2)].scm) == ly_symbol2scm ("plus"))
;}
break;
- case 425:
-#line 2752 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 426:
+#line 2754 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = ly_symbol2scm ("plus");
;}
break;
- case 426:
-#line 2755 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 427:
+#line 2757 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = ly_symbol2scm ("exclamation");
;}
break;
- case 427:
-#line 2758 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 428:
+#line 2760 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = ly_symbol2scm ("slash");
;}
break;
- case 428:
-#line 2761 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 429:
+#line 2763 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = ly_symbol2scm ("backslash");
;}
break;
- case 429:
-#line 2767 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 430:
+#line 2769 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
- case 430:
-#line 2770 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 431:
+#line 2772 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(2) - (2)].scm);
unsmob_music ((yyval.scm))->set_property ("bracket-start", SCM_BOOL_T);
;}
break;
- case 431:
-#line 2777 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 432:
+#line 2779 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = SCM_EOL;
;}
break;
- case 432:
-#line 2780 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 433:
+#line 2782 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_cons ((yyvsp[(2) - (2)].scm), (yyvsp[(1) - (2)].scm));
;}
break;
- case 433:
-#line 2786 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 434:
+#line 2788 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_reverse_x ((yyvsp[(2) - (3)].scm), SCM_EOL);
;}
break;
- case 434:
-#line 2793 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 435:
+#line 2795 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ (yyval.i) = 0; ;}
break;
- case 435:
-#line 2794 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 436:
+#line 2796 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ (yyval.i) = 1; ;}
break;
- case 436:
-#line 2798 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 437:
+#line 2800 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
if (!parser->lexer_->is_note_state ())
parser->parser_error ((yylsp[(1) - (6)]), _ ("have to be in Note mode for notes"));
;}
break;
- case 437:
-#line 2830 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 438:
+#line 2832 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Music *n = MY_MAKE_MUSIC ("NoteEvent", (yyloc));
n->set_property ("duration", (yyvsp[(2) - (2)].scm));
;}
break;
- case 438:
-#line 2837 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 439:
+#line 2839 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Music *ev = 0;
if (ly_scm2string ((yyvsp[(1) - (2)].scm)) == "s") {
;}
break;
- case 439:
-#line 2853 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 440:
+#line 2855 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
if (!parser->lexer_->is_chord_state ())
parser->parser_error ((yylsp[(1) - (1)]), _ ("have to be in Chord mode for chords"));
;}
break;
- case 440:
-#line 2858 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 441:
+#line 2860 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
for (SCM s = (yyvsp[(1) - (2)].scm); scm_is_pair (s); s = scm_cdr (s))
{
;}
break;
- case 441:
-#line 2868 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 442:
+#line 2870 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
- case 442:
-#line 2871 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 443:
+#line 2873 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
- case 444:
-#line 2878 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 445:
+#line 2880 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = MAKE_SYNTAX ("lyric-event", (yyloc), (yyvsp[(1) - (3)].scm), (yyvsp[(2) - (3)].scm));
if (scm_is_pair ((yyvsp[(3) - (3)].scm)))
;}
break;
- case 445:
-#line 2884 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 446:
+#line 2886 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = MAKE_SYNTAX ("lyric-event", (yyloc), (yyvsp[(1) - (3)].scm),
parser->default_duration_.smobbed_copy ());
;}
break;
- case 446:
-#line 2890 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 447:
+#line 2892 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = MAKE_SYNTAX ("lyric-event", (yyloc), (yyvsp[(1) - (3)].scm), (yyvsp[(2) - (3)].scm));
if (scm_is_pair ((yyvsp[(3) - (3)].scm)))
;}
break;
- case 447:
-#line 2900 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 448:
+#line 2902 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = MAKE_SYNTAX ("lyric-event", (yyloc), (yyvsp[(1) - (3)].scm), (yyvsp[(2) - (3)].scm));
if (scm_is_pair ((yyvsp[(3) - (3)].scm)))
;}
break;
- case 448:
-#line 2909 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 449:
+#line 2911 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = make_chord_elements ((yyloc), (yyvsp[(1) - (2)].scm), (yyvsp[(2) - (2)].scm), SCM_EOL);
;}
break;
- case 449:
-#line 2912 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 450:
+#line 2914 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
SCM its = scm_reverse_x ((yyvsp[(4) - (4)].scm), SCM_EOL);
(yyval.scm) = make_chord_elements ((yyloc), (yyvsp[(1) - (4)].scm), (yyvsp[(2) - (4)].scm), scm_cons ((yyvsp[(3) - (4)].scm), its));
;}
break;
- case 450:
-#line 2919 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 451:
+#line 2921 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = SCM_EOL;
;}
break;
- case 451:
-#line 2922 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 452:
+#line 2924 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_cons ((yyvsp[(2) - (2)].scm), (yyval.scm));
;}
break;
- case 452:
-#line 2928 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 453:
+#line 2930 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = ly_symbol2scm ("chord-colon");
;}
break;
- case 453:
-#line 2931 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 454:
+#line 2933 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = ly_symbol2scm ("chord-caret");
;}
break;
- case 454:
-#line 2934 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 455:
+#line 2936 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_list_2 (ly_symbol2scm ("chord-slash"), (yyvsp[(2) - (2)].scm));
;}
break;
- case 455:
-#line 2937 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 456:
+#line 2939 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_list_2 (ly_symbol2scm ("chord-bass"), (yyvsp[(2) - (2)].scm));
;}
break;
- case 456:
-#line 2943 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 457:
+#line 2945 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
- case 457:
-#line 2946 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 458:
+#line 2948 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_reverse_x ((yyvsp[(1) - (1)].scm), SCM_EOL);
;}
break;
- case 458:
-#line 2949 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 459:
+#line 2951 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
- case 459:
-#line 2955 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 460:
+#line 2957 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ (yyval.scm) = scm_cons ((yyvsp[(1) - (1)].scm), SCM_EOL); ;}
break;
- case 460:
-#line 2956 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 461:
+#line 2958 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_cons ((yyvsp[(3) - (3)].scm), (yyval.scm));
;}
break;
- case 461:
-#line 2962 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 462:
+#line 2964 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = make_chord_step ((yyvsp[(1) - (1)].i), 0);
;}
break;
- case 462:
-#line 2965 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 463:
+#line 2967 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = make_chord_step ((yyvsp[(1) - (2)].i), SHARP_ALTERATION);
;}
break;
- case 463:
-#line 2968 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 464:
+#line 2970 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = make_chord_step ((yyvsp[(1) - (2)].i), FLAT_ALTERATION);
;}
break;
- case 464:
-#line 2974 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 465:
+#line 2976 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_from_int ((yyvsp[(1) - (1)].i));
;}
break;
- case 465:
-#line 2977 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 466:
+#line 2979 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_cons (scm_from_int ((yyvsp[(1) - (3)].i)), scm_from_int ((yyvsp[(3) - (3)].i)));
;}
break;
- case 466:
-#line 2989 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 467:
+#line 2991 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_sum ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm));
;}
break;
- case 467:
-#line 2992 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 468:
+#line 2994 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_difference ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm));
;}
break;
- case 469:
-#line 2999 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 470:
+#line 3001 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
- case 470:
-#line 3002 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 471:
+#line 3004 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_product ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm));
;}
break;
- case 471:
-#line 3005 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 472:
+#line 3007 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_divide ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm));
;}
break;
- case 472:
-#line 3011 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 473:
+#line 3013 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ /* %prec UNARY_MINUS */
(yyval.scm) = scm_difference ((yyvsp[(2) - (2)].scm), SCM_UNDEFINED);
;}
break;
- case 475:
-#line 3020 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 476:
+#line 3022 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_product ((yyvsp[(1) - (2)].scm), (yyvsp[(2) - (2)].scm));
;}
break;
- case 476:
-#line 3023 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 477:
+#line 3025 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_product ((yyvsp[(1) - (2)].scm), (yyvsp[(2) - (2)].scm));
;}
break;
- case 480:
-#line 3035 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 481:
+#line 3037 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.i) = scm_to_int ((yyvsp[(1) - (1)].scm));
;}
break;
- case 483:
-#line 3046 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 484:
+#line 3048 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ (yyval.i) = 0; ;}
break;
- case 484:
-#line 3047 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 485:
+#line 3049 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ (yyval.i) ++; ;}
break;
- case 485:
-#line 3051 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 486:
+#line 3053 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ (yyval.i) = 0; ;}
break;
- case 486:
-#line 3052 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 487:
+#line 3054 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ (yyval.i) ++; ;}
break;
- case 487:
-#line 3060 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 488:
+#line 3062 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
- case 488:
-#line 3064 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 489:
+#line 3066 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ parser->lexer_->push_markup_state (); ;}
break;
- case 489:
-#line 3065 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 490:
+#line 3067 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(3) - (3)].scm);
parser->lexer_->pop_state ();
;}
break;
- case 490:
-#line 3072 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 491:
+#line 3074 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
- case 491:
-#line 3076 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 492:
+#line 3078 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ parser->lexer_->push_markup_state (); ;}
break;
- case 492:
-#line 3077 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 493:
+#line 3079 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(3) - (3)].scm);
parser->lexer_->pop_state ();
;}
break;
- case 493:
-#line 3084 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 494:
+#line 3086 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
- case 494:
-#line 3088 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 495:
+#line 3090 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ parser->lexer_->push_markup_state (); ;}
break;
- case 495:
-#line 3089 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 496:
+#line 3091 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(3) - (3)].scm);
parser->lexer_->pop_state ();
;}
break;
- case 496:
-#line 3096 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 497:
+#line 3098 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_list_2 (ly_lily_module_constant ("line-markup"), (yyvsp[(1) - (1)].scm));
;}
break;
- case 497:
-#line 3099 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 498:
+#line 3101 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_car (scm_call_2 (ly_lily_module_constant ("map-markup-command-list"), (yyvsp[(1) - (2)].scm), scm_list_1 ((yyvsp[(2) - (2)].scm))));
;}
break;
- case 498:
-#line 3102 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 499:
+#line 3104 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
- case 499:
-#line 3109 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 500:
+#line 3111 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
if (Text_interface::is_markup ((yyvsp[(1) - (1)].scm)))
MYBACKUP (MARKUP_IDENTIFIER, (yyvsp[(1) - (1)].scm), (yylsp[(1) - (1)]));
;}
break;
- case 501:
-#line 3123 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 502:
+#line 3125 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
- case 502:
-#line 3126 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 503:
+#line 3128 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
- case 503:
-#line 3129 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 504:
+#line 3131 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
- case 504:
-#line 3132 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 505:
+#line 3134 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_list_1 ((yyvsp[(1) - (1)].scm));
;}
break;
- case 505:
-#line 3136 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 506:
+#line 3138 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(2) - (2)].scm);
;}
break;
- case 506:
-#line 3142 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 507:
+#line 3144 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_call_2 (ly_lily_module_constant ("map-markup-command-list"), (yyvsp[(1) - (2)].scm), (yyvsp[(2) - (2)].scm));
;}
break;
- case 507:
-#line 3149 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 508:
+#line 3151 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_reverse_x ((yyvsp[(2) - (3)].scm), SCM_EOL);
;}
break;
- case 508:
-#line 3155 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 509:
+#line 3157 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ (yyval.scm) = SCM_EOL; ;}
break;
- case 509:
-#line 3156 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 510:
+#line 3158 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_cons ((yyvsp[(2) - (2)].scm), (yyvsp[(1) - (2)].scm));
;}
break;
- case 510:
-#line 3159 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 511:
+#line 3161 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_reverse_x ((yyvsp[(2) - (2)].scm), (yyvsp[(1) - (2)].scm));
;}
break;
- case 511:
-#line 3165 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 512:
+#line 3167 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_cons ((yyvsp[(1) - (2)].scm), scm_reverse_x((yyvsp[(2) - (2)].scm), SCM_EOL));
;}
break;
- case 512:
-#line 3171 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 513:
+#line 3173 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_cons ((yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm));
;}
break;
- case 513:
-#line 3174 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 514:
+#line 3176 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = check_scheme_arg (parser, (yylsp[(3) - (3)]), (yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm), (yyvsp[(1) - (3)].scm));
;}
break;
- case 514:
-#line 3177 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 515:
+#line 3179 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = SCM_EOL;
;}
break;
- case 515:
-#line 3183 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 516:
+#line 3185 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{ (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
break;
- case 516:
-#line 3184 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 517:
+#line 3186 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_cons ((yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm));
;}
break;
- case 517:
-#line 3190 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 518:
+#line 3192 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_cons ((yyvsp[(1) - (3)].scm), scm_reverse_x ((yyvsp[(3) - (3)].scm), SCM_EOL));
;}
break;
- case 518:
-#line 3196 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 519:
+#line 3198 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_list_1 ((yyvsp[(1) - (1)].scm));
;}
break;
- case 519:
-#line 3199 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 520:
+#line 3201 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_cons ((yyvsp[(2) - (2)].scm), (yyvsp[(1) - (2)].scm));
;}
break;
- case 520:
-#line 3205 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 521:
+#line 3207 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = make_simple_markup ((yyvsp[(1) - (1)].scm));
;}
break;
- case 521:
-#line 3208 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 522:
+#line 3210 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
- case 522:
-#line 3211 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 523:
+#line 3213 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
- case 523:
-#line 3214 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 524:
+#line 3216 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
break;
- case 524:
-#line 3217 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 525:
+#line 3219 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
SCM nn = parser->lexer_->lookup_identifier ("pitchnames");
parser->lexer_->push_note_state (nn);
;}
break;
- case 525:
-#line 3220 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 526:
+#line 3222 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Score * sc = (yyvsp[(4) - (5)].score);
(yyval.scm) = scm_list_2 (ly_lily_module_constant ("score-markup"), sc->self_scm ());
;}
break;
- case 526:
-#line 3226 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 527:
+#line 3228 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = scm_cons ((yyvsp[(1) - (2)].scm), scm_reverse_x ((yyvsp[(2) - (2)].scm), SCM_EOL));
;}
break;
- case 527:
-#line 3230 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 528:
+#line 3232 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(2) - (2)].scm);
;}
break;
- case 528:
-#line 3236 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 529:
+#line 3238 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
SCM mapper = ly_lily_module_constant ("map-markup-command-list");
(yyval.scm) = scm_car (scm_call_2 (mapper, (yyvsp[(1) - (2)].scm), scm_list_1 ((yyvsp[(2) - (2)].scm))));
;}
break;
- case 529:
-#line 3240 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+ case 530:
+#line 3242 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
(yyval.scm) = (yyvsp[(1) - (1)].scm);
;}
/* Line 1267 of yacc.c. */
-#line 7120 "out/parser.cc"
+#line 7150 "out/parser.cc"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
}
-#line 3245 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 3247 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
void
/* Put the tokens into the symbol table, so that GDB and other debuggers
know about them. */
enum yytokentype {
+ END_OF_FILE = 0,
PREC_BOT = 258,
REPEAT = 259,
ALTERNATIVE = 260,
};
#endif
/* Tokens. */
+#define END_OF_FILE 0
#define PREC_BOT 258
#define REPEAT 259
#define ALTERNATIVE 260
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 182 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
+#line 182 "/home/gub/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
{
Book *book;
Output_def *outputdef;
int i;
}
/* Line 1489 of yacc.c. */
-#line 308 "out/parser-tmp.hh"
+#line 310 "out/parser-tmp.hh"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
if (!(pg ^ PANGO_GLYPH_EMPTY))
continue;
+ if (pg & PANGO_GLYPH_UNKNOWN_FLAG)
+ {
+ warning (_f ("no glyph for character U+%0X in font `%s'",
+ pg & ~PANGO_GLYPH_UNKNOWN_FLAG, file_name.c_str ()));
+ continue;
+ }
+
glyph_name[0] = '\0';
if (has_glyph_names)
{
*/
/* Keyword tokens with plain escaped name. */
+%token END_OF_FILE 0 "end of input"
%token ACCEPTS "\\accepts"
%token ADDLYRICS "\\addlyrics"
%token ALIAS "\\alias"
%type <scm> mode_changing_head
%type <scm> mode_changing_head_with_context
%type <scm> multiplied_duration
-%type <scm> music_function_event
+%type <scm> music_function_call_closed
%type <scm> music_function_chord_body
%type <scm> new_chord
%type <scm> new_lyrics
{
$$ = FINISH_MAKE_SYNTAX ($1, @$, $2);
}
+ | music_function_call_closed
;
music_bare:
// with the last argument of the event function or with the expression
// for which the function call acts itself as event.
-music_function_event:
+music_function_call_closed:
MUSIC_FUNCTION function_arglist_closed {
$$ = MAKE_SYNTAX ("music-function", @$,
$1, $2);
direction_less_event {
$$ = $1;
}
- | script_dir music_function_event {
+ | script_dir music_function_call_closed {
$$ = $2;
if ($1)
{
}
$$ = $2;
}
- | string_number_event
| '^' fingering
{
$$ = $2;
}
$$ = m->unprotect ();
}
+ | string_number_event
| EVENT_IDENTIFIER {
$$ = $1;
}
#include "font-interface.hh"
#include "international.hh"
#include "output-def.hh"
-#include "staff-symbol.hh"
-#include "staff-symbol-referencer.hh"
#include "text-interface.hh"
-#include "warn.hh"
/*
TODO:
else
m = numbered_time_signature (me, n, d);
- /*
- position the signature centred on the staff line
- nearest to the middle of the staff
- */
- if (Grob *staff = Staff_symbol_referencer::get_staff_symbol (me))
- {
- std::vector<Real> const linepos = Staff_symbol::line_positions (staff);
- if (!linepos.empty ())
- {
- Interval const span = Staff_symbol::line_span (staff);
- Real const mid = span.center ();
- Real pos = linepos.front ();
- Real dist = fabs (pos - mid);
- for (std::vector<Real>::const_iterator
- i = linepos.begin (), e = linepos.end ();
- ++i != e;)
- {
- double const d = fabs (*i - mid);
- if (d < dist)
- {
- pos = *i;
- dist = d;
- }
- }
-
- m.translate_axis
- (pos * Staff_symbol_referencer::staff_space (me) / 2, Y_AXIS);
- }
- }
-
return m.smobbed_copy ();
}
}
\context {
\Voice
- \remove Ligature_bracket_engraver
- \consists Vaticana_ligature_engraver
+ \remove "Ligature_bracket_engraver"
+ \consists "Vaticana_ligature_engraver"
\override NoteHead #'style = #'vaticana.punctum
\override Stem #'transparent = ##t
\override Flag #'transparent = ##t
(cons* 'push
(ly:music-property m 'symbol)
(ly:music-property m 'grob-value)
- (ly:music-property m 'grob-property-path)))
+ (cond
+ ((ly:music-property m 'grob-property #f) => list)
+ (else
+ (ly:music-property m 'grob-property-path)))))
((RevertProperty)
(cons* 'pop
(ly:music-property m 'symbol)
- (ly:music-property m 'grob-property-path)))))
+ (cond
+ ((ly:music-property m 'grob-property #f) => list)
+ (else
+ (ly:music-property m 'grob-property-path)))))))
(case (ly:music-property m 'name)
((ApplyContext)
(ly:add-context-mod mods
\makeDefaultStringTuning #'guitar-tuning \stringTuning <e, a, d g b e'>
\makeDefaultStringTuning #'guitar-seven-string-tuning \stringTuning <b,, e, a, d g b e'>
\makeDefaultStringTuning #'guitar-drop-d-tuning \stringTuning <d, a, d g b e'>
+\makeDefaultStringTuning #'guitar-drop-c-tuning \stringTuning <c, g, c f a d'>
\makeDefaultStringTuning #'guitar-open-g-tuning \stringTuning <d, g, d g b d'>
\makeDefaultStringTuning #'guitar-open-d-tuning \stringTuning <d, a, d fis a d'>
\makeDefaultStringTuning #'guitar-dadgad-tuning \stringTuning <d, a, d g a d'>
-See http://git.savannah.gnu.org/gitweb/?p=lilypond.git;a=log;h=refs/tags/release/2.16.0-1
+See http://git.savannah.gnu.org/gitweb/?p=lilypond.git;a=log;h=refs/tags/release/2.16.1-1
-commit 0fef477419a8872759bfed4c1cf8e66f68db1104
-Author: David Kastrup <dak@gnu.org>
-Date: Fri Aug 24 11:44:57 2012 +0200
+commit 13c098630073b556a8a1f39afe4506c852234e7a
+Author: Phil Holmes <mail@philholmes.net>
+Date: Fri Nov 9 14:22:11 2012 +0000
Release: update news.
diff --git a/Documentation/web/news-front.itexi b/Documentation/web/news-front.itexi
-index b67db0a..618db96 100644
+index e37cf8c..2d0a892 100644
--- a/Documentation/web/news-front.itexi
+++ b/Documentation/web/news-front.itexi
-@@ -9,6 +9,70 @@
+@@ -9,6 +9,46 @@
@c used for news about the upcoming release; see CG 10.2
@newsItem
-+@subsubheading Lilypond 2.16.0 released! @emph{August 24, 2012}
++@subsubheading LilyPond 2.16.1 released! @emph{November 9, 2012}
+
-+We are proud to announce the release of GNU LilyPond 2.16.0.
-+LilyPond is a music engraving program, devoted to producing the
-+highest-quality sheet music possible. It brings the aesthetics of
-+traditionally engraved music to computer printouts.
-+
-+Many improvements have been made in the past year since the previous
-+main stable version. A few major improvements are:
-+
-+@itemize
-+@item
-+Support for kievan square notation
-+@item
-+User and programming interfaces have greatly improved
-+@item
-+Music functions have become quite more versatile
-+@end itemize
-+
-+A full list of new features is given in:
-+
-+@example
-+@uref{http://lilypond.org/doc/v2.16/Documentation/changes/index.html}
-+@end example
-+
-+Happy music typesetting! LilyPond 2.16 was brought to you by...
-+
-+Main development team:
-+
-+Bertrand Bordage, Trevor Daniels, Phil Holmes, Ian Hulin,
-+Reinhold Kainhofer, David Kastrup, Jonathan Kulp, Werner Lemberg,
-+John Mandereau, Patrick McCarty, Joe Neeman, Han-Wen Nienhuys,
-+Jan Nieuwenhuizen, Graham Percival, Mark Polesky, Neil Puttock,
-+Mike Solomon, Carl Sorensen, Francisco Vila, Valentin Villenave,
-+Jan Warchoł
-+
-+Programming contributors:
-+
-+Aleksandr Andreev, Sven Axelsson, Peter Chubb, Karin Hoethker,
-+Mark Hohl, Justin Ohmie, Benkő Pál, Julien Rioux, Patrick Schmidt,
-+Adam Spiers, Heikki Taurainen, Piers Titus van der Torren,
-+Jan-Peter Voigt, Janek Warchol
++We are happy to announce the release of LilyPond 2.16.1. This has a number of
++updates to the previous stable version, and should cause no problems. We
++recommend that everybody upgrade to this version.
++@newsEnd
+
-+Documentation contributors:
++@newsItem
++@subsubheading LilyPond 2.17.6 released! @emph{November 3, 2012}
+
-+James Lowe, Pavel Roskin, Alberto Simoes, Stefan Weil
++We are happy to announce the release of LilyPond 2.17.6. This
++release contains the usual number of bugfixes and enhancements, and contains
++some work in progress. You will have access to the very latest features, but
++some may be incomplete, and you may encounter bugs and crashes. If you require
++a stable version of Lilypond, we recommend using the 2.16 version.
+
-+Bug squad:
++@newsEnd
+
-+Colin Campbell, Eluze, Phil Holmes, Marek Klein, Ralph Palmer,
-+James Lowe
++@newsItem
++@subsubheading LilyPond 2.17.5 released! @emph{October 20, 2012}
+
-+Support:
++We are happy to announce the release of LilyPond 2.17.5. This
++release contains the usual number of bugfixes and enhancements, and contains
++some work in progress. You will have access to the very latest features, but
++some may be incomplete, and you may encounter bugs and crashes. If you require
++a stable version of Lilypond, we recommend using the 2.16 version.
+
-+Colin Campbell, Christian Hitz, Phil Holmes
++@newsEnd
+
-+Translation contributors:
++@newsItem
++@subsubheading LilyPond 2.17.4 released! @emph{October 6, 2012}
+
-+Jean-Charles Malahieude, Till Paala, Yoshiki Sawada
++We are happy to announce the release of LilyPond 2.17.4. This
++release contains the usual number of bugfixes. It is strongly
++recommended that normal users do @strong{not} use this release,
++and instead use the stable 2.16 version.
+
+@newsEnd
+
-+
+@newsItem
- @subsubheading Lilypond 2.15.95 released! @emph{August 11, 2012}
+ @subsubheading Lilypond 2.16.0 released! @emph{August 24, 2012}
+
+ We are proud to announce the release of GNU LilyPond 2.16.0.
+@@ -72,50 +112,4 @@ Jean-Charles Malahieude, Till Paala, Yoshiki Sawada
+ @newsEnd
+
+
+-@newsItem
+-@subsubheading Lilypond 2.15.95 released! @emph{August 11, 2012}
+-
+-We are excited to announce the release of LilyPond 2.15.95.
+-With this release, development on version 2.15 is frozen for the
+-upcoming 2.16 stable release and only open to bug fixes.
+-
+-All users are urged to try this version to ensure the best
+-quality of the upcoming stable release. If you discover any
+-problems, please send us @ref{Bug reports}.
+-
+-New features since 2.14.2 are listed in the @qq{Changes} manual
+-on the website section about @ref{Development}.
+-
+-@newsEnd
+-
+-
+-@newsItem
+-@subsubheading LilyPond 2.15.42 released! @emph{August 02, 2012}
+-
+-We are happy to announce the release of LilyPond 2.15.42. This
+-release contains the usual number of bugfixes.
- We are excited to announce the release of LilyPond 2.15.95.
+-It is strongly recommended that normal users do @strong{not} use
+-this release, and instead use the stable 2.14 version. Please
+-note that due to a few Critical bugs, this is not the next release
+-candidate.
+-
+-@newsEnd
+-
+-
+-@newsItem
+-@subsubheading The LilyPond Report #27. @emph{August 2, 2012}
+-
+-The @emph{LilyPond Report} is back, with some interesting insights on
+-new Scheme-related features recently added by our community’s only paid
+-developer David Kastrup (thanks to your
+-@uref{http://lilypond.org/sponsoring.html, continuing donations}). Also
+-to be found in this issue are an overview of some lesser-known LilyPond
#: line-spanner.cc:373
msgid "Line spanner's left point is to the right of its right point."
-msgstr "Maldekstra punkto de lini-disigilo estas dekstre de ties dekstra punkto."
+msgstr "Maldekstra punkto de lini-etendigilo estas dekstre de ties dekstra punkto."
#: lyric-combine-music-iterator.cc:199
msgid "argument of \\lyricsto should contain Lyrics context"
#: paper-score.cc:134
#, c-format
msgid "Element count %d (spanners %d) "
-msgstr "Nombro da elementoj: %d (disigiloj %d) "
+msgstr "Nombro da elementoj: %d (etendigiloj %d) "
#: paper-score.cc:138
msgid "Preprocessing graphical objects..."
#: text-spanner-engraver.cc:72
msgid "cannot find start of text spanner"
-msgstr "ne eblas trovi komencon de tekst-disigilo"
+msgstr "ne eblas trovi komencon de tekst-etendigilo"
#: text-spanner-engraver.cc:85
msgid "already have a text spanner"
-msgstr "jam ekzistas tekst-disigilo"
+msgstr "jam ekzistas tekst-etendigilo"
#: text-spanner-engraver.cc:130
msgid "unterminated text spanner"
-msgstr "nefinigita tekst-disigilo"
+msgstr "nefinigita tekst-etendigilo"
#: tie-engraver.cc:117
msgid "unterminated tie"
#. fixme: be more verbose.
#: volta-engraver.cc:110
msgid "cannot end volta spanner"
-msgstr "ne eblas finigi ripet-disigilon"
+msgstr "ne eblas finigi ripet-etendigilon"
#: volta-engraver.cc:120
msgid "already have a volta spanner, ending that one prematurely"
-msgstr "jam ekzistas ripet-disigilo, tiun alian ni finas tro frue"
+msgstr "jam ekzistas ripet-etendigilo, tiun alian ni finas tro frue"
#: volta-engraver.cc:124
msgid "also already have an ended spanner"
-msgstr "ankaŭ jam ekzistas finigita disigilo"
+msgstr "ankaŭ jam ekzistas finigita etendigilo"
#: volta-engraver.cc:125
msgid "giving up"
#
msgid ""
msgstr ""
-"Project-Id-Version: lilypond-2.15.41\n"
+"Project-Id-Version: lilypond-2.15.95\n"
"Report-Msgid-Bugs-To: http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs\n"
-"POT-Creation-Date: 2012-07-05 20:10+0200\n"
-"PO-Revision-Date: 2012-07-10 10:35+0200\n"
+"POT-Creation-Date: 2012-08-11 14:29+0200\n"
+"PO-Revision-Date: 2012-08-22 12:54+0200\n"
"Last-Translator: Francisco Vila <francisco.vila@hispalinux.es>\n"
"Language-Team: Spanish <es@li.org>\n"
"Language: es\n"
"X-Generator: KBabel 1.11.4\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
-#: fontextract.py:25
+#: book_base.py:26
#, python-format
-msgid "Scanning %s"
-msgstr "Explorando %s"
+msgid "file not found: %s"
+msgstr "archivo no encontrado: %s"
-#: fontextract.py:70
+#: book_base.py:164
+msgid "Output function not implemented"
+msgstr "Función de salida sin implementar"
+
+#: book_latex.py:170
+msgid "cannot find \\begin{document} in LaTeX document"
+msgstr "no se encuentra \\begin{document} en el documento de LaTeX"
+
+#: book_latex.py:188
#, python-format
-msgid "Extracted %s"
-msgstr "Se ha extraído %s"
+msgid "Running `%s' on file `%s' to detect default page settings.\n"
+msgstr "Ejecutando «%s» sobre el archivo «%s» para detectar los ajustes de página predeterminados.\n"
-#: fontextract.py:85
+#: book_latex.py:209 book_texinfo.py:228
+msgid "Unable to auto-detect default settings:\n"
+msgstr "No se pudieron detectar automáticamente los ajustes predeterminados:\n"
+
+#: book_latex.py:221 book_texinfo.py:240
#, python-format
-msgid "Writing fonts to %s"
-msgstr "Escribiendo las tipografías en %s"
+msgid ""
+"Unable to auto-detect default settings:\n"
+"%s"
+msgstr ""
+"No se pudieron detectar automáticamente los ajustes predeterminados:\n"
+"%s"
#: book_snippets.py:409
#, python-format
"%s: nombre duplicado pero contenido diferente del archivo convertido de lilypond,\n"
"se imprime la diferencia respecto al archivo existente."
+#. Work around a texi2pdf bug: if LANG=C is not given, a broken regexp is
+#. used to detect relative/absolute paths, so the absolute path is not
+#. detected as such and this command fails:
+#: book_texinfo.py:206
+#, python-format
+msgid "Running texi2pdf on file %s to detect default page settings.\n"
+msgstr "Ejecutando texi2pdf sobre el archivo %s para detectar los ajustes predeterminados de página.\n"
+
#: convertrules.py:12
#, python-format
msgid "Not smart enough to convert %s."
msgid "beamExceptions controls whole-measure beaming."
msgstr "beamExceptions controla el barrado de compases completos."
-#: book_base.py:26
+#: fontextract.py:25
#, python-format
-msgid "file not found: %s"
-msgstr "archivo no encontrado: %s"
+msgid "Scanning %s"
+msgstr "Explorando %s"
-#: book_base.py:164
-msgid "Output function not implemented"
-msgstr "Función de salida sin implementar"
+#: fontextract.py:70
+#, python-format
+msgid "Extracted %s"
+msgstr "Se ha extraído %s"
+
+#: fontextract.py:85
+#, python-format
+msgid "Writing fonts to %s"
+msgstr "Escribiendo las tipografías en %s"
#: lilylib.py:96
#, python-format
msgid "Unable to find instrument for ID=%s\n"
msgstr "No se ha podido encontrar el instrumento con el ID=%s\n"
-#. Work around a texi2pdf bug: if LANG=C is not given, a broken regexp is
-#. used to detect relative/absolute paths, so the absolute path is not
-#. detected as such and this command fails:
-#: book_texinfo.py:206
+#: abc2ly.py:1376 convert-ly.py:81 lilypond-book.py:122 midi2ly.py:1044
#, python-format
-msgid "Running texi2pdf on file %s to detect default page settings.\n"
-msgstr "Ejecutando texi2pdf sobre el archivo %s para detectar los ajustes predeterminados de página.\n"
-
-#: book_texinfo.py:228 book_latex.py:209
-msgid "Unable to auto-detect default settings:\n"
-msgstr "No se pudieron detectar automáticamente los ajustes predeterminados:\n"
+msgid "%s [OPTION]... FILE"
+msgstr "%s [OPCIÓN]... ARCHIVO"
-#: book_texinfo.py:240 book_latex.py:221
+#: abc2ly.py:1377
#, python-format
msgid ""
-"Unable to auto-detect default settings:\n"
-"%s"
+"abc2ly converts ABC music files (see\n"
+"%s) to LilyPond input.\n"
msgstr ""
-"No se pudieron detectar automáticamente los ajustes predeterminados:\n"
-"%s"
+"abc2ly convierte archivos de música de ABC\n"
+"(véase %s) en código de entrada de LilyPond.\n"
-#: book_latex.py:170
-msgid "cannot find \\begin{document} in LaTeX document"
-msgstr "no se encuentra \\begin{document} en el documento de LaTeX"
+#: abc2ly.py:1385 convert-ly.py:88 etf2ly.py:1208 lilypond-book.py:231
+#: midi2ly.py:1095 musicxml2ly.py:2590 main.cc:174
+msgid "show version number and exit"
+msgstr "mostrar el número de versión y salir"
-#: book_latex.py:188
-#, python-format
-msgid "Running `%s' on file `%s' to detect default page settings.\n"
-msgstr "Ejecutando «%s» sobre el archivo «%s» para detectar los ajustes de página predeterminados.\n"
+#: abc2ly.py:1388 convert-ly.py:92 etf2ly.py:1204 lilypond-book.py:140
+#: midi2ly.py:1062 musicxml2ly.py:2572 main.cc:153
+msgid "show this help and exit"
+msgstr "mostrar esta ayuda y salir"
-#: musicxml2ly.py:228
-#, python-format
-msgid "Encountered file created by %s, containing wrong beaming information. All beaming information in the MusicXML file will be ignored"
-msgstr "Se encontró un archivo creado por %s, que contiene información de barrado errónea. Toda la información de barrado del archivo MusicXML se ignorará"
+#: abc2ly.py:1391 etf2ly.py:1209 midi2ly.py:1071
+msgid "write output to FILE"
+msgstr "escribir la salida en el ARCHIVO"
-#: musicxml2ly.py:247 musicxml2ly.py:249
-#, python-format
-msgid "Unprocessed PartGroupInfo %s encountered"
-msgstr "Se ha encontrado el PartGroupInfo sin procesar %s"
+#: abc2ly.py:1394
+msgid "be strict about success"
+msgstr "ser estricto respecto al éxito"
-#: musicxml2ly.py:500
-#, python-format
-msgid "Encountered note at %s without type and duration (=%s)"
-msgstr "Se ha encontrado una nota en %s sin typo y duración (=%s)"
+#: abc2ly.py:1397
+msgid "preserve ABC's notion of beams"
+msgstr "preservar la noción de las barras de ABC"
-#: musicxml2ly.py:520
-#, python-format
-msgid "Encountered rational duration with denominator %s, unable to convert to lilypond duration"
-msgstr "Se ha encontrado una duración racional con denominador %s, no se puede convertir a duracion de lilypond"
+#: abc2ly.py:1400
+msgid "suppress progress messages"
+msgstr "suprimir mensajes de avance"
-#: musicxml2ly.py:767
-msgid "Unable to extract key signature!"
-msgstr "¡No se ha podido extraer la armadura de la tonalidad!"
+#. Translators, please translate this string as
+#. "Report bugs in English via %s",
+#. or if there is a LilyPond users list or forum in your language
+#. "Report bugs in English via %s or in YOUR_LANG via URI"
+#: abc2ly.py:1403 convert-ly.py:146 etf2ly.py:1218 lilypond-book.py:258
+#: midi2ly.py:1107 musicxml2ly.py:2674 main.cc:285
+#, c-format, python-format
+msgid "Report bugs via %s"
+msgstr ""
+"Informe de los fallos en español a http://lists.gnu.org/mailman/listinfo/lilypond-es\n"
+"o en inglés a %s"
-#: musicxml2ly.py:794
-#, python-format
-msgid "unknown mode %s, expecting 'major' or 'minor' or a church mode!"
-msgstr "¡Modo %s desconocido, se esperaba «major», «minor» o un modo eclesiástico!"
+#: convert-ly.py:46
+msgid ""
+"Update LilyPond input to newer version. By default, update from the\n"
+"version taken from the \\version command, to the current LilyPond version."
+msgstr ""
+"Actualizar el código de entrada de LilyPond a una versión más reciente.\n"
+"De manera predeterminada, actualizarlo desde la versión sacada de\n"
+"la instrucción \\version, a la versión actual de LilyPond."
-#: musicxml2ly.py:932
-#, python-format
-msgid "Encountered unprocessed marker %s\n"
-msgstr "Se ha encontrado el marcador sin procesar %s\n"
+#: convert-ly.py:48 lilypond-book.py:82
+msgid "Examples:"
+msgstr "Ejemplos:"
-#: musicxml2ly.py:1026
+#: convert-ly.py:75 etf2ly.py:1191 lilypond-book.py:115 midi2ly.py:81
#, python-format
-msgid "unknown span event %s"
-msgstr "evento de extensión %s desconocido"
+msgid "Copyright (c) %s by"
+msgstr "Copyright (c) %s por"
-#: musicxml2ly.py:1036
-#, python-format
-msgid "unknown span type %s for %s"
-msgstr "tipo de extensión %s deconocido para %s"
+#: convert-ly.py:77 etf2ly.py:1193 lilypond-book.py:117 midi2ly.py:83
+msgid "Distributed under terms of the GNU General Public License."
+msgstr "Distribuido bajo los términos de la Licencia Pública General de GNU."
-#: musicxml2ly.py:1456
-msgid "Unknown metronome mark, ignoring"
-msgstr "Marca de metrónomo desconocida, se ignora"
+#: convert-ly.py:78 etf2ly.py:1194 lilypond-book.py:118 midi2ly.py:84
+msgid "It comes with NO WARRANTY."
+msgstr "Se distribuye SIN NINGUNA GARANTÍA."
-#. TODO: Implement the other (more complex) way for tempo marks!
-#: musicxml2ly.py:1461
-msgid "Metronome marks with complex relations (<metronome-note> in MusicXML) are not yet implemented."
-msgstr "Las marcas metronómicas con relaciones complejas (<metronome-note> en MusicXML) no se encuentran implementadas aún."
+#: convert-ly.py:96 convert-ly.py:137
+msgid "VERSION"
+msgstr "VERSIÓN"
-#: musicxml2ly.py:1663
-#, python-format
-msgid "Unable to convert chord type %s to lilypond."
-msgstr "No se pudo convertir el acorde de tipo %s a lilypond."
+#: convert-ly.py:98
+msgid "start from VERSION [default: \\version found in file]"
+msgstr "comenzar a partir de VERSIÓN [predeterminado: \\version del archivo]"
-#: musicxml2ly.py:1816
-#, python-format
-msgid "drum %s type unknown, please add to instrument_drumtype_dict"
-msgstr "tipo de percusión %s desconocido, añádalo al diccionario instrument_drumtype_dict"
+#: convert-ly.py:101
+msgid "edit in place"
+msgstr "editar in situ"
-#: musicxml2ly.py:1820
-msgid "cannot find suitable event"
-msgstr "no se encuentra un evento adecuado"
+#: convert-ly.py:105 lilypond-book.py:179 musicxml2ly.py:2627
+msgid "Print log messages according to LOGLEVEL (NONE, ERROR, WARNING, PROGRESS (default), DEBUG)"
+msgstr "Imprimir los mensajes de registro según NIVEL_DE_REGISTRO (NONE (ninguno), ERROR (error), WARNING (advertencias), PROGRESS (avance; predeterminado), DEBUG (depuración))"
-#: musicxml2ly.py:1968
+#: convert-ly.py:107 lilypond-book.py:163 lilypond-book.py:181
+#: musicxml2ly.py:2629 main.cc:167
+msgid "LOGLEVEL"
+msgstr "NIVEL_DE_REGISTRO"
+
+#: convert-ly.py:113
+msgid "do not add \\version command if missing"
+msgstr "no añadir la instrucción \\version si no está presente"
+
+#: convert-ly.py:119
#, python-format
-msgid "Negative skip %s (from position %s to %s)"
-msgstr "Desplazamiento negativo %s (desde la posición %s hasta la %s)"
+msgid "force updating \\version number to %s"
+msgstr "forzar la actualización del número de \\version a %s"
-#: musicxml2ly.py:2109
+#: convert-ly.py:125
+msgid "only update \\version number if file is modified"
+msgstr "actualizar solo el número de \\version si el archivo ha sido modificado"
+
+#: convert-ly.py:131
#, python-format
-msgid "Negative skip found: from %s to %s, difference is %s"
-msgstr "Se ha encontrado un desplazamiento negativo: desde %s hasta %s, la diferencia es %s"
+msgid "show rules [default: -f 0, -t %s]"
+msgstr "mostrar las reglas [predeterminado: -f 0, -t %s]"
-#: musicxml2ly.py:2190
+#: convert-ly.py:136
#, python-format
-msgid "unexpected %s; expected %s or %s or %s"
-msgstr "%s inesperado; se esperaba %s o %s o %s"
+msgid "convert to VERSION [default: %s]"
+msgstr "convertir a VERSIÓN [predeterminado: %s]"
-#: musicxml2ly.py:2296
-msgid "Encountered closing slur, but no slur is open"
-msgstr "Se ha encontrado el cierre de una ligadura de expresión, pero no hay ninguna abierta"
+#: convert-ly.py:141 etf2ly.py:1212 lilypond-book.py:234 midi2ly.py:1096
+#: main.cc:176
+msgid "show warranty and copyright"
+msgstr "mostrar los avisos de garantía y de copyright"
-#: musicxml2ly.py:2299
-msgid "Cannot have two simultaneous (closing) slurs"
-msgstr "No puede haber dos ligaduras de expresión (cerrándose) simultáneas"
+#: convert-ly.py:186
+msgid "Applying conversion: "
+msgstr "Aplicando la conversión: "
-#: musicxml2ly.py:2308
-msgid "Cannot have a slur inside another slur"
-msgstr "No puede haber una ligadura de expresión dentro de otra"
+#: convert-ly.py:202
+msgid "Error while converting"
+msgstr "Error al convertir"
-#: musicxml2ly.py:2311
-msgid "Cannot have two simultaneous slurs"
-msgstr "No puede haber dos ligaduras de expresión simultáneas"
+#: convert-ly.py:204
+msgid "Stopping at last successful rule"
+msgstr "Detención en la última regla satisfactoria"
-#: musicxml2ly.py:2445
+#: convert-ly.py:231
#, python-format
-msgid "cannot simultaneously have more than one mode: %s"
-msgstr "no puede haber más de un modo al mismo tiempo: %s"
+msgid "Processing `%s'... "
+msgstr "Procesando «%s»... "
-#: musicxml2ly.py:2553
-msgid "Converting to LilyPond expressions..."
-msgstr "Conversión a expresiones de LilyPond..."
+#: convert-ly.py:338
+#, python-format
+msgid "%s: Unable to open file"
+msgstr "%s: No se pudo abrir el archivo"
-#: musicxml2ly.py:2564
-msgid "musicxml2ly [OPTION]... FILE.xml"
-msgstr "musicxml2ly [OPCIÓN]... ARCHIVO.xml"
+#: convert-ly.py:345
+#, python-format
+msgid "%s: Unable to determine version. Skipping"
+msgstr "%s: no se puede determinar la versión. Se salta"
-#: musicxml2ly.py:2566
+#: convert-ly.py:350
+#, python-format
msgid ""
-"Convert MusicXML from FILE.xml to LilyPond input.\n"
-"If the given filename is -, musicxml2ly reads from the command line.\n"
+"%s: Invalid version string `%s' \n"
+"Valid version strings consist of three numbers, separated by dots, e.g. `2.8.12'"
msgstr ""
-"Convertir MusicXML desde ARCHIVO.xml a entrada de LilyPond.\n"
-"SI el nombre de archivo aportado es -, musicxml2ly lee de la línea de órdenes.\n"
+"%s: Cadena de versión no válida `%s' \n"
+"Las cadenas de versión válidas se componen de tres números separados por puntos, p.ej. `2.8.12'"
-#: musicxml2ly.py:2572 midi2ly.py:1062 abc2ly.py:1388 lilypond-book.py:140
-#: convert-ly.py:92 etf2ly.py:1204 main.cc:153
-msgid "show this help and exit"
-msgstr "mostrar esta ayuda y salir"
+#: etf2ly.py:1197
+#, python-format
+msgid "%s [OPTION]... ETF-FILE"
+msgstr "%s [OPCIÓN]... ARCHIVO_ETF"
-#: musicxml2ly.py:2576
+#: etf2ly.py:1198
msgid ""
-"Copyright (c) 2005--2012 by\n"
-" Han-Wen Nienhuys <hanwen@xs4all.nl>,\n"
-" Jan Nieuwenhuizen <janneke@gnu.org> and\n"
-" Reinhold Kainhofer <reinhold@kainhofer.com>\n"
+"Enigma Transport Format is a format used by Coda Music Technology's\n"
+"Finale product. etf2ly converts a subset of ETF to a ready-to-use LilyPond file.\n"
msgstr ""
-"Copyright (c) 2005--2012 por\n"
-" Han-Wen Nienhuys <hanwen@xs4all.nl>,\n"
-" Jan Nieuwenhuizen <janneke@gnu.org> y\n"
-" Reinhold Kainhofer <reinhold@kainhofer.com>\n"
+"El formato transportable de Enigma (ETF) es un formato utilizado por el producto\n"
+"Finale de Coda Music Technology. etf2ly convierte un subconjunto de ETF a un\n"
+"archivo de LilyPond listo para usar.\n"
-#: musicxml2ly.py:2590 midi2ly.py:1095 abc2ly.py:1385 lilypond-book.py:231
-#: convert-ly.py:88 etf2ly.py:1208 main.cc:174
-msgid "show version number and exit"
-msgstr "mostrar el número de versión y salir"
+#: etf2ly.py:1210 midi2ly.py:1067 midi2ly.py:1072 musicxml2ly.py:2659
+#: main.cc:159 main.cc:171
+msgid "FILE"
+msgstr "ARCHIVO"
-#: musicxml2ly.py:2596 midi2ly.py:1090 lilypond-book.py:223
-msgid "be verbose"
-msgstr "ser prolijo"
+#: lilypond-book.py:80
+msgid "Process LilyPond snippets in hybrid HTML, LaTeX, texinfo or DocBook document."
+msgstr "Procesar los fragmentos de LylyPond en un documento de HTML híbrido, LaTeX, texinfo o DocBook."
-#: musicxml2ly.py:2602
-msgid "use lxml.etree; uses less memory and cpu time"
-msgstr "usar lxml.etree; utiliza menos memoria y tiempo de procesador"
+#: lilypond-book.py:87
+msgid "BOOK"
+msgstr "LIBRO"
-#: musicxml2ly.py:2608
-msgid "input file is a zip-compressed MusicXML file"
-msgstr "el archivo de entrada es un archivo MusicXML comprimido en zip"
+#: lilypond-book.py:95
+#, python-format
+msgid "Exiting (%d)..."
+msgstr "Saliendo (%d)..."
-#: musicxml2ly.py:2614
-msgid "convert pitches in relative mode (default)"
-msgstr "convertir las notas al modo relativo (por omisión)"
+#: lilypond-book.py:127
+msgid "FILTER"
+msgstr "FILTRO"
-#: musicxml2ly.py:2619
-msgid "convert pitches in absolute mode"
-msgstr "convertir las notas al modo absoluto"
+#: lilypond-book.py:130
+msgid "pipe snippets through FILTER [default: `convert-ly -n -']"
+msgstr "redirigir fragmentos a través de FILTRO [predeterminado: `convert-ly -n -']"
-#: musicxml2ly.py:2622
-msgid "LANG"
-msgstr "IDIOMA"
+#: lilypond-book.py:134
+msgid "use output format FORMAT (texi [default], texi-html, latex, html, docbook)"
+msgstr "usar el formato de salida FORMATO (texi [predeterminado], texi-html, latex, html, docbook)"
-#: musicxml2ly.py:2624
-msgid "use LANG for pitch names, e.g. 'deutsch' for note names in German"
-msgstr "usar IDIOMA para los nombres de las notas, p.ej. 'espanol' para los nombres de las notas en español"
+#: lilypond-book.py:135
+msgid "FORMAT"
+msgstr "FORMATO"
-#: musicxml2ly.py:2627 lilypond-book.py:179 convert-ly.py:105
-msgid "Print log messages according to LOGLEVEL (NONE, ERROR, WARNING, PROGRESS (default), DEBUG)"
-msgstr "Imprimir los mensajes de registro según NIVEL_DE_REGISTRO (NONE (ninguno), ERROR (error), WARNING (advertencias), PROGRESS (avance; predeterminado), DEBUG (depuración))"
+#: lilypond-book.py:142
+msgid "add DIR to include path"
+msgstr "añadir DIRECTORIO a la ruta de inclusión"
-#: musicxml2ly.py:2629 lilypond-book.py:163 lilypond-book.py:181
-#: convert-ly.py:107 main.cc:167
-msgid "LOGLEVEL"
-msgstr "NIVEL_DE_REGISTRO"
+#: lilypond-book.py:143 lilypond-book.py:150 lilypond-book.py:169
+#: lilypond-book.py:187 lilypond-book.py:208 lilypond-book.py:214 main.cc:158
+msgid "DIR"
+msgstr "DIRECTORIO"
-#: musicxml2ly.py:2638
-msgid "do not convert directions (^, _ or -) for articulations, dynamics, etc."
-msgstr "no convertir las direcciones (^, _ o -) para las articulaciones, expresiones de dinámica, etc."
+#: lilypond-book.py:148
+msgid "format Texinfo output so that Info will look for images of music in DIR"
+msgstr "formatear la salida de Texinfo de manera que Info busque las imágenes de música en DIRECTORIO"
-#: musicxml2ly.py:2644
-msgid "do not convert exact vertical positions of rests"
-msgstr "no convertir las posiciones verticales exactas de los silencios"
+#: lilypond-book.py:155
+msgid "PAD"
+msgstr "RELLENAR"
-#: musicxml2ly.py:2650
-msgid "do not convert the exact page layout and breaks"
-msgstr "no convertir la disposición y saltos de página exactos"
+#: lilypond-book.py:157
+msgid "pad left side of music to align music inspite of uneven bar numbers (in mm)"
+msgstr "rellenar el lado izquierdo de la música para alinear la música aunque haya un número desigual de compases (en mm)"
-#: musicxml2ly.py:2656
-msgid "do not convert beaming information, use lilypond's automatic beaming instead"
-msgstr "no convertir la información de barrado, en vez de ello utilizar el barrado automático de lilypond"
+#: lilypond-book.py:162
+msgid "Print lilypond log messages according to LOGLEVEL"
+msgstr "Imprimir los mensajes de registro de lilypond según NIVEL_DE_REGISTRO"
-#: musicxml2ly.py:2659 midi2ly.py:1067 midi2ly.py:1072 etf2ly.py:1210
-#: main.cc:159 main.cc:171
-msgid "FILE"
-msgstr "ARCHIVO"
+#: lilypond-book.py:168
+msgid "write lily-XXX files to DIR, link into --output dir"
+msgstr "escribir archivos lily-XXX en DIR, enlazar al directorio de --output"
-#: musicxml2ly.py:2664
-msgid "set output filename to FILE, stdout if -"
-msgstr "establecer el nombre del archivo de salida a ARCHIVO, y a la salida estándar si es -"
+#: lilypond-book.py:173
+msgid "Load the additional python PACKAGE (containing e.g. a custom output format)"
+msgstr "Cargar el PAQUETE adicional de python (que contiene p.ej. un formato de salida personalizado)"
-#: musicxml2ly.py:2670
-msgid "activate midi-block"
-msgstr "activar el bloque midi"
+#: lilypond-book.py:174
+msgid "PACKAGE"
+msgstr "PAQUETE"
-#. Translators, please translate this string as
-#. "Report bugs in English via %s",
-#. or if there is a LilyPond users list or forum in your language
-#. "Report bugs in English via %s or in YOUR_LANG via URI"
-#: musicxml2ly.py:2674 midi2ly.py:1107 abc2ly.py:1403 lilypond-book.py:258
-#: convert-ly.py:146 etf2ly.py:1218 main.cc:285
-#, c-format, python-format
-msgid "Report bugs via %s"
-msgstr ""
-"Informe de los fallos en español a http://lists.gnu.org/mailman/listinfo/lilypond-es\n"
-"o en inglés a %s"
+#: lilypond-book.py:186
+msgid "write output to DIR"
+msgstr "escribir la salida en el DIRECTORIO"
-#: musicxml2ly.py:2754
-#, python-format
-msgid "unknown part in part-list: %s"
-msgstr "parte desconocida en la lista part-list: %s"
+#: lilypond-book.py:191
+msgid "COMMAND"
+msgstr "INSTRUCCIÓN"
-#: musicxml2ly.py:2816
-msgid "Input is compressed, extracting raw MusicXML data from stdin"
-msgstr "El archivo de entrada está comprimido, extrayendo los datos de MusicXML en bruto a partir de la entrada estándar"
+#: lilypond-book.py:192
+msgid "process ly_files using COMMAND FILE..."
+msgstr "procesar ly_files utilizando INSTRUCCIÓN ARCHIVO..."
-#: musicxml2ly.py:2829
-#, python-format
-msgid "Input file %s is compressed, extracting raw MusicXML data"
-msgstr "El archivo de entrada %s está comprimido, extrayendo los datos de MusicXML en bruto"
+#: lilypond-book.py:197
+msgid "Redirect the lilypond output"
+msgstr "Redirigir la salida de lilypond"
-#: musicxml2ly.py:2859
-msgid "Reading MusicXML from Standard input ..."
-msgstr "Leyendo MusicXML desde la entrada estándar..."
+#: lilypond-book.py:201
+msgid "Compile snippets in safe mode"
+msgstr "Compilar los fragmentos de código en modo seguro"
-#: musicxml2ly.py:2861
-#, python-format
-msgid "Reading MusicXML from %s ..."
-msgstr "Leyendo MusicXML desde %s ..."
+#: lilypond-book.py:207
+msgid "do not fail if no lilypond output is found"
+msgstr "no fracasar si no se encuentra ninguna salida de lilypond"
-#: musicxml2ly.py:2894
-#, python-format
-msgid "Output to `%s'"
-msgstr "La salida se dirige hacia `%s'"
+#: lilypond-book.py:213
+msgid "do not fail if no PNG images are found for EPS files"
+msgstr "no fracasar si no se encuentra ninguna imagen PNG para los archivos EPS"
-#: musicxml2ly.py:2964
-#, python-format
-msgid "Unable to find input file %s"
-msgstr "No se encuentra el archivo de entrada %s"
+#: lilypond-book.py:219
+msgid "write snippet output files with the same base name as their source file"
+msgstr "escribir los archivos de salida de los fragmentos de código con el mismo nombra de base que su archivo fuente"
-#: midi2ly.py:81 lilypond-book.py:115 convert-ly.py:75 etf2ly.py:1191
-#, python-format
-msgid "Copyright (c) %s by"
-msgstr "Copyright (c) %s por"
+#: lilypond-book.py:223 midi2ly.py:1090 musicxml2ly.py:2596
+msgid "be verbose"
+msgstr "ser prolijo"
-#: midi2ly.py:83 lilypond-book.py:117 convert-ly.py:77 etf2ly.py:1193
-msgid "Distributed under terms of the GNU General Public License."
-msgstr "Distribuido bajo los términos de la Licencia Pública General de GNU."
+#: lilypond-book.py:239
+msgid ""
+"run executable PROG instead of latex, or in\n"
+"case --pdf option is set instead of pdflatex"
+msgstr ""
+"ejecutar PROG en lugar de latex, o en caso de que\n"
+"esté seleccionada la opción --pdf, en lugar de pdflatex"
-#: midi2ly.py:84 lilypond-book.py:118 convert-ly.py:78 etf2ly.py:1194
-msgid "It comes with NO WARRANTY."
-msgstr "Se distribuye SIN NINGUNA GARANTÍA."
+#: lilypond-book.py:241 lilypond-book.py:246
+msgid "PROG"
+msgstr "PROGRAMA"
-#: midi2ly.py:90
-msgid "warning: "
-msgstr "advertencia: "
+#: lilypond-book.py:245
+msgid "run executable PROG instead of texi2pdf"
+msgstr "ejecutar PROG en lugar de texi2pdf"
-#: midi2ly.py:93 midi2ly.py:1124
-msgid "error: "
-msgstr "error: "
+#: lilypond-book.py:252
+msgid "create PDF files for use with PDFTeX"
+msgstr "crear archivos PDF para su utilización con PDFTeX"
-#: midi2ly.py:94
-msgid "Exiting... "
-msgstr "Saliendo... "
+#: lilypond-book.py:455
+msgid "Writing snippets..."
+msgstr "Escribiendo fragmentos..."
-#: midi2ly.py:835
-msgid "found more than 5 voices on a staff, expect bad output"
-msgstr "se han encontrado más de 5 voces en una sola pauta, es de esperar un resultado defectuoso"
+#: lilypond-book.py:460
+msgid "Processing..."
+msgstr "Procesando..."
-#: midi2ly.py:1032
-#, python-format
-msgid "%s output to `%s'..."
-msgstr "salida de %s hacia «%s»..."
+#: lilypond-book.py:465
+msgid "All snippets are up to date..."
+msgstr "Todos los fragmentos están actualizados..."
-#: midi2ly.py:1044 abc2ly.py:1376 lilypond-book.py:122 convert-ly.py:81
-#, python-format
-msgid "%s [OPTION]... FILE"
-msgstr "%s [OPCIÓN]... ARCHIVO"
+#: lilypond-book.py:467
+msgid "Linking files..."
+msgstr "Enlazando los archivos..."
-#: midi2ly.py:1045
+#: lilypond-book.py:487
#, python-format
-msgid "Convert %s to LilyPond input.\n"
-msgstr "Convertir %s a entrada de LilyPond.\n"
+msgid "cannot determine format for: %s"
+msgstr "no se puede determinar el formato de: %s"
+
+#: lilypond-book.py:496
+#, python-format
+msgid "%s is up to date."
+msgstr "%s está actualizado."
+
+#: lilypond-book.py:509
+#, python-format
+msgid "Writing `%s'..."
+msgstr "Escribiendo «%s»..."
+
+#: lilypond-book.py:570
+msgid "Output would overwrite input file; use --output."
+msgstr "La salida sobreescribiría el archivo de entrada; utilice --output."
+
+#: lilypond-book.py:574
+#, python-format
+msgid "Reading %s..."
+msgstr "Leyendo %s..."
+
+#: lilypond-book.py:581
+msgid "Dissecting..."
+msgstr "Diseccionando..."
+
+#: lilypond-book.py:592
+#, python-format
+msgid "Compiling %s..."
+msgstr "Compilando %s..."
+
+#: lilypond-book.py:600
+#, python-format
+msgid "Processing include: %s"
+msgstr "Procesando el archivo de inclusión: %s"
+
+#: lilypond-book.py:611
+#, python-format
+msgid "Removing `%s'"
+msgstr "Suprimiendo «%s»"
+
+#: lilypond-book.py:704
+#, python-format
+msgid "Setting LilyPond's loglevel to %s"
+msgstr "Se establece el nivel de registro de LilyPond a %s"
+
+#: lilypond-book.py:708
+#, python-format
+msgid "Setting LilyPond's loglevel to %s (from environment variable LILYPOND_LOGLEVEL)"
+msgstr "Se establece el nivel de registro de LilyPond a %s (a partir de la variable de entorno LILYPOND_LOGLEVEL)"
+
+#: lilypond-book.py:711
+msgid "Setting LilyPond's output to --verbose, implied by lilypond-book's setting"
+msgstr "Se establece la salida de LilyPond a --verbose (prolija), implícita por el ajuste de lilypond-book"
+
+#: midi2ly.py:90
+msgid "warning: "
+msgstr "advertencia: "
+
+#: midi2ly.py:93 midi2ly.py:1124
+msgid "error: "
+msgstr "error: "
+
+#: midi2ly.py:94
+msgid "Exiting... "
+msgstr "Saliendo... "
+
+#: midi2ly.py:835
+msgid "found more than 5 voices on a staff, expect bad output"
+msgstr "se han encontrado más de 5 voces en una sola pauta, es de esperar un resultado defectuoso"
+
+#: midi2ly.py:1032
+#, python-format
+msgid "%s output to `%s'..."
+msgstr "salida de %s hacia «%s»..."
+
+#: midi2ly.py:1045
+#, python-format
+msgid "Convert %s to LilyPond input.\n"
+msgstr "Convertir %s a entrada de LilyPond.\n"
#: midi2ly.py:1050
msgid "print absolute pitches"
msgid "ALT[:MINOR]"
msgstr "ALT[:MENOR]"
-#: midi2ly.py:1071 abc2ly.py:1391 etf2ly.py:1209
-msgid "write output to FILE"
-msgstr "escribir la salida en el ARCHIVO"
-
#: midi2ly.py:1074
msgid "preview of first 4 bars"
msgstr "vista previa de los cuatro primeros compases"
msgid "allow tuplet durations DUR*NUM/DEN"
msgstr "permitir duraciones de grupos irregulares DURACIÓN*NUMERADOR/DENOMINADOR"
-#: midi2ly.py:1096 lilypond-book.py:234 convert-ly.py:141 etf2ly.py:1212
-#: main.cc:176
-msgid "show warranty and copyright"
-msgstr "mostrar los avisos de garantía y de copyright"
-
#: midi2ly.py:1098
msgid "treat every text as a lyric"
msgstr "tratar todos los textos como letra"
msgid "no files specified on command line."
msgstr "no se ha especificado ningún archivo en la línea de órdenes."
-#: abc2ly.py:1377
+#: musicxml2ly.py:228
#, python-format
-msgid ""
-"abc2ly converts ABC music files (see\n"
-"%s) to LilyPond input.\n"
-msgstr ""
-"abc2ly convierte archivos de música de ABC\n"
-"(véase %s) en código de entrada de LilyPond.\n"
-
-#: abc2ly.py:1394
-msgid "be strict about success"
-msgstr "ser estricto respecto al éxito"
-
-#: abc2ly.py:1397
-msgid "preserve ABC's notion of beams"
-msgstr "preservar la noción de las barras de ABC"
+msgid "Encountered file created by %s, containing wrong beaming information. All beaming information in the MusicXML file will be ignored"
+msgstr "Se encontró un archivo creado por %s, que contiene información de barrado errónea. Toda la información de barrado del archivo MusicXML se ignorará"
-#: abc2ly.py:1400
-msgid "suppress progress messages"
-msgstr "suprimir mensajes de avance"
+#: musicxml2ly.py:247 musicxml2ly.py:249
+#, python-format
+msgid "Unprocessed PartGroupInfo %s encountered"
+msgstr "Se ha encontrado el PartGroupInfo sin procesar %s"
-#: lilypond-book.py:80
-msgid "Process LilyPond snippets in hybrid HTML, LaTeX, texinfo or DocBook document."
-msgstr "Procesar los fragmentos de LylyPond en un documento de HTML híbrido, LaTeX, texinfo o DocBook."
+#: musicxml2ly.py:500
+#, python-format
+msgid "Encountered note at %s without type and duration (=%s)"
+msgstr "Se ha encontrado una nota en %s sin typo y duración (=%s)"
-#: lilypond-book.py:82 convert-ly.py:48
-msgid "Examples:"
-msgstr "Ejemplos:"
+#: musicxml2ly.py:520
+#, python-format
+msgid "Encountered rational duration with denominator %s, unable to convert to lilypond duration"
+msgstr "Se ha encontrado una duración racional con denominador %s, no se puede convertir a duracion de lilypond"
-#: lilypond-book.py:87
-msgid "BOOK"
-msgstr "LIBRO"
+#: musicxml2ly.py:767
+msgid "Unable to extract key signature!"
+msgstr "¡No se ha podido extraer la armadura de la tonalidad!"
-#: lilypond-book.py:95
+#: musicxml2ly.py:794
#, python-format
-msgid "Exiting (%d)..."
-msgstr "Saliendo (%d)..."
+msgid "unknown mode %s, expecting 'major' or 'minor' or a church mode!"
+msgstr "¡Modo %s desconocido, se esperaba «major», «minor» o un modo eclesiástico!"
-#: lilypond-book.py:127
-msgid "FILTER"
-msgstr "FILTRO"
+#: musicxml2ly.py:932
+#, python-format
+msgid "Encountered unprocessed marker %s\n"
+msgstr "Se ha encontrado el marcador sin procesar %s\n"
-#: lilypond-book.py:130
-msgid "pipe snippets through FILTER [default: `convert-ly -n -']"
-msgstr "redirigir fragmentos a través de FILTRO [predeterminado: `convert-ly -n -']"
+#: musicxml2ly.py:1026
+#, python-format
+msgid "unknown span event %s"
+msgstr "evento de extensión %s desconocido"
-#: lilypond-book.py:134
-msgid "use output format FORMAT (texi [default], texi-html, latex, html, docbook)"
-msgstr "usar el formato de salida FORMATO (texi [predeterminado], texi-html, latex, html, docbook)"
+#: musicxml2ly.py:1036
+#, python-format
+msgid "unknown span type %s for %s"
+msgstr "tipo de extensión %s deconocido para %s"
-#: lilypond-book.py:135
-msgid "FORMAT"
-msgstr "FORMATO"
+#: musicxml2ly.py:1456
+msgid "Unknown metronome mark, ignoring"
+msgstr "Marca de metrónomo desconocida, se ignora"
-#: lilypond-book.py:142
-msgid "add DIR to include path"
-msgstr "añadir DIRECTORIO a la ruta de inclusión"
+#. TODO: Implement the other (more complex) way for tempo marks!
+#: musicxml2ly.py:1461
+msgid "Metronome marks with complex relations (<metronome-note> in MusicXML) are not yet implemented."
+msgstr "Las marcas metronómicas con relaciones complejas (<metronome-note> en MusicXML) no se encuentran implementadas aún."
-#: lilypond-book.py:143 lilypond-book.py:150 lilypond-book.py:169
-#: lilypond-book.py:187 lilypond-book.py:208 lilypond-book.py:214 main.cc:158
-msgid "DIR"
-msgstr "DIRECTORIO"
+#: musicxml2ly.py:1663
+#, python-format
+msgid "Unable to convert chord type %s to lilypond."
+msgstr "No se pudo convertir el acorde de tipo %s a lilypond."
-#: lilypond-book.py:148
-msgid "format Texinfo output so that Info will look for images of music in DIR"
-msgstr "formatear la salida de Texinfo de manera que Info busque las imágenes de música en DIRECTORIO"
+#: musicxml2ly.py:1816
+#, python-format
+msgid "drum %s type unknown, please add to instrument_drumtype_dict"
+msgstr "tipo de percusión %s desconocido, añádalo al diccionario instrument_drumtype_dict"
-#: lilypond-book.py:155
-msgid "PAD"
-msgstr "RELLENAR"
+#: musicxml2ly.py:1820
+msgid "cannot find suitable event"
+msgstr "no se encuentra un evento adecuado"
-#: lilypond-book.py:157
-msgid "pad left side of music to align music inspite of uneven bar numbers (in mm)"
-msgstr "rellenar el lado izquierdo de la música para alinear la música aunque haya un número desigual de compases (en mm)"
+#: musicxml2ly.py:1968
+#, python-format
+msgid "Negative skip %s (from position %s to %s)"
+msgstr "Desplazamiento negativo %s (desde la posición %s hasta la %s)"
-#: lilypond-book.py:162
-msgid "Print lilypond log messages according to LOGLEVEL"
-msgstr "Imprimir los mensajes de registro de lilypond según NIVEL_DE_REGISTRO"
+#: musicxml2ly.py:2109
+#, python-format
+msgid "Negative skip found: from %s to %s, difference is %s"
+msgstr "Se ha encontrado un desplazamiento negativo: desde %s hasta %s, la diferencia es %s"
-#: lilypond-book.py:168
-msgid "write lily-XXX files to DIR, link into --output dir"
-msgstr "escribir archivos lily-XXX en DIR, enlazar al directorio de --output"
+#: musicxml2ly.py:2190
+#, python-format
+msgid "unexpected %s; expected %s or %s or %s"
+msgstr "%s inesperado; se esperaba %s o %s o %s"
-#: lilypond-book.py:173
-msgid "Load the additional python PACKAGE (containing e.g. a custom output format)"
-msgstr "Cargar el PAQUETE adicional de python (que contiene p.ej. un formato de salida personalizado)"
+#: musicxml2ly.py:2296
+msgid "Encountered closing slur, but no slur is open"
+msgstr "Se ha encontrado el cierre de una ligadura de expresión, pero no hay ninguna abierta"
-#: lilypond-book.py:174
-msgid "PACKAGE"
-msgstr "PAQUETE"
+#: musicxml2ly.py:2299
+msgid "Cannot have two simultaneous (closing) slurs"
+msgstr "No puede haber dos ligaduras de expresión (cerrándose) simultáneas"
-#: lilypond-book.py:186
-msgid "write output to DIR"
-msgstr "escribir la salida en el DIRECTORIO"
+#: musicxml2ly.py:2308
+msgid "Cannot have a slur inside another slur"
+msgstr "No puede haber una ligadura de expresión dentro de otra"
-#: lilypond-book.py:191
-msgid "COMMAND"
-msgstr "INSTRUCCIÓN"
+#: musicxml2ly.py:2311
+msgid "Cannot have two simultaneous slurs"
+msgstr "No puede haber dos ligaduras de expresión simultáneas"
-#: lilypond-book.py:192
-msgid "process ly_files using COMMAND FILE..."
-msgstr "procesar ly_files utilizando INSTRUCCIÓN ARCHIVO..."
+#: musicxml2ly.py:2445
+#, python-format
+msgid "cannot simultaneously have more than one mode: %s"
+msgstr "no puede haber más de un modo al mismo tiempo: %s"
-#: lilypond-book.py:197
-msgid "Redirect the lilypond output"
-msgstr "Redirigir la salida de lilypond"
+#: musicxml2ly.py:2553
+msgid "Converting to LilyPond expressions..."
+msgstr "Conversión a expresiones de LilyPond..."
-#: lilypond-book.py:201
-msgid "Compile snippets in safe mode"
-msgstr "Compilar los fragmentos de código en modo seguro"
+#: musicxml2ly.py:2564
+msgid "musicxml2ly [OPTION]... FILE.xml"
+msgstr "musicxml2ly [OPCIÓN]... ARCHIVO.xml"
-#: lilypond-book.py:207
-msgid "do not fail if no lilypond output is found"
-msgstr "no fracasar si no se encuentra ninguna salida de lilypond"
-
-#: lilypond-book.py:213
-msgid "do not fail if no PNG images are found for EPS files"
-msgstr "no fracasar si no se encuentra ninguna imagen PNG para los archivos EPS"
-
-#: lilypond-book.py:219
-msgid "write snippet output files with the same base name as their source file"
-msgstr "escribir los archivos de salida de los fragmentos de código con el mismo nombra de base que su archivo fuente"
-
-#: lilypond-book.py:239
+#: musicxml2ly.py:2566
msgid ""
-"run executable PROG instead of latex, or in\n"
-"case --pdf option is set instead of pdflatex"
+"Convert MusicXML from FILE.xml to LilyPond input.\n"
+"If the given filename is -, musicxml2ly reads from the command line.\n"
msgstr ""
-"ejecutar PROG en lugar de latex, o en caso de que\n"
-"esté seleccionada la opción --pdf, en lugar de pdflatex"
-
-#: lilypond-book.py:241 lilypond-book.py:246
-msgid "PROG"
-msgstr "PROGRAMA"
-
-#: lilypond-book.py:245
-msgid "run executable PROG instead of texi2pdf"
-msgstr "ejecutar PROG en lugar de texi2pdf"
-
-#: lilypond-book.py:252
-msgid "create PDF files for use with PDFTeX"
-msgstr "crear archivos PDF para su utilización con PDFTeX"
-
-#: lilypond-book.py:455
-msgid "Writing snippets..."
-msgstr "Escribiendo fragmentos..."
-
-#: lilypond-book.py:460
-msgid "Processing..."
-msgstr "Procesando..."
-
-#: lilypond-book.py:465
-msgid "All snippets are up to date..."
-msgstr "Todos los fragmentos están actualizados..."
-
-#: lilypond-book.py:467
-msgid "Linking files..."
-msgstr "Enlazando los archivos..."
-
-#: lilypond-book.py:487
-#, python-format
-msgid "cannot determine format for: %s"
-msgstr "no se puede determinar el formato de: %s"
-
-#: lilypond-book.py:496
-#, python-format
-msgid "%s is up to date."
-msgstr "%s está actualizado."
-
-#: lilypond-book.py:509
-#, python-format
-msgid "Writing `%s'..."
-msgstr "Escribiendo «%s»..."
-
-#: lilypond-book.py:570
-msgid "Output would overwrite input file; use --output."
-msgstr "La salida sobreescribiría el archivo de entrada; utilice --output."
-
-#: lilypond-book.py:574
-#, python-format
-msgid "Reading %s..."
-msgstr "Leyendo %s..."
-
-#: lilypond-book.py:581
-msgid "Dissecting..."
-msgstr "Diseccionando..."
-
-#: lilypond-book.py:592
-#, python-format
-msgid "Compiling %s..."
-msgstr "Compilando %s..."
-
-#: lilypond-book.py:600
-#, python-format
-msgid "Processing include: %s"
-msgstr "Procesando el archivo de inclusión: %s"
-
-#: lilypond-book.py:611
-#, python-format
-msgid "Removing `%s'"
-msgstr "Suprimiendo «%s»"
-
-#: lilypond-book.py:704
-#, python-format
-msgid "Setting LilyPond's loglevel to %s"
-msgstr "Se establece el nivel de registro de LilyPond a %s"
-
-#: lilypond-book.py:708
-#, python-format
-msgid "Setting LilyPond's loglevel to %s (from environment variable LILYPOND_LOGLEVEL)"
-msgstr "Se establece el nivel de registro de LilyPond a %s (a partir de la variable de entorno LILYPOND_LOGLEVEL)"
-
-#: lilypond-book.py:711
-msgid "Setting LilyPond's output to --verbose, implied by lilypond-book's setting"
-msgstr "Se establece la salida de LilyPond a --verbose (prolija), implícita por el ajuste de lilypond-book"
+"Convertir MusicXML desde ARCHIVO.xml a entrada de LilyPond.\n"
+"SI el nombre de archivo aportado es -, musicxml2ly lee de la línea de órdenes.\n"
-#: convert-ly.py:46
+#: musicxml2ly.py:2576
msgid ""
-"Update LilyPond input to newer version. By default, update from the\n"
-"version taken from the \\version command, to the current LilyPond version."
+"Copyright (c) 2005--2012 by\n"
+" Han-Wen Nienhuys <hanwen@xs4all.nl>,\n"
+" Jan Nieuwenhuizen <janneke@gnu.org> and\n"
+" Reinhold Kainhofer <reinhold@kainhofer.com>\n"
msgstr ""
-"Actualizar el código de entrada de LilyPond a una versión más reciente.\n"
-"De manera predeterminada, actualizarlo desde la versión sacada de\n"
-"la instrucción \\version, a la versión actual de LilyPond."
-
-#: convert-ly.py:96 convert-ly.py:137
-msgid "VERSION"
-msgstr "VERSIÓN"
-
-#: convert-ly.py:98
-msgid "start from VERSION [default: \\version found in file]"
-msgstr "comenzar a partir de VERSIÓN [predeterminado: \\version del archivo]"
-
-#: convert-ly.py:101
-msgid "edit in place"
-msgstr "editar in situ"
-
-#: convert-ly.py:113
-msgid "do not add \\version command if missing"
-msgstr "no añadir la instrucción \\version si no está presente"
-
-#: convert-ly.py:119
-#, python-format
-msgid "force updating \\version number to %s"
-msgstr "forzar la actualización del número de \\version a %s"
-
-#: convert-ly.py:125
-msgid "only update \\version number if file is modified"
-msgstr "actualizar solo el número de \\version si el archivo ha sido modificado"
-
-#: convert-ly.py:131
-#, python-format
-msgid "show rules [default: -f 0, -t %s]"
-msgstr "mostrar las reglas [predeterminado: -f 0, -t %s]"
+"Copyright (c) 2005--2012 por\n"
+" Han-Wen Nienhuys <hanwen@xs4all.nl>,\n"
+" Jan Nieuwenhuizen <janneke@gnu.org> y\n"
+" Reinhold Kainhofer <reinhold@kainhofer.com>\n"
-#: convert-ly.py:136
-#, python-format
-msgid "convert to VERSION [default: %s]"
-msgstr "convertir a VERSIÓN [predeterminado: %s]"
+#: musicxml2ly.py:2602
+msgid "use lxml.etree; uses less memory and cpu time"
+msgstr "usar lxml.etree; utiliza menos memoria y tiempo de procesador"
-#: convert-ly.py:186
-msgid "Applying conversion: "
-msgstr "Aplicando la conversión: "
+#: musicxml2ly.py:2608
+msgid "input file is a zip-compressed MusicXML file"
+msgstr "el archivo de entrada es un archivo MusicXML comprimido en zip"
-#: convert-ly.py:202
-msgid "Error while converting"
-msgstr "Error al convertir"
+#: musicxml2ly.py:2614
+msgid "convert pitches in relative mode (default)"
+msgstr "convertir las notas al modo relativo (por omisión)"
-#: convert-ly.py:204
-msgid "Stopping at last successful rule"
-msgstr "Detención en la última regla satisfactoria"
+#: musicxml2ly.py:2619
+msgid "convert pitches in absolute mode"
+msgstr "convertir las notas al modo absoluto"
-#: convert-ly.py:231
-#, python-format
-msgid "Processing `%s'... "
-msgstr "Procesando «%s»... "
+#: musicxml2ly.py:2622
+msgid "LANG"
+msgstr "IDIOMA"
-#: convert-ly.py:338
-#, python-format
-msgid "%s: Unable to open file"
-msgstr "%s: No se pudo abrir el archivo"
+#: musicxml2ly.py:2624
+msgid "use LANG for pitch names, e.g. 'deutsch' for note names in German"
+msgstr "usar IDIOMA para los nombres de las notas, p.ej. 'espanol' para los nombres de las notas en español"
-#: convert-ly.py:345
-#, python-format
-msgid "%s: Unable to determine version. Skipping"
-msgstr "%s: no se puede determinar la versión. Se salta"
+#: musicxml2ly.py:2638
+msgid "do not convert directions (^, _ or -) for articulations, dynamics, etc."
+msgstr "no convertir las direcciones (^, _ o -) para las articulaciones, expresiones de dinámica, etc."
-#: convert-ly.py:350
-#, python-format
-msgid ""
-"%s: Invalid version string `%s' \n"
-"Valid version strings consist of three numbers, separated by dots, e.g. `2.8.12'"
-msgstr ""
-"%s: Cadena de versión no válida `%s' \n"
-"Las cadenas de versión válidas se componen de tres números separados por puntos, p.ej. `2.8.12'"
+#: musicxml2ly.py:2644
+msgid "do not convert exact vertical positions of rests"
+msgstr "no convertir las posiciones verticales exactas de los silencios"
-#: etf2ly.py:1197
-#, python-format
-msgid "%s [OPTION]... ETF-FILE"
-msgstr "%s [OPCIÓN]... ARCHIVO_ETF"
+#: musicxml2ly.py:2650
+msgid "do not convert the exact page layout and breaks"
+msgstr "no convertir la disposición y saltos de página exactos"
-#: etf2ly.py:1198
-msgid ""
-"Enigma Transport Format is a format used by Coda Music Technology's\n"
-"Finale product. etf2ly converts a subset of ETF to a ready-to-use LilyPond file.\n"
-msgstr ""
-"El formato transportable de Enigma (ETF) es un formato utilizado por el producto\n"
-"Finale de Coda Music Technology. etf2ly convierte un subconjunto de ETF a un\n"
-"archivo de LilyPond listo para usar.\n"
+#: musicxml2ly.py:2656
+msgid "do not convert beaming information, use lilypond's automatic beaming instead"
+msgstr "no convertir la información de barrado, en vez de ello utilizar el barrado automático de lilypond"
-#: website_post.py:123
-msgid "English"
-msgstr "Inglés"
+#: musicxml2ly.py:2664
+msgid "set output filename to FILE, stdout if -"
+msgstr "establecer el nombre del archivo de salida a ARCHIVO, y a la salida estándar si es -"
-#: website_post.py:126
-msgid "Other languages"
-msgstr "Otros idiomas"
+#: musicxml2ly.py:2670
+msgid "activate midi-block"
+msgstr "activar el bloque midi"
-#: website_post.py:127
+#: musicxml2ly.py:2754
#, python-format
-msgid "About <a href=\"%s\">automatic language selection</a>."
-msgstr "Acerca de la <a href=\"%s\">selección automática del idioma</a>."
-
-#: warn.cc:56
-#, c-format
-msgid "Log level set to %d\n"
-msgstr "Nivel de registro establecido a %d\n"
-
-#: warn.cc:89
-#, c-format
-msgid "unknown log level `%s', using default (INFO)"
-msgstr "nivel de registro desconocido «%s», se usa el valor por omisión (INFO)"
-
-#. Some expected warning was not triggered, so print out a warning.
-#: warn.cc:112
-#, c-format
-msgid "%d expected warning(s) not encountered: "
-msgstr "se esperaban %d advertencias pero no se encontraron: "
-
-#: warn.cc:183
-#, c-format
-msgid "fatal error: %s"
-msgstr "error fatal: %s"
-
-#: warn.cc:192
-#, c-format
-msgid "suppressed programming error: %s"
-msgstr "error de programación suprimido: %s"
-
-#: warn.cc:197
-#, c-format
-msgid "programming error: %s"
-msgstr "error de programación: %s"
-
-#: warn.cc:198
-msgid "continuing, cross fingers"
-msgstr "continuamos; cruce los dedos"
-
-#: warn.cc:207
-#, c-format
-msgid "suppressed error: %s"
-msgstr "error suprimido: %s"
-
-#: warn.cc:219
-#, c-format
-msgid "suppressed warning: %s"
-msgstr "advertencia suprimida: %s"
-
-#: getopt-long.cc:153
-#, c-format
-msgid "option `%s' requires an argument"
-msgstr "la opción «%s» requiere un argumento"
-
-#: getopt-long.cc:157
-#, c-format
-msgid "option `%s' does not allow an argument"
-msgstr "la opción «%s» no permite argumentos"
-
-#: getopt-long.cc:161
-#, c-format
-msgid "unrecognized option: `%s'"
-msgstr "opción no reconocida: «%s»"
-
-#: getopt-long.cc:167
-#, c-format
-msgid "invalid argument `%s' to option `%s'"
-msgstr "argumento no válido «%s» para la opción «%s»"
-
-#: input.cc:138 source-file.cc:178 source-file.cc:193
-msgid "position unknown"
-msgstr "posición desconocida"
-
-#: chord-tremolo-engraver.cc:88
-msgid "No tremolo to end"
-msgstr "No hay ningún tremolo hasta el final"
-
-#: chord-tremolo-engraver.cc:109
-msgid "unterminated chord tremolo"
-msgstr "trémolo de acorde sin terminar"
-
-#: chord-tremolo-engraver.cc:149 beam-engraver.cc:266
-msgid "stem must have Rhythmic structure"
-msgstr "la plica debe tener estructura rítmica"
-
-#: flag.cc:113
-#, c-format
-msgid "flag `%s' not found"
-msgstr "no se encuentra el indicador «%s»"
-
-#: flag.cc:133
-#, c-format
-msgid "flag stroke `%s' not found"
-msgstr "no se encuentra la forma del glifo del corchete «%s»"
-
-#: vaticana-ligature.cc:94
-msgid "flexa-height undefined; assuming 0"
-msgstr "la altura flexa-height no está definida; se supone que es 0"
-
-#: vaticana-ligature.cc:99
-msgid "ascending vaticana style flexa"
-msgstr "flexa ascendente de estilo vaticana"
-
-#: slur.cc:430
-#, c-format
-msgid "Ignoring grob for slur: %s. avoid-slur not set?"
-msgstr "Se ignora el objeto gráfico para la ligadura: %s. ¿No está establecido avoid-slur?"
-
-#: translator-group.cc:188
-#, c-format
-msgid "cannot find: `%s'"
-msgstr "no se encuentra «%s»"
-
-#: hyphen-engraver.cc:104
-msgid "removing unterminated hyphen"
-msgstr "se suprime el guión separador sin terminación"
-
-#: hyphen-engraver.cc:118
-msgid "unterminated hyphen; removing"
-msgstr "guión separador sin terminar; se suprime"
-
-#: page-layout-problem.cc:403
-msgid "A page layout problem has been initiated that cannot accommodate footnotes."
-msgstr "Ha tenido lugar problema de disposición de página que no puede acomodar notas al pie."
-
-#: page-layout-problem.cc:721
-msgid "cannot fit music on page: ragged-spacing was requested, but page was compressed"
-msgstr "la música no cabe en la página: se ha solicitado la no justificación del espaciado, pero la página ha resultado comprimida"
-
-#: page-layout-problem.cc:724
-#, c-format
-msgid "cannot fit music on page: overflow is %f"
-msgstr "la música no cabe en la página: el exceso es %f"
-
-#: page-layout-problem.cc:726
-msgid "compressing music to fit"
-msgstr "comprimiendo la música para que quepa"
-
-#: page-layout-problem.cc:1188
-msgid "staff-affinities should only decrease"
-msgstr "staff-affinities solo debe disminuir"
-
-#: arpeggio.cc:115
-msgid "no heads for arpeggio found?"
-msgstr "¿No se han encontrado notas para el arpegio?"
-
-#: lyric-combine-music-iterator.cc:199
-msgid "argument of \\lyricsto should contain Lyrics context"
-msgstr "El argumento de \\lyricsto debe contener un contexto Lyrics"
-
-#: lyric-combine-music-iterator.cc:337
-#, c-format
-msgid "cannot find Voice `%s'"
-msgstr "no se encuentra la Voz «%s»"
-
-#: custos.cc:87
-#, c-format
-msgid "custos `%s' not found"
-msgstr "no se encuentran los custos «%s»"
-
-#: context.cc:149
-#, c-format
-msgid "cannot find or create new `%s'"
-msgstr "no se encuentra o no se puede crear un «%s» nuevo"
-
-#: context.cc:207
-#, c-format
-msgid "cannot find or create `%s' called `%s'"
-msgstr "no se encuentra o no se puede crear «%s» llamado «%s»"
-
-#: context.cc:400
-#, c-format
-msgid "cannot find or create: `%s'"
-msgstr "no se encuentra o no se puede crear «%s»"
-
-#: dispatcher.cc:83
-msgid "Event class should be a list"
-msgstr "La clase del evento debe ser una lista"
-
-#: dispatcher.cc:166
-#, c-format
-msgid "Junking event: %s"
-msgstr "se elimina el evento: %s"
-
-#: dispatcher.cc:262
-msgid "Attempting to remove nonexisting listener."
-msgstr "Tratando de eliminar un \"listener\" que no existe."
-
-#: dispatcher.cc:284
-msgid "Already listening to dispatcher, ignoring request"
-msgstr "Ya se está escuchando al despachador, se ignora la solicitud"
-
-#: grob-property.cc:35
-#, c-format
-msgid "%d: %s"
-msgstr "%d: %s"
+msgid "unknown part in part-list: %s"
+msgstr "parte desconocida en la lista part-list: %s"
-#: auto-change-iterator.cc:74 change-iterator.cc:72
-#, c-format
-msgid "cannot change, already in translator: %s"
-msgstr "no se puede cambiar, ya está dentro del traductor: %s"
+#: musicxml2ly.py:2816
+msgid "Input is compressed, extracting raw MusicXML data from stdin"
+msgstr "El archivo de entrada está comprimido, extrayendo los datos de MusicXML en bruto a partir de la entrada estándar"
-#: tie-engraver.cc:117
-msgid "unterminated tie"
-msgstr "ligadura de unión sin terminar"
+#: musicxml2ly.py:2829
+#, python-format
+msgid "Input file %s is compressed, extracting raw MusicXML data"
+msgstr "El archivo de entrada %s está comprimido, extrayendo los datos de MusicXML en bruto"
-#: tie-engraver.cc:348
-msgid "lonely tie"
-msgstr "ligadura de unión solitaria"
+#: musicxml2ly.py:2859
+msgid "Reading MusicXML from Standard input ..."
+msgstr "Leyendo MusicXML desde la entrada estándar..."
-#: note-column.cc:147
-msgid "cannot have note heads and rests together on a stem"
-msgstr "no se pueden tener cabezas de nota y silencios en la misma plica"
+#: musicxml2ly.py:2861
+#, python-format
+msgid "Reading MusicXML from %s ..."
+msgstr "Leyendo MusicXML desde %s ..."
-#: parse-scm.cc:121
-msgid "GUILE signaled an error for the expression beginning here"
-msgstr "GUILE ha señalado un error para la expresión que comienza aquí"
+#: musicxml2ly.py:2894
+#, python-format
+msgid "Output to `%s'"
+msgstr "La salida se dirige hacia `%s'"
-#: footnote-engraver.cc:109
-msgid "Must be footnote-event."
-msgstr "Debe ser un evento de nota al pie."
+#: musicxml2ly.py:2964
+#, python-format
+msgid "Unable to find input file %s"
+msgstr "No se encuentra el archivo de entrada %s"
-#: paper-score.cc:122 minimal-page-breaking.cc:40
-msgid "Calculating line breaks..."
-msgstr "Calculando los saltos de línea..."
+#: website_post.py:123
+msgid "English"
+msgstr "Inglés"
-#: paper-score.cc:134
-#, c-format
-msgid "Element count %d (spanners %d) "
-msgstr "Cantidad de elementos: %d (trazadores: %d)"
+#: website_post.py:126
+msgid "Other languages"
+msgstr "Otros idiomas"
-#: paper-score.cc:138
-msgid "Preprocessing graphical objects..."
-msgstr "Preprocesando los objetos gráficos..."
+#: website_post.py:127
+#, python-format
+msgid "About <a href=\"%s\">automatic language selection</a>."
+msgstr "Acerca de la <a href=\"%s\">selección automática del idioma</a>."
-#: paper-score.cc:162 optimal-page-breaking.cc:207
-#: page-turn-page-breaking.cc:248
-msgid "Drawing systems..."
-msgstr "Dibujando los sistemas..."
+#: getopt-long.cc:153
+#, c-format
+msgid "option `%s' requires an argument"
+msgstr "la opción «%s» requiere un argumento"
-#: program-option-scheme.cc:235
+#: getopt-long.cc:157
#, c-format
-msgid "no such internal option: %s"
-msgstr "no existe la opción interna %s"
+msgid "option `%s' does not allow an argument"
+msgstr "la opción «%s» no permite argumentos"
-#: mensural-ligature-engraver.cc:96
-msgid "ligature with less than 2 heads -> skipping"
-msgstr "ligadura con menos de dos cabezas; se salta"
+#: getopt-long.cc:161
+#, c-format
+msgid "unrecognized option: `%s'"
+msgstr "opción no reconocida: «%s»"
-#: mensural-ligature-engraver.cc:123
-msgid "cannot determine pitch of ligature primitive -> skipping"
-msgstr "no se puede determinar la altura de la primitiva de ligadura; se salta"
+#: getopt-long.cc:167
+#, c-format
+msgid "invalid argument `%s' to option `%s'"
+msgstr "argumento no válido «%s» para la opción «%s»"
-#: mensural-ligature-engraver.cc:137
-msgid "single note ligature - skipping"
-msgstr "ligadura de una nota; se salta"
+#: warn.cc:56
+#, c-format
+msgid "Log level set to %d\n"
+msgstr "Nivel de registro establecido a %d\n"
-#: mensural-ligature-engraver.cc:148
-msgid "prime interval within ligature -> skipping"
-msgstr "intervalo primo dentro de una ligadura; se salta"
+#: warn.cc:89
+#, c-format
+msgid "unknown log level `%s', using default (INFO)"
+msgstr "nivel de registro desconocido «%s», se usa el valor por omisión (INFO)"
-#: mensural-ligature-engraver.cc:159
-msgid "mensural ligature: duration none of Mx, L, B, S -> skipping"
-msgstr "ligadura mensural: la duración no es Mx, L, B ni S; se salta"
+#. Some expected warning was not triggered, so print out a warning.
+#: warn.cc:112
+#, c-format
+msgid "%d expected warning(s) not encountered: "
+msgstr "se esperaban %d advertencias pero no se encontraron: "
-#: mensural-ligature-engraver.cc:202
-msgid "semibrevis must be followed by another one -> skipping"
-msgstr "la semibreve debe ir seguida por otra -> se salta"
+#: warn.cc:183
+#, c-format
+msgid "fatal error: %s"
+msgstr "error fatal: %s"
-#: mensural-ligature-engraver.cc:212
-msgid ""
-"semibreves can only appear at the beginning of a ligature,\n"
-"and there may be only zero or two of them"
-msgstr ""
-"las semibreves sólo pueden aparecer al principio de una ligadura,\n"
-"y sólo puede haber dos o ninguna"
+#: warn.cc:192
+#, c-format
+msgid "suppressed programming error: %s"
+msgstr "error de programación suprimido: %s"
-#: mensural-ligature-engraver.cc:232
-msgid ""
-"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"
-msgstr ""
-"finalización inválida de la ligadura:\n"
-"cuando la última nota es una breve descendente,\n"
-"la penúltima nota debe ser otra breve,\n"
-"o la ligadura debe ser LB o SSB"
+#: warn.cc:197
+#, c-format
+msgid "programming error: %s"
+msgstr "error de programación: %s"
-#: mensural-ligature-engraver.cc:387
-msgid "unexpected case fall-through"
-msgstr "opción de caso por defecto inesperada"
+#: warn.cc:198
+msgid "continuing, cross fingers"
+msgstr "continuamos; cruce los dedos"
-#: piano-pedal-engraver.cc:279
+#: warn.cc:207
#, c-format
-msgid "expect 3 strings for piano pedals, found: %ld"
-msgstr "se eseperaban 3 cadenas para los pedales de piano, se han encontrado: %ld"
+msgid "suppressed error: %s"
+msgstr "error suprimido: %s"
-#: piano-pedal-engraver.cc:294 piano-pedal-engraver.cc:305
-#: piano-pedal-performer.cc:104
+#: warn.cc:219
#, c-format
-msgid "cannot find start of piano pedal: `%s'"
-msgstr "no se encuentra el comienzo del pedal de piano «%s»"
+msgid "suppressed warning: %s"
+msgstr "advertencia suprimida: %s"
-#: piano-pedal-engraver.cc:340
+#: accidental-engraver.cc:180
#, c-format
-msgid "cannot find start of piano pedal bracket: `%s'"
-msgstr "no se encuentra el comienzo del corchete de pedal de piano «%s»"
+msgid "accidental typesetting list must begin with context-name: %s"
+msgstr "la lista de tippografiado de alteraciones accidentales debe comenzar con context-name: %s"
-#: new-dynamic-engraver.cc:168
+#: accidental-engraver.cc:210
#, c-format
-msgid ""
-"unknown crescendo style: %s\n"
-"defaulting to hairpin."
-msgstr ""
-"estilo de crescendo desconocido: %s\n"
-"se toma regulador como predeterminado."
+msgid "procedure or context-name expected for accidental rule, found %s"
+msgstr "se esperaba un procedimiento o un nombre de contexto para la regla de alteración accidental, se ha encontrado %s"
-#: new-dynamic-engraver.cc:233
+#: accidental.cc:200
#, c-format
-msgid "unterminated %s"
-msgstr "%s sin terminar"
+msgid "Could not find glyph-name for alteration %s"
+msgstr "No se ha encontrado el nombre de glifo para la alteración %s"
-#: general-scheme.cc:390
+#: accidental.cc:215
+msgid "natural alteration glyph not found"
+msgstr "no se encuentra el glifo del símbolo de becuadro"
+
+#: all-font-metrics.cc:149
#, c-format
-msgid "failed redirecting stderr to `%s'"
-msgstr "fallo al redirigir la salida stderr a «%s»"
+msgid "cannot find font: `%s'"
+msgstr "no se encuentra la tipografía «%s»"
-#: general-scheme.cc:469 output-ps.scm:48
-msgid "Found infinity or nan in output. Substituting 0.0"
-msgstr "Se ha encontrado Infinito o NaN en la salida. Se sustituye por 0.0"
+#: apply-context-iterator.cc:42
+msgid "\\applycontext argument is not a procedure"
+msgstr "el argumento de \\applycontext no es un procedimiento"
-#: music.cc:150
+#: arpeggio.cc:115
+msgid "no heads for arpeggio found?"
+msgstr "¿No se han encontrado notas para el arpegio?"
+
+#: auto-change-iterator.cc:74 change-iterator.cc:72
#, c-format
-msgid "octave check failed; expected \"%s\", found: \"%s\""
-msgstr "fallo en la comprobación de octava; se esperaba \"%s\", se ha encontrado: \"%s\""
+msgid "cannot change, already in translator: %s"
+msgstr "no se puede cambiar, ya está dentro del traductor: %s"
-#: music.cc:219
-msgid "(normalized pitch)"
-msgstr "(altura normalizada)"
+#: axis-group-engraver.cc:94
+msgid "Axis_group_engraver: vertical group already has a parent"
+msgstr "Axis_group_engraver: el grupo vertical ya tiene un ancestro"
-#: music.cc:223
-#, c-format
-msgid "Transposing %s by %s makes alteration larger than double"
-msgstr "La transposición de %s en %s produce una alteración más que doble"
+#: axis-group-engraver.cc:95
+msgid "are there two Axis_group_engravers?"
+msgstr "¿hay dos Axis_group_engravers?"
-#: stem.cc:128
-msgid "weird stem size, check for narrow beams"
-msgstr "tamaño de plica extraño, compruebe que no haya barras estrechas"
+#: axis-group-engraver.cc:96
+msgid "removing this vertical group"
+msgstr "se suprime este grupo vertical"
-#: relative-octave-check.cc:49
-msgid "Failed octave check, got: "
-msgstr "La comprobación de octaba ha fallado, se ha obtenido: "
+#: axis-group-interface.cc:668
+msgid "an outside-staff object should have a direction, defaulting to up"
+msgstr "un objeto externo a la pauta debe tener una dirección, por omisión se establece hacia arriba"
-#: translator-ctors.cc:65
+#: bar-check-iterator.cc:84
#, c-format
-msgid "unknown translator: `%s'"
-msgstr "traductor desconocido: «%s»"
+msgid "barcheck failed at: %s"
+msgstr "la comprobación de compás ha fallado en: %s"
-#: partial-iterator.cc:45
-msgid "trying to use \\partial after the start of a piece"
-msgstr "intento de utilizar \\partial después del inicio de la pieza"
+#: beam-engraver.cc:147
+msgid "already have a beam"
+msgstr "ya tiene una barra"
-#: relocate.cc:52
-#, c-format
-msgid "Setting %s to %s"
-msgstr "Se establece %s a %s"
+#: beam-engraver.cc:230
+msgid "unterminated beam"
+msgstr "barra sin terminar"
-#. this warning should only be printed in debug mode!
-#: relocate.cc:73
-#, c-format
-msgid "no such file: %s for %s"
-msgstr "no existe el archivo: %s para %s"
+#: beam-engraver.cc:266 chord-tremolo-engraver.cc:149
+msgid "stem must have Rhythmic structure"
+msgstr "la plica debe tener estructura rítmica"
-#. this warning should only be printed in debug mode!
-#. this warning should only be printed in debug mode
-#: relocate.cc:84 relocate.cc:102
-#, c-format
-msgid "no such directory: %s for %s"
-msgstr "no existe este directorio: %s para %s"
+#: beam-engraver.cc:277
+msgid "stem does not fit in beam"
+msgstr "la plica no cabe dentro de la barra"
-#: relocate.cc:93
-#, c-format
-msgid "%s=%s (prepend)\n"
-msgstr "%s=%s (prefijar)\n"
+#: beam-engraver.cc:278
+msgid "beam was started here"
+msgstr "la barra comenzó aquí"
-#: relocate.cc:124
-#, c-format
-msgid "not relocating, no %s/ or current/ found under %s"
-msgstr "no se relocaliza, no se ha encontrado %s/ ni current/ bajo %s"
+#. We are completely screwed.
+#: beam-quanting.cc:839
+msgid "no viable initial configuration found: may not find good beam slope"
+msgstr "no se ha encontrado ninguna configuración inicial viable; puede que no se encuentre una buena inclinación de las barras"
-#: relocate.cc:134
-#, c-format
-msgid "Relocation: compile datadir=%s, new datadir=%s"
-msgstr "Relocalización: en la compilación datadir=%s, el nuevo datadir=%s"
+#: beam.cc:181
+msgid "removing beam with no stems"
+msgstr "se suprime la barra sin plicas"
-#: relocate.cc:146
+#: change-iterator.cc:34
#, c-format
-msgid "Relocation: framework_prefix=%s"
-msgstr "Relocalización: framework_prefix=%s"
+msgid "cannot change `%s' to `%s'"
+msgstr "no se puede cambiar de «%s» a «%s»"
-#: relocate.cc:186
-#, c-format
-msgid "Relocation: is absolute: argv0=%s\n"
-msgstr "Relocalización: es absoluto: argv0=%s\n"
+#. FIXME: constant error message.
+#: change-iterator.cc:93
+msgid "cannot find context to switch to"
+msgstr "no se encuentra el contexto al que cambiar"
-#: relocate.cc:192
+#. We could change the current translator's id, but that would make
+#. errors hard to catch.
+#.
+#. last->translator_id_string () = get_change
+#. ()->change_to_id_string ();
+#: change-iterator.cc:102
#, c-format
-msgid "Relocation: from cwd: argv0=%s\n"
-msgstr "Relocalización: desde cwd: argv0=%s\n"
+msgid "not changing to same context type: %s"
+msgstr "no se cambia al mismo tipo de contexto: %s"
-#: relocate.cc:208
-#, c-format
-msgid ""
-"Relocation: from PATH=%s\n"
-"argv0=%s"
-msgstr ""
-"Relocalización: desde PATH=%s\n"
-"argv0=%s"
+#. FIXME: uncomprehensable message
+#: change-iterator.cc:106
+msgid "none of these in my family"
+msgstr "no hay ninguno de estos en mi familia"
-#: relocate.cc:235
-msgid "LILYPONDPREFIX is obsolete, use LILYPOND_DATADIR"
-msgstr "LILYPONDPREFIX está obsoleto, utilice LILYPOND_DATADIR"
+#: chord-tremolo-engraver.cc:88
+msgid "No tremolo to end"
+msgstr "No hay ningún tremolo hasta el final"
-#: relocate.cc:360
+#: chord-tremolo-engraver.cc:109
+msgid "unterminated chord tremolo"
+msgstr "trémolo de acorde sin terminar"
+
+#: clef.cc:65
#, c-format
-msgid "Relocation file: %s"
-msgstr "Archivo de relocalización: %s"
+msgid "clef `%s' not found"
+msgstr "no se ha encontrado la clave «%s»"
-#: relocate.cc:364 source-file.cc:65
+#: cluster.cc:120
#, c-format
-msgid "cannot open file: `%s'"
-msgstr "no se puede abrir el archivo: «%s»"
+msgid "unknown cluster style `%s'"
+msgstr "estilo de cluster (racimo) «%s» desconocido"
-#: relocate.cc:394
+#: cluster.cc:157
+msgid "junking empty cluster"
+msgstr "se recorta el racimo (cluster) vacío"
+
+#: coherent-ligature-engraver.cc:110
#, c-format
-msgid "Unknown relocation command %s"
-msgstr "instrucción de relocalización %s desconocida"
+msgid "Coherent_ligature_engraver: setting `spacing-increment=0.01': ptr=%ul"
+msgstr "Coherent_ligature_engraver: se establece `spacing-increment=0.01': ptr=%ul"
-#: extender-engraver.cc:169 extender-engraver.cc:178
-msgid "unterminated extender"
-msgstr "prolongación sin terminar"
+#. if we get to here, just put everything on one line
+#: constrained-breaking.cc:187 constrained-breaking.cc:205
+msgid "cannot find line breaking that satisfies constraints"
+msgstr "no se ecnuentra un salto de línea que cumpla las restricciones"
-#: lily-lexer.cc:255
-msgid "include files are not allowed in safe mode"
-msgstr "no se permiten los archivos de inclusión en el modo seguro"
+#: context-property.cc:43
+msgid "need symbol arguments for \\override and \\revert"
+msgstr "se necesitan argumentos de símbolo para \\override y \\revert"
-#: lily-lexer.cc:282
+#: context.cc:149
#, c-format
-msgid "identifier name is a keyword: `%s'"
-msgstr "el nombre del identificativo es una palabra clave: «%s»"
+msgid "cannot find or create new `%s'"
+msgstr "no se encuentra o no se puede crear un «%s» nuevo"
-#: lily-lexer.cc:303 lily-lexer.cc:316
+#: context.cc:207
#, c-format
-msgid "%s:EOF"
-msgstr "%s:EOF"
+msgid "cannot find or create `%s' called `%s'"
+msgstr "no se encuentra o no se puede crear «%s» llamado «%s»"
-#: ligature-engraver.cc:104 ligature-bracket-engraver.cc:72
-msgid "cannot find start of ligature"
-msgstr "no se encuentra el comienzo de la ligadura"
+#: context.cc:400
+#, c-format
+msgid "cannot find or create: `%s'"
+msgstr "no se encuentra o no se puede crear «%s»"
-#: ligature-engraver.cc:109
-msgid "no right bound"
-msgstr "no hay límite derecho"
+#: custos.cc:87
+#, c-format
+msgid "custos `%s' not found"
+msgstr "no se encuentran los custos «%s»"
-#: ligature-engraver.cc:131 ligature-bracket-engraver.cc:85
-msgid "already have a ligature"
-msgstr "ya tiene una ligadura"
+#: dispatcher.cc:83
+msgid "Event class should be a list"
+msgstr "La clase del evento debe ser una lista"
-#: ligature-engraver.cc:140
-msgid "no left bound"
-msgstr "no hay límite izquierdo"
+#: dispatcher.cc:166
+#, c-format
+msgid "Junking event: %s"
+msgstr "se elimina el evento: %s"
-# ligature...?
-#: ligature-engraver.cc:184
-msgid "unterminated ligature"
-msgstr "ligadura sin terminar"
+#: dispatcher.cc:262
+msgid "Attempting to remove nonexisting listener."
+msgstr "Tratando de eliminar un \"listener\" que no existe."
-#: ligature-engraver.cc:211
-msgid "ignoring rest: ligature may not contain rest"
-msgstr "se ignora el silencio: la ligadura no puede contener silencios"
+#: dispatcher.cc:284
+msgid "Already listening to dispatcher, ignoring request"
+msgstr "Ya se está escuchando al despachador, se ignora la solicitud"
-#: ligature-engraver.cc:212
-msgid "ligature was started here"
-msgstr "la ligadura comenzó aquí"
+#: dots.cc:48
+#, c-format
+msgid "dot `%s' not found"
+msgstr "no se encuentra el puntillo «%s»"
#: dynamic-engraver.cc:193
msgid "cannot find start of (de)crescendo"
msgid "unterminated (de)crescendo"
msgstr "(de)crescendo sin terminar"
-#. fixme: be more verbose.
-#: volta-engraver.cc:111
-msgid "cannot end volta spanner"
-msgstr "no se puede terminar el trazador de volta"
+#. No explicit dynamic script events have occurred yet, but there is
+#. nevertheless a dynamic spanner. Initialize last_volume_ to a
+#. value within the available range.
+#: dynamic-performer.cc:129
+msgid "(De)crescendo with unspecified starting volume in MIDI."
+msgstr "(De)crescendo con volumen inicial MIDI no especificado."
-#: volta-engraver.cc:121
-msgid "already have a volta spanner, ending that one prematurely"
-msgstr "ya hay un trazador de volta, se acaba éste de forma prematura"
+#: episema-engraver.cc:75
+msgid "already have an episema"
+msgstr "ya tiene un episema"
-# also...?
-#: volta-engraver.cc:125
-msgid "also already have an ended spanner"
-msgstr "ya hay un trazador finalizado"
+#: episema-engraver.cc:88
+msgid "cannot find start of episema"
+msgstr "no se encuentra el comienzo del episema"
-#: volta-engraver.cc:126
-msgid "giving up"
-msgstr "abandonando"
+#: episema-engraver.cc:137
+msgid "unterminated episema"
+msgstr "episema sin terminar"
-#: minimal-page-breaking.cc:44
-msgid "Calculating page breaks..."
-msgstr "Calculando saltos de página..."
+#: extender-engraver.cc:169 extender-engraver.cc:178
+msgid "unterminated extender"
+msgstr "prolongación sin terminar"
-#: accidental-engraver.cc:180
+#: flag.cc:113
#, c-format
-msgid "accidental typesetting list must begin with context-name: %s"
-msgstr "la lista de tippografiado de alteraciones accidentales debe comenzar con context-name: %s"
+msgid "flag `%s' not found"
+msgstr "no se encuentra el indicador «%s»"
-#: accidental-engraver.cc:210
+#: flag.cc:133
#, c-format
-msgid "procedure or context-name expected for accidental rule, found %s"
-msgstr "se esperaba un procedimiento o un nombre de contexto para la regla de alteración accidental, se ha encontrado %s"
+msgid "flag stroke `%s' not found"
+msgstr "no se encuentra la forma del glifo del corchete «%s»"
-#: ttf.cc:480 ttf.cc:528
+#: font-config-scheme.cc:151 font-config.cc:53
#, c-format
-msgid "font index %d too large for font `%s', using index 0"
-msgstr "índice de fuente tipográfica %d demasiado grande para la tipografía `%s', se usa el índice 0"
-
-#: ttf.cc:512 ttf.cc:562
-msgid "font index must be non-negative, using index 0"
-msgstr "el índice de la fuente tipográfica debe ser no negativo, se usa el índice 0"
-
-#: score.cc:172
-msgid "already have music in score"
-msgstr "ya tiene música en la partitura"
-
-#: score.cc:173
-msgid "this is the previous music"
-msgstr "esta es la música precedente"
-
-#: score.cc:178
-msgid "errors found, ignoring music expression"
-msgstr "se han encontrado errores, se ignora la expresión musical"
-
-#: multi-measure-rest.cc:138
-msgid "usable-duration-logs must be a non-empty list. Falling back to whole rests."
-msgstr "usable-duration-logs debe ser una lista no vacía. Se usan por defecto silencios de redonda."
+msgid "failed adding font directory: %s"
+msgstr "fallo al añadir la carpeta de tipografías: %s"
-#: multi-measure-rest.cc:328
-msgid "Using naive multi measure rest spacing."
-msgstr "Utilizando espaciado ingenuo de silencios multicompás."
+#: font-config-scheme.cc:153 font-config.cc:55
+#, c-format
+msgid "Adding font directory: %s"
+msgstr "Añadiendo carpeta de tipografías: %s"
-#: vaticana-ligature-engraver.cc:400
+#: font-config-scheme.cc:167
#, c-format
-msgid "ignored prefix(es) `%s' of this head according to restrictions of the selected ligature style"
-msgstr "prefijo(s) `%s' de esta cabeza ignorado(s) de acuerdo a las restricciones del estilo de ligadura seleccionado"
+msgid "failed adding font file: %s"
+msgstr "fallo al añadir el archivo de fuente tipográfica: %s"
-#: vaticana-ligature-engraver.cc:466
-msgid "Ambiguous use of dots in ligature: there are multiple dotted notes with the same pitch. The ligature should be split."
-msgstr "Uso ambiguo de puntos en la ligadura: hay más de una nota con puntillo a la misma altura. Debería dividirse la ligadura."
+#: font-config-scheme.cc:169
+#, c-format
+msgid "Adding font file: %s"
+msgstr "Añadiendo archivo de fuente tipográfica: %s"
-#: vaticana-ligature-engraver.cc:524
-msgid "This ligature has a dotted head followed by a non-dotted head. The ligature should be split after the last dotted head before this head."
-msgstr "Esta ligadura tiene una nota con puntillo seguida de una nota sin puntillo. La ligadura debería dividirse después de la última nota con puntillo y antes de esta nota."
+#: font-config.cc:38
+msgid "Initializing FontConfig..."
+msgstr "Inicializando FontConfig..."
-#: vaticana-ligature-engraver.cc:736
-#, c-format
-msgid "Vaticana_ligature_engraver: setting `spacing-increment = %f': ptr =%ul"
-msgstr "Vaticana_ligature_engraver: se establece `spacing-increment = %f': ptr =%ul"
+#: font-config.cc:58
+msgid "Building font database..."
+msgstr "Construyendo la base de datos de fuentes tipográficas..."
-#: paper-book.cc:214
-#, c-format
-msgid "program option -dprint-pages not supported by backend `%s'"
-msgstr "la opción de programa -dprint-pages no está contemplada por el backend `%s'"
+#: footnote-engraver.cc:110
+msgid "Must be footnote-event."
+msgstr "Debe ser un evento de nota al pie."
-#: paper-book.cc:233
+#: general-scheme.cc:390
#, c-format
-msgid "program option -dpreview not supported by backend `%s'"
-msgstr "la opción de programa -dpreview no está contemplada por el backend `%s'"
+msgid "failed redirecting stderr to `%s'"
+msgstr "fallo al redirigir la salida stderr a «%s»"
-#: note-collision.cc:496
-msgid "ignoring too many clashing note columns"
-msgstr "demasiadas columnas de notas que chocan entre sí; se ignoran"
+#: general-scheme.cc:469 output-ps.scm:48
+msgid "Found infinity or nan in output. Substituting 0.0"
+msgstr "Se ha encontrado Infinito o NaN en la salida. Se sustituye por 0.0"
-#: system.cc:200
-#, c-format
-msgid "Element count %d"
-msgstr "Número total de elementos %d"
+#: glissando-engraver.cc:158
+msgid "unterminated glissando"
+msgstr "glissando sin terminar"
-#: system.cc:480
-#, c-format
-msgid "Grob count %d"
-msgstr "Número de objetos gráficos: %d"
+#: global-context-scheme.cc:96 global-context-scheme.cc:114
+msgid "no music found in score"
+msgstr "no se ha encontrado música en la partitura"
-#: paper-column-engraver.cc:261
-msgid "forced break was overridden by some other event, should you be using bar checks?"
-msgstr "el salto forzado ha sido sobreestablecido por algún otro evento, ¿quizá deba usar comprobaciones de compás?"
+#: global-context-scheme.cc:104
+msgid "Interpreting music..."
+msgstr "Interpretando la música..."
-#: score-engraver.cc:78
+#: global-context-scheme.cc:126
#, c-format
-msgid "cannot find `%s'"
-msgstr "No se encuentra «%s»"
+msgid "elapsed time: %.2f seconds"
+msgstr "tiempo transcurrido: %.2f segundos"
-#: score-engraver.cc:80
-msgid "Music font has not been installed properly."
-msgstr "La tipografía de música no se ha instalado correctamente."
+#: gregorian-ligature-engraver.cc:70
+#, c-format
+msgid "\\%s ignored"
+msgstr "\\%s ignorado(s)"
-#: score-engraver.cc:82
+#: gregorian-ligature-engraver.cc:75
#, c-format
-msgid "Search path `%s'"
-msgstr "Ruta de búsqueda «%s»"
+msgid "implied \\%s added"
+msgstr "se ha añadido el \\%s implícito"
-#: score-engraver.cc:84
-msgid "Aborting"
-msgstr "Se detiene la ejecución"
+#. ligature may not start with 2nd head of pes or flexa
+#: gregorian-ligature-engraver.cc:224
+msgid "cannot apply `\\~' on first head of ligature"
+msgstr "no se puede aplicar `\\~' sobre la primera cabeza de una ligadura"
-#: apply-context-iterator.cc:42
-msgid "\\applycontext argument is not a procedure"
-msgstr "el argumento de \\applycontext no es un procedimiento"
+#. (pitch == prev_pitch)
+#: gregorian-ligature-engraver.cc:236
+msgid "cannot apply `\\~' on heads with identical pitch"
+msgstr "no se puede aplicar `\\~' sobre cabezas de idéntica altura"
-#: includable-lexer.cc:71 lily-parser-scheme.cc:108 lily-guile.cc:91
+#: grob-interface.cc:68
#, c-format
-msgid "cannot find file: `%s'"
-msgstr "no se encuentra el archivo: «%s»"
+msgid "Unknown interface `%s'"
+msgstr "interfaz desconocido «%s»"
-#: includable-lexer.cc:73 lily-parser-scheme.cc:100
+#: grob-interface.cc:79
#, c-format
-msgid "(search path: `%s')"
-msgstr "(ruta de búsqueda: «%s»)"
+msgid "Grob `%s' has no interface for property `%s'"
+msgstr "El grob «%s» no tiene interfaz para la propiedad «%s»"
+
+#: grob-property.cc:35
+#, c-format
+msgid "%d: %s"
+msgstr "%d: %s"
+
+#: hairpin.cc:60
+msgid "Asking for broken bound padding at a non-broken bound."
+msgstr "Se está solicitando un relleno de límite cortado en un límite que no está cortado."
+
+#: hairpin.cc:254
+msgid "decrescendo too small"
+msgstr "decrescendo demasiado pequeño"
#: horizontal-bracket-engraver.cc:62
msgid "do not have that many brackets"
msgid "conflicting note group events"
msgstr "eventos de grupo de notas en conflicto"
-#: note-heads-engraver.cc:76
-msgid "NoteEvent without pitch"
-msgstr "NoteEvent sin altura"
-
-#: beam.cc:181
-msgid "removing beam with no stems"
-msgstr "se suprime la barra sin plicas"
-
-#: staff-performer.cc:257
-msgid "MIDI channel wrapped around"
-msgstr "ha dado la vuelta el número de canal MIDI"
+#: hyphen-engraver.cc:104
+msgid "removing unterminated hyphen"
+msgstr "se suprime el guión separador sin terminación"
-#: staff-performer.cc:258
-msgid "remapping modulo 16"
-msgstr "se reasigna módulo 16"
+#: hyphen-engraver.cc:118
+msgid "unterminated hyphen; removing"
+msgstr "guión separador sin terminar; se suprime"
-#: slur-engraver.cc:102 phrasing-slur-engraver.cc:101
+#: includable-lexer.cc:71 lily-guile.cc:91 lily-parser-scheme.cc:108
#, c-format
-msgid "direction of %s invalid: %d"
-msgstr "dirección inválida de %s: %d"
+msgid "cannot find file: `%s'"
+msgstr "no se encuentra el archivo: «%s»"
-#: slur-engraver.cc:176
-msgid "unterminated slur"
-msgstr "ligadura de expresión sin terminar"
+#: includable-lexer.cc:73 lily-parser-scheme.cc:100
+#, c-format
+msgid "(search path: `%s')"
+msgstr "(ruta de búsqueda: «%s»)"
-#: slur-engraver.cc:211
-msgid "cannot end slur"
-msgstr "no se puede terminar la ligadura de expresión"
+#: input.cc:138 source-file.cc:178 source-file.cc:193
+msgid "position unknown"
+msgstr "posición desconocida"
-#. We already have an old slur, so give a warning
-#. and completely ignore the new slur.
-#: slur-engraver.cc:231
-msgid "already have slur"
-msgstr "ya tiene una ligadura de expresión"
+#: key-engraver.cc:198
+msgid "Incomplete keyAlterationOrder for key signature"
+msgstr "keyAlterationOrder incompleto para la armadura"
-#: dots.cc:48
+#: key-signature-interface.cc:77
#, c-format
-msgid "dot `%s' not found"
-msgstr "no se encuentra el puntillo «%s»"
-
-#. find out the ideal number of pages
-#: optimal-page-breaking.cc:62
-msgid "Finding the ideal number of pages..."
-msgstr "Buscando el número de páginas ideal..."
-
-#: optimal-page-breaking.cc:85
-msgid "could not satisfy systems-per-page and page-count at the same time, ignoring systems-per-page"
-msgstr "no se pueden satisfacer systems-per-page y page-count al mismo tiempo, se ignora systems-per-page"
+msgid "No glyph found for alteration: %s"
+msgstr "No se ha encontrado ningún glifo para la alteración: %s"
-#: optimal-page-breaking.cc:105
-msgid "Fitting music on 1 page..."
-msgstr "Disponiendo la música en una página..."
+#: key-signature-interface.cc:87
+msgid "alteration not found"
+msgstr "no se encuentra la alteración"
-#: optimal-page-breaking.cc:107
-#, c-format
-msgid "Fitting music on %d pages..."
-msgstr "Disponiendo la música en %d páginas..."
+#: ligature-bracket-engraver.cc:72 ligature-engraver.cc:104
+msgid "cannot find start of ligature"
+msgstr "no se encuentra el comienzo de la ligadura"
-#: optimal-page-breaking.cc:109
-#, c-format
-msgid "Fitting music on %d or %d pages..."
-msgstr "Disponiendo la música en %d o %d páginas..."
+#: ligature-bracket-engraver.cc:85 ligature-engraver.cc:131
+msgid "already have a ligature"
+msgstr "ya tiene una ligadura"
-#: optimal-page-breaking.cc:119 optimal-page-breaking.cc:172
-#, c-format
-msgid "trying %d systems"
-msgstr "probando %d sistemas"
+#: ligature-engraver.cc:109
+msgid "no right bound"
+msgstr "no hay límite derecho"
-#: optimal-page-breaking.cc:138 optimal-page-breaking.cc:200
-#, c-format
-msgid "best score for this sys-count: %f"
-msgstr "mejor puntuación para este número de sistemas: %f"
+#: ligature-engraver.cc:140
+msgid "no left bound"
+msgstr "no hay límite izquierdo"
-#: accidental.cc:200
-#, c-format
-msgid "Could not find glyph-name for alteration %s"
-msgstr "No se ha encontrado el nombre de glifo para la alteración %s"
+# ligature...?
+#: ligature-engraver.cc:184
+msgid "unterminated ligature"
+msgstr "ligadura sin terminar"
-#: accidental.cc:215
-msgid "natural alteration glyph not found"
-msgstr "no se encuentra el glifo del símbolo de becuadro"
+#: ligature-engraver.cc:211
+msgid "ignoring rest: ligature may not contain rest"
+msgstr "se ignora el silencio: la ligadura no puede contener silencios"
-#: context-property.cc:43
-msgid "need symbol arguments for \\override and \\revert"
-msgstr "se necesitan argumentos de símbolo para \\override y \\revert"
+#: ligature-engraver.cc:212
+msgid "ligature was started here"
+msgstr "la ligadura comenzó aquí"
-#: font-config-scheme.cc:151 font-config.cc:53
+#: lily-guile.cc:93
#, c-format
-msgid "failed adding font directory: %s"
-msgstr "fallo al añadir la carpeta de tipografías: %s"
+msgid "(load path: `%s')"
+msgstr "(ruta de carga: «%s»)"
-#: font-config-scheme.cc:153 font-config.cc:55
+#: lily-guile.cc:416
#, c-format
-msgid "Adding font directory: %s"
-msgstr "Añadiendo carpeta de tipografías: %s"
+msgid "cannot find property type-check for `%s' (%s)."
+msgstr "no se encuentra la comprobación de tipo de propiedad para «%s» (%s)."
-#: font-config-scheme.cc:167
-#, c-format
-msgid "failed adding font file: %s"
-msgstr "fallo al añadir el archivo de fuente tipográfica: %s"
+#: lily-guile.cc:419
+msgid "perhaps a typing error?"
+msgstr "¿quizá es un error de tecleo?"
-#: font-config-scheme.cc:169
-#, c-format
-msgid "Adding font file: %s"
-msgstr "Añadiendo archivo de fuente tipográfica: %s"
+#: lily-guile.cc:426
+msgid "doing assignment anyway"
+msgstr "se hace la asignación de todas formas"
-#: hairpin.cc:61
-msgid "Asking for broken bound padding at a non-broken bound."
-msgstr "Se está solicitando un relleno de límite cortado en un límite que no está cortado."
+#: lily-guile.cc:438
+#, c-format
+msgid "type check for `%s' failed; value `%s' must be of type `%s'"
+msgstr "ha fallado la comprobación de tipo para «%s»; el valor «%s» debe ser del tipo «%s»"
-#: hairpin.cc:254
-msgid "decrescendo too small"
-msgstr "decrescendo demasiado pequeño"
+#: lily-lexer.cc:255
+msgid "include files are not allowed in safe mode"
+msgstr "no se permiten los archivos de inclusión en el modo seguro"
-#: open-type-font.cc:44
+#: lily-lexer.cc:282
#, c-format
-msgid "cannot allocate %lu bytes"
-msgstr "no se peuden reservar %lu bytes"
+msgid "identifier name is a keyword: `%s'"
+msgstr "el nombre del identificativo es una palabra clave: «%s»"
-#: open-type-font.cc:48
+#: lily-lexer.cc:303 lily-lexer.cc:316
#, c-format
-msgid "cannot load font table: %s"
-msgstr "no se puede cargar la tabla de tipografías: %s"
+msgid "%s:EOF"
+msgstr "%s:EOF"
-#: open-type-font.cc:53
+#: lily-parser-scheme.cc:80
#, c-format
-msgid "FreeType error: %s"
-msgstr "error de FreeType: %s"
+msgid "Changing working directory to: `%s'"
+msgstr "Se cambia el directorio de trabajo a: «%s»"
-#: open-type-font.cc:110
+#: lily-parser-scheme.cc:84
#, c-format
-msgid "unsupported font format: %s"
-msgstr "formato de tipografía %s no soportado"
+msgid "unable to change directory to: `%s'"
+msgstr "no se ha podido cambiar el directorio de trabajo a: «%s»"
-#: open-type-font.cc:112
+#: lily-parser-scheme.cc:99
#, c-format
-msgid "error reading font file %s: %s"
-msgstr "error al leer la tipografía %s: %s"
+msgid "cannot find init file: `%s'"
+msgstr "no se encuentra el archivo de inicio: «%s»"
-#: open-type-font.cc:187
+#: lily-parser-scheme.cc:117
#, c-format
-msgid "FT_Get_Glyph_Name () Freetype error: %s"
-msgstr "error de Freetype en FT_Get_Glyph_Name (): %s"
+msgid "Processing `%s'"
+msgstr "Procesando «%s»"
-#: open-type-font.cc:318 pango-font.cc:189
+#: lily-parser-scheme.cc:208
+msgid "ly:parser-parse-string is only valid with a new parser. Use ly:parser-include-string instead."
+msgstr "ly:parser-parse-string sólo es válido con un analizador nuevo. Use en su lugar ly:parser-include-string."
+
+#: lily-parser-scheme.cc:239
+msgid "ly:parse-string-expression is only valid with a new parser. Use ly:parser-include-string instead."
+msgstr "ly:parse-string-expression sólo es válido con un analizador nuevo. Use en su lugar ly:parser-include-string."
+
+#: lily-parser.cc:109
+msgid "Parsing..."
+msgstr "Analizando..."
+
+#: line-spanner.cc:373
+msgid "Line spanner's left point is to the right of its right point."
+msgstr "El extremo izquierdo de la línea extensa está a la derecha del extremo derecho."
+
+#: lyric-combine-music-iterator.cc:199
+msgid "argument of \\lyricsto should contain Lyrics context"
+msgstr "El argumento de \\lyricsto debe contener un contexto Lyrics"
+
+#: lyric-combine-music-iterator.cc:337
#, c-format
-msgid "FT_Get_Glyph_Name () error: %s"
-msgstr "error en FT_Get_Glyph_Name (): %s"
+msgid "cannot find Voice `%s'"
+msgstr "no se encuentra la Voz «%s»"
+
+#: lyric-engraver.cc:186
+msgid "Lyric syllable does not have note. Use \\lyricsto or associatedVoice."
+msgstr "La sílaba de la letra no tiene nota. Utilice \\lyricsto o associatedVoice."
#: main.cc:101
#, c-format
msgid "For more information, see %s"
msgstr "Para ver más información, consulte %s"
-#: main.cc:277
-msgid "Options:"
-msgstr "Opciones:"
+#: main.cc:277
+msgid "Options:"
+msgstr "Opciones:"
+
+#: main.cc:331
+#, c-format
+msgid "expected %d arguments with jail, found: %u"
+msgstr "se esperaban %d argumentos con la jaula, se han encontrado: %u"
+
+#: main.cc:345
+#, c-format
+msgid "no such user: %s"
+msgstr "no existe el usuario %s"
+
+#: main.cc:347
+#, c-format
+msgid "cannot get user id from user name: %s: %s"
+msgstr "no se puede obtener el identificador de usuario a partir del nombre: %s: %s"
+
+#: main.cc:362
+#, c-format
+msgid "no such group: %s"
+msgstr "no existe este grupo: %s"
+
+#: main.cc:364
+#, c-format
+msgid "cannot get group id from group name: %s: %s"
+msgstr "no se puede obtener el id de grupo a partir del nombre: %s: %s"
+
+#: main.cc:372
+#, c-format
+msgid "cannot chroot to: %s: %s"
+msgstr "no se puede hacer chroot a: %s: %s"
+
+#: main.cc:379
+#, c-format
+msgid "cannot change group id to: %d: %s"
+msgstr "no se puede cambiar el grupo del usuario a %d: %s"
+
+#: main.cc:385
+#, c-format
+msgid "cannot change user id to: %d: %s"
+msgstr "no se puede cambiar el identificador de usuario a %d: %s"
+
+#: main.cc:391
+#, c-format
+msgid "cannot change working directory to: %s: %s"
+msgstr "no se puede cambiar el directorio de trabajo a: %s: %s"
+
+#: main.cc:639
+#, c-format
+msgid "exception caught: %s"
+msgstr "se ha capturado una excepción: %s"
+
+#. FIXME: constant error message.
+#: mark-engraver.cc:156
+msgid "rehearsalMark must have integer value"
+msgstr "rehearsalMark debe tener un valor entero"
+
+#: mark-engraver.cc:162
+msgid "mark label must be a markup object"
+msgstr "la etiqueta de marcado debe ser un objeto de marcado"
+
+#: mensural-ligature-engraver.cc:96
+msgid "ligature with less than 2 heads -> skipping"
+msgstr "ligadura con menos de dos cabezas; se salta"
+
+#: mensural-ligature-engraver.cc:123
+msgid "cannot determine pitch of ligature primitive -> skipping"
+msgstr "no se puede determinar la altura de la primitiva de ligadura; se salta"
+
+#: mensural-ligature-engraver.cc:137
+msgid "single note ligature - skipping"
+msgstr "ligadura de una nota; se salta"
+
+#: mensural-ligature-engraver.cc:148
+msgid "prime interval within ligature -> skipping"
+msgstr "intervalo primo dentro de una ligadura; se salta"
+
+#: mensural-ligature-engraver.cc:159
+msgid "mensural ligature: duration none of Mx, L, B, S -> skipping"
+msgstr "ligadura mensural: la duración no es Mx, L, B ni S; se salta"
+
+#: mensural-ligature-engraver.cc:202
+msgid "semibrevis must be followed by another one -> skipping"
+msgstr "la semibreve debe ir seguida por otra -> se salta"
+
+#: mensural-ligature-engraver.cc:212
+msgid ""
+"semibreves can only appear at the beginning of a ligature,\n"
+"and there may be only zero or two of them"
+msgstr ""
+"las semibreves sólo pueden aparecer al principio de una ligadura,\n"
+"y sólo puede haber dos o ninguna"
+
+#: mensural-ligature-engraver.cc:232
+msgid ""
+"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"
+msgstr ""
+"finalización inválida de la ligadura:\n"
+"cuando la última nota es una breve descendente,\n"
+"la penúltima nota debe ser otra breve,\n"
+"o la ligadura debe ser LB o SSB"
+
+#: mensural-ligature-engraver.cc:387
+msgid "unexpected case fall-through"
+msgstr "opción de caso por defecto inesperada"
+
+#: midi-item.cc:89
+#, c-format
+msgid "no such MIDI instrument: `%s'"
+msgstr "no existe este instrumento MIDI: «%s»"
+
+#: midi-item.cc:161
+msgid "Time signature with more than 255 beats. Truncating"
+msgstr "Indicación de compás con más de 255 partes. Se recorta."
+
+#: midi-stream.cc:39
+#, c-format
+msgid "cannot open for write: %s: %s"
+msgstr "no se puede abrir el archivo en modo de escritura: %s: %s"
+
+#: midi-stream.cc:55
+#, c-format
+msgid "cannot write to file: `%s'"
+msgstr "no se puede escribir el archivo: «%s»"
+
+#: minimal-page-breaking.cc:40 paper-score.cc:122
+msgid "Calculating line breaks..."
+msgstr "Calculando los saltos de línea..."
+
+#: minimal-page-breaking.cc:44
+msgid "Calculating page breaks..."
+msgstr "Calculando saltos de página..."
+
+#: multi-measure-rest.cc:138
+msgid "usable-duration-logs must be a non-empty list. Falling back to whole rests."
+msgstr "usable-duration-logs debe ser una lista no vacía. Se usan por defecto silencios de redonda."
+
+#: multi-measure-rest.cc:328
+msgid "Using naive multi measure rest spacing."
+msgstr "Utilizando espaciado ingenuo de silencios multicompás."
+
+#: music.cc:150
+#, c-format
+msgid "octave check failed; expected \"%s\", found: \"%s\""
+msgstr "fallo en la comprobación de octava; se esperaba \"%s\", se ha encontrado: \"%s\""
+
+#: music.cc:219
+msgid "(normalized pitch)"
+msgstr "(altura normalizada)"
+
+#: music.cc:223
+#, c-format
+msgid "Transposing %s by %s makes alteration larger than double"
+msgstr "La transposición de %s en %s produce una alteración más que doble"
+
+#: new-dynamic-engraver.cc:168
+#, c-format
+msgid ""
+"unknown crescendo style: %s\n"
+"defaulting to hairpin."
+msgstr ""
+"estilo de crescendo desconocido: %s\n"
+"se toma regulador como predeterminado."
+
+#: new-dynamic-engraver.cc:233
+#, c-format
+msgid "unterminated %s"
+msgstr "%s sin terminar"
+
+#: new-fingering-engraver.cc:113
+msgid "cannot add text scripts to individual note heads"
+msgstr "no se pueden añadir guiones de texto a cabezas de nota individuales"
+
+#: new-fingering-engraver.cc:269
+msgid "no placement found for fingerings"
+msgstr "no se ha encontrado ninguna ubicación válida para las digitaciones"
+
+#: new-fingering-engraver.cc:270
+msgid "placing below"
+msgstr "se coloca debajo"
+
+#: note-collision.cc:496
+msgid "ignoring too many clashing note columns"
+msgstr "demasiadas columnas de notas que chocan entre sí; se ignoran"
+
+#: note-column.cc:147
+msgid "cannot have note heads and rests together on a stem"
+msgstr "no se pueden tener cabezas de nota y silencios en la misma plica"
+
+#: note-head.cc:95
+#, c-format
+msgid "none of note heads `%s' or `%s' found"
+msgstr "no se encuentran las cabezas de nota «%s» ni «%s»"
+
+#: note-heads-engraver.cc:76
+msgid "NoteEvent without pitch"
+msgstr "NoteEvent sin altura"
+
+#: open-type-font.cc:44
+#, c-format
+msgid "cannot allocate %lu bytes"
+msgstr "no se peuden reservar %lu bytes"
+
+#: open-type-font.cc:48
+#, c-format
+msgid "cannot load font table: %s"
+msgstr "no se puede cargar la tabla de tipografías: %s"
-#: main.cc:331
+#: open-type-font.cc:53
#, c-format
-msgid "expected %d arguments with jail, found: %u"
-msgstr "se esperaban %d argumentos con la jaula, se han encontrado: %u"
+msgid "FreeType error: %s"
+msgstr "error de FreeType: %s"
-#: main.cc:345
+#: open-type-font.cc:110
#, c-format
-msgid "no such user: %s"
-msgstr "no existe el usuario %s"
+msgid "unsupported font format: %s"
+msgstr "formato de tipografía %s no soportado"
-#: main.cc:347
+#: open-type-font.cc:112
#, c-format
-msgid "cannot get user id from user name: %s: %s"
-msgstr "no se puede obtener el identificador de usuario a partir del nombre: %s: %s"
+msgid "error reading font file %s: %s"
+msgstr "error al leer la tipografía %s: %s"
-#: main.cc:362
+#: open-type-font.cc:187
#, c-format
-msgid "no such group: %s"
-msgstr "no existe este grupo: %s"
+msgid "FT_Get_Glyph_Name () Freetype error: %s"
+msgstr "error de Freetype en FT_Get_Glyph_Name (): %s"
-#: main.cc:364
+#: open-type-font.cc:318 pango-font.cc:189
#, c-format
-msgid "cannot get group id from group name: %s: %s"
-msgstr "no se puede obtener el id de grupo a partir del nombre: %s: %s"
+msgid "FT_Get_Glyph_Name () error: %s"
+msgstr "error en FT_Get_Glyph_Name (): %s"
-#: main.cc:372
+#. find out the ideal number of pages
+#: optimal-page-breaking.cc:62
+msgid "Finding the ideal number of pages..."
+msgstr "Buscando el número de páginas ideal..."
+
+#: optimal-page-breaking.cc:85
+msgid "could not satisfy systems-per-page and page-count at the same time, ignoring systems-per-page"
+msgstr "no se pueden satisfacer systems-per-page y page-count al mismo tiempo, se ignora systems-per-page"
+
+#: optimal-page-breaking.cc:105
+msgid "Fitting music on 1 page..."
+msgstr "Disponiendo la música en una página..."
+
+#: optimal-page-breaking.cc:107
#, c-format
-msgid "cannot chroot to: %s: %s"
-msgstr "no se puede hacer chroot a: %s: %s"
+msgid "Fitting music on %d pages..."
+msgstr "Disponiendo la música en %d páginas..."
-#: main.cc:379
+#: optimal-page-breaking.cc:109
#, c-format
-msgid "cannot change group id to: %d: %s"
-msgstr "no se puede cambiar el grupo del usuario a %d: %s"
+msgid "Fitting music on %d or %d pages..."
+msgstr "Disponiendo la música en %d o %d páginas..."
-#: main.cc:385
+#: optimal-page-breaking.cc:119 optimal-page-breaking.cc:172
#, c-format
-msgid "cannot change user id to: %d: %s"
-msgstr "no se puede cambiar el identificador de usuario a %d: %s"
+msgid "trying %d systems"
+msgstr "probando %d sistemas"
-#: main.cc:391
+#: optimal-page-breaking.cc:138 optimal-page-breaking.cc:200
#, c-format
-msgid "cannot change working directory to: %s: %s"
-msgstr "no se puede cambiar el directorio de trabajo a: %s: %s"
+msgid "best score for this sys-count: %f"
+msgstr "mejor puntuación para este número de sistemas: %f"
-#: main.cc:639
+#: optimal-page-breaking.cc:207 page-turn-page-breaking.cc:248
+#: paper-score.cc:162
+msgid "Drawing systems..."
+msgstr "Dibujando los sistemas..."
+
+#: output-def.cc:235
+msgid "margins do not fit with line-width, setting default values"
+msgstr "los márgenes no caben en este ancho de línea, fijando valores predeterminados"
+
+#: output-def.cc:242
+msgid "systems run off the page due to improper paper settings, setting default values"
+msgstr "los sistemas se salen de la página a causa de unos ajustes del papel inadecuados, fijando valores predeterminados"
+
+#: page-breaking.cc:277
+msgid "ignoring min-systems-per-page and max-systems-per-page because systems-per-page was set"
+msgstr "se ignoran min-systems-per-page y max-systems-per-page debido a que se fijó systems-per-page"
+
+#: page-breaking.cc:282
+msgid "min-systems-per-page is larger than max-systems-per-page, ignoring both values"
+msgstr "min-systems-per-page es mayor que max-systems-per-page, se ignoran los dos valores"
+
+#: page-layout-problem.cc:403
+msgid "A page layout problem has been initiated that cannot accommodate footnotes."
+msgstr "Ha tenido lugar problema de disposición de página que no puede acomodar notas al pie."
+
+#: page-layout-problem.cc:732
+msgid "cannot fit music on page: ragged-spacing was requested, but page was compressed"
+msgstr "la música no cabe en la página: se ha solicitado la no justificación del espaciado, pero la página ha resultado comprimida"
+
+#: page-layout-problem.cc:735
#, c-format
-msgid "exception caught: %s"
-msgstr "se ha capturado una excepción: %s"
+msgid "cannot fit music on page: overflow is %f"
+msgstr "la música no cabe en la página: el exceso es %f"
+
+#: page-layout-problem.cc:737
+msgid "compressing music to fit"
+msgstr "comprimiendo la música para que quepa"
+
+#: page-layout-problem.cc:1197
+msgid "staff-affinities should only decrease"
+msgstr "staff-affinities solo debe disminuir"
#: page-turn-page-breaking.cc:168
#, c-format
msgid "\tprevious break: %d"
msgstr "\tsalto anterior: %d"
-#: midi-item.cc:89
-#, c-format
-msgid "no such MIDI instrument: `%s'"
-msgstr "no existe este instrumento MIDI: «%s»"
-
-#: midi-item.cc:161
-msgid "Time signature with more than 255 beats. Truncating"
-msgstr "Indicación de compás con más de 255 partes. Se recorta."
-
-#: stem-engraver.cc:110
-msgid "tremolo duration is too long"
-msgstr "la duración del trémolo es demasiado larga"
-
-#: stem-engraver.cc:162
-#, c-format
-msgid "adding note head to incompatible stem (type = %d/%d)"
-msgstr "añadiendo cabeza de nota a una plica incompatible (tipo = %d/%d)"
-
-#: stem-engraver.cc:165
-msgid "maybe input should specify polyphonic voices"
-msgstr "quizá la entrada debiera especificar voces polifónicas"
-
-#: translator.cc:326
-#, c-format
-msgid "Two simultaneous %s events, junking this one"
-msgstr "Dos eventos %s simultáneos, se recorta éste"
-
-#: translator.cc:327
-#, c-format
-msgid "Previous %s event here"
-msgstr "El evento %s previo está aquí"
-
-#: glissando-engraver.cc:158
-msgid "unterminated glissando"
-msgstr "glissando sin terminar"
-
-#: skyline-pair.cc:131
-msgid "direction must not be CENTER in ly:skyline-pair::skyline"
-msgstr "la dirección no puede ser CENTER en ly:skyline-pair::skyline"
-
-#: beam-engraver.cc:147
-msgid "already have a beam"
-msgstr "ya tiene una barra"
-
-#: beam-engraver.cc:230
-msgid "unterminated beam"
-msgstr "barra sin terminar"
-
-#: beam-engraver.cc:277
-msgid "stem does not fit in beam"
-msgstr "la plica no cabe dentro de la barra"
-
-#: beam-engraver.cc:278
-msgid "beam was started here"
-msgstr "la barra comenzó aquí"
-
-#: key-engraver.cc:199
-msgid "Incomplete keyAlterationOrder for key signature"
-msgstr "keyAlterationOrder incompleto para la armadura"
-
-#.
-#. Todo: should make typecheck?
-#.
-#. OTOH, Tristan Keuris writes 8/20 in his Intermezzi.
-#.
-#: time-signature-engraver.cc:75
+#: pango-font.cc:205
#, c-format
-msgid "strange time signature found: %d/%d"
-msgstr "se ha encontrado una indicación extraña de compás: %d/%d"
+msgid ""
+"Glyph has no name, but font supports glyph naming.\n"
+"Skipping glyph U+%0X, file %s"
+msgstr ""
+"El glifo no tiene nombre, pero la tipografía soporta nombres de glifo.\n"
+"Se salta el glifo U+%0X, archivo %s"
-#: lily-parser-scheme.cc:80
+#: pango-font.cc:242
#, c-format
-msgid "Changing working directory to: `%s'"
-msgstr "Se cambia el directorio de trabajo a: «%s»"
+msgid "no PostScript font name for font `%s'"
+msgstr "no hay un nombre de tipografía PostScript para «%s»"
-#: lily-parser-scheme.cc:84
-#, c-format
-msgid "unable to change directory to: `%s'"
-msgstr "no se ha podido cambiar el directorio de trabajo a: «%s»"
+#: pango-font.cc:291
+msgid "FreeType face has no PostScript font name"
+msgstr "El tipo FreeType no tiene un nombre de tipografía PostScript"
-#: lily-parser-scheme.cc:99
+#: paper-book.cc:214
#, c-format
-msgid "cannot find init file: `%s'"
-msgstr "no se encuentra el archivo de inicio: «%s»"
+msgid "program option -dprint-pages not supported by backend `%s'"
+msgstr "la opción de programa -dprint-pages no está contemplada por el backend `%s'"
-#: lily-parser-scheme.cc:117
+#: paper-book.cc:233
#, c-format
-msgid "Processing `%s'"
-msgstr "Procesando «%s»"
-
-#: lily-parser-scheme.cc:208
-msgid "ly:parser-parse-string is only valid with a new parser. Use ly:parser-include-string instead."
-msgstr "ly:parser-parse-string sólo es válido con un analizador nuevo. Use en su lugar ly:parser-include-string."
-
-#: lily-parser-scheme.cc:239
-msgid "ly:parse-string-expression is only valid with a new parser. Use ly:parser-include-string instead."
-msgstr "ly:parse-string-expression sólo es válido con un analizador nuevo. Use en su lugar ly:parser-include-string."
-
-#. We are completely screwed.
-#: beam-quanting.cc:839
-msgid "no viable initial configuration found: may not find good beam slope"
-msgstr "no se ha encontrado ninguna configuración inicial viable; puede que no se encuentre una buena inclinación de las barras"
+msgid "program option -dpreview not supported by backend `%s'"
+msgstr "la opción de programa -dpreview no está contemplada por el backend `%s'"
-#: lily-guile.cc:93
-#, c-format
-msgid "(load path: `%s')"
-msgstr "(ruta de carga: «%s»)"
+#: paper-column-engraver.cc:261
+msgid "forced break was overridden by some other event, should you be using bar checks?"
+msgstr "el salto forzado ha sido sobreestablecido por algún otro evento, ¿quizá deba usar comprobaciones de compás?"
-#: lily-guile.cc:416
+#: paper-outputter-scheme.cc:41
#, c-format
-msgid "cannot find property type-check for `%s' (%s)."
-msgstr "no se encuentra la comprobación de tipo de propiedad para «%s» (%s)."
-
-#: lily-guile.cc:419
-msgid "perhaps a typing error?"
-msgstr "¿quizá es un error de tecleo?"
-
-#: lily-guile.cc:426
-msgid "doing assignment anyway"
-msgstr "se hace la asignación de todas formas"
+msgid "Layout output to `%s'..."
+msgstr "Salida de la página hacia «%s»..."
-#: lily-guile.cc:438
+#: paper-score.cc:134
#, c-format
-msgid "type check for `%s' failed; value `%s' must be of type `%s'"
-msgstr "ha fallado la comprobación de tipo para «%s»; el valor «%s» debe ser del tipo «%s»"
-
-#: rest-collision.cc:146
-msgid "cannot resolve rest collision: rest direction not set"
-msgstr "no se puede resolver la colisión de los silencios: la dirección de los silencios no se ha establecido"
-
-#: rest-collision.cc:158 rest-collision.cc:267
-msgid "too many colliding rests"
-msgstr "demasiados silencios en colisión"
+msgid "Element count %d (spanners %d) "
+msgstr "Cantidad de elementos: %d (trazadores: %d)"
-#: episema-engraver.cc:75
-msgid "already have an episema"
-msgstr "ya tiene un episema"
+#: paper-score.cc:138
+msgid "Preprocessing graphical objects..."
+msgstr "Preprocesando los objetos gráficos..."
-#: episema-engraver.cc:88
-msgid "cannot find start of episema"
-msgstr "no se encuentra el comienzo del episema"
+#: parse-scm.cc:121
+msgid "GUILE signaled an error for the expression beginning here"
+msgstr "GUILE ha señalado un error para la expresión que comienza aquí"
-#: episema-engraver.cc:137
-msgid "unterminated episema"
-msgstr "episema sin terminar"
+#: partial-iterator.cc:45
+msgid "trying to use \\partial after the start of a piece"
+msgstr "intento de utilizar \\partial después del inicio de la pieza"
-#: rest.cc:192
+#: pdf-scheme.cc:50
#, c-format
-msgid "rest `%s' not found"
-msgstr "no se ha encontrado el silencio «%s»"
+msgid "Conversion of string `%s' to UTF-16be failed: %s"
+msgstr "La conversión de la cadena `%s' a UTF-16be ha fallado: %s"
-#: pango-font.cc:205
-#, c-format
-msgid ""
-"Glyph has no name, but font supports glyph naming.\n"
-"Skipping glyph U+%0X, file %s"
-msgstr ""
-"El glifo no tiene nombre, pero la tipografía soporta nombres de glifo.\n"
-"Se salta el glifo U+%0X, archivo %s"
+#: percent-repeat-engraver.cc:147
+msgid "unterminated percent repeat"
+msgstr "repetición de porcentaje sin terminar"
-#: pango-font.cc:242
+#: performance.cc:54
+msgid "Track..."
+msgstr "Pista..."
+
+#: performance.cc:82
#, c-format
-msgid "no PostScript font name for font `%s'"
-msgstr "no hay un nombre de tipografía PostScript para «%s»"
+msgid "MIDI output to `%s'..."
+msgstr "Salida MIDI hacia «%s»..."
-#: pango-font.cc:291
-msgid "FreeType face has no PostScript font name"
-msgstr "El tipo FreeType no tiene un nombre de tipografía PostScript"
+#: phrasing-slur-engraver.cc:101 slur-engraver.cc:102
+#, c-format
+msgid "direction of %s invalid: %d"
+msgstr "dirección inválida de %s: %d"
#: phrasing-slur-engraver.cc:175
msgid "unterminated phrasing slur"
msgid "already have phrasing slur"
msgstr "ya tiene una ligadura de fraseo"
-#: lyric-engraver.cc:186
-msgid "Lyric syllable does not have note. Use \\lyricsto or associatedVoice."
-msgstr "La sílaba de la letra no tiene nota. Utilice \\lyricsto o associatedVoice."
-
-#: page-breaking.cc:277
-msgid "ignoring min-systems-per-page and max-systems-per-page because systems-per-page was set"
-msgstr "se ignoran min-systems-per-page y max-systems-per-page debido a que se fijó systems-per-page"
+#: piano-pedal-engraver.cc:279
+#, c-format
+msgid "expect 3 strings for piano pedals, found: %ld"
+msgstr "se eseperaban 3 cadenas para los pedales de piano, se han encontrado: %ld"
-#: page-breaking.cc:282
-msgid "min-systems-per-page is larger than max-systems-per-page, ignoring both values"
-msgstr "min-systems-per-page es mayor que max-systems-per-page, se ignoran los dos valores"
+#: piano-pedal-engraver.cc:294 piano-pedal-engraver.cc:305
+#: piano-pedal-performer.cc:104
+#, c-format
+msgid "cannot find start of piano pedal: `%s'"
+msgstr "no se encuentra el comienzo del pedal de piano «%s»"
-#: paper-outputter-scheme.cc:41
+#: piano-pedal-engraver.cc:340
#, c-format
-msgid "Layout output to `%s'..."
-msgstr "Salida de la página hacia «%s»..."
+msgid "cannot find start of piano pedal bracket: `%s'"
+msgstr "no se encuentra el comienzo del corchete de pedal de piano «%s»"
-#: performance.cc:54
-msgid "Track..."
-msgstr "Pista..."
+#: program-option-scheme.cc:235
+#, c-format
+msgid "no such internal option: %s"
+msgstr "no existe la opción interna %s"
-#: performance.cc:82
+#: property-iterator.cc:93
#, c-format
-msgid "MIDI output to `%s'..."
-msgstr "Salida MIDI hacia «%s»..."
+msgid "not a grob name, `%s'"
+msgstr "no es un nombre de objeto gráfico: «%s»"
-#: tuplet-engraver.cc:110
-msgid "No tuplet to end"
-msgstr "no hay ningún grupo especial que terminar"
+#: relative-octave-check.cc:49
+msgid "Failed octave check, got: "
+msgstr "La comprobación de octaba ha fallado, se ha obtenido: "
-#: gregorian-ligature-engraver.cc:70
+#: relocate.cc:52
#, c-format
-msgid "\\%s ignored"
-msgstr "\\%s ignorado(s)"
+msgid "Setting %s to %s"
+msgstr "Se establece %s a %s"
-#: gregorian-ligature-engraver.cc:75
+#. this warning should only be printed in debug mode!
+#: relocate.cc:73
#, c-format
-msgid "implied \\%s added"
-msgstr "se ha añadido el \\%s implícito"
-
-#. ligature may not start with 2nd head of pes or flexa
-#: gregorian-ligature-engraver.cc:224
-msgid "cannot apply `\\~' on first head of ligature"
-msgstr "no se puede aplicar `\\~' sobre la primera cabeza de una ligadura"
+msgid "no such file: %s for %s"
+msgstr "no existe el archivo: %s para %s"
-#. (pitch == prev_pitch)
-#: gregorian-ligature-engraver.cc:236
-msgid "cannot apply `\\~' on heads with identical pitch"
-msgstr "no se puede aplicar `\\~' sobre cabezas de idéntica altura"
+#. this warning should only be printed in debug mode!
+#. this warning should only be printed in debug mode
+#: relocate.cc:84 relocate.cc:102
+#, c-format
+msgid "no such directory: %s for %s"
+msgstr "no existe este directorio: %s para %s"
-#: key-signature-interface.cc:77
+#: relocate.cc:93
#, c-format
-msgid "No glyph found for alteration: %s"
-msgstr "No se ha encontrado ningún glifo para la alteración: %s"
+msgid "%s=%s (prepend)\n"
+msgstr "%s=%s (prefijar)\n"
-#: key-signature-interface.cc:87
-msgid "alteration not found"
-msgstr "no se encuentra la alteración"
+#: relocate.cc:124
+#, c-format
+msgid "not relocating, no %s/ or current/ found under %s"
+msgstr "no se relocaliza, no se ha encontrado %s/ ni current/ bajo %s"
-#: source-file.cc:85
+#: relocate.cc:134
#, c-format
-msgid "expected to read %d characters, got %d"
-msgstr "se esperaba leer %d caracteres, se han obtenido %d"
+msgid "Relocation: compile datadir=%s, new datadir=%s"
+msgstr "Relocalización: en la compilación datadir=%s, el nuevo datadir=%s"
-#: axis-group-engraver.cc:94
-msgid "Axis_group_engraver: vertical group already has a parent"
-msgstr "Axis_group_engraver: el grupo vertical ya tiene un ancestro"
+#: relocate.cc:146
+#, c-format
+msgid "Relocation: framework_prefix=%s"
+msgstr "Relocalización: framework_prefix=%s"
-#: axis-group-engraver.cc:95
-msgid "are there two Axis_group_engravers?"
-msgstr "¿hay dos Axis_group_engravers?"
+#: relocate.cc:186
+#, c-format
+msgid "Relocation: is absolute: argv0=%s\n"
+msgstr "Relocalización: es absoluto: argv0=%s\n"
-#: axis-group-engraver.cc:96
-msgid "removing this vertical group"
-msgstr "se suprime este grupo vertical"
+#: relocate.cc:192
+#, c-format
+msgid "Relocation: from cwd: argv0=%s\n"
+msgstr "Relocalización: desde cwd: argv0=%s\n"
-#: cluster.cc:120
+#: relocate.cc:208
#, c-format
-msgid "unknown cluster style `%s'"
-msgstr "estilo de cluster (racimo) «%s» desconocido"
+msgid ""
+"Relocation: from PATH=%s\n"
+"argv0=%s"
+msgstr ""
+"Relocalización: desde PATH=%s\n"
+"argv0=%s"
-#: cluster.cc:157
-msgid "junking empty cluster"
-msgstr "se recorta el racimo (cluster) vacío"
+#: relocate.cc:235
+msgid "LILYPONDPREFIX is obsolete, use LILYPOND_DATADIR"
+msgstr "LILYPONDPREFIX está obsoleto, utilice LILYPOND_DATADIR"
-#: global-context-scheme.cc:96 global-context-scheme.cc:114
-msgid "no music found in score"
-msgstr "no se ha encontrado música en la partitura"
+#: relocate.cc:360
+#, c-format
+msgid "Relocation file: %s"
+msgstr "Archivo de relocalización: %s"
-#: global-context-scheme.cc:104
-msgid "Interpreting music..."
-msgstr "Interpretando la música..."
+#: relocate.cc:364 source-file.cc:65
+#, c-format
+msgid "cannot open file: `%s'"
+msgstr "no se puede abrir el archivo: «%s»"
-#: global-context-scheme.cc:126
+#: relocate.cc:394
#, c-format
-msgid "elapsed time: %.2f seconds"
-msgstr "tiempo transcurrido: %.2f segundos"
+msgid "Unknown relocation command %s"
+msgstr "instrucción de relocalización %s desconocida"
-#: output-def.cc:235
-msgid "margins do not fit with line-width, setting default values"
-msgstr "los márgenes no caben en este ancho de línea, fijando valores predeterminados"
+#: rest-collision-engraver.cc:70
+msgid "rhythmic head is not part of a rhythmic column"
+msgstr "la cabeza rítmica no es parte de una columna rítmica"
-#: output-def.cc:242
-msgid "systems run off the page due to improper paper settings, setting default values"
-msgstr "los sistemas se salen de la página a causa de unos ajustes del papel inadecuados, fijando valores predeterminados"
+#: rest-collision.cc:146
+msgid "cannot resolve rest collision: rest direction not set"
+msgstr "no se puede resolver la colisión de los silencios: la dirección de los silencios no se ha establecido"
-#: axis-group-interface.cc:668
-msgid "an outside-staff object should have a direction, defaulting to up"
-msgstr "un objeto externo a la pauta debe tener una dirección, por omisión se establece hacia arriba"
+#: rest-collision.cc:157 rest-collision.cc:266
+msgid "too many colliding rests"
+msgstr "demasiados silencios en colisión"
-#: coherent-ligature-engraver.cc:110
+#: rest.cc:192
#, c-format
-msgid "Coherent_ligature_engraver: setting `spacing-increment=0.01': ptr=%ul"
-msgstr "Coherent_ligature_engraver: se establece `spacing-increment=0.01': ptr=%ul"
+msgid "rest `%s' not found"
+msgstr "no se ha encontrado el silencio «%s»"
-#: percent-repeat-engraver.cc:147
-msgid "unterminated percent repeat"
-msgstr "repetición de porcentaje sin terminar"
+#: score-engraver.cc:78
+#, c-format
+msgid "cannot find `%s'"
+msgstr "No se encuentra «%s»"
-#: note-head.cc:95
+#: score-engraver.cc:80
+msgid "Music font has not been installed properly."
+msgstr "La tipografía de música no se ha instalado correctamente."
+
+#: score-engraver.cc:82
#, c-format
-msgid "none of note heads `%s' or `%s' found"
-msgstr "no se encuentran las cabezas de nota «%s» ni «%s»"
+msgid "Search path `%s'"
+msgstr "Ruta de búsqueda «%s»"
-#: font-config.cc:38
-msgid "Initializing FontConfig..."
-msgstr "Inicializando FontConfig..."
+#: score-engraver.cc:84
+msgid "Aborting"
+msgstr "Se detiene la ejecución"
-#: font-config.cc:58
-msgid "Building font database..."
-msgstr "Construyendo la base de datos de fuentes tipográficas..."
+#: score.cc:172
+msgid "already have music in score"
+msgstr "ya tiene música en la partitura"
+
+#: score.cc:173
+msgid "this is the previous music"
+msgstr "esta es la música precedente"
+
+#: score.cc:178
+msgid "errors found, ignoring music expression"
+msgstr "se han encontrado errores, se ignora la expresión musical"
#. FIXME:
#: script-engraver.cc:113
msgid " scheme encoding: "
msgstr " codificación de Scheme: "
-#: all-font-metrics.cc:149
-#, c-format
-msgid "cannot find font: `%s'"
-msgstr "no se encuentra la tipografía «%s»"
+#: skyline-pair.cc:131
+msgid "direction must not be CENTER in ly:skyline-pair::skyline"
+msgstr "la dirección no puede ser CENTER en ly:skyline-pair::skyline"
-#: clef.cc:65
-#, c-format
-msgid "clef `%s' not found"
-msgstr "no se ha encontrado la clave «%s»"
+#: slur-engraver.cc:176
+msgid "unterminated slur"
+msgstr "ligadura de expresión sin terminar"
-#: property-iterator.cc:93
+#: slur-engraver.cc:211
+msgid "cannot end slur"
+msgstr "no se puede terminar la ligadura de expresión"
+
+#. We already have an old slur, so give a warning
+#. and completely ignore the new slur.
+#: slur-engraver.cc:231
+msgid "already have slur"
+msgstr "ya tiene una ligadura de expresión"
+
+#: slur.cc:430
#, c-format
-msgid "not a grob name, `%s'"
-msgstr "no es un nombre de objeto gráfico: «%s»"
+msgid "Ignoring grob for slur: %s. avoid-slur not set?"
+msgstr "Se ignora el objeto gráfico para la ligadura: %s. ¿No está establecido avoid-slur?"
-#: pdf-scheme.cc:50
+#: source-file.cc:85
#, c-format
-msgid "Conversion of string `%s' to UTF-16be failed: %s"
-msgstr "La conversión de la cadena `%s' a UTF-16be ha fallado: %s"
+msgid "expected to read %d characters, got %d"
+msgstr "se esperaba leer %d caracteres, se han obtenido %d"
-#: new-fingering-engraver.cc:113
-msgid "cannot add text scripts to individual note heads"
-msgstr "no se pueden añadir guiones de texto a cabezas de nota individuales"
+#: staff-performer.cc:275
+msgid "MIDI channel wrapped around"
+msgstr "ha dado la vuelta el número de canal MIDI"
-#: new-fingering-engraver.cc:269
-msgid "no placement found for fingerings"
-msgstr "no se ha encontrado ninguna ubicación válida para las digitaciones"
+#: staff-performer.cc:276
+msgid "remapping modulo 16"
+msgstr "se reasigna módulo 16"
-#: new-fingering-engraver.cc:270
-msgid "placing below"
-msgstr "se coloca debajo"
+#: stem-engraver.cc:110
+msgid "tremolo duration is too long"
+msgstr "la duración del trémolo es demasiado larga"
-#: bar-check-iterator.cc:84
+#: stem-engraver.cc:162
#, c-format
-msgid "barcheck failed at: %s"
-msgstr "la comprobación de compás ha fallado en: %s"
+msgid "adding note head to incompatible stem (type = %d/%d)"
+msgstr "añadiendo cabeza de nota a una plica incompatible (tipo = %d/%d)"
-#: change-iterator.cc:34
-#, c-format
-msgid "cannot change `%s' to `%s'"
-msgstr "no se puede cambiar de «%s» a «%s»"
+#: stem-engraver.cc:165
+msgid "maybe input should specify polyphonic voices"
+msgstr "quizá la entrada debiera especificar voces polifónicas"
-#. FIXME: constant error message.
-#: change-iterator.cc:93
-msgid "cannot find context to switch to"
-msgstr "no se encuentra el contexto al que cambiar"
+#: stem.cc:128
+msgid "weird stem size, check for narrow beams"
+msgstr "tamaño de plica extraño, compruebe que no haya barras estrechas"
-#. We could change the current translator's id, but that would make
-#. errors hard to catch.
-#.
-#. last->translator_id_string () = get_change
-#. ()->change_to_id_string ();
-#: change-iterator.cc:102
+#: system.cc:200
#, c-format
-msgid "not changing to same context type: %s"
-msgstr "no se cambia al mismo tipo de contexto: %s"
+msgid "Element count %d"
+msgstr "Número total de elementos %d"
-#. FIXME: uncomprehensable message
-#: change-iterator.cc:106
-msgid "none of these in my family"
-msgstr "no hay ninguno de estos en mi familia"
+#: system.cc:480
+#, c-format
+msgid "Grob count %d"
+msgstr "Número de objetos gráficos: %d"
-#: translator-group-ctors.cc:40
+#. TODO: Also print the arguments of the markup!
+#: text-interface.cc:129
#, c-format
-msgid "fatal error. Couldn't find type: %s"
-msgstr "error fatal. No se ha encontrado el tipo: %s"
+msgid "Cyclic markup detected: %s"
+msgstr "Se ha detectado un elemento de marcado cílcico: %s"
+
+#. TODO: Also print the arguments of the markup!
+#: text-interface.cc:142
+#, c-format
+msgid "Markup depth exceeds maximal value of %d; Markup: %s"
+msgstr "La profundidad del marcado supera el valor máximo de %d; Elemento de marcado: %s"
#: text-spanner-engraver.cc:72
msgid "cannot find start of text spanner"
msgid "unterminated text spanner"
msgstr "trazador de texto sin terminar"
-#: lily-parser.cc:109
-msgid "Parsing..."
-msgstr "Analizando..."
-
-#. if we get to here, just put everything on one line
-#: constrained-breaking.cc:187 constrained-breaking.cc:205
-msgid "cannot find line breaking that satisfies constraints"
-msgstr "no se ecnuentra un salto de línea que cumpla las restricciones"
-
-#. FIXME: constant error message.
-#: mark-engraver.cc:157
-msgid "rehearsalMark must have integer value"
-msgstr "rehearsalMark debe tener un valor entero"
+#: tie-engraver.cc:117
+msgid "unterminated tie"
+msgstr "ligadura de unión sin terminar"
-#: mark-engraver.cc:163
-msgid "mark label must be a markup object"
-msgstr "la etiqueta de marcado debe ser un objeto de marcado"
+#: tie-engraver.cc:348
+msgid "lonely tie"
+msgstr "ligadura de unión solitaria"
-#: rest-collision-engraver.cc:70
-msgid "rhythmic head is not part of a rhythmic column"
-msgstr "la cabeza rítmica no es parte de una columna rítmica"
+#.
+#. Todo: should make typecheck?
+#.
+#. OTOH, Tristan Keuris writes 8/20 in his Intermezzi.
+#.
+#: time-signature-engraver.cc:75
+#, c-format
+msgid "strange time signature found: %d/%d"
+msgstr "se ha encontrado una indicación extraña de compás: %d/%d"
#. If there is no such symbol, we default to the numbered style.
#. (Here really with a warning!)
msgid "time signature symbol `%s' not found; reverting to numbered style"
msgstr "no se encuentra el símbolo de compás «%s»; se vuelve al estilo numerado"
-#: grob-interface.cc:68
+#: translator-ctors.cc:65
#, c-format
-msgid "Unknown interface `%s'"
-msgstr "interfaz desconocido «%s»"
+msgid "unknown translator: `%s'"
+msgstr "traductor desconocido: «%s»"
-#: grob-interface.cc:79
+#: translator-group-ctors.cc:40
#, c-format
-msgid "Grob `%s' has no interface for property `%s'"
-msgstr "El grob «%s» no tiene interfaz para la propiedad «%s»"
+msgid "fatal error. Couldn't find type: %s"
+msgstr "error fatal. No se ha encontrado el tipo: %s"
-#: midi-stream.cc:39
+#: translator-group.cc:188
#, c-format
-msgid "cannot open for write: %s: %s"
-msgstr "no se puede abrir el archivo en modo de escritura: %s: %s"
+msgid "cannot find: `%s'"
+msgstr "no se encuentra «%s»"
-#: midi-stream.cc:55
+#: translator.cc:326
#, c-format
-msgid "cannot write to file: `%s'"
-msgstr "no se puede escribir el archivo: «%s»"
+msgid "Two simultaneous %s events, junking this one"
+msgstr "Dos eventos %s simultáneos, se recorta éste"
-#. TODO: Also print the arguments of the markup!
-#: text-interface.cc:129
+#: translator.cc:327
#, c-format
-msgid "Cyclic markup detected: %s"
-msgstr "Se ha detectado un elemento de marcado cílcico: %s"
+msgid "Previous %s event here"
+msgstr "El evento %s previo está aquí"
-#. TODO: Also print the arguments of the markup!
-#: text-interface.cc:142
+#: ttf.cc:480 ttf.cc:528
#, c-format
-msgid "Markup depth exceeds maximal value of %d; Markup: %s"
-msgstr "La profundidad del marcado supera el valor máximo de %d; Elemento de marcado: %s"
+msgid "font index %d too large for font `%s', using index 0"
+msgstr "índice de fuente tipográfica %d demasiado grande para la tipografía `%s', se usa el índice 0"
+
+#: ttf.cc:512 ttf.cc:562
+msgid "font index must be non-negative, using index 0"
+msgstr "el índice de la fuente tipográfica debe ser no negativo, se usa el índice 0"
+
+#: tuplet-engraver.cc:110
+msgid "No tuplet to end"
+msgstr "no hay ningún grupo especial que terminar"
+
+#: vaticana-ligature-engraver.cc:400
+#, c-format
+msgid "ignored prefix(es) `%s' of this head according to restrictions of the selected ligature style"
+msgstr "prefijo(s) `%s' de esta cabeza ignorado(s) de acuerdo a las restricciones del estilo de ligadura seleccionado"
+
+#: vaticana-ligature-engraver.cc:466
+msgid "Ambiguous use of dots in ligature: there are multiple dotted notes with the same pitch. The ligature should be split."
+msgstr "Uso ambiguo de puntos en la ligadura: hay más de una nota con puntillo a la misma altura. Debería dividirse la ligadura."
+
+#: vaticana-ligature-engraver.cc:524
+msgid "This ligature has a dotted head followed by a non-dotted head. The ligature should be split after the last dotted head before this head."
+msgstr "Esta ligadura tiene una nota con puntillo seguida de una nota sin puntillo. La ligadura debería dividirse después de la última nota con puntillo y antes de esta nota."
+
+#: vaticana-ligature-engraver.cc:736
+#, c-format
+msgid "Vaticana_ligature_engraver: setting `spacing-increment = %f': ptr =%ul"
+msgstr "Vaticana_ligature_engraver: se establece `spacing-increment = %f': ptr =%ul"
+
+#: vaticana-ligature.cc:94
+msgid "flexa-height undefined; assuming 0"
+msgstr "la altura flexa-height no está definida; se supone que es 0"
+
+#: vaticana-ligature.cc:99
+msgid "ascending vaticana style flexa"
+msgstr "flexa ascendente de estilo vaticana"
+
+#. fixme: be more verbose.
+#: volta-engraver.cc:110
+msgid "cannot end volta spanner"
+msgstr "no se puede terminar el trazador de volta"
+
+#: volta-engraver.cc:120
+msgid "already have a volta spanner, ending that one prematurely"
+msgstr "ya hay un trazador de volta, se acaba éste de forma prematura"
+
+# also...?
+#: volta-engraver.cc:124
+msgid "also already have an ended spanner"
+msgstr "ya hay un trazador finalizado"
+
+#: volta-engraver.cc:125
+msgid "giving up"
+msgstr "abandonando"
-#: parser.yy:162 parser.yy:176
+#: parser.yy:161 parser.yy:175
msgid "Too much lookahead"
msgstr "Lectura previa por delante excesiva"
-#: parser.yy:833 parser.yy:1234
+#: parser.yy:835 parser.yy:1284
msgid "not a context mod"
msgstr "no es un modificador de contexto"
-#: parser.yy:1018
+#: parser.yy:1027
msgid "\\paper cannot be used in \\score, use \\layout instead"
msgstr "no se puede usar \\paper dentro de \\score, utilice \\layout en su lugar"
-#: parser.yy:1042
+#: parser.yy:1051
msgid "need \\paper for paper block"
msgstr "es necesario \\paper para el bloque 'paper'"
-#: parser.yy:1999
+#: parser.yy:1204
+msgid "Ignoring non-music expression"
+msgstr "Se ignora la expresión no musical"
+
+#: parser.yy:2044
msgid "only \\consists and \\remove take non-string argument."
msgstr "solo \\consists y \\remove admiten un argumento no de cadena."
-#: parser.yy:2012
+#: parser.yy:2057
msgid "Grob name should be alphanumeric"
msgstr "El nombre del objeto gráfico ha de ser alfanumérico"
-#: parser.yy:2216
+#: parser.yy:2261
msgid "not a rhythmic event"
msgstr "no es un evento rítmico"
-#: parser.yy:2312 parser.yy:2317
+#: parser.yy:2357 parser.yy:2362
msgid "have to be in Lyric mode for lyrics"
msgstr "para la letra se debe estar en el modo Lyric"
-#: parser.yy:2432
+#: parser.yy:2477
msgid "expecting string as script definition"
msgstr "se espera una cadena como definición del guión"
-#: parser.yy:2592 parser.yy:2643
+#: parser.yy:2637 parser.yy:2681
#, c-format
msgid "not a duration: %d"
msgstr "no es una duración: %d"
-#: parser.yy:2762
+#: parser.yy:2800
msgid "have to be in Note mode for notes"
msgstr "para las notas se debe estar en el modo Note"
-#: parser.yy:2817
+#: parser.yy:2855
msgid "have to be in Chord mode for chords"
msgstr "para los acordes se debe estar en el modo Chord"
-#: parser.yy:3077
+#: parser.yy:3115
msgid "not a markup"
msgstr "no es una instrucción de marcado"
# stray?
-#: lexer.ll:224
+#: lexer.ll:218
msgid "stray UTF-8 BOM encountered"
msgstr "se ha encontrado una marca BOM de UTF-8 extraña"
-#: lexer.ll:227
+#: lexer.ll:221
msgid "Skipping UTF-8 BOM"
msgstr "Se salta el BOM de UTF-8"
-#: lexer.ll:285
+#: lexer.ll:279
#, c-format
msgid "Renaming input to: `%s'"
msgstr "Renombrando la entrada a: «%s»"
-#: lexer.ll:302
+#: lexer.ll:296
msgid "quoted string expected after \\version"
msgstr "se esperaba una cadena entre comillas después de \\version"
-#: lexer.ll:306
+#: lexer.ll:300
msgid "quoted string expected after \\sourcefilename"
msgstr "se esperaba una cadena entre comillas después de \\sourcefilename"
-#: lexer.ll:310
+#: lexer.ll:304
msgid "integer expected after \\sourcefileline"
msgstr "se esperaba un entero después de \\sourcefileline"
-#: lexer.ll:333
+#: lexer.ll:327
msgid "\\maininput not allowed outside init files"
msgstr "no se permite \\maininput fuera de los archivos de inicio"
-#: lexer.ll:357
+#: lexer.ll:351
#, c-format
msgid "wrong or undefined identifier: `%s'"
msgstr "identificativo equivocado o no definido: «%s»"
-#: lexer.ll:383
+#: lexer.ll:377
msgid "string expected after \\include"
msgstr "se esperaba una cadena después de \\include"
#. backup rule
-#: lexer.ll:393
+#: lexer.ll:387
msgid "end quote missing"
msgstr "faltan las comillas de cierre"
-#: lexer.ll:555
+#: lexer.ll:558
msgid "Brace found at end of lyric. Did you forget a space?"
msgstr "Se ha encontrado una llave al final de la letra. ¿Olvidó un espacio?"
-#: lexer.ll:670
+#: lexer.ll:672
msgid "Brace found at end of markup. Did you forget a space?"
msgstr "Se ha encontrado una llave al final del marcado, ¿Olvidó un espacio?"
-#: lexer.ll:682
+#: lexer.ll:684
msgid "EOF found inside a comment"
msgstr "se ha encontrado EOF (fin de archivo) dentro de un comentario"
-#: lexer.ll:780
+#: lexer.ll:782
#, c-format
msgid "invalid character: `%s'"
msgstr "carácter no válido: «%s»"
-#: lexer.ll:883 lexer.ll:884
+#: lexer.ll:903 lexer.ll:904
#, c-format
msgid "unknown escaped string: `\\%s'"
msgstr "cadena de escape desconocida: `\\%s'"
-#: lexer.ll:1166 lexer.ll:1167
+#: lexer.ll:1186 lexer.ll:1187
msgid "non-UTF-8 input"
msgstr "la entrada no es UTF-8"
-#: lexer.ll:1210 lexer.ll:1211
+#: lexer.ll:1230 lexer.ll:1231
#, c-format
msgid "file too old: %s (oldest supported: %s)"
msgstr "archivo demasiado antiguo: %s (el más antiguo que se puede tratar es: %s)"
-#: lexer.ll:1211 lexer.ll:1212
-msgid "consider updating the input with the convert-ly script"
-msgstr "considere la actualización de la entrada mediante el guión (script) convert-ly"
+#: lexer.ll:1231 lexer.ll:1232
+msgid "consider updating the input with the convert-ly script"
+msgstr "considere la actualización de la entrada mediante el guión (script) convert-ly"
+
+#: lexer.ll:1237 lexer.ll:1238
+#, c-format
+msgid "program too old: %s (file requires: %s)"
+msgstr "el programa es demasiado antiguo: %s (el archivo necesita: %s)"
+
+#: backend-library.scm:27
+#, scheme-format
+msgid "Invoking `~a'..."
+msgstr "Invocando «~a»..."
+
+#: backend-library.scm:31
+#, scheme-format
+msgid "`~a' failed (~a)\n"
+msgstr "«~a» ha fallado (~a)\n"
+
+#: backend-library.scm:90
+#, scheme-format
+msgid "Converting to `~a'...\n"
+msgstr "Convirtiendo en «~a»...\n"
+
+#. Do not try to guess the name of the png file,
+#. GS produces PNG files like BASE-page%d.png.
+#: backend-library.scm:99
+#, scheme-format
+msgid "Converting to ~a..."
+msgstr "Convirtiendo en ~a..."
+
+#: backend-library.scm:137
+#, scheme-format
+msgid "Writing header field `~a' to `~a'..."
+msgstr "Escribiendo el campo de encabezamiento «~a» en «~a»..."
-#: lexer.ll:1217 lexer.ll:1218
-#, c-format
-msgid "program too old: %s (file requires: %s)"
-msgstr "el programa es demasiado antiguo: %s (el archivo necesita: %s)"
+#: backend-library.scm:187
+#, scheme-format
+msgid "missing stencil expression `~S'"
+msgstr "falta la expresión del sello `~S'"
-#: parser-clef.scm:143 parser-clef.scm:183
+#: chord-entry.scm:52
#, scheme-format
-msgid "unknown clef type `~a'"
-msgstr "tipo de clave desconocido: «~a» "
+msgid "Spurious garbage following chord: ~A"
+msgstr "Basurilla espúrea después del acorde: ~A"
-#: parser-clef.scm:144 parser-clef.scm:184
+#: define-context-properties.scm:31 define-grob-properties.scm:21
+#: define-music-properties.scm:21
#, scheme-format
-msgid "supported clefs: ~a"
-msgstr "claves soportadas: ~a"
+msgid "symbol ~S redefined"
+msgstr "redefinido el símbolo ~S"
-#: parser-ly-from-scheme.scm:73
-msgid "error in #{ ... #}"
-msgstr "error en #{ ... #}"
+#: define-event-classes.scm:67
+#, scheme-format
+msgid "unknown parent class `~a'"
+msgstr "Clase del padre «~a» desconocida"
-#: framework-eps.scm:108
+#: define-markup-commands.scm:887
+msgid "no systems found in \\score markup, does it have a \\layout block?"
+msgstr "no se ha encontrado ningún sistema en el marcado \\score, ¿tiene un bloque \\layout?"
+
+#: define-markup-commands.scm:2614
#, scheme-format
-msgid "Writing ~a..."
-msgstr "Escribiendo «~a»..."
+msgid "Cannot find glyph ~a"
+msgstr "No se encuentra el glifo ~a"
-#: flag-styles.scm:151
+#: define-markup-commands.scm:3040
#, scheme-format
-msgid "flag stroke `~a' or `~a' not found"
-msgstr "no se encuentra el impacto `~a' o `~a' de indicador"
+msgid "no brace found for point size ~S "
+msgstr "no se ha encontrado ninguna llave para el tamaño en puntos ~S "
-#: graphviz.scm:64
+#: define-markup-commands.scm:3041
#, scheme-format
-msgid "Writing graph `~a'..."
-msgstr "Escribiendo el gráfico «~a»..."
+msgid "defaulting to ~S pt"
+msgstr "fijando al valor predeterminado ~S pt"
-#: define-music-properties.scm:21 define-grob-properties.scm:21
-#: define-context-properties.scm:31
+#: define-markup-commands.scm:3194
#, scheme-format
-msgid "symbol ~S redefined"
-msgstr "redefinido el símbolo ~S"
+msgid "not a valid duration string: ~a"
+msgstr "no es una cadena válida de duración: ~a"
-#: lily.scm:234
-msgid "Using (ice-9 curried-definitions) module\n"
-msgstr "Utilizando el módulo (ice-9 curried-definitions)\n"
+#: define-music-types.scm:765
+#, scheme-format
+msgid "symbol expected: ~S"
+msgstr "se esperaba un símbolo: ~S"
-#: lily.scm:237
-msgid "Guile 1.8\n"
-msgstr "Guile 1.8\n"
+#: define-music-types.scm:768
+#, scheme-format
+msgid "cannot find music object: ~S"
+msgstr "no se encuentra el objeto musical ~S"
-#: lily.scm:297
+#: define-music-types.scm:787
#, scheme-format
-msgid "cannot find: ~A"
-msgstr "no se encuentra: ~A"
+msgid "unknown repeat type `~S'"
+msgstr "tipo de repetición «~S» desconocido"
-#: lily.scm:707
-msgid "Success: compilation successfully completed"
-msgstr "Enhorabuena. La compilación se ha completado satisfactoriamente."
+#: define-music-types.scm:788
+msgid "See define-music-types.scm for supported repeats"
+msgstr "Consulte el archivo define-music-types.scm para ver los tipos de repetición soportados"
-#: lily.scm:708
-msgid "Compilation completed with warnings or errors"
-msgstr "Compilación completada con advertencias o errores"
+#: define-note-names.scm:962
+msgid "Select note names language."
+msgstr "Seleccione el idioma para los nombres de las notas."
-#: lily.scm:770
+#: define-note-names.scm:968
#, scheme-format
-msgid "job ~a terminated with signal: ~a"
-msgstr "la tarea ~a ha terminado con la señal: ~a"
+msgid "Using `~a' note names..."
+msgstr "Usando los nombres de notas de `~a' ..."
-#: lily.scm:773
+#: define-note-names.scm:971
#, scheme-format
-msgid ""
-"logfile ~a (exit ~a):\n"
-"~a"
-msgstr ""
-"archivo de registro ~a (salida ~a):\n"
-"~a"
+msgid "Could not find language `~a'. Ignoring."
+msgstr "No se encuentra el idioma `~a'. Se ignora."
-#: lily.scm:795 lily.scm:881
+#: document-backend.scm:132
#, scheme-format
-msgid "failed files: ~S"
-msgstr "archivos que han fallado: ~S"
+msgid "pair expected in doc ~s"
+msgstr "se esperaba una pareja en el documento ~s"
-#: lily.scm:872
+#: document-backend.scm:189
#, scheme-format
-msgid "Redirecting output to ~a..."
-msgstr "Redirigiendo la salida hacia ~a..."
+msgid "cannot find interface for property: ~S"
+msgstr "no se encuentra un interface para la propiedad ~S"
-#: lily.scm:891 ps-to-png.scm:66
+#: document-backend.scm:199
#, scheme-format
-msgid "Invoking `~a'...\n"
-msgstr "Invocando «~a»...\n"
+msgid "unknown Grob interface: ~S"
+msgstr "interfaz de Objeto gráfico desconocido: ~S"
-#: layout-beam.scm:40
+#: documentation-lib.scm:59
#, scheme-format
-msgid "Error in beam quanting. Expected (~S,~S) found ~S."
-msgstr "Error en la cuantización de la barra. Se esperaba (~S,~S), se ha encontrado ~S."
+msgid "Processing ~S..."
+msgstr "Procesando ~S..."
-#: layout-beam.scm:54
+#: documentation-lib.scm:176
#, scheme-format
-msgid "Error in beam quanting. Expected ~S 0, found ~S."
-msgstr "Error en la cuantización de la barra. Se esperaba ~S 0, se ha encontrado ~S."
+msgid "Writing ~S..."
+msgstr "Escribiendo ~S..."
-#: output-svg.scm:47
+#: documentation-lib.scm:188
#, scheme-format
-msgid "undefined: ~S"
-msgstr "no definido: ~S"
+msgid "cannot find description for property `~S' (~S)"
+msgstr "no se encuentra la descripción de la propiedad `~S' (~S)"
-#: output-svg.scm:157
+#: documentation-lib.scm:209
#, scheme-format
-msgid "cannot decypher Pango description: ~a"
-msgstr "no se puede descifrar la descripción de Pango: ~a"
+msgid "cannot find description for property ~S (~S)"
+msgstr "no se encuentra la descripción de la propiedad ~S (~S)"
-#: output-svg.scm:237
-msgid "Glyph must have a unicode value"
-msgstr "El glifo debe tener un valor de Unicode"
+#: flag-styles.scm:151
+#, scheme-format
+msgid "flag stroke `~a' or `~a' not found"
+msgstr "no se encuentra el impacto `~a' o `~a' de indicador"
-#: output-svg.scm:289 output-svg.scm:299
+#: framework-eps.scm:108
#, scheme-format
-msgid "cannot find SVG font ~S"
-msgstr "no se encuentra la fuente tipográfica de SVG ~S"
+msgid "Writing ~a..."
+msgstr "Escribiendo «~a»..."
-#: output-svg.scm:524 output-ps.scm:277
+#: framework-ps.scm:250
#, scheme-format
-msgid "unknown line-cap-style: ~S"
-msgstr "estilo de extremo de línea line-cap-style desconocido: ~S"
+msgid "cannot embed ~S=~S"
+msgstr "no se puede empotrar ~S=~S"
-#: output-svg.scm:530 output-ps.scm:282
+#: framework-ps.scm:293
#, scheme-format
-msgid "unknown line-join-style: ~S"
-msgstr "estilo de unión de líneas line-join-style desconocido: ~S"
+msgid "cannot extract file matching ~a from ~a"
+msgstr "no se puede extraer la coincidencia de archivos ~a a partir de ~a"
-#: to-xml.scm:191
+#: framework-ps.scm:311
#, scheme-format
-msgid "assertion failed: ~S"
-msgstr "el aserto no se cumple: ~S"
+msgid "do not know how to embed ~S=~S"
+msgstr "no sabemos cómo empotrar ~S=~S"
-#: paper.scm:120
-msgid "set-global-staff-size: not in toplevel scope"
-msgstr "set-global-staff-size: no está en el ámbito de nivel más alto"
+#: framework-ps.scm:336
+#, scheme-format
+msgid "do not know how to embed font ~s ~s ~s"
+msgstr "no sabemos cómo empotrar la tipografía ~s ~s ~s"
+
+#: framework-ps.scm:686
+msgid ""
+"\n"
+"The PostScript backend does not support the\n"
+"system-by-system output. For that, use the EPS backend instead,\n"
+"\n"
+" lilypond -dbackend=eps FILE\n"
+"\n"
+"If have cut & pasted a lilypond fragment from a webpage, be sure\n"
+"to only remove anything before\n"
+"\n"
+" %% ****************************************************************\n"
+" %% Start cut-&-pastable-section\n"
+" %% ****************************************************************\n"
+msgstr ""
+"\n"
+"El 'backend' PostScript no contempla la salida de sistemas individuales.\n"
+"Para ello, use en su lugar el 'backend' EPS,\n"
+"\n"
+" lilypond -dbackend=eps ARCHIVO\n"
+"\n"
+"Si ha copiado y pegado un fragmento de lilypond desde una página web,\n"
+"asegúrese de quitar solamente lo que esté antes de\n"
+"\n"
+" %% ****************************************************************\n"
+" %% Start cut-&-pastable-section\n"
+" %% ****************************************************************\n"
-#: paper.scm:314
+#: framework-svg.scm:84
#, scheme-format
-msgid "This is not a \\layout {} object, ~S"
-msgstr "Esto no es un objeto de \\layout {} , ~S"
+msgid "Updating font into: ~a"
+msgstr "Actualizando la fuente tipográfica en: ~a"
-#: paper.scm:326
+#: graphviz.scm:64
#, scheme-format
-msgid "Unknown paper size: ~a"
-msgstr "Tamaño de papel desconocido: ~a"
+msgid "Writing graph `~a'..."
+msgstr "Escribiendo el gráfico «~a»..."
-#. TODO: should raise (generic) exception with throw, and catch
-#. that in parse-scm.cc
-#: paper.scm:341
-msgid "Must use #(set-paper-size .. ) within \\paper { ... }"
-msgstr "Debe usar #(set-paper-size .. ) dentro de \\paper { ... }"
+#: layout-beam.scm:40
+#, scheme-format
+msgid "Error in beam quanting. Expected (~S,~S) found ~S."
+msgstr "Error en la cuantización de la barra. Se esperaba (~S,~S), se ha encontrado ~S."
+
+#: layout-beam.scm:54
+#, scheme-format
+msgid "Error in beam quanting. Expected ~S 0, found ~S."
+msgstr "Error en la cuantización de la barra. Se esperaba ~S 0, se ha encontrado ~S."
#: lily-library.scm:299
msgid "Music unsuitable for context-mod"
msgid "Music unsuitable for output-def"
msgstr "Música no apta para output-def"
-#: lily-library.scm:888
+#: lily-library.scm:892
msgid ""
"Find the index between @var{start} and @var{end} (an integer)\n"
"which produces the closest match to @var{target-val} if\n"
"que produce la correspondencia más cercana a @var{target-val} cuando\n"
"se aplica a la función @var{getter}."
-#: lily-library.scm:962
+#: lily-library.scm:966
#, scheme-format
msgid "unknown unit: ~S"
msgstr "unidad desconocida: ~S "
-#: lily-library.scm:987
+#: lily-library.scm:991
#, scheme-format
msgid "no \\version statement found, please add~afor future compatibility"
msgstr "no se ha encontrado ninguna instrucción \\version, escriba~apara disponer de compatibilidad en el futuro"
-#: lily-library.scm:993
+#: lily-library.scm:997
msgid "old relative compatibility not used"
msgstr "no se ha usado la compatibilidad con el modo relativo antiguo"
-#: backend-library.scm:27
-#, scheme-format
-msgid "Invoking `~a'..."
-msgstr "Invocando «~a»..."
-
-#: backend-library.scm:31
-#, scheme-format
-msgid "`~a' failed (~a)\n"
-msgstr "«~a» ha fallado (~a)\n"
-
-#: backend-library.scm:90
-#, scheme-format
-msgid "Converting to `~a'...\n"
-msgstr "Convirtiendo en «~a»...\n"
+#: lily.scm:234
+msgid "Using (ice-9 curried-definitions) module\n"
+msgstr "Utilizando el módulo (ice-9 curried-definitions)\n"
-#. Do not try to guess the name of the png file,
-#. GS produces PNG files like BASE-page%d.png.
-#: backend-library.scm:99
-#, scheme-format
-msgid "Converting to ~a..."
-msgstr "Convirtiendo en ~a..."
+#: lily.scm:237
+msgid "Guile 1.8\n"
+msgstr "Guile 1.8\n"
-#: backend-library.scm:137
+#: lily.scm:297
#, scheme-format
-msgid "Writing header field `~a' to `~a'..."
-msgstr "Escribiendo el campo de encabezamiento «~a» en «~a»..."
+msgid "cannot find: ~A"
+msgstr "no se encuentra: ~A"
-#: backend-library.scm:187
-#, scheme-format
-msgid "missing stencil expression `~S'"
-msgstr "falta la expresión del sello `~S'"
+#: lily.scm:708
+msgid "Success: compilation successfully completed"
+msgstr "Enhorabuena. La compilación se ha completado satisfactoriamente."
-#: documentation-lib.scm:59
-#, scheme-format
-msgid "Processing ~S..."
-msgstr "Procesando ~S..."
+#: lily.scm:709
+msgid "Compilation completed with warnings or errors"
+msgstr "Compilación completada con advertencias o errores"
-#: documentation-lib.scm:176
+#: lily.scm:771
#, scheme-format
-msgid "Writing ~S..."
-msgstr "Escribiendo ~S..."
+msgid "job ~a terminated with signal: ~a"
+msgstr "la tarea ~a ha terminado con la señal: ~a"
-#: documentation-lib.scm:188
+#: lily.scm:774
#, scheme-format
-msgid "cannot find description for property `~S' (~S)"
-msgstr "no se encuentra la descripción de la propiedad `~S' (~S)"
+msgid ""
+"logfile ~a (exit ~a):\n"
+"~a"
+msgstr ""
+"archivo de registro ~a (salida ~a):\n"
+"~a"
-#: documentation-lib.scm:209
+#: lily.scm:796 lily.scm:882
#, scheme-format
-msgid "cannot find description for property ~S (~S)"
-msgstr "no se encuentra la descripción de la propiedad ~S (~S)"
-
-#: define-markup-commands.scm:887
-msgid "no systems found in \\score markup, does it have a \\layout block?"
-msgstr "no se ha encontrado ningún sistema en el marcado \\score, ¿tiene un bloque \\layout?"
+msgid "failed files: ~S"
+msgstr "archivos que han fallado: ~S"
-#: define-markup-commands.scm:2614
+#: lily.scm:873
#, scheme-format
-msgid "Cannot find glyph ~a"
-msgstr "No se encuentra el glifo ~a"
+msgid "Redirecting output to ~a..."
+msgstr "Redirigiendo la salida hacia ~a..."
-#: define-markup-commands.scm:3040
+#: lily.scm:892 ps-to-png.scm:66
#, scheme-format
-msgid "no brace found for point size ~S "
-msgstr "no se ha encontrado ninguna llave para el tamaño en puntos ~S "
+msgid "Invoking `~a'...\n"
+msgstr "Invocando «~a»...\n"
-#: define-markup-commands.scm:3041
+#: ly-syntax-constructors.scm:66
#, scheme-format
-msgid "defaulting to ~S pt"
-msgstr "fijando al valor predeterminado ~S pt"
+msgid "~a function cannot return ~a"
+msgstr "la función ~a no puede devolver ~a"
-#: define-markup-commands.scm:3194
+#: ly-syntax-constructors.scm:75
#, scheme-format
-msgid "not a valid duration string: ~a"
-msgstr "no es una cadena válida de duración: ~a"
+msgid "wrong type for argument ~a. Expecting ~a, found ~s"
+msgstr "tipo equivocado para el argumento ~a. Se esperaba ~a, se encontró ~s"
-#: define-event-classes.scm:67
+#: ly-syntax-constructors.scm:188
#, scheme-format
-msgid "unknown parent class `~a'"
-msgstr "Clase del padre «~a» desconocida"
+msgid "Invalid property operation ~a"
+msgstr "Operación de propiedad ~a inválida"
#: markup-macros.scm:331
#, scheme-format
msgid "Not a markup command: ~A"
msgstr "No es una instrucción de marcado: ~A"
-#: document-backend.scm:132
-#, scheme-format
-msgid "pair expected in doc ~s"
-msgstr "se esperaba una pareja en el documento ~s"
-
-#: document-backend.scm:189
-#, scheme-format
-msgid "cannot find interface for property: ~S"
-msgstr "no se encuentra un interface para la propiedad ~S"
-
-#: document-backend.scm:199
-#, scheme-format
-msgid "unknown Grob interface: ~S"
-msgstr "interfaz de Objeto gráfico desconocido: ~S"
-
-#: define-note-names.scm:962
-msgid "Select note names language."
-msgstr "Seleccione el idioma para los nombres de las notas."
-
-#: define-note-names.scm:968
-#, scheme-format
-msgid "Using `~a' note names..."
-msgstr "Usando los nombres de notas de `~a' ..."
-
-#: define-note-names.scm:971
-#, scheme-format
-msgid "Could not find language `~a'. Ignoring."
-msgstr "No se encuentra el idioma `~a'. Se ignora."
-
#: modal-transforms.scm:38
msgid "'from' pitch not in scale; ignoring"
msgstr "la nota 'origen' no está en la escala; se ignora"
msgid "negative replication count; ignoring"
msgstr "número de replicaciones negativo; se ignora"
-#: framework-ps.scm:250
-#, scheme-format
-msgid "cannot embed ~S=~S"
-msgstr "no se puede empotrar ~S=~S"
-
-#: framework-ps.scm:293
-#, scheme-format
-msgid "cannot extract file matching ~a from ~a"
-msgstr "no se puede extraer la coincidencia de archivos ~a a partir de ~a"
-
-#: framework-ps.scm:311
-#, scheme-format
-msgid "do not know how to embed ~S=~S"
-msgstr "no sabemos cómo empotrar ~S=~S"
-
-#: framework-ps.scm:336
-#, scheme-format
-msgid "do not know how to embed font ~s ~s ~s"
-msgstr "no sabemos cómo empotrar la tipografía ~s ~s ~s"
-
-#: framework-ps.scm:686
-msgid ""
-"\n"
-"The PostScript backend does not support the\n"
-"system-by-system output. For that, use the EPS backend instead,\n"
-"\n"
-" lilypond -dbackend=eps FILE\n"
-"\n"
-"If have cut & pasted a lilypond fragment from a webpage, be sure\n"
-"to only remove anything before\n"
-"\n"
-" %% ****************************************************************\n"
-" %% Start cut-&-pastable-section\n"
-" %% ****************************************************************\n"
-msgstr ""
-"\n"
-"El 'backend' PostScript no contempla la salida de sistemas individuales.\n"
-"Para ello, use en su lugar el 'backend' EPS,\n"
-"\n"
-" lilypond -dbackend=eps ARCHIVO\n"
-"\n"
-"Si ha copiado y pegado un fragmento de lilypond desde una página web,\n"
-"asegúrese de quitar solamente lo que esté antes de\n"
-"\n"
-" %% ****************************************************************\n"
-" %% Start cut-&-pastable-section\n"
-" %% ****************************************************************\n"
-
-#: music-functions.scm:274
+#: music-functions.scm:272
msgid "More alternatives than repeats. Junking excess alternatives"
msgstr "Hay más alternativas que repeticiones. Se recortan las alternativas excedentes"
-#: music-functions.scm:305
+#: music-functions.scm:303
#, scheme-format
msgid "invalid tremolo repeat count: ~a"
msgstr "número de repeticiones no válido para el trémolo: ~a"
-#: music-functions.scm:671
+#: music-functions.scm:689
msgid "Bad chord repetition"
msgstr "repetición de acorde errónea"
-#: music-functions.scm:706
+#: music-functions.scm:724
#, scheme-format
msgid "music expected: ~S"
msgstr "se esperaba algo de música: ~S"
-#: music-functions.scm:1024
+#: music-functions.scm:1042
#, scheme-format
msgid "cannot find quoted music: `~S'"
msgstr "no se encuentra la música citada: «~S»"
-#: music-functions.scm:1162
+#: music-functions.scm:1180
msgid "Add @var{octave-shift} to the octave of @var{pitch}."
msgstr "Añadir @var{octave-shift} a la octava de @var{pitch}."
-#: music-functions.scm:1222
+#: music-functions.scm:1240
#, scheme-format
msgid "Unknown octaveness type: ~S "
msgstr "Tipo de octavación desconocido: ~S "
-#: music-functions.scm:1223
+#: music-functions.scm:1241
msgid "Defaulting to 'any-octave."
msgstr "Fijando al valor predeterminado 'any-octave."
-#: music-functions.scm:1560
+#: music-functions.scm:1578
#, scheme-format
msgid "unknown accidental style: ~S"
msgstr "estilo de alteración ~S desconocido"
-#: define-music-types.scm:765
+#: output-ps.scm:277 output-svg.scm:524
#, scheme-format
-msgid "symbol expected: ~S"
-msgstr "se esperaba un símbolo: ~S"
+msgid "unknown line-cap-style: ~S"
+msgstr "estilo de extremo de línea line-cap-style desconocido: ~S"
-#: define-music-types.scm:768
+#: output-ps.scm:282 output-svg.scm:530
#, scheme-format
-msgid "cannot find music object: ~S"
-msgstr "no se encuentra el objeto musical ~S"
+msgid "unknown line-join-style: ~S"
+msgstr "estilo de unión de líneas line-join-style desconocido: ~S"
-#: define-music-types.scm:787
+#: output-svg.scm:47
#, scheme-format
-msgid "unknown repeat type `~S'"
-msgstr "tipo de repetición «~S» desconocido"
+msgid "undefined: ~S"
+msgstr "no definido: ~S"
-#: define-music-types.scm:788
-msgid "See define-music-types.scm for supported repeats"
-msgstr "Consulte el archivo define-music-types.scm para ver los tipos de repetición soportados"
+#: output-svg.scm:157
+#, scheme-format
+msgid "cannot decypher Pango description: ~a"
+msgstr "no se puede descifrar la descripción de Pango: ~a"
-#: framework-svg.scm:84
+#: output-svg.scm:237
+msgid "Glyph must have a unicode value"
+msgstr "El glifo debe tener un valor de Unicode"
+
+#: output-svg.scm:289 output-svg.scm:299
#, scheme-format
-msgid "Updating font into: ~a"
-msgstr "Actualizando la fuente tipográfica en: ~a"
+msgid "cannot find SVG font ~S"
+msgstr "no se encuentra la fuente tipográfica de SVG ~S"
+
+#: paper.scm:120
+msgid "set-global-staff-size: not in toplevel scope"
+msgstr "set-global-staff-size: no está en el ámbito de nivel más alto"
+
+#: paper.scm:315
+#, scheme-format
+msgid "This is not a \\layout {} object, ~S"
+msgstr "Esto no es un objeto de \\layout {} , ~S"
+
+#: paper.scm:327
+#, scheme-format
+msgid "Unknown paper size: ~a"
+msgstr "Tamaño de papel desconocido: ~a"
+
+#. TODO: should raise (generic) exception with throw, and catch
+#. that in parse-scm.cc
+#: paper.scm:342
+msgid "Must use #(set-paper-size .. ) within \\paper { ... }"
+msgstr "Debe usar #(set-paper-size .. ) dentro de \\paper { ... }"
+
+#: parser-clef.scm:143 parser-clef.scm:183
+#, scheme-format
+msgid "unknown clef type `~a'"
+msgstr "tipo de clave desconocido: «~a» "
+
+#: parser-clef.scm:144 parser-clef.scm:184
+#, scheme-format
+msgid "supported clefs: ~a"
+msgstr "claves soportadas: ~a"
+
+#: parser-ly-from-scheme.scm:73
+msgid "error in #{ ... #}"
+msgstr "error en #{ ... #}"
+
+#: part-combiner.scm:598
+#, scheme-format
+msgid "quoted music `~a' is empty"
+msgstr "la cita musical «~a» está vacía"
+
+#: ps-to-png.scm:70
+#, scheme-format
+msgid "~a exited with status: ~S"
+msgstr "~a salió con el estado: ~S"
+
+#: to-xml.scm:191
+#, scheme-format
+msgid "assertion failed: ~S"
+msgstr "el aserto no se cumple: ~S"
#: translation-functions.scm:359
#, scheme-format
"No hay ninguna etiqueta para el traste ~a (sobre la cuerda ~a);\n"
"sólo se proporcionan etiquetas para los trastes ~a"
-#: ps-to-png.scm:70
-#, scheme-format
-msgid "~a exited with status: ~S"
-msgstr "~a salió con el estado: ~S"
-
-#: chord-entry.scm:52
-#, scheme-format
-msgid "Spurious garbage following chord: ~A"
-msgstr "Basurilla espúrea después del acorde: ~A"
-
-#: part-combiner.scm:598
-#, scheme-format
-msgid "quoted music `~a' is empty"
-msgstr "la cita musical «~a» está vacía"
-
-#: ly-syntax-constructors.scm:66
-#, scheme-format
-msgid "~a function cannot return ~a"
-msgstr "la función ~a no puede devolver ~a"
-
-#: ly-syntax-constructors.scm:75
-#, scheme-format
-msgid "wrong type for argument ~a. Expecting ~a, found ~s"
-msgstr "tipo equivocado para el argumento ~a. Se esperaba ~a, se encontró ~s"
-
-#: ly-syntax-constructors.scm:188
-#, scheme-format
-msgid "Invalid property operation ~a"
-msgstr "Operación de propiedad ~a inválida"
-
#~ msgid "add midi-block to .ly file"
#~ msgstr "añadir bloque midi al archivo .ly"
#
msgid ""
msgstr ""
-"Project-Id-Version: lilypond 2.15.41\n"
+"Project-Id-Version: lilypond 2.15.95\n"
"Report-Msgid-Bugs-To: http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs\n"
-"POT-Creation-Date: 2012-07-05 20:10+0200\n"
-"PO-Revision-Date: 2012-07-10 08:29+0200\n"
+"POT-Creation-Date: 2012-08-11 14:29+0200\n"
+"PO-Revision-Date: 2012-08-23 18:46+0200\n"
"Last-Translator: Federico Bruni <fedelogy@gmail.com>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
-#: fontextract.py:25
+#: book_base.py:26
#, python-format
-msgid "Scanning %s"
-msgstr "Esame di %s"
+msgid "file not found: %s"
+msgstr "file non trovato: %s"
-#: fontextract.py:70
+#: book_base.py:164
+msgid "Output function not implemented"
+msgstr "Funzione di output non implementata"
+
+#: book_latex.py:170
+msgid "cannot find \\begin{document} in LaTeX document"
+msgstr "impossibile trovare \\begin{document} nel documento LaTeX"
+
+#: book_latex.py:188
#, python-format
-msgid "Extracted %s"
-msgstr "Estratto %s"
+msgid "Running `%s' on file `%s' to detect default page settings.\n"
+msgstr "Esecuzione di \"%s\" sul file \"%s\" per individuare le impostazioni predefinite della pagina.\n"
-#: fontextract.py:85
+#: book_latex.py:209 book_texinfo.py:228
+msgid "Unable to auto-detect default settings:\n"
+msgstr "Impossibile individuare automaticamente le impostazioni predefinite:\n"
+
+#: book_latex.py:221 book_texinfo.py:240
#, python-format
-msgid "Writing fonts to %s"
-msgstr "Scrittura dei tipi di carattere su %s"
+msgid ""
+"Unable to auto-detect default settings:\n"
+"%s"
+msgstr ""
+"Impossibile individuare le impostazioni predefinite:\n"
+"%s"
#: book_snippets.py:409
#, python-format
"%s: il nome del file è duplicato ma il suo contenuto è diverso dal file lilypond\n"
"trasformato, si mostrano le differenze rispetto al file esistente."
+#. Work around a texi2pdf bug: if LANG=C is not given, a broken regexp is
+#. used to detect relative/absolute paths, so the absolute path is not
+#. detected as such and this command fails:
+#: book_texinfo.py:206
+#, python-format
+msgid "Running texi2pdf on file %s to detect default page settings.\n"
+msgstr "Si esegue texi2pdf sul file %s per individuare le impostazioni predefinite della pagina.\n"
+
#: convertrules.py:12
#, python-format
msgid "Not smart enough to convert %s."
msgid "beamExceptions controls whole-measure beaming."
msgstr "beamExceptions controlla la disposizione delle travature sull'intera misura."
-#: book_base.py:26
+#: fontextract.py:25
#, python-format
-msgid "file not found: %s"
-msgstr "file non trovato: %s"
+msgid "Scanning %s"
+msgstr "Esame di %s"
-#: book_base.py:164
-msgid "Output function not implemented"
-msgstr "Funzione di output non implementata"
+#: fontextract.py:70
+#, python-format
+msgid "Extracted %s"
+msgstr "Estratto %s"
+
+#: fontextract.py:85
+#, python-format
+msgid "Writing fonts to %s"
+msgstr "Scrittura dei tipi di carattere su %s"
#: lilylib.py:96
#, python-format
msgid "Unable to find instrument for ID=%s\n"
msgstr "Impossibile trovare lo strumento con ID=%s\n"
-#. Work around a texi2pdf bug: if LANG=C is not given, a broken regexp is
-#. used to detect relative/absolute paths, so the absolute path is not
-#. detected as such and this command fails:
-#: book_texinfo.py:206
+#: abc2ly.py:1376 convert-ly.py:81 lilypond-book.py:122 midi2ly.py:1044
#, python-format
-msgid "Running texi2pdf on file %s to detect default page settings.\n"
-msgstr "Si esegue texi2pdf sul file %s per individuare le impostazioni predefinite della pagina.\n"
-
-#: book_texinfo.py:228 book_latex.py:209
-msgid "Unable to auto-detect default settings:\n"
-msgstr "Impossibile individuare automaticamente le impostazioni predefinite:\n"
+msgid "%s [OPTION]... FILE"
+msgstr "%s [OPZIONE]... FILE"
-#: book_texinfo.py:240 book_latex.py:221
+#: abc2ly.py:1377
#, python-format
msgid ""
-"Unable to auto-detect default settings:\n"
-"%s"
+"abc2ly converts ABC music files (see\n"
+"%s) to LilyPond input.\n"
msgstr ""
-"Impossibile individuare le impostazioni predefinite:\n"
-"%s"
+"abc2ly converte file musicali ABC (si veda\n"
+"%s) in input LilyPond.\n"
-#: book_latex.py:170
-msgid "cannot find \\begin{document} in LaTeX document"
-msgstr "impossibile trovare \\begin{document} nel documento LaTeX"
+#: abc2ly.py:1385 convert-ly.py:88 etf2ly.py:1208 lilypond-book.py:231
+#: midi2ly.py:1095 musicxml2ly.py:2590 main.cc:174
+msgid "show version number and exit"
+msgstr "mostra il numero di versione ed esce"
-#: book_latex.py:188
-#, python-format
-msgid "Running `%s' on file `%s' to detect default page settings.\n"
-msgstr "Esecuzione di \"%s\" sul file \"%s\" per individuare le impostazioni predefinite della pagina.\n"
+#: abc2ly.py:1388 convert-ly.py:92 etf2ly.py:1204 lilypond-book.py:140
+#: midi2ly.py:1062 musicxml2ly.py:2572 main.cc:153
+msgid "show this help and exit"
+msgstr "mostra questo messaggio di aiuto ed esce"
-#: musicxml2ly.py:228
-#, python-format
-msgid "Encountered file created by %s, containing wrong beaming information. All beaming information in the MusicXML file will be ignored"
-msgstr "Si è trovato un file creato da %s che contiene informazioni sbagliate sulla disposizione delle travature. Tutte le informazioni sulle travature presenti nel file MusicXML verranno ignorate"
+#: abc2ly.py:1391 etf2ly.py:1209 midi2ly.py:1071
+msgid "write output to FILE"
+msgstr "scrive l'output in FILE"
-#: musicxml2ly.py:247 musicxml2ly.py:249
-#, python-format
-msgid "Unprocessed PartGroupInfo %s encountered"
-msgstr "PartGroupInfo %s rilevato ma non elaborato"
+#: abc2ly.py:1394
+msgid "be strict about success"
+msgstr "è severo rispetto all'esito"
-#: musicxml2ly.py:500
-#, python-format
-msgid "Encountered note at %s without type and duration (=%s)"
-msgstr "Trovata una nota in %s senza tipo e durata (=%s)"
+#: abc2ly.py:1397
+msgid "preserve ABC's notion of beams"
+msgstr "preserva la nozione di travatura di ABC"
-#: musicxml2ly.py:520
-#, python-format
-msgid "Encountered rational duration with denominator %s, unable to convert to lilypond duration"
-msgstr "Trovata una durata razionale con denominatore %s, impossibile convertire in una durata di lilypond"
+#: abc2ly.py:1400
+msgid "suppress progress messages"
+msgstr "sopprime i messaggi di avanzamento"
-#: musicxml2ly.py:767
-msgid "Unable to extract key signature!"
-msgstr "Impossibile estrarre l'armatura di chiave!"
+#. Translators, please translate this string as
+#. "Report bugs in English via %s",
+#. or if there is a LilyPond users list or forum in your language
+#. "Report bugs in English via %s or in YOUR_LANG via URI"
+#: abc2ly.py:1403 convert-ly.py:146 etf2ly.py:1218 lilypond-book.py:258
+#: midi2ly.py:1107 musicxml2ly.py:2674 main.cc:285
+#, c-format, python-format
+msgid "Report bugs via %s"
+msgstr "Segnalare i bug in inglese attraverso %s"
-#: musicxml2ly.py:794
-#, python-format
-msgid "unknown mode %s, expecting 'major' or 'minor' or a church mode!"
-msgstr "modo %s sconosciuto, è richiesto \"major\" o \"minor\" o un modo ecclesiastico!"
+#: convert-ly.py:46
+msgid ""
+"Update LilyPond input to newer version. By default, update from the\n"
+"version taken from the \\version command, to the current LilyPond version."
+msgstr ""
+"Aggiorna l'input LilyPond a una nuova versione. Per impostazione predefinita aggiorna dalla\n"
+"versione presa dal comando \\version alla versione attuale di LilyPond."
-#: musicxml2ly.py:932
-#, python-format
-msgid "Encountered unprocessed marker %s\n"
-msgstr "Trovato un marcatore non elaborato %s\n"
+#: convert-ly.py:48 lilypond-book.py:82
+msgid "Examples:"
+msgstr "Esempi:"
-#: musicxml2ly.py:1026
+#: convert-ly.py:75 etf2ly.py:1191 lilypond-book.py:115 midi2ly.py:81
#, python-format
-msgid "unknown span event %s"
-msgstr "evento di estensione %s sconosciuto"
+msgid "Copyright (c) %s by"
+msgstr "Copyright (c) %s di"
-#: musicxml2ly.py:1036
-#, python-format
-msgid "unknown span type %s for %s"
-msgstr "tipo di estensione %s sconosciuto per %s"
+#: convert-ly.py:77 etf2ly.py:1193 lilypond-book.py:117 midi2ly.py:83
+msgid "Distributed under terms of the GNU General Public License."
+msgstr "Distribuito secondo i termini della GNU General Public License."
-#: musicxml2ly.py:1456
-msgid "Unknown metronome mark, ignoring"
-msgstr "Indicazione metronomica sconosciuta, si ignora"
+#: convert-ly.py:78 etf2ly.py:1194 lilypond-book.py:118 midi2ly.py:84
+msgid "It comes with NO WARRANTY."
+msgstr "È distribuito con NESSUNA GARANZIA."
-#. TODO: Implement the other (more complex) way for tempo marks!
-#: musicxml2ly.py:1461
-msgid "Metronome marks with complex relations (<metronome-note> in MusicXML) are not yet implemented."
-msgstr "Indicazioni metronomiche con relazioni complesse (<metronome-note> in MusicXML) non sono ancora implementate."
+#: convert-ly.py:96 convert-ly.py:137
+msgid "VERSION"
+msgstr "VERSIONE"
-#: musicxml2ly.py:1663
-#, python-format
-msgid "Unable to convert chord type %s to lilypond."
-msgstr "Impossibile convertire l'accordo di tipo %s in un'espressione di lilypond."
+#: convert-ly.py:98
+msgid "start from VERSION [default: \\version found in file]"
+msgstr "parte dalla VERSIONE [predefinito: \\version del file]"
-#: musicxml2ly.py:1816
-#, python-format
-msgid "drum %s type unknown, please add to instrument_drumtype_dict"
-msgstr "tipo di percussione %s sconosciuto, si prega di aggiungerlo a instrument_drumtype_dict"
+#: convert-ly.py:101
+msgid "edit in place"
+msgstr "modifica il file di input"
-#: musicxml2ly.py:1820
-msgid "cannot find suitable event"
-msgstr "impossibile trovare un evento adatto"
+#: convert-ly.py:105 lilypond-book.py:179 musicxml2ly.py:2627
+msgid "Print log messages according to LOGLEVEL (NONE, ERROR, WARNING, PROGRESS (default), DEBUG)"
+msgstr "Mostra i messaggi di log in base a LOGLEVEL (NONE, ERROR, WARNING, PROGRESS (default), DEBUG)"
-#: musicxml2ly.py:1968
+#: convert-ly.py:107 lilypond-book.py:163 lilypond-book.py:181
+#: musicxml2ly.py:2629 main.cc:167
+msgid "LOGLEVEL"
+msgstr "LOGLEVEL"
+
+#: convert-ly.py:113
+msgid "do not add \\version command if missing"
+msgstr "non aggiunge il comando \\version se non è presente"
+
+#: convert-ly.py:119
#, python-format
-msgid "Negative skip %s (from position %s to %s)"
-msgstr "Salto negativo %s (dalla posizione %s a %s)"
+msgid "force updating \\version number to %s"
+msgstr "forza l'aggiornamento del numero di \\version a %s"
-#: musicxml2ly.py:2109
+#: convert-ly.py:125
+msgid "only update \\version number if file is modified"
+msgstr "aggiorna il numero di \\version solo se il file è modificato"
+
+#: convert-ly.py:131
#, python-format
-msgid "Negative skip found: from %s to %s, difference is %s"
-msgstr "Trovato un salto negativo: da %s a %s, la differenza è %s"
+msgid "show rules [default: -f 0, -t %s]"
+msgstr "mostra le regole [predefinito: -f 0, -t %s]"
-#: musicxml2ly.py:2190
+#: convert-ly.py:136
#, python-format
-msgid "unexpected %s; expected %s or %s or %s"
-msgstr "%s inaspettato; previsto %s o %s o %s"
+msgid "convert to VERSION [default: %s]"
+msgstr "converte a VERSIONE [predefinito: %s]"
-#: musicxml2ly.py:2296
-msgid "Encountered closing slur, but no slur is open"
-msgstr "Trovata la chiusura di una legatura di portamento, ma non ne è stata aperta alcuna"
+#: convert-ly.py:141 etf2ly.py:1212 lilypond-book.py:234 midi2ly.py:1096
+#: main.cc:176
+msgid "show warranty and copyright"
+msgstr "mostra la garanzia e il copyright"
-#: musicxml2ly.py:2299
-msgid "Cannot have two simultaneous (closing) slurs"
-msgstr "Due legature di portamento non possono chiudersi simultaneamente"
+#: convert-ly.py:186
+msgid "Applying conversion: "
+msgstr "Conversione in corso: "
-#: musicxml2ly.py:2308
-msgid "Cannot have a slur inside another slur"
-msgstr "Due legature di portamento non possono sovrapporsi"
+#: convert-ly.py:202
+msgid "Error while converting"
+msgstr "Errore durante la conversione"
-#: musicxml2ly.py:2311
-msgid "Cannot have two simultaneous slurs"
-msgstr "Due legature di portamento non possono intervenire simultaneamente"
+#: convert-ly.py:204
+msgid "Stopping at last successful rule"
+msgstr "Fermarsi all'ultima regola riuscita"
-#: musicxml2ly.py:2445
+#: convert-ly.py:231
#, python-format
-msgid "cannot simultaneously have more than one mode: %s"
-msgstr "non si può avere simultaneamente più di un modo: %s"
-
-#: musicxml2ly.py:2553
-msgid "Converting to LilyPond expressions..."
-msgstr "Conversione nelle espressioni di LilyPond..."
+msgid "Processing `%s'... "
+msgstr "Elaborazione di «%s»... "
-#: musicxml2ly.py:2564
-msgid "musicxml2ly [OPTION]... FILE.xml"
-msgstr "musicxml2ly [OPZIONE]... FILE.xml"
+#: convert-ly.py:338
+#, python-format
+msgid "%s: Unable to open file"
+msgstr "%s: Impossibile aprire il file"
-#: musicxml2ly.py:2566
+#: convert-ly.py:345
+#, python-format
+msgid "%s: Unable to determine version. Skipping"
+msgstr "%s: Impossibile determinare la versione. Tralasciato"
+
+#: convert-ly.py:350
+#, python-format
msgid ""
-"Convert MusicXML from FILE.xml to LilyPond input.\n"
-"If the given filename is -, musicxml2ly reads from the command line.\n"
+"%s: Invalid version string `%s' \n"
+"Valid version strings consist of three numbers, separated by dots, e.g. `2.8.12'"
msgstr ""
-"Converte FILE.xml (MusicXML) in input di LilyPond.\n"
-"Se il nome del file è -, musicxml2ly legge dalla riga di comando.\n"
+"%s: Stringa di versione non valida `%s' \n"
+"Le stringhe di versione valide sono composte da tre numeri separati da punti, ad esempio «2.8.12»"
-#: musicxml2ly.py:2572 midi2ly.py:1062 abc2ly.py:1388 lilypond-book.py:140
-#: convert-ly.py:92 etf2ly.py:1204 main.cc:153
-msgid "show this help and exit"
-msgstr "mostra questo messaggio di aiuto ed esce"
+#: etf2ly.py:1197
+#, python-format
+msgid "%s [OPTION]... ETF-FILE"
+msgstr "%s [OPZIONE]... FILE-ETF"
-#: musicxml2ly.py:2576
+#: etf2ly.py:1198
msgid ""
-"Copyright (c) 2005--2012 by\n"
-" Han-Wen Nienhuys <hanwen@xs4all.nl>,\n"
-" Jan Nieuwenhuizen <janneke@gnu.org> and\n"
-" Reinhold Kainhofer <reinhold@kainhofer.com>\n"
+"Enigma Transport Format is a format used by Coda Music Technology's\n"
+"Finale product. etf2ly converts a subset of ETF to a ready-to-use LilyPond file.\n"
msgstr ""
-"Copyright (c) 2005--2012 di\n"
-" Han-Wen Nienhuys <hanwen@xs4all.nl>,\n"
-" Jan Nieuwenhuizen <janneke@gnu.org> e\n"
-" Reinhold Kainhofer <reinhold@kainhofer.com>\n"
+"Enigma Transport Format è un formato usato dal prodotto Finale di Coda Music Technology.\n"
+"etf2ly converte un sottoinsieme di ETF in un file LilyPond pronto da usare.\n"
-#: musicxml2ly.py:2590 midi2ly.py:1095 abc2ly.py:1385 lilypond-book.py:231
-#: convert-ly.py:88 etf2ly.py:1208 main.cc:174
-msgid "show version number and exit"
-msgstr "mostra il numero di versione ed esce"
+#: etf2ly.py:1210 midi2ly.py:1067 midi2ly.py:1072 musicxml2ly.py:2659
+#: main.cc:159 main.cc:171
+msgid "FILE"
+msgstr "FILE"
-#: musicxml2ly.py:2596 midi2ly.py:1090 lilypond-book.py:223
-msgid "be verbose"
-msgstr "passa in modalità prolissa"
+#: lilypond-book.py:80
+msgid "Process LilyPond snippets in hybrid HTML, LaTeX, texinfo or DocBook document."
+msgstr "Elaborare i frammenti di codice LilyPond in un documento HTML ibrido, LaTeX, texinfo o DocBook."
-#: musicxml2ly.py:2602
-msgid "use lxml.etree; uses less memory and cpu time"
-msgstr "usa lxml.etree per limitare il consumo di memoria e i tempi del processore"
+#: lilypond-book.py:87
+msgid "BOOK"
+msgstr "LIBRO"
-#: musicxml2ly.py:2608
-msgid "input file is a zip-compressed MusicXML file"
-msgstr "il file di input è un file MusicXML compresso in ZIP"
+#: lilypond-book.py:95
+#, python-format
+msgid "Exiting (%d)..."
+msgstr "Uscita (%d)..."
-#: musicxml2ly.py:2614
-msgid "convert pitches in relative mode (default)"
-msgstr "converte le altezze in modo relativo (predefinito)"
+#: lilypond-book.py:127
+msgid "FILTER"
+msgstr "FILTRO"
-#: musicxml2ly.py:2619
-msgid "convert pitches in absolute mode"
-msgstr "converte le altezze in modo assoluto"
+#: lilypond-book.py:130
+msgid "pipe snippets through FILTER [default: `convert-ly -n -']"
+msgstr "redirige i frammenti di codice attraverso FILTRO [predefinito: `convert-ly -n -']"
-#: musicxml2ly.py:2622
-msgid "LANG"
-msgstr "LINGUA"
+#: lilypond-book.py:134
+msgid "use output format FORMAT (texi [default], texi-html, latex, html, docbook)"
+msgstr "usa il formato di output FORMATO (texi [predefinito], texi-html, latex, html, docbook)"
-#: musicxml2ly.py:2624
-msgid "use LANG for pitch names, e.g. 'deutsch' for note names in German"
-msgstr "usa LINGUA per i nomi delle altezze, ad esempio 'deutsch' per i nomi delle note in tedesco"
+#: lilypond-book.py:135
+msgid "FORMAT"
+msgstr "FORMATO"
-#: musicxml2ly.py:2627 lilypond-book.py:179 convert-ly.py:105
-msgid "Print log messages according to LOGLEVEL (NONE, ERROR, WARNING, PROGRESS (default), DEBUG)"
-msgstr "Mostra i messaggi di log in base a LOGLEVEL (NONE, ERROR, WARNING, PROGRESS (default), DEBUG)"
+#: lilypond-book.py:142
+msgid "add DIR to include path"
+msgstr "aggiunge DIR al percorso di inclusione"
-#: musicxml2ly.py:2629 lilypond-book.py:163 lilypond-book.py:181
-#: convert-ly.py:107 main.cc:167
-msgid "LOGLEVEL"
-msgstr "LOGLEVEL"
+#: lilypond-book.py:143 lilypond-book.py:150 lilypond-book.py:169
+#: lilypond-book.py:187 lilypond-book.py:208 lilypond-book.py:214 main.cc:158
+msgid "DIR"
+msgstr "DIR"
-#: musicxml2ly.py:2638
-msgid "do not convert directions (^, _ or -) for articulations, dynamics, etc."
-msgstr "non converte le direzioni (^, _ o -) per articolazioni, dinamiche, etc."
+#: lilypond-book.py:148
+msgid "format Texinfo output so that Info will look for images of music in DIR"
+msgstr "formatta l'output di Texinfo in modo che Info cerchi le immagini in DIR"
-#: musicxml2ly.py:2644
-msgid "do not convert exact vertical positions of rests"
-msgstr "non converte le esatte posizioni verticali delle pause"
+#: lilypond-book.py:155
+msgid "PAD"
+msgstr "PAD"
-#: musicxml2ly.py:2650
-msgid "do not convert the exact page layout and breaks"
-msgstr "non converte l'esatta formattazione di pagina e gli a capo"
+#: lilypond-book.py:157
+msgid "pad left side of music to align music inspite of uneven bar numbers (in mm)"
+msgstr "aumenta il lato sinistro della musica (in mm) per allinearla nonostante il numero irregolare di battute"
-#: musicxml2ly.py:2656
-msgid "do not convert beaming information, use lilypond's automatic beaming instead"
-msgstr "non converte le informazioni relative alle travature, usare invece la disposizione automatica delle travature di lilypond"
+#: lilypond-book.py:162
+msgid "Print lilypond log messages according to LOGLEVEL"
+msgstr "Mostra i messaggi di log di lilypond in base a LOGLEVEL"
-#: musicxml2ly.py:2659 midi2ly.py:1067 midi2ly.py:1072 etf2ly.py:1210
-#: main.cc:159 main.cc:171
-msgid "FILE"
-msgstr "FILE"
+#: lilypond-book.py:168
+msgid "write lily-XXX files to DIR, link into --output dir"
+msgstr ""
+"scrive i file lily-XXX in DIR e crea un collegamento verso\n"
+"la directory specificata con --output"
-#: musicxml2ly.py:2664
-msgid "set output filename to FILE, stdout if -"
-msgstr "imposta il nome del file di output su FILE (stdout se -)"
+#: lilypond-book.py:173
+msgid "Load the additional python PACKAGE (containing e.g. a custom output format)"
+msgstr "Carica il PACCHETTO python supplementare (contenente ad esempio un formato di output personalizzato)"
-#: musicxml2ly.py:2670
-msgid "activate midi-block"
-msgstr "attiva il blocco midi"
+#: lilypond-book.py:174
+msgid "PACKAGE"
+msgstr "PACCHETTO"
-#. Translators, please translate this string as
-#. "Report bugs in English via %s",
-#. or if there is a LilyPond users list or forum in your language
-#. "Report bugs in English via %s or in YOUR_LANG via URI"
-#: musicxml2ly.py:2674 midi2ly.py:1107 abc2ly.py:1403 lilypond-book.py:258
-#: convert-ly.py:146 etf2ly.py:1218 main.cc:285
-#, c-format, python-format
-msgid "Report bugs via %s"
-msgstr "Segnalare i bug in inglese attraverso %s"
+#: lilypond-book.py:186
+msgid "write output to DIR"
+msgstr "scrive l'output in DIR"
-#: musicxml2ly.py:2754
-#, python-format
-msgid "unknown part in part-list: %s"
-msgstr "parte sconosciuta in part-list: %s"
+#: lilypond-book.py:191
+msgid "COMMAND"
+msgstr "COMANDO"
-#: musicxml2ly.py:2816
-msgid "Input is compressed, extracting raw MusicXML data from stdin"
-msgstr "L'input è compresso. Estrazione dei dati MusicXML da stdin"
+#: lilypond-book.py:192
+msgid "process ly_files using COMMAND FILE..."
+msgstr "elabora ly_files con COMANDO FILE..."
-#: musicxml2ly.py:2829
-#, python-format
-msgid "Input file %s is compressed, extracting raw MusicXML data"
-msgstr "Il file di input %s è compresso. Estrazione dei dati MusicXML"
+#: lilypond-book.py:197
+msgid "Redirect the lilypond output"
+msgstr "Redirezione dell'output di lilypond"
-#: musicxml2ly.py:2859
-msgid "Reading MusicXML from Standard input ..."
-msgstr "Lettura di MusicXML da Standard input ..."
+#: lilypond-book.py:201
+msgid "Compile snippets in safe mode"
+msgstr "Compila i frammenti di codice in modalità sicura"
-#: musicxml2ly.py:2861
-#, python-format
-msgid "Reading MusicXML from %s ..."
-msgstr "Lettura di MusicXML da %s ..."
+#: lilypond-book.py:207
+msgid "do not fail if no lilypond output is found"
+msgstr "non si interrompe se non si trova alcun output di lilypond"
-#: musicxml2ly.py:2894
-#, python-format
-msgid "Output to `%s'"
-msgstr "Output inviato a «%s»"
+#: lilypond-book.py:213
+msgid "do not fail if no PNG images are found for EPS files"
+msgstr "non si interrompe se non si trovano immagini PNG per i file EPS"
-#: musicxml2ly.py:2964
-#, python-format
-msgid "Unable to find input file %s"
-msgstr "Impossibile trovare il file di input %s"
+#: lilypond-book.py:219
+msgid "write snippet output files with the same base name as their source file"
+msgstr "scrive i file di output dei frammenti di codice con lo stesso nome di base dei file sorgenti"
-#: midi2ly.py:81 lilypond-book.py:115 convert-ly.py:75 etf2ly.py:1191
-#, python-format
-msgid "Copyright (c) %s by"
-msgstr "Copyright (c) %s di"
+#: lilypond-book.py:223 midi2ly.py:1090 musicxml2ly.py:2596
+msgid "be verbose"
+msgstr "passa in modalità prolissa"
-#: midi2ly.py:83 lilypond-book.py:117 convert-ly.py:77 etf2ly.py:1193
-msgid "Distributed under terms of the GNU General Public License."
-msgstr "Distribuito secondo i termini della GNU General Public License."
+#: lilypond-book.py:239
+msgid ""
+"run executable PROG instead of latex, or in\n"
+"case --pdf option is set instead of pdflatex"
+msgstr ""
+"eseguire il PROGRAMMA eseguibile invece di latex, o nel caso in\n"
+"cui viene impostata l'opzione --pdf invece di usare pdflatex"
-#: midi2ly.py:84 lilypond-book.py:118 convert-ly.py:78 etf2ly.py:1194
-msgid "It comes with NO WARRANTY."
-msgstr "È distribuito con NESSUNA GARANZIA."
+#: lilypond-book.py:241 lilypond-book.py:246
+msgid "PROG"
+msgstr "PROGRAMMA"
-#: midi2ly.py:90
-msgid "warning: "
-msgstr "attenzione: "
+#: lilypond-book.py:245
+msgid "run executable PROG instead of texi2pdf"
+msgstr "esegue l'eseguibile PROGRAMMA invece di texi2pdf"
-#: midi2ly.py:93 midi2ly.py:1124
-msgid "error: "
-msgstr "errore: "
+#: lilypond-book.py:252
+msgid "create PDF files for use with PDFTeX"
+msgstr "creare file PDF per l'utilizzo con PDFTeX"
-#: midi2ly.py:94
-msgid "Exiting... "
-msgstr "Uscita... "
+#: lilypond-book.py:455
+msgid "Writing snippets..."
+msgstr "Scrittura dei frammenti di codice..."
-#: midi2ly.py:835
-msgid "found more than 5 voices on a staff, expect bad output"
-msgstr "trovate più di 5 voci in un rigo, è probabile che l'output sia sbagliato"
+#: lilypond-book.py:460
+msgid "Processing..."
+msgstr "In elaborazione..."
-#: midi2ly.py:1032
-#, python-format
-msgid "%s output to `%s'..."
-msgstr "%s output inviato a «%s»..."
+#: lilypond-book.py:465
+msgid "All snippets are up to date..."
+msgstr "Tutti i frammenti di codice sono aggiornati..."
-#: midi2ly.py:1044 abc2ly.py:1376 lilypond-book.py:122 convert-ly.py:81
-#, python-format
-msgid "%s [OPTION]... FILE"
-msgstr "%s [OPZIONE]... FILE"
+#: lilypond-book.py:467
+msgid "Linking files..."
+msgstr "Collegamento dei file..."
-#: midi2ly.py:1045
+#: lilypond-book.py:487
#, python-format
-msgid "Convert %s to LilyPond input.\n"
-msgstr "Converte %s in input LilyPond.\n"
+msgid "cannot determine format for: %s"
+msgstr "impossibile determinare il formato per: %s"
+
+#: lilypond-book.py:496
+#, python-format
+msgid "%s is up to date."
+msgstr "%s è aggiornato."
+
+#: lilypond-book.py:509
+#, python-format
+msgid "Writing `%s'..."
+msgstr "Scrittura di «%s»..."
+
+#: lilypond-book.py:570
+msgid "Output would overwrite input file; use --output."
+msgstr "L'output sovrascriverebbe il file di input; usare --output."
+
+#: lilypond-book.py:574
+#, python-format
+msgid "Reading %s..."
+msgstr "Lettura di %s..."
+
+#: lilypond-book.py:581
+msgid "Dissecting..."
+msgstr "Dissezione di..."
+
+#: lilypond-book.py:592
+#, python-format
+msgid "Compiling %s..."
+msgstr "Compilazione di %s"
+
+#: lilypond-book.py:600
+#, python-format
+msgid "Processing include: %s"
+msgstr "Elaborazione di include: %s"
+
+#: lilypond-book.py:611
+#, python-format
+msgid "Removing `%s'"
+msgstr "Eliminazione di «%s»"
+
+#: lilypond-book.py:704
+#, python-format
+msgid "Setting LilyPond's loglevel to %s"
+msgstr "Si imposta il loglevel di LilyPond su %s"
+
+#: lilypond-book.py:708
+#, python-format
+msgid "Setting LilyPond's loglevel to %s (from environment variable LILYPOND_LOGLEVEL)"
+msgstr "Si imposta il loglevel di LilyPond su %s (dalla variabile d'ambiente LILYPOND_LOGLEVEL)"
+
+#: lilypond-book.py:711
+msgid "Setting LilyPond's output to --verbose, implied by lilypond-book's setting"
+msgstr "Si imposta l'output di LilyPond su --verbose, come implicato dall'impostazione di lilypond-book"
+
+#: midi2ly.py:90
+msgid "warning: "
+msgstr "attenzione: "
+
+#: midi2ly.py:93 midi2ly.py:1124
+msgid "error: "
+msgstr "errore: "
+
+#: midi2ly.py:94
+msgid "Exiting... "
+msgstr "Uscita... "
+
+#: midi2ly.py:835
+msgid "found more than 5 voices on a staff, expect bad output"
+msgstr "trovate più di 5 voci in un rigo, è probabile che l'output sia sbagliato"
+
+#: midi2ly.py:1032
+#, python-format
+msgid "%s output to `%s'..."
+msgstr "%s output inviato a «%s»..."
+
+#: midi2ly.py:1045
+#, python-format
+msgid "Convert %s to LilyPond input.\n"
+msgstr "Converte %s in input LilyPond.\n"
#: midi2ly.py:1050
msgid "print absolute pitches"
msgid "ALT[:MINOR]"
msgstr "ALTERAZIONE[:MINORE]"
-#: midi2ly.py:1071 abc2ly.py:1391 etf2ly.py:1209
-msgid "write output to FILE"
-msgstr "scrive l'output in FILE"
-
#: midi2ly.py:1074
msgid "preview of first 4 bars"
msgstr "anteprima delle prime 4 battute"
msgid "allow tuplet durations DUR*NUM/DEN"
msgstr "consente le durate DURATA*NUMERATORE/DENOMINATORE nei gruppi irregolari"
-#: midi2ly.py:1096 lilypond-book.py:234 convert-ly.py:141 etf2ly.py:1212
-#: main.cc:176
-msgid "show warranty and copyright"
-msgstr "mostra la garanzia e il copyright"
-
#: midi2ly.py:1098
msgid "treat every text as a lyric"
msgstr "tratta ogni testo come il testo di una canzone"
msgid "no files specified on command line."
msgstr "nessun file specificato nella riga di comando."
-#: abc2ly.py:1377
+#: musicxml2ly.py:228
#, python-format
-msgid ""
-"abc2ly converts ABC music files (see\n"
-"%s) to LilyPond input.\n"
-msgstr ""
-"abc2ly converte file musicali ABC (si veda\n"
-"%s) in input LilyPond.\n"
-
-#: abc2ly.py:1394
-msgid "be strict about success"
-msgstr "è severo rispetto all'esito"
-
-#: abc2ly.py:1397
-msgid "preserve ABC's notion of beams"
-msgstr "preserva la nozione di travatura di ABC"
+msgid "Encountered file created by %s, containing wrong beaming information. All beaming information in the MusicXML file will be ignored"
+msgstr "Si è trovato un file creato da %s che contiene informazioni sbagliate sulla disposizione delle travature. Tutte le informazioni sulle travature presenti nel file MusicXML verranno ignorate"
-#: abc2ly.py:1400
-msgid "suppress progress messages"
-msgstr "sopprime i messaggi di avanzamento"
+#: musicxml2ly.py:247 musicxml2ly.py:249
+#, python-format
+msgid "Unprocessed PartGroupInfo %s encountered"
+msgstr "PartGroupInfo %s rilevato ma non elaborato"
-#: lilypond-book.py:80
-msgid "Process LilyPond snippets in hybrid HTML, LaTeX, texinfo or DocBook document."
-msgstr "Elaborare i frammenti di codice LilyPond in un documento HTML ibrido, LaTeX, texinfo o DocBook."
+#: musicxml2ly.py:500
+#, python-format
+msgid "Encountered note at %s without type and duration (=%s)"
+msgstr "Trovata una nota in %s senza tipo e durata (=%s)"
-#: lilypond-book.py:82 convert-ly.py:48
-msgid "Examples:"
-msgstr "Esempi:"
+#: musicxml2ly.py:520
+#, python-format
+msgid "Encountered rational duration with denominator %s, unable to convert to lilypond duration"
+msgstr "Trovata una durata razionale con denominatore %s, impossibile convertire in una durata di lilypond"
-#: lilypond-book.py:87
-msgid "BOOK"
-msgstr "LIBRO"
+#: musicxml2ly.py:767
+msgid "Unable to extract key signature!"
+msgstr "Impossibile estrarre l'armatura di chiave!"
-#: lilypond-book.py:95
+#: musicxml2ly.py:794
#, python-format
-msgid "Exiting (%d)..."
-msgstr "Uscita (%d)..."
+msgid "unknown mode %s, expecting 'major' or 'minor' or a church mode!"
+msgstr "modo %s sconosciuto, è richiesto \"major\" o \"minor\" o un modo ecclesiastico!"
-#: lilypond-book.py:127
-msgid "FILTER"
-msgstr "FILTRO"
+#: musicxml2ly.py:932
+#, python-format
+msgid "Encountered unprocessed marker %s\n"
+msgstr "Trovato un marcatore non elaborato %s\n"
-#: lilypond-book.py:130
-msgid "pipe snippets through FILTER [default: `convert-ly -n -']"
-msgstr "redirige i frammenti di codice attraverso FILTRO [predefinito: `convert-ly -n -']"
+#: musicxml2ly.py:1026
+#, python-format
+msgid "unknown span event %s"
+msgstr "evento di estensione %s sconosciuto"
-#: lilypond-book.py:134
-msgid "use output format FORMAT (texi [default], texi-html, latex, html, docbook)"
-msgstr "usa il formato di output FORMATO (texi [predefinito], texi-html, latex, html, docbook)"
+#: musicxml2ly.py:1036
+#, python-format
+msgid "unknown span type %s for %s"
+msgstr "tipo di estensione %s sconosciuto per %s"
-#: lilypond-book.py:135
-msgid "FORMAT"
-msgstr "FORMATO"
+#: musicxml2ly.py:1456
+msgid "Unknown metronome mark, ignoring"
+msgstr "Indicazione metronomica sconosciuta, si ignora"
-#: lilypond-book.py:142
-msgid "add DIR to include path"
-msgstr "aggiunge DIR al percorso di inclusione"
+#. TODO: Implement the other (more complex) way for tempo marks!
+#: musicxml2ly.py:1461
+msgid "Metronome marks with complex relations (<metronome-note> in MusicXML) are not yet implemented."
+msgstr "Indicazioni metronomiche con relazioni complesse (<metronome-note> in MusicXML) non sono ancora implementate."
-#: lilypond-book.py:143 lilypond-book.py:150 lilypond-book.py:169
-#: lilypond-book.py:187 lilypond-book.py:208 lilypond-book.py:214 main.cc:158
-msgid "DIR"
-msgstr "DIR"
+#: musicxml2ly.py:1663
+#, python-format
+msgid "Unable to convert chord type %s to lilypond."
+msgstr "Impossibile convertire l'accordo di tipo %s in un'espressione di lilypond."
-#: lilypond-book.py:148
-msgid "format Texinfo output so that Info will look for images of music in DIR"
-msgstr "formatta l'output di Texinfo in modo che Info cerchi le immagini in DIR"
+#: musicxml2ly.py:1816
+#, python-format
+msgid "drum %s type unknown, please add to instrument_drumtype_dict"
+msgstr "tipo di percussione %s sconosciuto, si prega di aggiungerlo a instrument_drumtype_dict"
-#: lilypond-book.py:155
-msgid "PAD"
-msgstr "PAD"
+#: musicxml2ly.py:1820
+msgid "cannot find suitable event"
+msgstr "impossibile trovare un evento adatto"
-#: lilypond-book.py:157
-msgid "pad left side of music to align music inspite of uneven bar numbers (in mm)"
-msgstr "aumenta il lato sinistro della musica (in mm) per allinearla nonostante il numero irregolare di battute"
+#: musicxml2ly.py:1968
+#, python-format
+msgid "Negative skip %s (from position %s to %s)"
+msgstr "Salto negativo %s (dalla posizione %s a %s)"
-#: lilypond-book.py:162
-msgid "Print lilypond log messages according to LOGLEVEL"
-msgstr "Mostra i messaggi di log di lilypond in base a LOGLEVEL"
+#: musicxml2ly.py:2109
+#, python-format
+msgid "Negative skip found: from %s to %s, difference is %s"
+msgstr "Trovato un salto negativo: da %s a %s, la differenza è %s"
-#: lilypond-book.py:168
-msgid "write lily-XXX files to DIR, link into --output dir"
-msgstr ""
-"scrive i file lily-XXX in DIR e crea un collegamento verso\n"
-"la directory specificata con --output"
+#: musicxml2ly.py:2190
+#, python-format
+msgid "unexpected %s; expected %s or %s or %s"
+msgstr "%s inaspettato; previsto %s o %s o %s"
-#: lilypond-book.py:173
-msgid "Load the additional python PACKAGE (containing e.g. a custom output format)"
-msgstr "Carica il PACCHETTO python supplementare (contenente ad esempio un formato di output personalizzato)"
+#: musicxml2ly.py:2296
+msgid "Encountered closing slur, but no slur is open"
+msgstr "Trovata la chiusura di una legatura di portamento, ma non ne è stata aperta alcuna"
-#: lilypond-book.py:174
-msgid "PACKAGE"
-msgstr "PACCHETTO"
+#: musicxml2ly.py:2299
+msgid "Cannot have two simultaneous (closing) slurs"
+msgstr "Due legature di portamento non possono chiudersi simultaneamente"
-#: lilypond-book.py:186
-msgid "write output to DIR"
-msgstr "scrive l'output in DIR"
+#: musicxml2ly.py:2308
+msgid "Cannot have a slur inside another slur"
+msgstr "Due legature di portamento non possono sovrapporsi"
-#: lilypond-book.py:191
-msgid "COMMAND"
-msgstr "COMANDO"
+#: musicxml2ly.py:2311
+msgid "Cannot have two simultaneous slurs"
+msgstr "Due legature di portamento non possono intervenire simultaneamente"
-#: lilypond-book.py:192
-msgid "process ly_files using COMMAND FILE..."
-msgstr "elabora ly_files con COMANDO FILE..."
+#: musicxml2ly.py:2445
+#, python-format
+msgid "cannot simultaneously have more than one mode: %s"
+msgstr "non si può avere simultaneamente più di un modo: %s"
-#: lilypond-book.py:197
-msgid "Redirect the lilypond output"
-msgstr "Redirezione dell'output di lilypond"
+#: musicxml2ly.py:2553
+msgid "Converting to LilyPond expressions..."
+msgstr "Conversione nelle espressioni di LilyPond..."
-#: lilypond-book.py:201
-msgid "Compile snippets in safe mode"
-msgstr "Compila i frammenti di codice in modalità sicura"
+#: musicxml2ly.py:2564
+msgid "musicxml2ly [OPTION]... FILE.xml"
+msgstr "musicxml2ly [OPZIONE]... FILE.xml"
-#: lilypond-book.py:207
-msgid "do not fail if no lilypond output is found"
-msgstr "non si interrompe se non si trova alcun output di lilypond"
-
-#: lilypond-book.py:213
-msgid "do not fail if no PNG images are found for EPS files"
-msgstr "non si interrompe se non si trovano immagini PNG per i file EPS"
-
-#: lilypond-book.py:219
-msgid "write snippet output files with the same base name as their source file"
-msgstr "scrive i file di output dei frammenti di codice con lo stesso nome di base dei file sorgenti"
-
-#: lilypond-book.py:239
+#: musicxml2ly.py:2566
msgid ""
-"run executable PROG instead of latex, or in\n"
-"case --pdf option is set instead of pdflatex"
+"Convert MusicXML from FILE.xml to LilyPond input.\n"
+"If the given filename is -, musicxml2ly reads from the command line.\n"
msgstr ""
-"eseguire il PROGRAMMA eseguibile invece di latex, o nel caso in\n"
-"cui viene impostata l'opzione --pdf invece di usare pdflatex"
-
-#: lilypond-book.py:241 lilypond-book.py:246
-msgid "PROG"
-msgstr "PROGRAMMA"
-
-#: lilypond-book.py:245
-msgid "run executable PROG instead of texi2pdf"
-msgstr "esegue l'eseguibile PROGRAMMA invece di texi2pdf"
-
-#: lilypond-book.py:252
-msgid "create PDF files for use with PDFTeX"
-msgstr "creare file PDF per l'utilizzo con PDFTeX"
-
-#: lilypond-book.py:455
-msgid "Writing snippets..."
-msgstr "Scrittura dei frammenti di codice..."
-
-#: lilypond-book.py:460
-msgid "Processing..."
-msgstr "In elaborazione..."
-
-#: lilypond-book.py:465
-msgid "All snippets are up to date..."
-msgstr "Tutti i frammenti di codice sono aggiornati..."
-
-#: lilypond-book.py:467
-msgid "Linking files..."
-msgstr "Collegamento dei file..."
-
-#: lilypond-book.py:487
-#, python-format
-msgid "cannot determine format for: %s"
-msgstr "impossibile determinare il formato per: %s"
-
-#: lilypond-book.py:496
-#, python-format
-msgid "%s is up to date."
-msgstr "%s è aggiornato."
-
-#: lilypond-book.py:509
-#, python-format
-msgid "Writing `%s'..."
-msgstr "Scrittura di «%s»..."
-
-#: lilypond-book.py:570
-msgid "Output would overwrite input file; use --output."
-msgstr "L'output sovrascriverebbe il file di input; usare --output."
-
-#: lilypond-book.py:574
-#, python-format
-msgid "Reading %s..."
-msgstr "Lettura di %s..."
-
-#: lilypond-book.py:581
-msgid "Dissecting..."
-msgstr "Dissezione di..."
-
-#: lilypond-book.py:592
-#, python-format
-msgid "Compiling %s..."
-msgstr "Compilazione di %s"
-
-#: lilypond-book.py:600
-#, python-format
-msgid "Processing include: %s"
-msgstr "Elaborazione di include: %s"
-
-#: lilypond-book.py:611
-#, python-format
-msgid "Removing `%s'"
-msgstr "Eliminazione di «%s»"
-
-#: lilypond-book.py:704
-#, python-format
-msgid "Setting LilyPond's loglevel to %s"
-msgstr "Si imposta il loglevel di LilyPond su %s"
-
-#: lilypond-book.py:708
-#, python-format
-msgid "Setting LilyPond's loglevel to %s (from environment variable LILYPOND_LOGLEVEL)"
-msgstr "Si imposta il loglevel di LilyPond su %s (dalla variabile d'ambiente LILYPOND_LOGLEVEL)"
-
-#: lilypond-book.py:711
-msgid "Setting LilyPond's output to --verbose, implied by lilypond-book's setting"
-msgstr "Si imposta l'output di LilyPond su --verbose, come implicato dall'impostazione di lilypond-book"
+"Converte FILE.xml (MusicXML) in input di LilyPond.\n"
+"Se il nome del file è -, musicxml2ly legge dalla riga di comando.\n"
-#: convert-ly.py:46
+#: musicxml2ly.py:2576
msgid ""
-"Update LilyPond input to newer version. By default, update from the\n"
-"version taken from the \\version command, to the current LilyPond version."
+"Copyright (c) 2005--2012 by\n"
+" Han-Wen Nienhuys <hanwen@xs4all.nl>,\n"
+" Jan Nieuwenhuizen <janneke@gnu.org> and\n"
+" Reinhold Kainhofer <reinhold@kainhofer.com>\n"
msgstr ""
-"Aggiorna l'input LilyPond a una nuova versione. Per impostazione predefinita aggiorna dalla\n"
-"versione presa dal comando \\version alla versione attuale di LilyPond."
-
-#: convert-ly.py:96 convert-ly.py:137
-msgid "VERSION"
-msgstr "VERSIONE"
-
-#: convert-ly.py:98
-msgid "start from VERSION [default: \\version found in file]"
-msgstr "parte dalla VERSIONE [predefinito: \\version del file]"
-
-#: convert-ly.py:101
-msgid "edit in place"
-msgstr "modifica il file di input"
-
-#: convert-ly.py:113
-msgid "do not add \\version command if missing"
-msgstr "non aggiunge il comando \\version se non è presente"
-
-#: convert-ly.py:119
-#, python-format
-msgid "force updating \\version number to %s"
-msgstr "forza l'aggiornamento del numero di \\version a %s"
-
-#: convert-ly.py:125
-msgid "only update \\version number if file is modified"
-msgstr "aggiorna il numero di \\version solo se il file è modificato"
-
-#: convert-ly.py:131
-#, python-format
-msgid "show rules [default: -f 0, -t %s]"
-msgstr "mostra le regole [predefinito: -f 0, -t %s]"
+"Copyright (c) 2005--2012 di\n"
+" Han-Wen Nienhuys <hanwen@xs4all.nl>,\n"
+" Jan Nieuwenhuizen <janneke@gnu.org> e\n"
+" Reinhold Kainhofer <reinhold@kainhofer.com>\n"
-#: convert-ly.py:136
-#, python-format
-msgid "convert to VERSION [default: %s]"
-msgstr "converte a VERSIONE [predefinito: %s]"
+#: musicxml2ly.py:2602
+msgid "use lxml.etree; uses less memory and cpu time"
+msgstr "usa lxml.etree per limitare il consumo di memoria e i tempi del processore"
-#: convert-ly.py:186
-msgid "Applying conversion: "
-msgstr "Conversione in corso: "
+#: musicxml2ly.py:2608
+msgid "input file is a zip-compressed MusicXML file"
+msgstr "il file di input è un file MusicXML compresso in ZIP"
-#: convert-ly.py:202
-msgid "Error while converting"
-msgstr "Errore durante la conversione"
+#: musicxml2ly.py:2614
+msgid "convert pitches in relative mode (default)"
+msgstr "converte le altezze in modo relativo (predefinito)"
-#: convert-ly.py:204
-msgid "Stopping at last successful rule"
-msgstr "Fermarsi all'ultima regola riuscita"
+#: musicxml2ly.py:2619
+msgid "convert pitches in absolute mode"
+msgstr "converte le altezze in modo assoluto"
-#: convert-ly.py:231
-#, python-format
-msgid "Processing `%s'... "
-msgstr "Elaborazione di «%s»... "
+#: musicxml2ly.py:2622
+msgid "LANG"
+msgstr "LINGUA"
-#: convert-ly.py:338
-#, python-format
-msgid "%s: Unable to open file"
-msgstr "%s: Impossibile aprire il file"
+#: musicxml2ly.py:2624
+msgid "use LANG for pitch names, e.g. 'deutsch' for note names in German"
+msgstr "usa LINGUA per i nomi delle altezze, ad esempio 'deutsch' per i nomi delle note in tedesco"
-#: convert-ly.py:345
-#, python-format
-msgid "%s: Unable to determine version. Skipping"
-msgstr "%s: Impossibile determinare la versione. Tralasciato"
+#: musicxml2ly.py:2638
+msgid "do not convert directions (^, _ or -) for articulations, dynamics, etc."
+msgstr "non converte le direzioni (^, _ o -) per articolazioni, dinamiche, etc."
-#: convert-ly.py:350
-#, python-format
-msgid ""
-"%s: Invalid version string `%s' \n"
-"Valid version strings consist of three numbers, separated by dots, e.g. `2.8.12'"
-msgstr ""
-"%s: Stringa di versione non valida `%s' \n"
-"Le stringhe di versione valide sono composte da tre numeri separati da punti, ad esempio «2.8.12»"
+#: musicxml2ly.py:2644
+msgid "do not convert exact vertical positions of rests"
+msgstr "non converte le esatte posizioni verticali delle pause"
-#: etf2ly.py:1197
-#, python-format
-msgid "%s [OPTION]... ETF-FILE"
-msgstr "%s [OPZIONE]... FILE-ETF"
+#: musicxml2ly.py:2650
+msgid "do not convert the exact page layout and breaks"
+msgstr "non converte l'esatta formattazione di pagina e gli a capo"
-#: etf2ly.py:1198
-msgid ""
-"Enigma Transport Format is a format used by Coda Music Technology's\n"
-"Finale product. etf2ly converts a subset of ETF to a ready-to-use LilyPond file.\n"
-msgstr ""
-"Enigma Transport Format è un formato usato dal prodotto Finale di Coda Music Technology.\n"
-"etf2ly converte un sottoinsieme di ETF in un file LilyPond pronto da usare.\n"
+#: musicxml2ly.py:2656
+msgid "do not convert beaming information, use lilypond's automatic beaming instead"
+msgstr "non converte le informazioni relative alle travature, usare invece la disposizione automatica delle travature di lilypond"
-#: website_post.py:123
-msgid "English"
-msgstr "Inglese"
+#: musicxml2ly.py:2664
+msgid "set output filename to FILE, stdout if -"
+msgstr "imposta il nome del file di output su FILE (stdout se -)"
-#: website_post.py:126
-msgid "Other languages"
-msgstr "Altre lingue"
+#: musicxml2ly.py:2670
+msgid "activate midi-block"
+msgstr "attiva il blocco midi"
-#: website_post.py:127
+#: musicxml2ly.py:2754
#, python-format
-msgid "About <a href=\"%s\">automatic language selection</a>."
-msgstr "Informazioni sulla <a href=\"%s\">selezione automatica della lingua</a>."
-
-#: warn.cc:56
-#, c-format
-msgid "Log level set to %d\n"
-msgstr "Log level impostato su %d\n"
-
-#: warn.cc:89
-#, c-format
-msgid "unknown log level `%s', using default (INFO)"
-msgstr "log level \"%s\" sconosciuto, si usa quello predefinito (INFO)"
-
-#. Some expected warning was not triggered, so print out a warning.
-#: warn.cc:112
-#, c-format
-msgid "%d expected warning(s) not encountered: "
-msgstr "%d avvertimenti previsti non incontrati: "
-
-#: warn.cc:183
-#, c-format
-msgid "fatal error: %s"
-msgstr "errore fatale: %s"
-
-#: warn.cc:192
-#, c-format
-msgid "suppressed programming error: %s"
-msgstr "errore di programmazione soppresso: %s"
-
-#: warn.cc:197
-#, c-format
-msgid "programming error: %s"
-msgstr "errore di programmazione: %s"
-
-#: warn.cc:198
-msgid "continuing, cross fingers"
-msgstr "continua, incrociare le dita"
-
-#: warn.cc:207
-#, c-format
-msgid "suppressed error: %s"
-msgstr "errore soppresso: %s"
-
-#: warn.cc:219
-#, c-format
-msgid "suppressed warning: %s"
-msgstr "avvertimento soppresso: %s"
-
-#: getopt-long.cc:153
-#, c-format
-msgid "option `%s' requires an argument"
-msgstr "l'opzione «%s» richiede un argomento"
-
-#: getopt-long.cc:157
-#, c-format
-msgid "option `%s' does not allow an argument"
-msgstr "l'opzione «%s» non accetta argomenti"
-
-#: getopt-long.cc:161
-#, c-format
-msgid "unrecognized option: `%s'"
-msgstr "opzione non riconosciuta: «%s»"
-
-#: getopt-long.cc:167
-#, c-format
-msgid "invalid argument `%s' to option `%s'"
-msgstr "argomento «%s» non valido per l'opzione «%s»"
-
-#: input.cc:138 source-file.cc:178 source-file.cc:193
-msgid "position unknown"
-msgstr "posizione sconosciuta"
-
-#: chord-tremolo-engraver.cc:88
-msgid "No tremolo to end"
-msgstr "Nessun tremolo alla fine"
-
-#: chord-tremolo-engraver.cc:109
-msgid "unterminated chord tremolo"
-msgstr "tremolo dell'accordo non terminato"
-
-#: chord-tremolo-engraver.cc:149 beam-engraver.cc:266
-msgid "stem must have Rhythmic structure"
-msgstr "il gambo deve avere una struttura ritmica"
-
-#: flag.cc:113
-#, c-format
-msgid "flag `%s' not found"
-msgstr "non si trova la coda uncinata «%s»"
-
-#: flag.cc:133
-#, c-format
-msgid "flag stroke `%s' not found"
-msgstr "non si trova il tratto «%s» della coda uncinata"
-
-#: vaticana-ligature.cc:94
-msgid "flexa-height undefined; assuming 0"
-msgstr "flexa-height non definito; si assume 0"
-
-#: vaticana-ligature.cc:99
-msgid "ascending vaticana style flexa"
-msgstr "flexa ascendente in stile vaticana"
-
-#: slur.cc:430
-#, c-format
-msgid "Ignoring grob for slur: %s. avoid-slur not set?"
-msgstr "Si ignora il grob per la legatura di portamento: %s. Non si è impostato avoid-slur?"
-
-#: translator-group.cc:188
-#, c-format
-msgid "cannot find: `%s'"
-msgstr "impossibile trovare: «%s»"
-
-#: hyphen-engraver.cc:104
-msgid "removing unterminated hyphen"
-msgstr "eliminazione di un trattino non terminato"
-
-#: hyphen-engraver.cc:118
-msgid "unterminated hyphen; removing"
-msgstr "trattino non terminato; eliminazione"
-
-#: page-layout-problem.cc:403
-msgid "A page layout problem has been initiated that cannot accommodate footnotes."
-msgstr "Si è creato un problema di formattazione della pagina che impedisce di ospitare le note a pié di pagina."
-
-#: page-layout-problem.cc:721
-msgid "cannot fit music on page: ragged-spacing was requested, but page was compressed"
-msgstr "impossibile far entrare la musica nella pagina: richiesta la spaziatura ridotta, ma la pagina è già stata compressa"
-
-#: page-layout-problem.cc:724
-#, c-format
-msgid "cannot fit music on page: overflow is %f"
-msgstr "impossibile far entrare la musica nella pagina: l'eccesso è %f"
-
-#: page-layout-problem.cc:726
-msgid "compressing music to fit"
-msgstr "si comprime la musica per farla entrare"
-
-#: page-layout-problem.cc:1188
-msgid "staff-affinities should only decrease"
-msgstr "staff-affinities deve solo diminuire"
-
-#: arpeggio.cc:115
-msgid "no heads for arpeggio found?"
-msgstr "non sono state trovate teste per l'arpeggio?"
-
-#: lyric-combine-music-iterator.cc:199
-msgid "argument of \\lyricsto should contain Lyrics context"
-msgstr "l'argomento di \\lyricsto deve contenere il contesto Lyrics"
-
-#: lyric-combine-music-iterator.cc:337
-#, c-format
-msgid "cannot find Voice `%s'"
-msgstr "impossibile trovare la voce (Voice) «%s»"
-
-#: custos.cc:87
-#, c-format
-msgid "custos `%s' not found"
-msgstr "custos «%s» non trovato"
-
-#: context.cc:149
-#, c-format
-msgid "cannot find or create new `%s'"
-msgstr "impossibile trovare o creare un nuovo «%s»"
-
-#: context.cc:207
-#, c-format
-msgid "cannot find or create `%s' called `%s'"
-msgstr "impossibile trovare o creare «%s» chiamato «%s»"
-
-#: context.cc:400
-#, c-format
-msgid "cannot find or create: `%s'"
-msgstr "impossibile trovare o creare: «%s»"
-
-#: dispatcher.cc:83
-msgid "Event class should be a list"
-msgstr "La classe evento dovrebbe essere una lista"
-
-#: dispatcher.cc:166
-#, c-format
-msgid "Junking event: %s"
-msgstr "Eliminazione dell'evento: %s"
-
-#: dispatcher.cc:262
-msgid "Attempting to remove nonexisting listener."
-msgstr "Tentativo di togliere un ascoltatore non esistente."
-
-#: dispatcher.cc:284
-msgid "Already listening to dispatcher, ignoring request"
-msgstr "Già in ascolto del controllore, si ignora la richiesta"
-
-#: grob-property.cc:35
-#, c-format
-msgid "%d: %s"
-msgstr "%d: %s"
+msgid "unknown part in part-list: %s"
+msgstr "parte sconosciuta in part-list: %s"
-#: auto-change-iterator.cc:74 change-iterator.cc:72
-#, c-format
-msgid "cannot change, already in translator: %s"
-msgstr "impossibile cambiare, già nel traduttore: %s"
+#: musicxml2ly.py:2816
+msgid "Input is compressed, extracting raw MusicXML data from stdin"
+msgstr "L'input è compresso. Estrazione dei dati MusicXML da stdin"
-#: tie-engraver.cc:117
-msgid "unterminated tie"
-msgstr "legatura di valore non terminata"
+#: musicxml2ly.py:2829
+#, python-format
+msgid "Input file %s is compressed, extracting raw MusicXML data"
+msgstr "Il file di input %s è compresso. Estrazione dei dati MusicXML"
-#: tie-engraver.cc:348
-msgid "lonely tie"
-msgstr "legatura di valore solitaria"
+#: musicxml2ly.py:2859
+msgid "Reading MusicXML from Standard input ..."
+msgstr "Lettura di MusicXML da Standard input ..."
-#: note-column.cc:147
-msgid "cannot have note heads and rests together on a stem"
-msgstr "impossibile avere teste e pause insieme su un gambo"
+#: musicxml2ly.py:2861
+#, python-format
+msgid "Reading MusicXML from %s ..."
+msgstr "Lettura di MusicXML da %s ..."
-#: parse-scm.cc:121
-msgid "GUILE signaled an error for the expression beginning here"
-msgstr "GUILE ha segnalato un errore per l'espressione che inizia qui"
+#: musicxml2ly.py:2894
+#, python-format
+msgid "Output to `%s'"
+msgstr "Output inviato a «%s»"
-#: footnote-engraver.cc:109
-msgid "Must be footnote-event."
-msgstr "Deve essere un evento nota a pié di pagina (footnote-event)."
+#: musicxml2ly.py:2964
+#, python-format
+msgid "Unable to find input file %s"
+msgstr "Impossibile trovare il file di input %s"
-#: paper-score.cc:122 minimal-page-breaking.cc:40
-msgid "Calculating line breaks..."
-msgstr "Calcolo delle interruzioni di linea..."
+#: website_post.py:123
+msgid "English"
+msgstr "Inglese"
-#: paper-score.cc:134
-#, c-format
-msgid "Element count %d (spanners %d) "
-msgstr "Conto degli elementi %d (spanner %d)."
+#: website_post.py:126
+msgid "Other languages"
+msgstr "Altre lingue"
-#: paper-score.cc:138
-msgid "Preprocessing graphical objects..."
-msgstr "Pre-elaborazione degli oggetti grafici..."
+#: website_post.py:127
+#, python-format
+msgid "About <a href=\"%s\">automatic language selection</a>."
+msgstr "Informazioni sulla <a href=\"%s\">selezione automatica della lingua</a>."
-#: paper-score.cc:162 optimal-page-breaking.cc:207
-#: page-turn-page-breaking.cc:248
-msgid "Drawing systems..."
-msgstr "Disegno dei sistemi..."
+#: getopt-long.cc:153
+#, c-format
+msgid "option `%s' requires an argument"
+msgstr "l'opzione «%s» richiede un argomento"
-#: program-option-scheme.cc:235
+#: getopt-long.cc:157
#, c-format
-msgid "no such internal option: %s"
-msgstr "opzione interna sconosciuta: %s"
+msgid "option `%s' does not allow an argument"
+msgstr "l'opzione «%s» non accetta argomenti"
-#: mensural-ligature-engraver.cc:96
-msgid "ligature with less than 2 heads -> skipping"
-msgstr "legatura con meno di due teste -> si ignora"
+#: getopt-long.cc:161
+#, c-format
+msgid "unrecognized option: `%s'"
+msgstr "opzione non riconosciuta: «%s»"
-#: mensural-ligature-engraver.cc:123
-msgid "cannot determine pitch of ligature primitive -> skipping"
-msgstr "impossibile determinare l'altezza della legatura primitiva -> si ignora"
+#: getopt-long.cc:167
+#, c-format
+msgid "invalid argument `%s' to option `%s'"
+msgstr "argomento «%s» non valido per l'opzione «%s»"
-#: mensural-ligature-engraver.cc:137
-msgid "single note ligature - skipping"
-msgstr "legatura di una nota singola - si ignora"
+#: warn.cc:56
+#, c-format
+msgid "Log level set to %d\n"
+msgstr "Log level impostato su %d\n"
-#: mensural-ligature-engraver.cc:148
-msgid "prime interval within ligature -> skipping"
-msgstr "primo intervallo all'interno della legatura -> si ignora"
+#: warn.cc:89
+#, c-format
+msgid "unknown log level `%s', using default (INFO)"
+msgstr "log level \"%s\" sconosciuto, si usa quello predefinito (INFO)"
-#: mensural-ligature-engraver.cc:159
-msgid "mensural ligature: duration none of Mx, L, B, S -> skipping"
-msgstr "legatura mensurale: nessuna durata per Mx, L, B. S -> si ignora"
+#. Some expected warning was not triggered, so print out a warning.
+#: warn.cc:112
+#, c-format
+msgid "%d expected warning(s) not encountered: "
+msgstr "%d avvertimenti previsti non incontrati: "
-#: mensural-ligature-engraver.cc:202
-msgid "semibrevis must be followed by another one -> skipping"
-msgstr "una semibreve deve essere seguita da un'altra semibreve -> si ignora"
+#: warn.cc:183
+#, c-format
+msgid "fatal error: %s"
+msgstr "errore fatale: %s"
-#: mensural-ligature-engraver.cc:212
-msgid ""
-"semibreves can only appear at the beginning of a ligature,\n"
-"and there may be only zero or two of them"
-msgstr ""
-"le semibrevi possono comparire solo all'inizio di una legatura,\n"
-"e ce ne possono essere due o nessuna"
+#: warn.cc:192
+#, c-format
+msgid "suppressed programming error: %s"
+msgstr "errore di programmazione soppresso: %s"
-#: mensural-ligature-engraver.cc:232
-msgid ""
-"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"
-msgstr ""
-"fine della legatura non valido:\n"
-"se l'ultima nota è una breve discendente,\n"
-"lo deve essere anche la penultima nota,\n"
-"oppure la legatura deve essere LB o SSB"
+#: warn.cc:197
+#, c-format
+msgid "programming error: %s"
+msgstr "errore di programmazione: %s"
-#: mensural-ligature-engraver.cc:387
-msgid "unexpected case fall-through"
-msgstr "caso inatteso e non interpretabile"
+#: warn.cc:198
+msgid "continuing, cross fingers"
+msgstr "continua, incrociare le dita"
-#: piano-pedal-engraver.cc:279
+#: warn.cc:207
#, c-format
-msgid "expect 3 strings for piano pedals, found: %ld"
-msgstr "previste tre corde per i pedali del pianoforte, trovate: %ld"
+msgid "suppressed error: %s"
+msgstr "errore soppresso: %s"
-#: piano-pedal-engraver.cc:294 piano-pedal-engraver.cc:305
-#: piano-pedal-performer.cc:104
+#: warn.cc:219
#, c-format
-msgid "cannot find start of piano pedal: `%s'"
-msgstr "impossibile trovare l'inizio del pedale del pianoforte: «%s»"
+msgid "suppressed warning: %s"
+msgstr "avvertimento soppresso: %s"
-#: piano-pedal-engraver.cc:340
+#: accidental-engraver.cc:180
#, c-format
-msgid "cannot find start of piano pedal bracket: `%s'"
-msgstr "impossibile trovare la parentesi di apertura del pedale del pianoforte: «%s»"
+msgid "accidental typesetting list must begin with context-name: %s"
+msgstr "la lista tipografica delle alterazioni deve iniziare con context-name: %s"
-#: new-dynamic-engraver.cc:168
+#: accidental-engraver.cc:210
#, c-format
-msgid ""
-"unknown crescendo style: %s\n"
-"defaulting to hairpin."
-msgstr ""
-"stile di crescendo sconosciuto: %s\n"
-"si usa la forcella predefinita."
+msgid "procedure or context-name expected for accidental rule, found %s"
+msgstr "si aspettava una procedura o context-name per la regola di alterazione accidentale, si è trovato %s"
-#: new-dynamic-engraver.cc:233
+#: accidental.cc:200
#, c-format
-msgid "unterminated %s"
-msgstr "%s non terminato"
+msgid "Could not find glyph-name for alteration %s"
+msgstr "Non si è trovato il nome del glifo per l'alterazione %s"
-#: general-scheme.cc:390
+#: accidental.cc:215
+msgid "natural alteration glyph not found"
+msgstr "alterazione naturale del glifo non trovata"
+
+#: all-font-metrics.cc:149
#, c-format
-msgid "failed redirecting stderr to `%s'"
-msgstr "fallita la redirezione di stderr su «%s»"
+msgid "cannot find font: `%s'"
+msgstr "impossibile trovare il tipo di carattere: «%s»"
-#: general-scheme.cc:469 output-ps.scm:48
-msgid "Found infinity or nan in output. Substituting 0.0"
-msgstr "Trovato infinito o un valore non numerico nell'output. Sostituito con 0.0"
+#: apply-context-iterator.cc:42
+msgid "\\applycontext argument is not a procedure"
+msgstr "l'argomento di \\applycontext non è una procedura"
-#: music.cc:150
+#: arpeggio.cc:115
+msgid "no heads for arpeggio found?"
+msgstr "non sono state trovate teste per l'arpeggio?"
+
+#: auto-change-iterator.cc:74 change-iterator.cc:72
#, c-format
-msgid "octave check failed; expected \"%s\", found: \"%s\""
-msgstr "controllo dell'ottava fallito: previsto \"%s\", trovato: \"%s\""
+msgid "cannot change, already in translator: %s"
+msgstr "impossibile cambiare, già nel traduttore: %s"
-#: music.cc:219
-msgid "(normalized pitch)"
-msgstr "(altezza normalizzata)"
+#: axis-group-engraver.cc:94
+msgid "Axis_group_engraver: vertical group already has a parent"
+msgstr "Axis_group_engraver: il gruppo verticale ha già un genitore"
-#: music.cc:223
-#, c-format
-msgid "Transposing %s by %s makes alteration larger than double"
-msgstr "La trasposizione di %s da %s ingrandisce le alterazioni più del doppio"
+#: axis-group-engraver.cc:95
+msgid "are there two Axis_group_engravers?"
+msgstr "ci sono due Axis_group_engravers?"
-#: stem.cc:128
-msgid "weird stem size, check for narrow beams"
-msgstr "strana dimensione del gambo, controllare di non avere travature strette"
+#: axis-group-engraver.cc:96
+msgid "removing this vertical group"
+msgstr "eliminazione di questo gruppo verticale"
-#: relative-octave-check.cc:49
-msgid "Failed octave check, got: "
-msgstr "Il controllo dell'ottava è fallito, si è ottenuto:"
+#: axis-group-interface.cc:668
+msgid "an outside-staff object should have a direction, defaulting to up"
+msgstr "un oggetto esterno al rigo dovrebbe avere una direzione, si imposta in su come da impostazione predefinita"
-#: translator-ctors.cc:65
+#: bar-check-iterator.cc:84
#, c-format
-msgid "unknown translator: `%s'"
-msgstr "traduttore sconosciuto: «%s»"
+msgid "barcheck failed at: %s"
+msgstr "controllo di battuta fallito a: %s"
-#: partial-iterator.cc:45
-msgid "trying to use \\partial after the start of a piece"
-msgstr "tentativo di usare \\partial all'inizio di un brano"
+#: beam-engraver.cc:147
+msgid "already have a beam"
+msgstr "travatura già presente"
-#: relocate.cc:52
-#, c-format
-msgid "Setting %s to %s"
-msgstr "Si imposta %s su %s"
+#: beam-engraver.cc:230
+msgid "unterminated beam"
+msgstr "travatura non terminata"
-#. this warning should only be printed in debug mode!
-#: relocate.cc:73
-#, c-format
-msgid "no such file: %s for %s"
-msgstr "file inesistente: %s per %s"
+#: beam-engraver.cc:266 chord-tremolo-engraver.cc:149
+msgid "stem must have Rhythmic structure"
+msgstr "il gambo deve avere una struttura ritmica"
+
+#: beam-engraver.cc:277
+msgid "stem does not fit in beam"
+msgstr "il gambo non rientra nella travatura"
-#. this warning should only be printed in debug mode!
-#. this warning should only be printed in debug mode
-#: relocate.cc:84 relocate.cc:102
-#, c-format
-msgid "no such directory: %s for %s"
-msgstr "directory inesistente: %s per %s"
+#: beam-engraver.cc:278
+msgid "beam was started here"
+msgstr "la travatura è iniziata qui"
-#: relocate.cc:93
-#, c-format
-msgid "%s=%s (prepend)\n"
-msgstr "%s=%s (prefisso)\n"
+#. We are completely screwed.
+#: beam-quanting.cc:839
+msgid "no viable initial configuration found: may not find good beam slope"
+msgstr "nessuna configurazione iniziale fattibile trovata: si potrebbe non trovare una buona inclinazione delle travature"
-#: relocate.cc:124
-#, c-format
-msgid "not relocating, no %s/ or current/ found under %s"
-msgstr "non si riloca, non si è incontrato %s/ o current/ in %s"
+#: beam.cc:181
+msgid "removing beam with no stems"
+msgstr "rimozione delle travature senza gambi"
-#: relocate.cc:134
+#: change-iterator.cc:34
#, c-format
-msgid "Relocation: compile datadir=%s, new datadir=%s"
-msgstr "Rilocazione: compilare datadir=%s, nuova datadir=%s"
+msgid "cannot change `%s' to `%s'"
+msgstr "impossibile cambiare «%s» in «%s»"
-#: relocate.cc:146
-#, c-format
-msgid "Relocation: framework_prefix=%s"
-msgstr "Rilocazione: framework_prefix=%s"
+#. FIXME: constant error message.
+#: change-iterator.cc:93
+msgid "cannot find context to switch to"
+msgstr "impossibile trovare il contesto su cui spostarsi"
-#: relocate.cc:186
+#. We could change the current translator's id, but that would make
+#. errors hard to catch.
+#.
+#. last->translator_id_string () = get_change
+#. ()->change_to_id_string ();
+#: change-iterator.cc:102
#, c-format
-msgid "Relocation: is absolute: argv0=%s\n"
-msgstr "Rilocazione: è assoluta: argv0=%s\n"
+msgid "not changing to same context type: %s"
+msgstr "non passare allo stesso tipo di contesto: %s"
-#: relocate.cc:192
-#, c-format
-msgid "Relocation: from cwd: argv0=%s\n"
-msgstr "Rilocazione: da cwd: argv0=%s\n"
+#. FIXME: uncomprehensable message
+#: change-iterator.cc:106
+msgid "none of these in my family"
+msgstr "nessuno di questi nella mia famiglia"
-#: relocate.cc:208
-#, c-format
-msgid ""
-"Relocation: from PATH=%s\n"
-"argv0=%s"
-msgstr ""
-"Rilocazione: da PATH=%s\n"
-"argv0=%s"
+#: chord-tremolo-engraver.cc:88
+msgid "No tremolo to end"
+msgstr "Nessun tremolo alla fine"
-#: relocate.cc:235
-msgid "LILYPONDPREFIX is obsolete, use LILYPOND_DATADIR"
-msgstr "LILYPONDPREFIX è obsoleto, usare LILYPOND_DATADIR"
+#: chord-tremolo-engraver.cc:109
+msgid "unterminated chord tremolo"
+msgstr "tremolo dell'accordo non terminato"
-#: relocate.cc:360
+#: clef.cc:65
#, c-format
-msgid "Relocation file: %s"
-msgstr "File di rilocazione: %s"
+msgid "clef `%s' not found"
+msgstr "chiave «%s» non trovata"
-#: relocate.cc:364 source-file.cc:65
+#: cluster.cc:120
#, c-format
-msgid "cannot open file: `%s'"
-msgstr "impossibile aprire il file: «%s»"
+msgid "unknown cluster style `%s'"
+msgstr "stile cluster sconosciuto «%s»"
-#: relocate.cc:394
+#: cluster.cc:157
+msgid "junking empty cluster"
+msgstr "eliminazione di cluster vuoti"
+
+#: coherent-ligature-engraver.cc:110
#, c-format
-msgid "Unknown relocation command %s"
-msgstr "Comando di rilocazione sconosciuto %s"
+msgid "Coherent_ligature_engraver: setting `spacing-increment=0.01': ptr=%ul"
+msgstr "Coherent_ligature_engraver: impostare `spacing-increment=0.01': ptr=%ul"
-#: extender-engraver.cc:169 extender-engraver.cc:178
-msgid "unterminated extender"
-msgstr "estensore non terminato"
+#. if we get to here, just put everything on one line
+#: constrained-breaking.cc:187 constrained-breaking.cc:205
+msgid "cannot find line breaking that satisfies constraints"
+msgstr "impossibile trovare interruzioni di linea che soddisfino i vincoli"
-#: lily-lexer.cc:255
-msgid "include files are not allowed in safe mode"
-msgstr "l'inclusione di file non è permessa in modalità sicura"
+#: context-property.cc:43
+msgid "need symbol arguments for \\override and \\revert"
+msgstr "sono necessari argomenti simbolici per \\override e \\revert"
-#: lily-lexer.cc:282
+#: context.cc:149
#, c-format
-msgid "identifier name is a keyword: `%s'"
-msgstr "Il nome dell'identificatore è una parola chiave: «%s»"
+msgid "cannot find or create new `%s'"
+msgstr "impossibile trovare o creare un nuovo «%s»"
-#: lily-lexer.cc:303 lily-lexer.cc:316
+#: context.cc:207
#, c-format
-msgid "%s:EOF"
-msgstr "%s:EOF"
+msgid "cannot find or create `%s' called `%s'"
+msgstr "impossibile trovare o creare «%s» chiamato «%s»"
-#: ligature-engraver.cc:104 ligature-bracket-engraver.cc:72
-msgid "cannot find start of ligature"
-msgstr "impossibile trovare l'inizio della legatura"
+#: context.cc:400
+#, c-format
+msgid "cannot find or create: `%s'"
+msgstr "impossibile trovare o creare: «%s»"
-#: ligature-engraver.cc:109
-msgid "no right bound"
-msgstr "manca il limite destro"
+#: custos.cc:87
+#, c-format
+msgid "custos `%s' not found"
+msgstr "custos «%s» non trovato"
-#: ligature-engraver.cc:131 ligature-bracket-engraver.cc:85
-msgid "already have a ligature"
-msgstr "legatura già presente"
+#: dispatcher.cc:83
+msgid "Event class should be a list"
+msgstr "La classe evento dovrebbe essere una lista"
-#: ligature-engraver.cc:140
-msgid "no left bound"
-msgstr "manca il limite sinistro"
+#: dispatcher.cc:166
+#, c-format
+msgid "Junking event: %s"
+msgstr "Eliminazione dell'evento: %s"
-#: ligature-engraver.cc:184
-msgid "unterminated ligature"
-msgstr "legatura non terminata"
+#: dispatcher.cc:262
+msgid "Attempting to remove nonexisting listener."
+msgstr "Tentativo di togliere un ascoltatore non esistente."
-#: ligature-engraver.cc:211
-msgid "ignoring rest: ligature may not contain rest"
-msgstr "pausa ignorata: la legatura non può contenere una pausa"
+#: dispatcher.cc:284
+msgid "Already listening to dispatcher, ignoring request"
+msgstr "Già in ascolto del controllore, si ignora la richiesta"
-#: ligature-engraver.cc:212
-msgid "ligature was started here"
-msgstr "la legatura è iniziata qui"
+#: dots.cc:48
+#, c-format
+msgid "dot `%s' not found"
+msgstr "punto «%s» non trovato"
#: dynamic-engraver.cc:193
msgid "cannot find start of (de)crescendo"
msgid "unterminated (de)crescendo"
msgstr "(de)crescendo non terminato"
-#. fixme: be more verbose.
-#: volta-engraver.cc:111
-msgid "cannot end volta spanner"
-msgstr "impossibile terminare lo spanner della volta"
+#. No explicit dynamic script events have occurred yet, but there is
+#. nevertheless a dynamic spanner. Initialize last_volume_ to a
+#. value within the available range.
+#: dynamic-performer.cc:129
+msgid "(De)crescendo with unspecified starting volume in MIDI."
+msgstr "(De)crescendo con volume iniziale del MIDI non specificato."
-#: volta-engraver.cc:121
-msgid "already have a volta spanner, ending that one prematurely"
-msgstr "spanner della volta già presente, si termina quello prematuramente"
+#: episema-engraver.cc:75
+msgid "already have an episema"
+msgstr "episema già presente"
-#: volta-engraver.cc:125
-msgid "also already have an ended spanner"
-msgstr "è già presente uno spanner terminato"
+#: episema-engraver.cc:88
+msgid "cannot find start of episema"
+msgstr "impossibile trovare l'inizio dell'episema"
-#: volta-engraver.cc:126
-msgid "giving up"
-msgstr "rinuncia"
+#: episema-engraver.cc:137
+msgid "unterminated episema"
+msgstr "episema non terminato"
-#: minimal-page-breaking.cc:44
-msgid "Calculating page breaks..."
-msgstr "Calcolo delle interruzioni di pagina..."
+#: extender-engraver.cc:169 extender-engraver.cc:178
+msgid "unterminated extender"
+msgstr "estensore non terminato"
-#: accidental-engraver.cc:180
+#: flag.cc:113
#, c-format
-msgid "accidental typesetting list must begin with context-name: %s"
-msgstr "la lista tipografica delle alterazioni deve iniziare con context-name: %s"
+msgid "flag `%s' not found"
+msgstr "non si trova la coda uncinata «%s»"
-#: accidental-engraver.cc:210
+#: flag.cc:133
#, c-format
-msgid "procedure or context-name expected for accidental rule, found %s"
-msgstr "si aspettava una procedura o context-name per la regola di alterazione accidentale, si è trovato %s"
+msgid "flag stroke `%s' not found"
+msgstr "non si trova il tratto «%s» della coda uncinata"
-#: ttf.cc:480 ttf.cc:528
+#: font-config-scheme.cc:151 font-config.cc:53
#, c-format
-msgid "font index %d too large for font `%s', using index 0"
-msgstr "l'indice del tipo di carattere %d è troppo grande per il tipo di carattere «%s», si usa l'indice 0"
+msgid "failed adding font directory: %s"
+msgstr "errore nell'aggiungere la directory dei tipi di carattere: %s"
-#: ttf.cc:512 ttf.cc:562
-msgid "font index must be non-negative, using index 0"
-msgstr "l'indice del tipo di carattere deve essere non negativo, si usa l'indice 0"
+#: font-config-scheme.cc:153 font-config.cc:55
+#, c-format
+msgid "Adding font directory: %s"
+msgstr "Si aggiunge la directory dei tipi di carattere: %s"
-#: score.cc:172
-msgid "already have music in score"
-msgstr "musica già presente nello spartito"
+#: font-config-scheme.cc:167
+#, c-format
+msgid "failed adding font file: %s"
+msgstr "errore nell'aggiungere il file dei tipi di carattere: %s"
-#: score.cc:173
-msgid "this is the previous music"
-msgstr "questa è la musica precedente"
+#: font-config-scheme.cc:169
+#, c-format
+msgid "Adding font file: %s"
+msgstr "Si aggiunge il file dei tipi di carattere: %s"
-#: score.cc:178
-msgid "errors found, ignoring music expression"
-msgstr "trovati degli errori, si ignora l'espressione musicale"
+#: font-config.cc:38
+msgid "Initializing FontConfig..."
+msgstr "Inizializzazione di FontConfig..."
-#: multi-measure-rest.cc:138
-msgid "usable-duration-logs must be a non-empty list. Falling back to whole rests."
-msgstr "usable-duration-logs deve essere una lista non vuota. Si ricorre alle pause di semibreve."
+#: font-config.cc:58
+msgid "Building font database..."
+msgstr "Creazione del database dei tipi di carattere..."
-#: multi-measure-rest.cc:328
-msgid "Using naive multi measure rest spacing."
-msgstr "Si usa una spaziatura semplificata per la pausa multipla"
+#: footnote-engraver.cc:110
+msgid "Must be footnote-event."
+msgstr "Deve essere un evento nota a pié di pagina (footnote-event)."
+
+#: general-scheme.cc:390
+#, c-format
+msgid "failed redirecting stderr to `%s'"
+msgstr "fallita la redirezione di stderr su «%s»"
+
+#: general-scheme.cc:469 output-ps.scm:48
+msgid "Found infinity or nan in output. Substituting 0.0"
+msgstr "Trovato infinito o un valore non numerico nell'output. Sostituito con 0.0"
-#: vaticana-ligature-engraver.cc:400
-#, c-format
-msgid "ignored prefix(es) `%s' of this head according to restrictions of the selected ligature style"
-msgstr "prefisso/i «%s» di questa testa ignorato/i in base alle restrizioni dello stile di legatura scelto"
+#: glissando-engraver.cc:158
+msgid "unterminated glissando"
+msgstr "glissando non terminato"
-#: vaticana-ligature-engraver.cc:466
-msgid "Ambiguous use of dots in ligature: there are multiple dotted notes with the same pitch. The ligature should be split."
-msgstr "Uso ambiguo dei punti nella legatura: ci sono tante note puntate con la stessa altezza. La legatura deve essere divisa."
+#: global-context-scheme.cc:96 global-context-scheme.cc:114
+msgid "no music found in score"
+msgstr "nessuna musica trovata nello spartito"
-#: vaticana-ligature-engraver.cc:524
-msgid "This ligature has a dotted head followed by a non-dotted head. The ligature should be split after the last dotted head before this head."
-msgstr "Questa legatura ha una testa puntata seguita da una non puntata. La legatura deve essere divisa dopo l'ultima testa puntata che precede questa testa."
+#: global-context-scheme.cc:104
+msgid "Interpreting music..."
+msgstr "Interpretazione della musica..."
-#: vaticana-ligature-engraver.cc:736
+#: global-context-scheme.cc:126
#, c-format
-msgid "Vaticana_ligature_engraver: setting `spacing-increment = %f': ptr =%ul"
-msgstr "Vaticana_ligature_engraver: si imposta `spacing-increment = %f': ptr =%ul"
+msgid "elapsed time: %.2f seconds"
+msgstr "tempo trascorso: %.2f secondi"
-#: paper-book.cc:214
+#: gregorian-ligature-engraver.cc:70
#, c-format
-msgid "program option -dprint-pages not supported by backend `%s'"
-msgstr "l'opzione -dprint-pages del programma non è supportata dal backend «%s»"
+msgid "\\%s ignored"
+msgstr "\\%s ignorato"
-#: paper-book.cc:233
+#: gregorian-ligature-engraver.cc:75
#, c-format
-msgid "program option -dpreview not supported by backend `%s'"
-msgstr "l'opzione -dpreview del programma non è supportata dal backend «%s»"
+msgid "implied \\%s added"
+msgstr "aggiunto il \\%s implicato"
-#: note-collision.cc:496
-msgid "ignoring too many clashing note columns"
-msgstr "troppe collisioni tra colonne di note, ignorate"
+#. ligature may not start with 2nd head of pes or flexa
+#: gregorian-ligature-engraver.cc:224
+msgid "cannot apply `\\~' on first head of ligature"
+msgstr "impossibile applicare «\\~» sulla prima testa della legatura"
-#: system.cc:200
-#, c-format
-msgid "Element count %d"
-msgstr "Numero degli elementi %d"
+#. (pitch == prev_pitch)
+#: gregorian-ligature-engraver.cc:236
+msgid "cannot apply `\\~' on heads with identical pitch"
+msgstr "impossibile applicare «\\~» su teste di identica altezza"
-#: system.cc:480
+#: grob-interface.cc:68
#, c-format
-msgid "Grob count %d"
-msgstr "Numero degli oggetti grafici %d"
-
-#: paper-column-engraver.cc:261
-msgid "forced break was overridden by some other event, should you be using bar checks?"
-msgstr "l'interruzione forzata è stata sovrascritta da qualche altro evento, considerare l'uso dei controlli di battuta"
+msgid "Unknown interface `%s'"
+msgstr "Interfaccia «%s» sconosciuta"
-#: score-engraver.cc:78
+#: grob-interface.cc:79
#, c-format
-msgid "cannot find `%s'"
-msgstr "impossibile trovare «%s»"
-
-#: score-engraver.cc:80
-msgid "Music font has not been installed properly."
-msgstr "Il tipo di carattere musicale non è stato installato correttamente."
+msgid "Grob `%s' has no interface for property `%s'"
+msgstr "Il grob «%s» non ha un'interfaccia per la proprietà «%s»"
-#: score-engraver.cc:82
+#: grob-property.cc:35
#, c-format
-msgid "Search path `%s'"
-msgstr "Percorso di ricerca «%s»"
-
-#: score-engraver.cc:84
-msgid "Aborting"
-msgstr "Si sospende l'esecuzione"
-
-#: apply-context-iterator.cc:42
-msgid "\\applycontext argument is not a procedure"
-msgstr "l'argomento di \\applycontext non è una procedura"
+msgid "%d: %s"
+msgstr "%d: %s"
-#: includable-lexer.cc:71 lily-parser-scheme.cc:108 lily-guile.cc:91
-#, c-format
-msgid "cannot find file: `%s'"
-msgstr "impossibile trovare il file: «%s»"
+#: hairpin.cc:60
+msgid "Asking for broken bound padding at a non-broken bound."
+msgstr "Si chiede la spaziatura per un'estremità spezzata in un'estremità non spezzata."
-#: includable-lexer.cc:73 lily-parser-scheme.cc:100
-#, c-format
-msgid "(search path: `%s')"
-msgstr "(percorso di ricerca: «%s»)"
+#: hairpin.cc:254
+msgid "decrescendo too small"
+msgstr "decrescendo troppo piccolo"
#: horizontal-bracket-engraver.cc:62
msgid "do not have that many brackets"
msgid "conflicting note group events"
msgstr "eventi di gruppi di note in conflitto"
-#: note-heads-engraver.cc:76
-msgid "NoteEvent without pitch"
-msgstr "NoteEvent senza altezza"
-
-#: beam.cc:181
-msgid "removing beam with no stems"
-msgstr "rimozione delle travature senza gambi"
-
-#: staff-performer.cc:257
-msgid "MIDI channel wrapped around"
-msgstr "Numerazione canale MIDI ricominciata"
+#: hyphen-engraver.cc:104
+msgid "removing unterminated hyphen"
+msgstr "eliminazione di un trattino non terminato"
-#: staff-performer.cc:258
-msgid "remapping modulo 16"
-msgstr "riassegnata con modulo 16"
+#: hyphen-engraver.cc:118
+msgid "unterminated hyphen; removing"
+msgstr "trattino non terminato; eliminazione"
-#: slur-engraver.cc:102 phrasing-slur-engraver.cc:101
+#: includable-lexer.cc:71 lily-guile.cc:91 lily-parser-scheme.cc:108
#, c-format
-msgid "direction of %s invalid: %d"
-msgstr "direzione di %s non valida: %d"
+msgid "cannot find file: `%s'"
+msgstr "impossibile trovare il file: «%s»"
-#: slur-engraver.cc:176
-msgid "unterminated slur"
-msgstr "legatura di portamento non terminata"
+#: includable-lexer.cc:73 lily-parser-scheme.cc:100
+#, c-format
+msgid "(search path: `%s')"
+msgstr "(percorso di ricerca: «%s»)"
-#: slur-engraver.cc:211
-msgid "cannot end slur"
-msgstr "impossibile terminare la legatura di portamento"
+#: input.cc:138 source-file.cc:178 source-file.cc:193
+msgid "position unknown"
+msgstr "posizione sconosciuta"
-#. We already have an old slur, so give a warning
-#. and completely ignore the new slur.
-#: slur-engraver.cc:231
-msgid "already have slur"
-msgstr "legatura già presente"
+#: key-engraver.cc:198
+msgid "Incomplete keyAlterationOrder for key signature"
+msgstr "keyAlterationOrder incompleto per l'armatura di chiave"
-#: dots.cc:48
+#: key-signature-interface.cc:77
#, c-format
-msgid "dot `%s' not found"
-msgstr "punto «%s» non trovato"
-
-#. find out the ideal number of pages
-#: optimal-page-breaking.cc:62
-msgid "Finding the ideal number of pages..."
-msgstr "Determinazione del numero ottimale di pagine..."
-
-#: optimal-page-breaking.cc:85
-msgid "could not satisfy systems-per-page and page-count at the same time, ignoring systems-per-page"
-msgstr "impossibile soddisfare contemporaneamente systems-per-page e page-count, si ignora systems-per-page"
+msgid "No glyph found for alteration: %s"
+msgstr "Nessun glifo trovato per l'alterazione: %s"
-#: optimal-page-breaking.cc:105
-msgid "Fitting music on 1 page..."
-msgstr "Compressione della musica in una pagina..."
+#: key-signature-interface.cc:87
+msgid "alteration not found"
+msgstr "alterazione non trovata"
-#: optimal-page-breaking.cc:107
-#, c-format
-msgid "Fitting music on %d pages..."
-msgstr "Compressione della musica in %d pagine..."
+#: ligature-bracket-engraver.cc:72 ligature-engraver.cc:104
+msgid "cannot find start of ligature"
+msgstr "impossibile trovare l'inizio della legatura"
-#: optimal-page-breaking.cc:109
-#, c-format
-msgid "Fitting music on %d or %d pages..."
-msgstr "Compressione della musica in %d o %d pagine..."
+#: ligature-bracket-engraver.cc:85 ligature-engraver.cc:131
+msgid "already have a ligature"
+msgstr "legatura già presente"
-#: optimal-page-breaking.cc:119 optimal-page-breaking.cc:172
-#, c-format
-msgid "trying %d systems"
-msgstr "tentando %d sistemi"
+#: ligature-engraver.cc:109
+msgid "no right bound"
+msgstr "manca il limite destro"
-#: optimal-page-breaking.cc:138 optimal-page-breaking.cc:200
-#, c-format
-msgid "best score for this sys-count: %f"
-msgstr "miglior punteggio per questo numero di sistemi: %f"
+#: ligature-engraver.cc:140
+msgid "no left bound"
+msgstr "manca il limite sinistro"
-#: accidental.cc:200
-#, c-format
-msgid "Could not find glyph-name for alteration %s"
-msgstr "Non si è trovato il nome del glifo per l'alterazione %s"
+#: ligature-engraver.cc:184
+msgid "unterminated ligature"
+msgstr "legatura non terminata"
-#: accidental.cc:215
-msgid "natural alteration glyph not found"
-msgstr "alterazione naturale del glifo non trovata"
+#: ligature-engraver.cc:211
+msgid "ignoring rest: ligature may not contain rest"
+msgstr "pausa ignorata: la legatura non può contenere una pausa"
-#: context-property.cc:43
-msgid "need symbol arguments for \\override and \\revert"
-msgstr "sono necessari argomenti simbolici per \\override e \\revert"
+#: ligature-engraver.cc:212
+msgid "ligature was started here"
+msgstr "la legatura è iniziata qui"
-#: font-config-scheme.cc:151 font-config.cc:53
+#: lily-guile.cc:93
#, c-format
-msgid "failed adding font directory: %s"
-msgstr "errore nell'aggiungere la directory dei tipi di carattere: %s"
+msgid "(load path: `%s')"
+msgstr "(percorso di caricamento: «%s»)"
-#: font-config-scheme.cc:153 font-config.cc:55
+#: lily-guile.cc:416
#, c-format
-msgid "Adding font directory: %s"
-msgstr "Si aggiunge la directory dei tipi di carattere: %s"
+msgid "cannot find property type-check for `%s' (%s)."
+msgstr "impossibile trovare la proprietà type-check per «%s» (%s)."
-#: font-config-scheme.cc:167
-#, c-format
-msgid "failed adding font file: %s"
-msgstr "errore nell'aggiungere il file dei tipi di carattere: %s"
+#: lily-guile.cc:419
+msgid "perhaps a typing error?"
+msgstr "forse un errore di digitazione?"
-#: font-config-scheme.cc:169
-#, c-format
-msgid "Adding font file: %s"
-msgstr "Si aggiunge il file dei tipi di carattere: %s"
+#: lily-guile.cc:426
+msgid "doing assignment anyway"
+msgstr "compito comunque in corso"
-#: hairpin.cc:61
-msgid "Asking for broken bound padding at a non-broken bound."
-msgstr "Si chiede la spaziatura per un'estremità spezzata in un'estremità non spezzata."
+#: lily-guile.cc:438
+#, c-format
+msgid "type check for `%s' failed; value `%s' must be of type `%s'"
+msgstr "controllo del tipo per «%s» fallito; il valore «%s» deve essere del tipo «%s»"
-#: hairpin.cc:254
-msgid "decrescendo too small"
-msgstr "decrescendo troppo piccolo"
+#: lily-lexer.cc:255
+msgid "include files are not allowed in safe mode"
+msgstr "l'inclusione di file non è permessa in modalità sicura"
-#: open-type-font.cc:44
+#: lily-lexer.cc:282
#, c-format
-msgid "cannot allocate %lu bytes"
-msgstr "impossibile allocare %lu byte"
+msgid "identifier name is a keyword: `%s'"
+msgstr "Il nome dell'identificatore è una parola chiave: «%s»"
-#: open-type-font.cc:48
+#: lily-lexer.cc:303 lily-lexer.cc:316
#, c-format
-msgid "cannot load font table: %s"
-msgstr "impossibile caricare la tabella dei tipi di carattere: %s"
+msgid "%s:EOF"
+msgstr "%s:EOF"
-#: open-type-font.cc:53
+#: lily-parser-scheme.cc:80
#, c-format
-msgid "FreeType error: %s"
-msgstr "Errore FreeType: %s"
+msgid "Changing working directory to: `%s'"
+msgstr "Si cambia la directory di lavoro a: «%s»"
-#: open-type-font.cc:110
+#: lily-parser-scheme.cc:84
#, c-format
-msgid "unsupported font format: %s"
-msgstr "formato di tipo di carattere non supportato: %s"
+msgid "unable to change directory to: `%s'"
+msgstr "impossibile cambiare la directory a: «%s»"
-#: open-type-font.cc:112
+#: lily-parser-scheme.cc:99
#, c-format
-msgid "error reading font file %s: %s"
-msgstr "errore nella lettura del file del tipo di carattere %s: %s"
+msgid "cannot find init file: `%s'"
+msgstr "impossibile trovare il file di init: «%s»"
-#: open-type-font.cc:187
+#: lily-parser-scheme.cc:117
#, c-format
-msgid "FT_Get_Glyph_Name () Freetype error: %s"
-msgstr "errore di Freetype in FT_Get_Glyph_Name (): %s"
+msgid "Processing `%s'"
+msgstr "Elaborazione di «%s»"
-#: open-type-font.cc:318 pango-font.cc:189
+#: lily-parser-scheme.cc:208
+msgid "ly:parser-parse-string is only valid with a new parser. Use ly:parser-include-string instead."
+msgstr "ly:parser-parse-string è valido solo con un nuovo parser. Usare ly:parser-include-string al suo posto."
+
+#: lily-parser-scheme.cc:239
+msgid "ly:parse-string-expression is only valid with a new parser. Use ly:parser-include-string instead."
+msgstr "ly:parse-string-expression è valido solo con un nuovo parser. Usare ly:parser-include-string al suo posto."
+
+#: lily-parser.cc:109
+msgid "Parsing..."
+msgstr "Analisi..."
+
+#: line-spanner.cc:373
+msgid "Line spanner's left point is to the right of its right point."
+msgstr "Il punto sinistro dello spanner della linea si trova alla destra del suo punto destro."
+
+#: lyric-combine-music-iterator.cc:199
+msgid "argument of \\lyricsto should contain Lyrics context"
+msgstr "l'argomento di \\lyricsto deve contenere il contesto Lyrics"
+
+#: lyric-combine-music-iterator.cc:337
#, c-format
-msgid "FT_Get_Glyph_Name () error: %s"
-msgstr "errore in FT_Get_Glyph_Name (): %s"
+msgid "cannot find Voice `%s'"
+msgstr "impossibile trovare la voce (Voice) «%s»"
+
+#: lyric-engraver.cc:186
+msgid "Lyric syllable does not have note. Use \\lyricsto or associatedVoice."
+msgstr "Le sillabe del testo non hanno note. Usare \\lyricsto o associatedVoice."
#: main.cc:101
#, c-format
msgid "For more information, see %s"
msgstr "Per maggiori informazioni si veda %s"
-#: main.cc:277
-msgid "Options:"
-msgstr "Opzioni:"
+#: main.cc:277
+msgid "Options:"
+msgstr "Opzioni:"
+
+#: main.cc:331
+#, c-format
+msgid "expected %d arguments with jail, found: %u"
+msgstr "previsti gli argomenti %d per la gabbia, trovati: %u"
+
+#: main.cc:345
+#, c-format
+msgid "no such user: %s"
+msgstr "non esiste questo utente: %s"
+
+#: main.cc:347
+#, c-format
+msgid "cannot get user id from user name: %s: %s"
+msgstr "impossibile acquisire l'id dell'utente dal nome utente: %s: %s"
+
+#: main.cc:362
+#, c-format
+msgid "no such group: %s"
+msgstr "non esiste questo gruppo: %s"
+
+#: main.cc:364
+#, c-format
+msgid "cannot get group id from group name: %s: %s"
+msgstr "impossibile acquisire l'id del gruppo dal nome del gruppo: %s:%s"
+
+#: main.cc:372
+#, c-format
+msgid "cannot chroot to: %s: %s"
+msgstr "non si può fare il chroot a: %s: %s"
+
+#: main.cc:379
+#, c-format
+msgid "cannot change group id to: %d: %s"
+msgstr "non si può cambiare l'id del gruppo in: %d: %s"
+
+#: main.cc:385
+#, c-format
+msgid "cannot change user id to: %d: %s"
+msgstr "non si può cambiare l'id dell'utente in: %d: %s"
+
+#: main.cc:391
+#, c-format
+msgid "cannot change working directory to: %s: %s"
+msgstr "non si può passare alla directory di lavoro: %s: %s"
+
+#: main.cc:639
+#, c-format
+msgid "exception caught: %s"
+msgstr "ricevuta un'eccezione: %s"
+
+#. FIXME: constant error message.
+#: mark-engraver.cc:156
+msgid "rehearsalMark must have integer value"
+msgstr "rehearsalMark deve avere un valore intero"
+
+#: mark-engraver.cc:162
+msgid "mark label must be a markup object"
+msgstr "l'etichetta del segno deve essere un oggetto di markup"
+
+#: mensural-ligature-engraver.cc:96
+msgid "ligature with less than 2 heads -> skipping"
+msgstr "legatura con meno di due teste -> si ignora"
+
+#: mensural-ligature-engraver.cc:123
+msgid "cannot determine pitch of ligature primitive -> skipping"
+msgstr "impossibile determinare l'altezza della legatura primitiva -> si ignora"
+
+#: mensural-ligature-engraver.cc:137
+msgid "single note ligature - skipping"
+msgstr "legatura di una nota singola - si ignora"
+
+#: mensural-ligature-engraver.cc:148
+msgid "prime interval within ligature -> skipping"
+msgstr "primo intervallo all'interno della legatura -> si ignora"
+
+#: mensural-ligature-engraver.cc:159
+msgid "mensural ligature: duration none of Mx, L, B, S -> skipping"
+msgstr "legatura mensurale: nessuna durata per Mx, L, B. S -> si ignora"
+
+#: mensural-ligature-engraver.cc:202
+msgid "semibrevis must be followed by another one -> skipping"
+msgstr "una semibreve deve essere seguita da un'altra semibreve -> si ignora"
+
+#: mensural-ligature-engraver.cc:212
+msgid ""
+"semibreves can only appear at the beginning of a ligature,\n"
+"and there may be only zero or two of them"
+msgstr ""
+"le semibrevi possono comparire solo all'inizio di una legatura,\n"
+"e ce ne possono essere due o nessuna"
+
+#: mensural-ligature-engraver.cc:232
+msgid ""
+"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"
+msgstr ""
+"fine della legatura non valido:\n"
+"se l'ultima nota è una breve discendente,\n"
+"lo deve essere anche la penultima nota,\n"
+"oppure la legatura deve essere LB o SSB"
+
+#: mensural-ligature-engraver.cc:387
+msgid "unexpected case fall-through"
+msgstr "caso inatteso e non interpretabile"
+
+#: midi-item.cc:89
+#, c-format
+msgid "no such MIDI instrument: `%s'"
+msgstr "non esiste questo strumento MIDI: «%s»"
+
+#: midi-item.cc:161
+msgid "Time signature with more than 255 beats. Truncating"
+msgstr "Segno di tempo con più di 255 tempi. Si accorcia"
+
+#: midi-stream.cc:39
+#, c-format
+msgid "cannot open for write: %s: %s"
+msgstr "impossibile aprire il file con permesso di scrittura: %s: %s"
+
+#: midi-stream.cc:55
+#, c-format
+msgid "cannot write to file: `%s'"
+msgstr "impossibile scrivere su file: «%s»"
+
+#: minimal-page-breaking.cc:40 paper-score.cc:122
+msgid "Calculating line breaks..."
+msgstr "Calcolo delle interruzioni di linea..."
+
+#: minimal-page-breaking.cc:44
+msgid "Calculating page breaks..."
+msgstr "Calcolo delle interruzioni di pagina..."
+
+#: multi-measure-rest.cc:138
+msgid "usable-duration-logs must be a non-empty list. Falling back to whole rests."
+msgstr "usable-duration-logs deve essere una lista non vuota. Si ricorre alle pause di semibreve."
+
+#: multi-measure-rest.cc:328
+msgid "Using naive multi measure rest spacing."
+msgstr "Si usa una spaziatura semplificata per la pausa multipla"
+
+#: music.cc:150
+#, c-format
+msgid "octave check failed; expected \"%s\", found: \"%s\""
+msgstr "controllo dell'ottava fallito: previsto \"%s\", trovato: \"%s\""
+
+#: music.cc:219
+msgid "(normalized pitch)"
+msgstr "(altezza normalizzata)"
+
+#: music.cc:223
+#, c-format
+msgid "Transposing %s by %s makes alteration larger than double"
+msgstr "La trasposizione di %s da %s ingrandisce le alterazioni più del doppio"
+
+#: new-dynamic-engraver.cc:168
+#, c-format
+msgid ""
+"unknown crescendo style: %s\n"
+"defaulting to hairpin."
+msgstr ""
+"stile di crescendo sconosciuto: %s\n"
+"si usa la forcella predefinita."
+
+#: new-dynamic-engraver.cc:233
+#, c-format
+msgid "unterminated %s"
+msgstr "%s non terminato"
+
+#: new-fingering-engraver.cc:113
+msgid "cannot add text scripts to individual note heads"
+msgstr "impossibile aggiungere delle scritte testuali alle teste delle note individuali"
+
+#: new-fingering-engraver.cc:269
+msgid "no placement found for fingerings"
+msgstr "nessuna posizione trovata per le diteggiature"
+
+#: new-fingering-engraver.cc:270
+msgid "placing below"
+msgstr "si colloca in basso"
+
+#: note-collision.cc:496
+msgid "ignoring too many clashing note columns"
+msgstr "troppe collisioni tra colonne di note, ignorate"
+
+#: note-column.cc:147
+msgid "cannot have note heads and rests together on a stem"
+msgstr "impossibile avere teste e pause insieme su un gambo"
+
+#: note-head.cc:95
+#, c-format
+msgid "none of note heads `%s' or `%s' found"
+msgstr "non si è trovata alcuna delle teste delle note «%s» o «%s»"
+
+#: note-heads-engraver.cc:76
+msgid "NoteEvent without pitch"
+msgstr "NoteEvent senza altezza"
+
+#: open-type-font.cc:44
+#, c-format
+msgid "cannot allocate %lu bytes"
+msgstr "impossibile allocare %lu byte"
+
+#: open-type-font.cc:48
+#, c-format
+msgid "cannot load font table: %s"
+msgstr "impossibile caricare la tabella dei tipi di carattere: %s"
-#: main.cc:331
+#: open-type-font.cc:53
#, c-format
-msgid "expected %d arguments with jail, found: %u"
-msgstr "previsti gli argomenti %d per la gabbia, trovati: %u"
+msgid "FreeType error: %s"
+msgstr "Errore FreeType: %s"
-#: main.cc:345
+#: open-type-font.cc:110
#, c-format
-msgid "no such user: %s"
-msgstr "non esiste questo utente: %s"
+msgid "unsupported font format: %s"
+msgstr "formato di tipo di carattere non supportato: %s"
-#: main.cc:347
+#: open-type-font.cc:112
#, c-format
-msgid "cannot get user id from user name: %s: %s"
-msgstr "impossibile acquisire l'id dell'utente dal nome utente: %s: %s"
+msgid "error reading font file %s: %s"
+msgstr "errore nella lettura del file del tipo di carattere %s: %s"
-#: main.cc:362
+#: open-type-font.cc:187
#, c-format
-msgid "no such group: %s"
-msgstr "non esiste questo gruppo: %s"
+msgid "FT_Get_Glyph_Name () Freetype error: %s"
+msgstr "errore di Freetype in FT_Get_Glyph_Name (): %s"
-#: main.cc:364
+#: open-type-font.cc:318 pango-font.cc:189
#, c-format
-msgid "cannot get group id from group name: %s: %s"
-msgstr "impossibile acquisire l'id del gruppo dal nome del gruppo: %s:%s"
+msgid "FT_Get_Glyph_Name () error: %s"
+msgstr "errore in FT_Get_Glyph_Name (): %s"
-#: main.cc:372
+#. find out the ideal number of pages
+#: optimal-page-breaking.cc:62
+msgid "Finding the ideal number of pages..."
+msgstr "Determinazione del numero ottimale di pagine..."
+
+#: optimal-page-breaking.cc:85
+msgid "could not satisfy systems-per-page and page-count at the same time, ignoring systems-per-page"
+msgstr "impossibile soddisfare contemporaneamente systems-per-page e page-count, si ignora systems-per-page"
+
+#: optimal-page-breaking.cc:105
+msgid "Fitting music on 1 page..."
+msgstr "Compressione della musica in una pagina..."
+
+#: optimal-page-breaking.cc:107
#, c-format
-msgid "cannot chroot to: %s: %s"
-msgstr "non si può fare il chroot a: %s: %s"
+msgid "Fitting music on %d pages..."
+msgstr "Compressione della musica in %d pagine..."
-#: main.cc:379
+#: optimal-page-breaking.cc:109
#, c-format
-msgid "cannot change group id to: %d: %s"
-msgstr "non si può cambiare l'id del gruppo in: %d: %s"
+msgid "Fitting music on %d or %d pages..."
+msgstr "Compressione della musica in %d o %d pagine..."
-#: main.cc:385
+#: optimal-page-breaking.cc:119 optimal-page-breaking.cc:172
#, c-format
-msgid "cannot change user id to: %d: %s"
-msgstr "non si può cambiare l'id dell'utente in: %d: %s"
+msgid "trying %d systems"
+msgstr "tentando %d sistemi"
-#: main.cc:391
+#: optimal-page-breaking.cc:138 optimal-page-breaking.cc:200
#, c-format
-msgid "cannot change working directory to: %s: %s"
-msgstr "non si può passare alla directory di lavoro: %s: %s"
+msgid "best score for this sys-count: %f"
+msgstr "miglior punteggio per questo numero di sistemi: %f"
-#: main.cc:639
+#: optimal-page-breaking.cc:207 page-turn-page-breaking.cc:248
+#: paper-score.cc:162
+msgid "Drawing systems..."
+msgstr "Disegno dei sistemi..."
+
+#: output-def.cc:235
+msgid "margins do not fit with line-width, setting default values"
+msgstr "i margini non corrispondono con la larghezza del rigo, si impostano i valori predefiniti"
+
+#: output-def.cc:242
+msgid "systems run off the page due to improper paper settings, setting default values"
+msgstr "i sistemi escono fuori dalla pagina a causa di errate impostazioni del foglio, si impostano i valori predefiniti"
+
+#: page-breaking.cc:277
+msgid "ignoring min-systems-per-page and max-systems-per-page because systems-per-page was set"
+msgstr "si ignorano min-systems-per-page e max-systems-per-page perché è stato impostato systems-per-page"
+
+#: page-breaking.cc:282
+msgid "min-systems-per-page is larger than max-systems-per-page, ignoring both values"
+msgstr "min-systems-per-page è maggiore di max-systems-per-page, si ignorano entrambi i valori"
+
+#: page-layout-problem.cc:403
+msgid "A page layout problem has been initiated that cannot accommodate footnotes."
+msgstr "Si è creato un problema di formattazione della pagina che impedisce di ospitare le note a pié di pagina."
+
+#: page-layout-problem.cc:732
+msgid "cannot fit music on page: ragged-spacing was requested, but page was compressed"
+msgstr "impossibile far entrare la musica nella pagina: richiesta la spaziatura ridotta, ma la pagina è già stata compressa"
+
+#: page-layout-problem.cc:735
#, c-format
-msgid "exception caught: %s"
-msgstr "ricevuta un'eccezione: %s"
+msgid "cannot fit music on page: overflow is %f"
+msgstr "impossibile far entrare la musica nella pagina: l'eccesso è %f"
+
+#: page-layout-problem.cc:737
+msgid "compressing music to fit"
+msgstr "si comprime la musica per farla entrare"
+
+#: page-layout-problem.cc:1197
+msgid "staff-affinities should only decrease"
+msgstr "staff-affinities deve solo diminuire"
#: page-turn-page-breaking.cc:168
#, c-format
msgid "\tprevious break: %d"
msgstr "\tinterruzione precedente: %d"
-#: midi-item.cc:89
-#, c-format
-msgid "no such MIDI instrument: `%s'"
-msgstr "non esiste questo strumento MIDI: «%s»"
-
-#: midi-item.cc:161
-msgid "Time signature with more than 255 beats. Truncating"
-msgstr "Segno di tempo con più di 255 tempi. Si accorcia"
-
-#: stem-engraver.cc:110
-msgid "tremolo duration is too long"
-msgstr "la durata del tremolo è troppo lunga"
-
-#: stem-engraver.cc:162
-#, c-format
-msgid "adding note head to incompatible stem (type = %d/%d)"
-msgstr "si aggiunge la testa della nota a un gambo incompatibile (tipo = %d/%d)"
-
-#: stem-engraver.cc:165
-msgid "maybe input should specify polyphonic voices"
-msgstr "forse l'input dovrebbe specificare le voci polifoniche"
-
-#: translator.cc:326
-#, c-format
-msgid "Two simultaneous %s events, junking this one"
-msgstr "Due eventi %s simultanei, si butta via questo"
-
-#: translator.cc:327
-#, c-format
-msgid "Previous %s event here"
-msgstr "L'evento %s precedente sta qui"
-
-#: glissando-engraver.cc:158
-msgid "unterminated glissando"
-msgstr "glissando non terminato"
-
-#: skyline-pair.cc:131
-msgid "direction must not be CENTER in ly:skyline-pair::skyline"
-msgstr "in ly:skyline-pair::skyline la direzione non deve essere CENTER"
-
-#: beam-engraver.cc:147
-msgid "already have a beam"
-msgstr "travatura già presente"
-
-#: beam-engraver.cc:230
-msgid "unterminated beam"
-msgstr "travatura non terminata"
-
-#: beam-engraver.cc:277
-msgid "stem does not fit in beam"
-msgstr "il gambo non rientra nella travatura"
-
-#: beam-engraver.cc:278
-msgid "beam was started here"
-msgstr "la travatura è iniziata qui"
-
-#: key-engraver.cc:199
-msgid "Incomplete keyAlterationOrder for key signature"
-msgstr "keyAlterationOrder incompleto per l'armatura di chiave"
-
-#.
-#. Todo: should make typecheck?
-#.
-#. OTOH, Tristan Keuris writes 8/20 in his Intermezzi.
-#.
-#: time-signature-engraver.cc:75
+#: pango-font.cc:205
#, c-format
-msgid "strange time signature found: %d/%d"
-msgstr "si è incontrato uno strano segno di tempo: %d/%d"
+msgid ""
+"Glyph has no name, but font supports glyph naming.\n"
+"Skipping glyph U+%0X, file %s"
+msgstr ""
+"Il glifo non ha un nome, ma il tipo di carattere permette di dare un nome al glifo.\n"
+"Si salta il glifo U+%0X, file %s"
-#: lily-parser-scheme.cc:80
+#: pango-font.cc:242
#, c-format
-msgid "Changing working directory to: `%s'"
-msgstr "Si cambia la directory di lavoro a: «%s»"
+msgid "no PostScript font name for font `%s'"
+msgstr "nessun nome di tipo di carattere PostScript per «%s»"
-#: lily-parser-scheme.cc:84
-#, c-format
-msgid "unable to change directory to: `%s'"
-msgstr "impossibile cambiare la directory a: «%s»"
+#: pango-font.cc:291
+msgid "FreeType face has no PostScript font name"
+msgstr "Il tipo FreeType non ha un nome per il tipo di carattere PostScript"
-#: lily-parser-scheme.cc:99
+#: paper-book.cc:214
#, c-format
-msgid "cannot find init file: `%s'"
-msgstr "impossibile trovare il file di init: «%s»"
+msgid "program option -dprint-pages not supported by backend `%s'"
+msgstr "l'opzione -dprint-pages del programma non è supportata dal backend «%s»"
-#: lily-parser-scheme.cc:117
+#: paper-book.cc:233
#, c-format
-msgid "Processing `%s'"
-msgstr "Elaborazione di «%s»"
-
-#: lily-parser-scheme.cc:208
-msgid "ly:parser-parse-string is only valid with a new parser. Use ly:parser-include-string instead."
-msgstr "ly:parser-parse-string è valido solo con un nuovo parser. Usare ly:parser-include-string al suo posto."
-
-#: lily-parser-scheme.cc:239
-msgid "ly:parse-string-expression is only valid with a new parser. Use ly:parser-include-string instead."
-msgstr "ly:parse-string-expression è valido solo con un nuovo parser. Usare ly:parser-include-string al suo posto."
-
-#. We are completely screwed.
-#: beam-quanting.cc:839
-msgid "no viable initial configuration found: may not find good beam slope"
-msgstr "nessuna configurazione iniziale fattibile trovata: si potrebbe non trovare una buona inclinazione delle travature"
+msgid "program option -dpreview not supported by backend `%s'"
+msgstr "l'opzione -dpreview del programma non è supportata dal backend «%s»"
-#: lily-guile.cc:93
-#, c-format
-msgid "(load path: `%s')"
-msgstr "(percorso di caricamento: «%s»)"
+#: paper-column-engraver.cc:261
+msgid "forced break was overridden by some other event, should you be using bar checks?"
+msgstr "l'interruzione forzata è stata sovrascritta da qualche altro evento, considerare l'uso dei controlli di battuta"
-#: lily-guile.cc:416
+#: paper-outputter-scheme.cc:41
#, c-format
-msgid "cannot find property type-check for `%s' (%s)."
-msgstr "impossibile trovare la proprietà type-check per «%s» (%s)."
-
-#: lily-guile.cc:419
-msgid "perhaps a typing error?"
-msgstr "forse un errore di digitazione?"
-
-#: lily-guile.cc:426
-msgid "doing assignment anyway"
-msgstr "compito comunque in corso"
+msgid "Layout output to `%s'..."
+msgstr "Output della formattazione inviato a «%s»..."
-#: lily-guile.cc:438
+#: paper-score.cc:134
#, c-format
-msgid "type check for `%s' failed; value `%s' must be of type `%s'"
-msgstr "controllo del tipo per «%s» fallito; il valore «%s» deve essere del tipo «%s»"
-
-#: rest-collision.cc:146
-msgid "cannot resolve rest collision: rest direction not set"
-msgstr "impossibile risolvere la collisione di pause: direzione delle pause non impostata"
-
-#: rest-collision.cc:158 rest-collision.cc:267
-msgid "too many colliding rests"
-msgstr "troppe collisioni tra pause"
+msgid "Element count %d (spanners %d) "
+msgstr "Conto degli elementi %d (spanner %d)."
-#: episema-engraver.cc:75
-msgid "already have an episema"
-msgstr "episema già presente"
+#: paper-score.cc:138
+msgid "Preprocessing graphical objects..."
+msgstr "Pre-elaborazione degli oggetti grafici..."
-#: episema-engraver.cc:88
-msgid "cannot find start of episema"
-msgstr "impossibile trovare l'inizio dell'episema"
+#: parse-scm.cc:121
+msgid "GUILE signaled an error for the expression beginning here"
+msgstr "GUILE ha segnalato un errore per l'espressione che inizia qui"
-#: episema-engraver.cc:137
-msgid "unterminated episema"
-msgstr "episema non terminato"
+#: partial-iterator.cc:45
+msgid "trying to use \\partial after the start of a piece"
+msgstr "tentativo di usare \\partial all'inizio di un brano"
-#: rest.cc:192
+#: pdf-scheme.cc:50
#, c-format
-msgid "rest `%s' not found"
-msgstr "pausa «%s» non trovata"
+msgid "Conversion of string `%s' to UTF-16be failed: %s"
+msgstr "Fallita la conversione della stringa \"%s\" in UTF-16be: %s"
-#: pango-font.cc:205
-#, c-format
-msgid ""
-"Glyph has no name, but font supports glyph naming.\n"
-"Skipping glyph U+%0X, file %s"
-msgstr ""
-"Il glifo non ha un nome, ma il tipo di carattere permette di dare un nome al glifo.\n"
-"Si salta il glifo U+%0X, file %s"
+#: percent-repeat-engraver.cc:147
+msgid "unterminated percent repeat"
+msgstr "ripetizione percentuale non terminata"
-#: pango-font.cc:242
+#: performance.cc:54
+msgid "Track..."
+msgstr "Traccia..."
+
+#: performance.cc:82
#, c-format
-msgid "no PostScript font name for font `%s'"
-msgstr "nessun nome di tipo di carattere PostScript per «%s»"
+msgid "MIDI output to `%s'..."
+msgstr "L'output MIDI è inviato a «%s»..."
-#: pango-font.cc:291
-msgid "FreeType face has no PostScript font name"
-msgstr "Il tipo FreeType non ha un nome per il tipo di carattere PostScript"
+#: phrasing-slur-engraver.cc:101 slur-engraver.cc:102
+#, c-format
+msgid "direction of %s invalid: %d"
+msgstr "direzione di %s non valida: %d"
#: phrasing-slur-engraver.cc:175
msgid "unterminated phrasing slur"
msgid "already have phrasing slur"
msgstr "legatura di frase già presente"
-#: lyric-engraver.cc:186
-msgid "Lyric syllable does not have note. Use \\lyricsto or associatedVoice."
-msgstr "Le sillabe del testo non hanno note. Usare \\lyricsto o associatedVoice."
-
-#: page-breaking.cc:277
-msgid "ignoring min-systems-per-page and max-systems-per-page because systems-per-page was set"
-msgstr "si ignorano min-systems-per-page e max-systems-per-page perché è stato impostato systems-per-page"
+#: piano-pedal-engraver.cc:279
+#, c-format
+msgid "expect 3 strings for piano pedals, found: %ld"
+msgstr "previste tre corde per i pedali del pianoforte, trovate: %ld"
-#: page-breaking.cc:282
-msgid "min-systems-per-page is larger than max-systems-per-page, ignoring both values"
-msgstr "min-systems-per-page è maggiore di max-systems-per-page, si ignorano entrambi i valori"
+#: piano-pedal-engraver.cc:294 piano-pedal-engraver.cc:305
+#: piano-pedal-performer.cc:104
+#, c-format
+msgid "cannot find start of piano pedal: `%s'"
+msgstr "impossibile trovare l'inizio del pedale del pianoforte: «%s»"
-#: paper-outputter-scheme.cc:41
+#: piano-pedal-engraver.cc:340
#, c-format
-msgid "Layout output to `%s'..."
-msgstr "Output della formattazione inviato a «%s»..."
+msgid "cannot find start of piano pedal bracket: `%s'"
+msgstr "impossibile trovare la parentesi di apertura del pedale del pianoforte: «%s»"
-#: performance.cc:54
-msgid "Track..."
-msgstr "Traccia..."
+#: program-option-scheme.cc:235
+#, c-format
+msgid "no such internal option: %s"
+msgstr "opzione interna sconosciuta: %s"
-#: performance.cc:82
+#: property-iterator.cc:93
#, c-format
-msgid "MIDI output to `%s'..."
-msgstr "L'output MIDI è inviato a «%s»..."
+msgid "not a grob name, `%s'"
+msgstr "non è il nome di un grob, «%s»"
-#: tuplet-engraver.cc:110
-msgid "No tuplet to end"
-msgstr "Nessun gruppo irregolare da terminare"
+#: relative-octave-check.cc:49
+msgid "Failed octave check, got: "
+msgstr "Il controllo dell'ottava è fallito, si è ottenuto:"
-#: gregorian-ligature-engraver.cc:70
+#: relocate.cc:52
#, c-format
-msgid "\\%s ignored"
-msgstr "\\%s ignorato"
+msgid "Setting %s to %s"
+msgstr "Si imposta %s su %s"
-#: gregorian-ligature-engraver.cc:75
+#. this warning should only be printed in debug mode!
+#: relocate.cc:73
#, c-format
-msgid "implied \\%s added"
-msgstr "aggiunto il \\%s implicato"
-
-#. ligature may not start with 2nd head of pes or flexa
-#: gregorian-ligature-engraver.cc:224
-msgid "cannot apply `\\~' on first head of ligature"
-msgstr "impossibile applicare «\\~» sulla prima testa della legatura"
+msgid "no such file: %s for %s"
+msgstr "file inesistente: %s per %s"
-#. (pitch == prev_pitch)
-#: gregorian-ligature-engraver.cc:236
-msgid "cannot apply `\\~' on heads with identical pitch"
-msgstr "impossibile applicare «\\~» su teste di identica altezza"
+#. this warning should only be printed in debug mode!
+#. this warning should only be printed in debug mode
+#: relocate.cc:84 relocate.cc:102
+#, c-format
+msgid "no such directory: %s for %s"
+msgstr "directory inesistente: %s per %s"
-#: key-signature-interface.cc:77
+#: relocate.cc:93
#, c-format
-msgid "No glyph found for alteration: %s"
-msgstr "Nessun glifo trovato per l'alterazione: %s"
+msgid "%s=%s (prepend)\n"
+msgstr "%s=%s (prefisso)\n"
-#: key-signature-interface.cc:87
-msgid "alteration not found"
-msgstr "alterazione non trovata"
+#: relocate.cc:124
+#, c-format
+msgid "not relocating, no %s/ or current/ found under %s"
+msgstr "non si riloca, non si è incontrato %s/ o current/ in %s"
-#: source-file.cc:85
+#: relocate.cc:134
#, c-format
-msgid "expected to read %d characters, got %d"
-msgstr "si prevedeva di leggere %d caratteri, se ne sono ottenuti %d"
+msgid "Relocation: compile datadir=%s, new datadir=%s"
+msgstr "Rilocazione: compilare datadir=%s, nuova datadir=%s"
-#: axis-group-engraver.cc:94
-msgid "Axis_group_engraver: vertical group already has a parent"
-msgstr "Axis_group_engraver: il gruppo verticale ha già un genitore"
+#: relocate.cc:146
+#, c-format
+msgid "Relocation: framework_prefix=%s"
+msgstr "Rilocazione: framework_prefix=%s"
-#: axis-group-engraver.cc:95
-msgid "are there two Axis_group_engravers?"
-msgstr "ci sono due Axis_group_engravers?"
+#: relocate.cc:186
+#, c-format
+msgid "Relocation: is absolute: argv0=%s\n"
+msgstr "Rilocazione: è assoluta: argv0=%s\n"
-#: axis-group-engraver.cc:96
-msgid "removing this vertical group"
-msgstr "eliminazione di questo gruppo verticale"
+#: relocate.cc:192
+#, c-format
+msgid "Relocation: from cwd: argv0=%s\n"
+msgstr "Rilocazione: da cwd: argv0=%s\n"
-#: cluster.cc:120
+#: relocate.cc:208
#, c-format
-msgid "unknown cluster style `%s'"
-msgstr "stile cluster sconosciuto «%s»"
+msgid ""
+"Relocation: from PATH=%s\n"
+"argv0=%s"
+msgstr ""
+"Rilocazione: da PATH=%s\n"
+"argv0=%s"
-#: cluster.cc:157
-msgid "junking empty cluster"
-msgstr "eliminazione di cluster vuoti"
+#: relocate.cc:235
+msgid "LILYPONDPREFIX is obsolete, use LILYPOND_DATADIR"
+msgstr "LILYPONDPREFIX è obsoleto, usare LILYPOND_DATADIR"
-#: global-context-scheme.cc:96 global-context-scheme.cc:114
-msgid "no music found in score"
-msgstr "nessuna musica trovata nello spartito"
+#: relocate.cc:360
+#, c-format
+msgid "Relocation file: %s"
+msgstr "File di rilocazione: %s"
-#: global-context-scheme.cc:104
-msgid "Interpreting music..."
-msgstr "Interpretazione della musica..."
+#: relocate.cc:364 source-file.cc:65
+#, c-format
+msgid "cannot open file: `%s'"
+msgstr "impossibile aprire il file: «%s»"
-#: global-context-scheme.cc:126
+#: relocate.cc:394
#, c-format
-msgid "elapsed time: %.2f seconds"
-msgstr "tempo trascorso: %.2f secondi"
+msgid "Unknown relocation command %s"
+msgstr "Comando di rilocazione sconosciuto %s"
-#: output-def.cc:235
-msgid "margins do not fit with line-width, setting default values"
-msgstr "i margini non corrispondono con la larghezza del rigo, si impostano i valori predefiniti"
+#: rest-collision-engraver.cc:70
+msgid "rhythmic head is not part of a rhythmic column"
+msgstr "la testa ritmica non fa parte di una colonna ritmica"
-#: output-def.cc:242
-msgid "systems run off the page due to improper paper settings, setting default values"
-msgstr "i sistemi escono fuori dalla pagina a causa di errate impostazioni del foglio, si impostano i valori predefiniti"
+#: rest-collision.cc:146
+msgid "cannot resolve rest collision: rest direction not set"
+msgstr "impossibile risolvere la collisione di pause: direzione delle pause non impostata"
-#: axis-group-interface.cc:668
-msgid "an outside-staff object should have a direction, defaulting to up"
-msgstr "un oggetto esterno al rigo dovrebbe avere una direzione, si imposta in su come da impostazione predefinita"
+#: rest-collision.cc:157 rest-collision.cc:266
+msgid "too many colliding rests"
+msgstr "troppe collisioni tra pause"
-#: coherent-ligature-engraver.cc:110
+#: rest.cc:192
#, c-format
-msgid "Coherent_ligature_engraver: setting `spacing-increment=0.01': ptr=%ul"
-msgstr "Coherent_ligature_engraver: impostare `spacing-increment=0.01': ptr=%ul"
+msgid "rest `%s' not found"
+msgstr "pausa «%s» non trovata"
-#: percent-repeat-engraver.cc:147
-msgid "unterminated percent repeat"
-msgstr "ripetizione percentuale non terminata"
+#: score-engraver.cc:78
+#, c-format
+msgid "cannot find `%s'"
+msgstr "impossibile trovare «%s»"
-#: note-head.cc:95
+#: score-engraver.cc:80
+msgid "Music font has not been installed properly."
+msgstr "Il tipo di carattere musicale non è stato installato correttamente."
+
+#: score-engraver.cc:82
#, c-format
-msgid "none of note heads `%s' or `%s' found"
-msgstr "non si è trovata alcuna delle teste delle note «%s» o «%s»"
+msgid "Search path `%s'"
+msgstr "Percorso di ricerca «%s»"
-#: font-config.cc:38
-msgid "Initializing FontConfig..."
-msgstr "Inizializzazione di FontConfig..."
+#: score-engraver.cc:84
+msgid "Aborting"
+msgstr "Si sospende l'esecuzione"
-#: font-config.cc:58
-msgid "Building font database..."
-msgstr "Creazione del database dei tipi di carattere..."
+#: score.cc:172
+msgid "already have music in score"
+msgstr "musica già presente nello spartito"
+
+#: score.cc:173
+msgid "this is the previous music"
+msgstr "questa è la musica precedente"
+
+#: score.cc:178
+msgid "errors found, ignoring music expression"
+msgstr "trovati degli errori, si ignora l'espressione musicale"
#. FIXME:
#: script-engraver.cc:113
msgid " scheme encoding: "
msgstr " codifica di Scheme: "
-#: all-font-metrics.cc:149
-#, c-format
-msgid "cannot find font: `%s'"
-msgstr "impossibile trovare il tipo di carattere: «%s»"
+#: skyline-pair.cc:131
+msgid "direction must not be CENTER in ly:skyline-pair::skyline"
+msgstr "in ly:skyline-pair::skyline la direzione non deve essere CENTER"
-#: clef.cc:65
-#, c-format
-msgid "clef `%s' not found"
-msgstr "chiave «%s» non trovata"
+#: slur-engraver.cc:176
+msgid "unterminated slur"
+msgstr "legatura di portamento non terminata"
-#: property-iterator.cc:93
+#: slur-engraver.cc:211
+msgid "cannot end slur"
+msgstr "impossibile terminare la legatura di portamento"
+
+#. We already have an old slur, so give a warning
+#. and completely ignore the new slur.
+#: slur-engraver.cc:231
+msgid "already have slur"
+msgstr "legatura già presente"
+
+#: slur.cc:430
#, c-format
-msgid "not a grob name, `%s'"
-msgstr "non è il nome di un grob, «%s»"
+msgid "Ignoring grob for slur: %s. avoid-slur not set?"
+msgstr "Si ignora il grob per la legatura di portamento: %s. Non si è impostato avoid-slur?"
-#: pdf-scheme.cc:50
+#: source-file.cc:85
#, c-format
-msgid "Conversion of string `%s' to UTF-16be failed: %s"
-msgstr "Fallita la conversione della stringa \"%s\" in UTF-16be: %s"
+msgid "expected to read %d characters, got %d"
+msgstr "si prevedeva di leggere %d caratteri, se ne sono ottenuti %d"
-#: new-fingering-engraver.cc:113
-msgid "cannot add text scripts to individual note heads"
-msgstr "impossibile aggiungere delle scritte testuali alle teste delle note individuali"
+#: staff-performer.cc:275
+msgid "MIDI channel wrapped around"
+msgstr "Numerazione canale MIDI ricominciata"
-#: new-fingering-engraver.cc:269
-msgid "no placement found for fingerings"
-msgstr "nessuna posizione trovata per le diteggiature"
+#: staff-performer.cc:276
+msgid "remapping modulo 16"
+msgstr "riassegnata con modulo 16"
-#: new-fingering-engraver.cc:270
-msgid "placing below"
-msgstr "si colloca in basso"
+#: stem-engraver.cc:110
+msgid "tremolo duration is too long"
+msgstr "la durata del tremolo è troppo lunga"
-#: bar-check-iterator.cc:84
+#: stem-engraver.cc:162
#, c-format
-msgid "barcheck failed at: %s"
-msgstr "controllo di battuta fallito a: %s"
+msgid "adding note head to incompatible stem (type = %d/%d)"
+msgstr "si aggiunge la testa della nota a un gambo incompatibile (tipo = %d/%d)"
-#: change-iterator.cc:34
-#, c-format
-msgid "cannot change `%s' to `%s'"
-msgstr "impossibile cambiare «%s» in «%s»"
+#: stem-engraver.cc:165
+msgid "maybe input should specify polyphonic voices"
+msgstr "forse l'input dovrebbe specificare le voci polifoniche"
-#. FIXME: constant error message.
-#: change-iterator.cc:93
-msgid "cannot find context to switch to"
-msgstr "impossibile trovare il contesto su cui spostarsi"
+#: stem.cc:128
+msgid "weird stem size, check for narrow beams"
+msgstr "strana dimensione del gambo, controllare di non avere travature strette"
-#. We could change the current translator's id, but that would make
-#. errors hard to catch.
-#.
-#. last->translator_id_string () = get_change
-#. ()->change_to_id_string ();
-#: change-iterator.cc:102
+#: system.cc:200
#, c-format
-msgid "not changing to same context type: %s"
-msgstr "non passare allo stesso tipo di contesto: %s"
+msgid "Element count %d"
+msgstr "Numero degli elementi %d"
-#. FIXME: uncomprehensable message
-#: change-iterator.cc:106
-msgid "none of these in my family"
-msgstr "nessuno di questi nella mia famiglia"
+#: system.cc:480
+#, c-format
+msgid "Grob count %d"
+msgstr "Numero degli oggetti grafici %d"
-#: translator-group-ctors.cc:40
+#. TODO: Also print the arguments of the markup!
+#: text-interface.cc:129
#, c-format
-msgid "fatal error. Couldn't find type: %s"
-msgstr "errore fatale. Impossibile trovare il tipo: %s"
+msgid "Cyclic markup detected: %s"
+msgstr "Individuato un markup ciclico: %s"
+
+#. TODO: Also print the arguments of the markup!
+#: text-interface.cc:142
+#, c-format
+msgid "Markup depth exceeds maximal value of %d; Markup: %s"
+msgstr "La profondità di markup eccede il valore massimo di %d; Markup: %s"
#: text-spanner-engraver.cc:72
msgid "cannot find start of text spanner"
msgid "unterminated text spanner"
msgstr "spanner testuale non terminato"
-#: lily-parser.cc:109
-msgid "Parsing..."
-msgstr "Analisi..."
-
-#. if we get to here, just put everything on one line
-#: constrained-breaking.cc:187 constrained-breaking.cc:205
-msgid "cannot find line breaking that satisfies constraints"
-msgstr "impossibile trovare interruzioni di linea che soddisfino i vincoli"
-
-#. FIXME: constant error message.
-#: mark-engraver.cc:157
-msgid "rehearsalMark must have integer value"
-msgstr "rehearsalMark deve avere un valore intero"
+#: tie-engraver.cc:117
+msgid "unterminated tie"
+msgstr "legatura di valore non terminata"
-#: mark-engraver.cc:163
-msgid "mark label must be a markup object"
-msgstr "l'etichetta del segno deve essere un oggetto di markup"
+#: tie-engraver.cc:348
+msgid "lonely tie"
+msgstr "legatura di valore solitaria"
-#: rest-collision-engraver.cc:70
-msgid "rhythmic head is not part of a rhythmic column"
-msgstr "la testa ritmica non fa parte di una colonna ritmica"
+#.
+#. Todo: should make typecheck?
+#.
+#. OTOH, Tristan Keuris writes 8/20 in his Intermezzi.
+#.
+#: time-signature-engraver.cc:75
+#, c-format
+msgid "strange time signature found: %d/%d"
+msgstr "si è incontrato uno strano segno di tempo: %d/%d"
#. If there is no such symbol, we default to the numbered style.
#. (Here really with a warning!)
msgid "time signature symbol `%s' not found; reverting to numbered style"
msgstr "non si è trovato il simbolo di tempo «%s»: si ritorna allo stile numerato"
-#: grob-interface.cc:68
+#: translator-ctors.cc:65
#, c-format
-msgid "Unknown interface `%s'"
-msgstr "Interfaccia «%s» sconosciuta"
+msgid "unknown translator: `%s'"
+msgstr "traduttore sconosciuto: «%s»"
-#: grob-interface.cc:79
+#: translator-group-ctors.cc:40
#, c-format
-msgid "Grob `%s' has no interface for property `%s'"
-msgstr "Il grob «%s» non ha un'interfaccia per la proprietà «%s»"
+msgid "fatal error. Couldn't find type: %s"
+msgstr "errore fatale. Impossibile trovare il tipo: %s"
-#: midi-stream.cc:39
+#: translator-group.cc:188
#, c-format
-msgid "cannot open for write: %s: %s"
-msgstr "impossibile aprire il file con permesso di scrittura: %s: %s"
+msgid "cannot find: `%s'"
+msgstr "impossibile trovare: «%s»"
-#: midi-stream.cc:55
+#: translator.cc:326
#, c-format
-msgid "cannot write to file: `%s'"
-msgstr "impossibile scrivere su file: «%s»"
+msgid "Two simultaneous %s events, junking this one"
+msgstr "Due eventi %s simultanei, si butta via questo"
-#. TODO: Also print the arguments of the markup!
-#: text-interface.cc:129
+#: translator.cc:327
#, c-format
-msgid "Cyclic markup detected: %s"
-msgstr "Individuato un markup ciclico: %s"
+msgid "Previous %s event here"
+msgstr "L'evento %s precedente sta qui"
-#. TODO: Also print the arguments of the markup!
-#: text-interface.cc:142
+#: ttf.cc:480 ttf.cc:528
#, c-format
-msgid "Markup depth exceeds maximal value of %d; Markup: %s"
-msgstr "La profondità di markup eccede il valore massimo di %d; Markup: %s"
+msgid "font index %d too large for font `%s', using index 0"
+msgstr "l'indice del tipo di carattere %d è troppo grande per il tipo di carattere «%s», si usa l'indice 0"
+
+#: ttf.cc:512 ttf.cc:562
+msgid "font index must be non-negative, using index 0"
+msgstr "l'indice del tipo di carattere deve essere non negativo, si usa l'indice 0"
+
+#: tuplet-engraver.cc:110
+msgid "No tuplet to end"
+msgstr "Nessun gruppo irregolare da terminare"
+
+#: vaticana-ligature-engraver.cc:400
+#, c-format
+msgid "ignored prefix(es) `%s' of this head according to restrictions of the selected ligature style"
+msgstr "prefisso/i «%s» di questa testa ignorato/i in base alle restrizioni dello stile di legatura scelto"
-#: parser.yy:162 parser.yy:176
+#: vaticana-ligature-engraver.cc:466
+msgid "Ambiguous use of dots in ligature: there are multiple dotted notes with the same pitch. The ligature should be split."
+msgstr "Uso ambiguo dei punti nella legatura: ci sono tante note puntate con la stessa altezza. La legatura deve essere divisa."
+
+#: vaticana-ligature-engraver.cc:524
+msgid "This ligature has a dotted head followed by a non-dotted head. The ligature should be split after the last dotted head before this head."
+msgstr "Questa legatura ha una testa puntata seguita da una non puntata. La legatura deve essere divisa dopo l'ultima testa puntata che precede questa testa."
+
+#: vaticana-ligature-engraver.cc:736
+#, c-format
+msgid "Vaticana_ligature_engraver: setting `spacing-increment = %f': ptr =%ul"
+msgstr "Vaticana_ligature_engraver: si imposta `spacing-increment = %f': ptr =%ul"
+
+#: vaticana-ligature.cc:94
+msgid "flexa-height undefined; assuming 0"
+msgstr "flexa-height non definito; si assume 0"
+
+#: vaticana-ligature.cc:99
+msgid "ascending vaticana style flexa"
+msgstr "flexa ascendente in stile vaticana"
+
+#. fixme: be more verbose.
+#: volta-engraver.cc:110
+msgid "cannot end volta spanner"
+msgstr "impossibile terminare lo spanner della volta"
+
+#: volta-engraver.cc:120
+msgid "already have a volta spanner, ending that one prematurely"
+msgstr "spanner della volta già presente, si termina quello prematuramente"
+
+#: volta-engraver.cc:124
+msgid "also already have an ended spanner"
+msgstr "è già presente uno spanner terminato"
+
+#: volta-engraver.cc:125
+msgid "giving up"
+msgstr "rinuncia"
+
+#: parser.yy:161 parser.yy:175
msgid "Too much lookahead"
msgstr "Troppa ricerca in avanti (lookahead)"
-#: parser.yy:833 parser.yy:1234
+#: parser.yy:835 parser.yy:1284
msgid "not a context mod"
msgstr "non è una modalità di contesto"
-#: parser.yy:1018
+#: parser.yy:1027
msgid "\\paper cannot be used in \\score, use \\layout instead"
msgstr "non si può usare \\paper dentro \\score, usare \\layout al suo posto"
-#: parser.yy:1042
+#: parser.yy:1051
msgid "need \\paper for paper block"
msgstr "è necessario \\paper per il blocco \"paper\""
-#: parser.yy:1999
+#: parser.yy:1204
+msgid "Ignoring non-music expression"
+msgstr "Si ignora l'espressione non musicale"
+
+#: parser.yy:2044
msgid "only \\consists and \\remove take non-string argument."
msgstr "solo \\consists e \\remove prendono un argomento diverso da una stringa"
-#: parser.yy:2012
+#: parser.yy:2057
msgid "Grob name should be alphanumeric"
msgstr "Il nome del grob deve essere alfanumerico"
-#: parser.yy:2216
+#: parser.yy:2261
msgid "not a rhythmic event"
msgstr "non è un evento ritmico"
-#: parser.yy:2312 parser.yy:2317
+#: parser.yy:2357 parser.yy:2362
msgid "have to be in Lyric mode for lyrics"
msgstr "bisogna essere in modo \"Lyric\" per i testi"
-#: parser.yy:2432
+#: parser.yy:2477
msgid "expecting string as script definition"
msgstr "ci si aspetta una stringa come definizione dello script"
-#: parser.yy:2592 parser.yy:2643
+#: parser.yy:2637 parser.yy:2681
#, c-format
msgid "not a duration: %d"
msgstr "non è una durata: %d"
-#: parser.yy:2762
+#: parser.yy:2800
msgid "have to be in Note mode for notes"
msgstr "bisogna essere in modo \"Note\" per le note"
-#: parser.yy:2817
+#: parser.yy:2855
msgid "have to be in Chord mode for chords"
msgstr "bisogna essere in modo \"Chord\" per gli accordi"
-#: parser.yy:3077
+#: parser.yy:3115
msgid "not a markup"
msgstr "non è un markup"
-#: lexer.ll:224
+#: lexer.ll:218
msgid "stray UTF-8 BOM encountered"
msgstr "si è incontrato un segno BOM UTF-8 isolato"
-#: lexer.ll:227
+#: lexer.ll:221
msgid "Skipping UTF-8 BOM"
msgstr "Si ignora il BOM UTF-8"
-#: lexer.ll:285
+#: lexer.ll:279
#, c-format
msgid "Renaming input to: `%s'"
msgstr "Si rinomina l'input in: «%s»"
-#: lexer.ll:302
+#: lexer.ll:296
msgid "quoted string expected after \\version"
msgstr "\\version deve essere seguito da una stringa compresa tra virgolette"
-#: lexer.ll:306
+#: lexer.ll:300
msgid "quoted string expected after \\sourcefilename"
msgstr "\\sourcefilename deve essere seguito da una stringa compresa tra virgolette"
-#: lexer.ll:310
+#: lexer.ll:304
msgid "integer expected after \\sourcefileline"
msgstr "\\sourcefileline deve essere seguito da un intero"
-#: lexer.ll:333
+#: lexer.ll:327
msgid "\\maininput not allowed outside init files"
msgstr "\\maininput non permesso fuori dai file di inizializzazione"
-#: lexer.ll:357
+#: lexer.ll:351
#, c-format
msgid "wrong or undefined identifier: `%s'"
msgstr "indentificatore errato o non definito: «%s»"
-#: lexer.ll:383
+#: lexer.ll:377
msgid "string expected after \\include"
msgstr "stringa prevista dopo \\include"
#. backup rule
-#: lexer.ll:393
+#: lexer.ll:387
msgid "end quote missing"
msgstr "mancano le virgolette di chiusura"
-#: lexer.ll:555
+#: lexer.ll:558
msgid "Brace found at end of lyric. Did you forget a space?"
msgstr "Trovata una parentesi alla fine del testo. È stato dimenticato uno spazio?"
-#: lexer.ll:670
+#: lexer.ll:672
msgid "Brace found at end of markup. Did you forget a space?"
msgstr "Trovata una parentesi alla fine della marcatura. È stato dimenticato uno spazio?"
-#: lexer.ll:682
+#: lexer.ll:684
msgid "EOF found inside a comment"
msgstr "fine del file (EOF) trovata in un commento"
-#: lexer.ll:780
+#: lexer.ll:782
#, c-format
msgid "invalid character: `%s'"
msgstr "carattere non valido: «%s»"
-#: lexer.ll:883 lexer.ll:884
+#: lexer.ll:903 lexer.ll:904
#, c-format
msgid "unknown escaped string: `\\%s'"
msgstr "stringa di escape sconosciuta: «\\%s»"
-#: lexer.ll:1166 lexer.ll:1167
+#: lexer.ll:1186 lexer.ll:1187
msgid "non-UTF-8 input"
msgstr "input non UTF-8"
-#: lexer.ll:1210 lexer.ll:1211
+#: lexer.ll:1230 lexer.ll:1231
#, c-format
msgid "file too old: %s (oldest supported: %s)"
msgstr "file troppo vecchio: %s (il più vecchio che si può gestire è: %s)"
-#: lexer.ll:1211 lexer.ll:1212
-msgid "consider updating the input with the convert-ly script"
-msgstr "si consideri di aggiornare l'input con lo script convert-ly"
+#: lexer.ll:1231 lexer.ll:1232
+msgid "consider updating the input with the convert-ly script"
+msgstr "si consideri di aggiornare l'input con lo script convert-ly"
+
+#: lexer.ll:1237 lexer.ll:1238
+#, c-format
+msgid "program too old: %s (file requires: %s)"
+msgstr "programma troppo vecchio: %s (il file richiede: %s)"
+
+#: backend-library.scm:27
+#, scheme-format
+msgid "Invoking `~a'..."
+msgstr "Invocazione di «~a»..."
+
+#: backend-library.scm:31
+#, scheme-format
+msgid "`~a' failed (~a)\n"
+msgstr "«~a» fallito (~a)\n"
+
+#: backend-library.scm:90
+#, scheme-format
+msgid "Converting to `~a'...\n"
+msgstr "Conversione a «~a»...\n"
+
+#. Do not try to guess the name of the png file,
+#. GS produces PNG files like BASE-page%d.png.
+#: backend-library.scm:99
+#, scheme-format
+msgid "Converting to ~a..."
+msgstr "Conversione a ~a..."
+
+#: backend-library.scm:137
+#, scheme-format
+msgid "Writing header field `~a' to `~a'..."
+msgstr "Scrittura del campo di intestazione «~a» in «~a»..."
-#: lexer.ll:1217 lexer.ll:1218
-#, c-format
-msgid "program too old: %s (file requires: %s)"
-msgstr "programma troppo vecchio: %s (il file richiede: %s)"
+#: backend-library.scm:187
+#, scheme-format
+msgid "missing stencil expression `~S'"
+msgstr "manca l'espressione di stencil «~S»"
-#: parser-clef.scm:143 parser-clef.scm:183
+#: chord-entry.scm:52
#, scheme-format
-msgid "unknown clef type `~a'"
-msgstr "tipo di chiave sconosciuto «~a»"
+msgid "Spurious garbage following chord: ~A"
+msgstr "Informazione incomprensibile dopo l'accordo: ~A"
-#: parser-clef.scm:144 parser-clef.scm:184
+#: define-context-properties.scm:31 define-grob-properties.scm:21
+#: define-music-properties.scm:21
#, scheme-format
-msgid "supported clefs: ~a"
-msgstr "chiavi supportate: ~a"
+msgid "symbol ~S redefined"
+msgstr "simbolo ~S ridefinito"
-#: parser-ly-from-scheme.scm:73
-msgid "error in #{ ... #}"
-msgstr "errore in #{ ... #}"
+#: define-event-classes.scm:67
+#, scheme-format
+msgid "unknown parent class `~a'"
+msgstr "Classe di evento «~a» sconosciuta"
-#: framework-eps.scm:108
+#: define-markup-commands.scm:887
+msgid "no systems found in \\score markup, does it have a \\layout block?"
+msgstr "non si è trovato alcun sistema nella marcatura \\score, contiene un blocco \\layout?"
+
+#: define-markup-commands.scm:2614
#, scheme-format
-msgid "Writing ~a..."
-msgstr "Scrittura di ~a..."
+msgid "Cannot find glyph ~a"
+msgstr "Impossibile trovare il glifo ~a"
-#: flag-styles.scm:151
+#: define-markup-commands.scm:3040
#, scheme-format
-msgid "flag stroke `~a' or `~a' not found"
-msgstr "tipo di coda uncinata sconosciuto: «~a» o «~a»"
+msgid "no brace found for point size ~S "
+msgstr "non c'è una graffa che abbia una dimensione di ~S punti"
-#: graphviz.scm:64
+#: define-markup-commands.scm:3041
#, scheme-format
-msgid "Writing graph `~a'..."
-msgstr "Scrittura del grafico «~a»..."
+msgid "defaulting to ~S pt"
+msgstr "si applica la dimensione predefinita ~S pt"
-#: define-music-properties.scm:21 define-grob-properties.scm:21
-#: define-context-properties.scm:31
+#: define-markup-commands.scm:3194
#, scheme-format
-msgid "symbol ~S redefined"
-msgstr "simbolo ~S ridefinito"
+msgid "not a valid duration string: ~a"
+msgstr "non è una durata valida per la stringa: ~a"
-#: lily.scm:234
-msgid "Using (ice-9 curried-definitions) module\n"
-msgstr "Utilizzazione del modulo (ice-9 curried-definitions)\n"
+#: define-music-types.scm:765
+#, scheme-format
+msgid "symbol expected: ~S"
+msgstr "simbolo atteso: ~S"
-#: lily.scm:237
-msgid "Guile 1.8\n"
-msgstr "Guile 1.8\n"
+#: define-music-types.scm:768
+#, scheme-format
+msgid "cannot find music object: ~S"
+msgstr "impossibile trovare l'oggetto musicale: ~S"
-#: lily.scm:297
+#: define-music-types.scm:787
#, scheme-format
-msgid "cannot find: ~A"
-msgstr "impossibile trovare ~A"
+msgid "unknown repeat type `~S'"
+msgstr "tipo di ripetizione sconosciuto «~S»"
-#: lily.scm:707
-msgid "Success: compilation successfully completed"
-msgstr "Successo: compilazione completata con successo"
+#: define-music-types.scm:788
+msgid "See define-music-types.scm for supported repeats"
+msgstr "Si veda define-music-types.scm per le ripetizioni supportate"
-#: lily.scm:708
-msgid "Compilation completed with warnings or errors"
-msgstr "Compilazione completata con avvertimenti o errori"
+#: define-note-names.scm:962
+msgid "Select note names language."
+msgstr "Selezione della lingua dei nomi delle note."
-#: lily.scm:770
+#: define-note-names.scm:968
#, scheme-format
-msgid "job ~a terminated with signal: ~a"
-msgstr "il lavoro ~a è terminato col segnale ~a"
+msgid "Using `~a' note names..."
+msgstr "Utilizzo di \"~a\" per i nomi delle note..."
-#: lily.scm:773
+#: define-note-names.scm:971
#, scheme-format
-msgid ""
-"logfile ~a (exit ~a):\n"
-"~a"
-msgstr ""
-"file di registro ~a (uscita ~a):\n"
-"~a"
+msgid "Could not find language `~a'. Ignoring."
+msgstr "Impossibile trovare il linguaggio \"~a\". Si ignora."
-#: lily.scm:795 lily.scm:881
+#: document-backend.scm:132
#, scheme-format
-msgid "failed files: ~S"
-msgstr "errore nei file: ~S"
+msgid "pair expected in doc ~s"
+msgstr "si aspettava una coppia nel documento ~s"
-#: lily.scm:872
+#: document-backend.scm:189
#, scheme-format
-msgid "Redirecting output to ~a..."
-msgstr "Redirezione dell'output verso ~a..."
+msgid "cannot find interface for property: ~S"
+msgstr "impossibile trovare un'interfaccia per le proprietà: ~S"
-#: lily.scm:891 ps-to-png.scm:66
+#: document-backend.scm:199
#, scheme-format
-msgid "Invoking `~a'...\n"
-msgstr "Chiamata di «~a»...\n"
+msgid "unknown Grob interface: ~S"
+msgstr "interfaccia del Grob sconosciuta: ~S"
-#: layout-beam.scm:40
+#: documentation-lib.scm:59
#, scheme-format
-msgid "Error in beam quanting. Expected (~S,~S) found ~S."
-msgstr "Errore nella definizione delle travature. Previste (~S,~S), trovate ~S."
+msgid "Processing ~S..."
+msgstr "Elaborazione di ~S..."
-#: layout-beam.scm:54
+#: documentation-lib.scm:176
#, scheme-format
-msgid "Error in beam quanting. Expected ~S 0, found ~S."
-msgstr "Errore nella definizione delle travature. Previste ~S 0, trovate ~S."
+msgid "Writing ~S..."
+msgstr "Scrittura di ~S..."
-#: output-svg.scm:47
+#: documentation-lib.scm:188
#, scheme-format
-msgid "undefined: ~S"
-msgstr "~S indefinito"
+msgid "cannot find description for property `~S' (~S)"
+msgstr "impossibile trovare la descrizione per la proprietà \"~S\" (~S)"
-#: output-svg.scm:157
+#: documentation-lib.scm:209
#, scheme-format
-msgid "cannot decypher Pango description: ~a"
-msgstr "impossibile decifrare la descrizione di Pango: ~a"
+msgid "cannot find description for property ~S (~S)"
+msgstr "impossibile trovare la descrizione per la proprietà ~S (~S)"
-#: output-svg.scm:237
-msgid "Glyph must have a unicode value"
-msgstr "Un glifo deve avere un valore unicode"
+#: flag-styles.scm:151
+#, scheme-format
+msgid "flag stroke `~a' or `~a' not found"
+msgstr "tipo di coda uncinata sconosciuto: «~a» o «~a»"
-#: output-svg.scm:289 output-svg.scm:299
+#: framework-eps.scm:108
#, scheme-format
-msgid "cannot find SVG font ~S"
-msgstr "impossibile trovare il tipo di carattere SVG ~S"
+msgid "Writing ~a..."
+msgstr "Scrittura di ~a..."
-#: output-svg.scm:524 output-ps.scm:277
+#: framework-ps.scm:250
#, scheme-format
-msgid "unknown line-cap-style: ~S"
-msgstr "line-cap-style sconosciuto: ~S"
+msgid "cannot embed ~S=~S"
+msgstr "impossibile inserire ~S=~S"
-#: output-svg.scm:530 output-ps.scm:282
+#: framework-ps.scm:293
#, scheme-format
-msgid "unknown line-join-style: ~S"
-msgstr "line-join-style sconosciuto: ~S"
+msgid "cannot extract file matching ~a from ~a"
+msgstr "impossibile estrarre il file corrispondente a ~a a partire da ~a"
-#: to-xml.scm:191
+#: framework-ps.scm:311
#, scheme-format
-msgid "assertion failed: ~S"
-msgstr "errore di asserzione: ~S"
+msgid "do not know how to embed ~S=~S"
+msgstr "impossibile realizzare l'integrazione ~S=~S"
-#: paper.scm:120
-msgid "set-global-staff-size: not in toplevel scope"
-msgstr "set-global-staff-size: non è nell'ambito di livello più alto"
+#: framework-ps.scm:336
+#, scheme-format
+msgid "do not know how to embed font ~s ~s ~s"
+msgstr "non so come inserire il tipo di carattere ~s ~s ~s"
+
+#: framework-ps.scm:686
+msgid ""
+"\n"
+"The PostScript backend does not support the\n"
+"system-by-system output. For that, use the EPS backend instead,\n"
+"\n"
+" lilypond -dbackend=eps FILE\n"
+"\n"
+"If have cut & pasted a lilypond fragment from a webpage, be sure\n"
+"to only remove anything before\n"
+"\n"
+" %% ****************************************************************\n"
+" %% Start cut-&-pastable-section\n"
+" %% ****************************************************************\n"
+msgstr ""
+"\n"
+"Il backend PostScript non supporta l'output\n"
+"di sistemi individuali. Si usi il backend EPS al suo posto.\n"
+"\n"
+" lilypond -dbackend=eps FILE\n"
+"\n"
+"Se avete tagliato e incollato un frammento di codice lilypond da una pagina web,\n"
+"assicuratevi di togliere soltanto ciò che precede\n"
+"\n"
+" %% ****************************************************************\n"
+" %% Start cut-&-pastable-section\n"
+" %% ****************************************************************\n"
-#: paper.scm:314
+#: framework-svg.scm:84
#, scheme-format
-msgid "This is not a \\layout {} object, ~S"
-msgstr "Questo non è un oggetto \\layout {}, ~S"
+msgid "Updating font into: ~a"
+msgstr "Aggiornamento dei tipi di carattere in: ~a"
-#: paper.scm:326
+#: graphviz.scm:64
#, scheme-format
-msgid "Unknown paper size: ~a"
-msgstr "Dimensione del foglio sconosciuta: ~a"
+msgid "Writing graph `~a'..."
+msgstr "Scrittura del grafico «~a»..."
-#. TODO: should raise (generic) exception with throw, and catch
-#. that in parse-scm.cc
-#: paper.scm:341
-msgid "Must use #(set-paper-size .. ) within \\paper { ... }"
-msgstr "Si deve usare #(set-paper-size .. ) all'interno di \\paper { ... }"
+#: layout-beam.scm:40
+#, scheme-format
+msgid "Error in beam quanting. Expected (~S,~S) found ~S."
+msgstr "Errore nella definizione delle travature. Previste (~S,~S), trovate ~S."
+
+#: layout-beam.scm:54
+#, scheme-format
+msgid "Error in beam quanting. Expected ~S 0, found ~S."
+msgstr "Errore nella definizione delle travature. Previste ~S 0, trovate ~S."
#: lily-library.scm:299
msgid "Music unsuitable for context-mod"
msgid "Music unsuitable for output-def"
msgstr "Musica non adatta per output-def"
-#: lily-library.scm:888
+#: lily-library.scm:892
msgid ""
"Find the index between @var{start} and @var{end} (an integer)\n"
"which produces the closest match to @var{target-val} if\n"
"che produca l'abbinamento più vicino al @var{target-val} quando\n"
"applicato alla funzione @var{getter}."
-#: lily-library.scm:962
+#: lily-library.scm:966
#, scheme-format
msgid "unknown unit: ~S"
msgstr "unità sconosciuta: ~S"
-#: lily-library.scm:987
+#: lily-library.scm:991
#, scheme-format
msgid "no \\version statement found, please add~afor future compatibility"
msgstr "dichiarazione di \\version assente; si aggiunga ~a per compatibilità futura"
-#: lily-library.scm:993
+#: lily-library.scm:997
msgid "old relative compatibility not used"
msgstr "compatibilità col vecchio modo relativo non utilizzata"
-#: backend-library.scm:27
-#, scheme-format
-msgid "Invoking `~a'..."
-msgstr "Invocazione di «~a»..."
-
-#: backend-library.scm:31
-#, scheme-format
-msgid "`~a' failed (~a)\n"
-msgstr "«~a» fallito (~a)\n"
-
-#: backend-library.scm:90
-#, scheme-format
-msgid "Converting to `~a'...\n"
-msgstr "Conversione a «~a»...\n"
+#: lily.scm:234
+msgid "Using (ice-9 curried-definitions) module\n"
+msgstr "Utilizzazione del modulo (ice-9 curried-definitions)\n"
-#. Do not try to guess the name of the png file,
-#. GS produces PNG files like BASE-page%d.png.
-#: backend-library.scm:99
-#, scheme-format
-msgid "Converting to ~a..."
-msgstr "Conversione a ~a..."
+#: lily.scm:237
+msgid "Guile 1.8\n"
+msgstr "Guile 1.8\n"
-#: backend-library.scm:137
+#: lily.scm:297
#, scheme-format
-msgid "Writing header field `~a' to `~a'..."
-msgstr "Scrittura del campo di intestazione «~a» in «~a»..."
+msgid "cannot find: ~A"
+msgstr "impossibile trovare ~A"
-#: backend-library.scm:187
-#, scheme-format
-msgid "missing stencil expression `~S'"
-msgstr "manca l'espressione di stencil «~S»"
+#: lily.scm:708
+msgid "Success: compilation successfully completed"
+msgstr "Successo: compilazione completata con successo"
-#: documentation-lib.scm:59
-#, scheme-format
-msgid "Processing ~S..."
-msgstr "Elaborazione di ~S..."
+#: lily.scm:709
+msgid "Compilation completed with warnings or errors"
+msgstr "Compilazione completata con avvertimenti o errori"
-#: documentation-lib.scm:176
+#: lily.scm:771
#, scheme-format
-msgid "Writing ~S..."
-msgstr "Scrittura di ~S..."
+msgid "job ~a terminated with signal: ~a"
+msgstr "il lavoro ~a è terminato col segnale ~a"
-#: documentation-lib.scm:188
+#: lily.scm:774
#, scheme-format
-msgid "cannot find description for property `~S' (~S)"
-msgstr "impossibile trovare la descrizione per la proprietà \"~S\" (~S)"
+msgid ""
+"logfile ~a (exit ~a):\n"
+"~a"
+msgstr ""
+"file di registro ~a (uscita ~a):\n"
+"~a"
-#: documentation-lib.scm:209
+#: lily.scm:796 lily.scm:882
#, scheme-format
-msgid "cannot find description for property ~S (~S)"
-msgstr "impossibile trovare la descrizione per la proprietà ~S (~S)"
-
-#: define-markup-commands.scm:887
-msgid "no systems found in \\score markup, does it have a \\layout block?"
-msgstr "non si è trovato alcun sistema nella marcatura \\score, contiene un blocco \\layout?"
+msgid "failed files: ~S"
+msgstr "errore nei file: ~S"
-#: define-markup-commands.scm:2614
+#: lily.scm:873
#, scheme-format
-msgid "Cannot find glyph ~a"
-msgstr "Impossibile trovare il glifo ~a"
+msgid "Redirecting output to ~a..."
+msgstr "Redirezione dell'output verso ~a..."
-#: define-markup-commands.scm:3040
+#: lily.scm:892 ps-to-png.scm:66
#, scheme-format
-msgid "no brace found for point size ~S "
-msgstr "non c'è una graffa che abbia una dimensione di ~S punti"
+msgid "Invoking `~a'...\n"
+msgstr "Chiamata di «~a»...\n"
-#: define-markup-commands.scm:3041
+#: ly-syntax-constructors.scm:66
#, scheme-format
-msgid "defaulting to ~S pt"
-msgstr "si applica la dimensione predefinita ~S pt"
+msgid "~a function cannot return ~a"
+msgstr "la funzione ~a non può restituire ~a"
-#: define-markup-commands.scm:3194
+#: ly-syntax-constructors.scm:75
#, scheme-format
-msgid "not a valid duration string: ~a"
-msgstr "non è una durata valida per la stringa: ~a"
+msgid "wrong type for argument ~a. Expecting ~a, found ~s"
+msgstr "tipo di argomento errato per ~a. Previsto ~a, trovato ~s"
-#: define-event-classes.scm:67
+#: ly-syntax-constructors.scm:188
#, scheme-format
-msgid "unknown parent class `~a'"
-msgstr "Classe di evento «~a» sconosciuta"
+msgid "Invalid property operation ~a"
+msgstr "Operazione di proprietà non valida: ~a"
#: markup-macros.scm:331
#, scheme-format
msgid "Not a markup command: ~A"
msgstr "Non è un comando di tipo \"markup\": ~A"
-#: document-backend.scm:132
-#, scheme-format
-msgid "pair expected in doc ~s"
-msgstr "si aspettava una coppia nel documento ~s"
-
-#: document-backend.scm:189
-#, scheme-format
-msgid "cannot find interface for property: ~S"
-msgstr "impossibile trovare un'interfaccia per le proprietà: ~S"
-
-#: document-backend.scm:199
-#, scheme-format
-msgid "unknown Grob interface: ~S"
-msgstr "interfaccia del Grob sconosciuta: ~S"
-
-#: define-note-names.scm:962
-msgid "Select note names language."
-msgstr "Selezione della lingua dei nomi delle note."
-
-#: define-note-names.scm:968
-#, scheme-format
-msgid "Using `~a' note names..."
-msgstr "Utilizzo di \"~a\" per i nomi delle note..."
-
-#: define-note-names.scm:971
-#, scheme-format
-msgid "Could not find language `~a'. Ignoring."
-msgstr "Impossibile trovare il linguaggio \"~a\". Si ignora."
-
#: modal-transforms.scm:38
msgid "'from' pitch not in scale; ignoring"
msgstr "altezza di partenza (from) non presente nella scala; si ignora"
msgid "negative replication count; ignoring"
msgstr "conto di riproduzione negativo; si ignora"
-#: framework-ps.scm:250
-#, scheme-format
-msgid "cannot embed ~S=~S"
-msgstr "impossibile inserire ~S=~S"
-
-#: framework-ps.scm:293
-#, scheme-format
-msgid "cannot extract file matching ~a from ~a"
-msgstr "impossibile estrarre il file corrispondente a ~a a partire da ~a"
-
-#: framework-ps.scm:311
-#, scheme-format
-msgid "do not know how to embed ~S=~S"
-msgstr "impossibile realizzare l'integrazione ~S=~S"
-
-#: framework-ps.scm:336
-#, scheme-format
-msgid "do not know how to embed font ~s ~s ~s"
-msgstr "non so come inserire il tipo di carattere ~s ~s ~s"
-
-#: framework-ps.scm:686
-msgid ""
-"\n"
-"The PostScript backend does not support the\n"
-"system-by-system output. For that, use the EPS backend instead,\n"
-"\n"
-" lilypond -dbackend=eps FILE\n"
-"\n"
-"If have cut & pasted a lilypond fragment from a webpage, be sure\n"
-"to only remove anything before\n"
-"\n"
-" %% ****************************************************************\n"
-" %% Start cut-&-pastable-section\n"
-" %% ****************************************************************\n"
-msgstr ""
-"\n"
-"Il backend PostScript non supporta l'output\n"
-"di sistemi individuali. Si usi il backend EPS al suo posto.\n"
-"\n"
-" lilypond -dbackend=eps FILE\n"
-"\n"
-"Se avete tagliato e incollato un frammento di codice lilypond da una pagina web,\n"
-"assicuratevi di togliere soltanto ciò che precede\n"
-"\n"
-" %% ****************************************************************\n"
-" %% Start cut-&-pastable-section\n"
-" %% ****************************************************************\n"
-
-#: music-functions.scm:274
+#: music-functions.scm:272
msgid "More alternatives than repeats. Junking excess alternatives"
msgstr "Più alternative che ripetizioni. Vengono tralasciate le alternative in eccesso"
-#: music-functions.scm:305
+#: music-functions.scm:303
#, scheme-format
msgid "invalid tremolo repeat count: ~a"
msgstr "numero di ripetizioni di tremolo non valido: ~a"
-#: music-functions.scm:671
+#: music-functions.scm:689
msgid "Bad chord repetition"
msgstr "Ripetizione di accordi sbagliata"
-#: music-functions.scm:706
+#: music-functions.scm:724
#, scheme-format
msgid "music expected: ~S"
msgstr "musica attesa: ~S"
-#: music-functions.scm:1024
+#: music-functions.scm:1042
#, scheme-format
msgid "cannot find quoted music: `~S'"
msgstr "impossibile trovare la musica citata: «~S»"
-#: music-functions.scm:1162
+#: music-functions.scm:1180
msgid "Add @var{octave-shift} to the octave of @var{pitch}."
msgstr "Aggiungere @var{octave-shift} all'ottava di @var{altezza}."
-#: music-functions.scm:1222
+#: music-functions.scm:1240
#, scheme-format
msgid "Unknown octaveness type: ~S "
msgstr "Tipo di ottava sconosciuto: ~S "
-#: music-functions.scm:1223
+#: music-functions.scm:1241
msgid "Defaulting to 'any-octave."
msgstr "Applicazione del valore predefinito 'any-octave."
-#: music-functions.scm:1560
+#: music-functions.scm:1578
#, scheme-format
msgid "unknown accidental style: ~S"
msgstr "stile di alterazione sconosciuto: ~S"
-#: define-music-types.scm:765
+#: output-ps.scm:277 output-svg.scm:524
#, scheme-format
-msgid "symbol expected: ~S"
-msgstr "simbolo atteso: ~S"
+msgid "unknown line-cap-style: ~S"
+msgstr "line-cap-style sconosciuto: ~S"
-#: define-music-types.scm:768
+#: output-ps.scm:282 output-svg.scm:530
#, scheme-format
-msgid "cannot find music object: ~S"
-msgstr "impossibile trovare l'oggetto musicale: ~S"
+msgid "unknown line-join-style: ~S"
+msgstr "line-join-style sconosciuto: ~S"
-#: define-music-types.scm:787
+#: output-svg.scm:47
#, scheme-format
-msgid "unknown repeat type `~S'"
-msgstr "tipo di ripetizione sconosciuto «~S»"
+msgid "undefined: ~S"
+msgstr "~S indefinito"
-#: define-music-types.scm:788
-msgid "See define-music-types.scm for supported repeats"
-msgstr "Si veda define-music-types.scm per le ripetizioni supportate"
+#: output-svg.scm:157
+#, scheme-format
+msgid "cannot decypher Pango description: ~a"
+msgstr "impossibile decifrare la descrizione di Pango: ~a"
-#: framework-svg.scm:84
+#: output-svg.scm:237
+msgid "Glyph must have a unicode value"
+msgstr "Un glifo deve avere un valore unicode"
+
+#: output-svg.scm:289 output-svg.scm:299
#, scheme-format
-msgid "Updating font into: ~a"
-msgstr "Aggiornamento dei tipi di carattere in: ~a"
+msgid "cannot find SVG font ~S"
+msgstr "impossibile trovare il tipo di carattere SVG ~S"
+
+#: paper.scm:120
+msgid "set-global-staff-size: not in toplevel scope"
+msgstr "set-global-staff-size: non è nell'ambito di livello più alto"
+
+#: paper.scm:315
+#, scheme-format
+msgid "This is not a \\layout {} object, ~S"
+msgstr "Questo non è un oggetto \\layout {}, ~S"
+
+#: paper.scm:327
+#, scheme-format
+msgid "Unknown paper size: ~a"
+msgstr "Dimensione del foglio sconosciuta: ~a"
+
+#. TODO: should raise (generic) exception with throw, and catch
+#. that in parse-scm.cc
+#: paper.scm:342
+msgid "Must use #(set-paper-size .. ) within \\paper { ... }"
+msgstr "Si deve usare #(set-paper-size .. ) all'interno di \\paper { ... }"
+
+#: parser-clef.scm:143 parser-clef.scm:183
+#, scheme-format
+msgid "unknown clef type `~a'"
+msgstr "tipo di chiave sconosciuto «~a»"
+
+#: parser-clef.scm:144 parser-clef.scm:184
+#, scheme-format
+msgid "supported clefs: ~a"
+msgstr "chiavi supportate: ~a"
+
+#: parser-ly-from-scheme.scm:73
+msgid "error in #{ ... #}"
+msgstr "errore in #{ ... #}"
+
+#: part-combiner.scm:598
+#, scheme-format
+msgid "quoted music `~a' is empty"
+msgstr "la musica quotata «~a» è vuota"
+
+#: ps-to-png.scm:70
+#, scheme-format
+msgid "~a exited with status: ~S"
+msgstr "~a è terminato con stato ~S"
+
+#: to-xml.scm:191
+#, scheme-format
+msgid "assertion failed: ~S"
+msgstr "errore di asserzione: ~S"
#: translation-functions.scm:359
#, scheme-format
"Nessuna etichetta per il tasto ~a (sulla corda ~a);\n"
"disponibili solo le etichette del tasto ~a"
-#: ps-to-png.scm:70
-#, scheme-format
-msgid "~a exited with status: ~S"
-msgstr "~a è terminato con stato ~S"
-
-#: chord-entry.scm:52
-#, scheme-format
-msgid "Spurious garbage following chord: ~A"
-msgstr "Informazione incomprensibile dopo l'accordo: ~A"
-
-#: part-combiner.scm:598
-#, scheme-format
-msgid "quoted music `~a' is empty"
-msgstr "la musica quotata «~a» è vuota"
-
-#: ly-syntax-constructors.scm:66
-#, scheme-format
-msgid "~a function cannot return ~a"
-msgstr "la funzione ~a non può restituire ~a"
-
-#: ly-syntax-constructors.scm:75
-#, scheme-format
-msgid "wrong type for argument ~a. Expecting ~a, found ~s"
-msgstr "tipo di argomento errato per ~a. Previsto ~a, trovato ~s"
-
-#: ly-syntax-constructors.scm:188
-#, scheme-format
-msgid "Invalid property operation ~a"
-msgstr "Operazione di proprietà non valida: ~a"
-
#~ msgid "add midi-block to .ly file"
#~ msgstr "aggiunge il blocco midi al file .ly"
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: lilypond 2.16.0\n"
+"Project-Id-Version: lilypond 2.16.1\n"
"Report-Msgid-Bugs-To: http://post.gmane.org/post.php?group=gmane.comp.gnu."
"lilypond.bugs\n"
-"POT-Creation-Date: 2012-08-24 11:03+0200\n"
+"POT-Creation-Date: 2012-11-09 14:19+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "Unable to find instrument for ID=%s\n"
msgstr ""
-#: abc2ly.py:1376 convert-ly.py:81 lilypond-book.py:122 midi2ly.py:1044
+#: abc2ly.py:1386 convert-ly.py:81 lilypond-book.py:122 midi2ly.py:1044
#, python-format
msgid "%s [OPTION]... FILE"
msgstr ""
-#: abc2ly.py:1377
+#: abc2ly.py:1387
#, python-format
msgid ""
"abc2ly converts ABC music files (see\n"
"%s) to LilyPond input.\n"
msgstr ""
-#: abc2ly.py:1385 convert-ly.py:88 etf2ly.py:1208 lilypond-book.py:231
+#: abc2ly.py:1395 convert-ly.py:88 etf2ly.py:1208 lilypond-book.py:231
#: midi2ly.py:1095 musicxml2ly.py:2590 main.cc:174
msgid "show version number and exit"
msgstr ""
-#: abc2ly.py:1388 convert-ly.py:92 etf2ly.py:1204 lilypond-book.py:140
+#: abc2ly.py:1398 convert-ly.py:92 etf2ly.py:1204 lilypond-book.py:140
#: midi2ly.py:1062 musicxml2ly.py:2572 main.cc:153
msgid "show this help and exit"
msgstr ""
-#: abc2ly.py:1391 etf2ly.py:1209 midi2ly.py:1071
+#: abc2ly.py:1401 etf2ly.py:1209 midi2ly.py:1071
msgid "write output to FILE"
msgstr ""
-#: abc2ly.py:1394
+#: abc2ly.py:1404
msgid "be strict about success"
msgstr ""
-#: abc2ly.py:1397
+#: abc2ly.py:1407
msgid "preserve ABC's notion of beams"
msgstr ""
-#: abc2ly.py:1400
+#: abc2ly.py:1410
msgid "suppress progress messages"
msgstr ""
#. "Report bugs in English via %s",
#. or if there is a LilyPond users list or forum in your language
#. "Report bugs in English via %s or in YOUR_LANG via URI"
-#: abc2ly.py:1403 convert-ly.py:146 etf2ly.py:1218 lilypond-book.py:258
+#: abc2ly.py:1413 convert-ly.py:146 etf2ly.py:1218 lilypond-book.py:258
#: midi2ly.py:1107 musicxml2ly.py:2674 main.cc:285
#, c-format, python-format
msgid "Report bugs via %s"
msgid "type check for `%s' failed; value `%s' must be of type `%s'"
msgstr ""
-#: lily-lexer.cc:255
+#: lily-lexer.cc:244
msgid "include files are not allowed in safe mode"
msgstr ""
-#: lily-lexer.cc:282
+#: lily-lexer.cc:271
#, c-format
msgid "identifier name is a keyword: `%s'"
msgstr ""
-#: lily-lexer.cc:303 lily-lexer.cc:316
+#: lily-lexer.cc:292 lily-lexer.cc:305
#, c-format
msgid "%s:EOF"
msgstr ""
"include-string instead."
msgstr ""
-#: lily-parser.cc:109
+#: lily-parser.cc:108
msgid "Parsing..."
msgstr ""
-#: line-spanner.cc:373
-msgid "Line spanner's left point is to the right of its right point."
-msgstr ""
-
#: lyric-combine-music-iterator.cc:199
msgid "argument of \\lyricsto should contain Lyrics context"
msgstr ""
msgid "FT_Get_Glyph_Name () Freetype error: %s"
msgstr ""
-#: open-type-font.cc:318 pango-font.cc:189
+#: open-type-font.cc:318 pango-font.cc:196
#, c-format
msgid "FT_Get_Glyph_Name () error: %s"
msgstr ""
msgid "\tprevious break: %d"
msgstr ""
-#: pango-font.cc:205
+#: pango-font.cc:185
+#, c-format
+msgid "no glyph for character U+%0X in font `%s'"
+msgstr ""
+
+#: pango-font.cc:212
#, c-format
msgid ""
"Glyph has no name, but font supports glyph naming.\n"
"Skipping glyph U+%0X, file %s"
msgstr ""
-#: pango-font.cc:242
+#: pango-font.cc:249
#, c-format
msgid "no PostScript font name for font `%s'"
msgstr ""
-#: pango-font.cc:291
+#: pango-font.cc:298
msgid "FreeType face has no PostScript font name"
msgstr ""
#. If there is no such symbol, we default to the numbered style.
#. (Here really with a warning!)
-#: time-signature.cc:122
+#: time-signature.cc:89
#, c-format
msgid "time signature symbol `%s' not found; reverting to numbered style"
msgstr ""
msgid "giving up"
msgstr ""
-#: parser.yy:161 parser.yy:175
+#: parser.yy:161 parser.yy:175 /home/phil/lilypond-git/lily/parser.yy:161
+#: /home/phil/lilypond-git/lily/parser.yy:175
msgid "Too much lookahead"
msgstr ""
-#: parser.yy:835 parser.yy:1284
+#: parser.yy:836 parser.yy:1285 /home/phil/lilypond-git/lily/parser.yy:836
+#: /home/phil/lilypond-git/lily/parser.yy:1285
msgid "not a context mod"
msgstr ""
-#: parser.yy:1027
+#: parser.yy:1028 /home/phil/lilypond-git/lily/parser.yy:1028
msgid "\\paper cannot be used in \\score, use \\layout instead"
msgstr ""
-#: parser.yy:1051
+#: parser.yy:1052 /home/phil/lilypond-git/lily/parser.yy:1052
msgid "need \\paper for paper block"
msgstr ""
-#: parser.yy:1204
+#: parser.yy:1205 /home/phil/lilypond-git/lily/parser.yy:1205
msgid "Ignoring non-music expression"
msgstr ""
-#: parser.yy:2044
+#: parser.yy:2046 /home/phil/lilypond-git/lily/parser.yy:2046
msgid "only \\consists and \\remove take non-string argument."
msgstr ""
-#: parser.yy:2057
+#: parser.yy:2059 /home/phil/lilypond-git/lily/parser.yy:2059
msgid "Grob name should be alphanumeric"
msgstr ""
-#: parser.yy:2261
+#: parser.yy:2263 /home/phil/lilypond-git/lily/parser.yy:2263
msgid "not a rhythmic event"
msgstr ""
-#: parser.yy:2357 parser.yy:2362
+#: parser.yy:2359 parser.yy:2364 /home/phil/lilypond-git/lily/parser.yy:2359
+#: /home/phil/lilypond-git/lily/parser.yy:2364
msgid "have to be in Lyric mode for lyrics"
msgstr ""
-#: parser.yy:2477
+#: parser.yy:2479 /home/phil/lilypond-git/lily/parser.yy:2479
msgid "expecting string as script definition"
msgstr ""
-#: parser.yy:2637 parser.yy:2681
+#: parser.yy:2639 parser.yy:2683 /home/phil/lilypond-git/lily/parser.yy:2639
+#: /home/phil/lilypond-git/lily/parser.yy:2683
#, c-format
msgid "not a duration: %d"
msgstr ""
-#: parser.yy:2800
+#: parser.yy:2802 /home/phil/lilypond-git/lily/parser.yy:2802
msgid "have to be in Note mode for notes"
msgstr ""
-#: parser.yy:2855
+#: parser.yy:2857 /home/phil/lilypond-git/lily/parser.yy:2857
msgid "have to be in Chord mode for chords"
msgstr ""
-#: parser.yy:3115
+#: parser.yy:3117 /home/phil/lilypond-git/lily/parser.yy:3117
msgid "not a markup"
msgstr ""
-#: lexer.ll:218
+#: lexer.ll:218 /home/phil/lilypond-git/lily/lexer.ll:209
msgid "stray UTF-8 BOM encountered"
msgstr ""
-#: lexer.ll:221
+#: lexer.ll:221 /home/phil/lilypond-git/lily/lexer.ll:212
msgid "Skipping UTF-8 BOM"
msgstr ""
-#: lexer.ll:279
+#: lexer.ll:279 /home/phil/lilypond-git/lily/lexer.ll:270
#, c-format
msgid "Renaming input to: `%s'"
msgstr ""
-#: lexer.ll:296
+#: lexer.ll:296 /home/phil/lilypond-git/lily/lexer.ll:287
msgid "quoted string expected after \\version"
msgstr ""
-#: lexer.ll:300
+#: lexer.ll:300 /home/phil/lilypond-git/lily/lexer.ll:291
msgid "quoted string expected after \\sourcefilename"
msgstr ""
-#: lexer.ll:304
+#: lexer.ll:304 /home/phil/lilypond-git/lily/lexer.ll:295
msgid "integer expected after \\sourcefileline"
msgstr ""
-#: lexer.ll:327
+#: lexer.ll:327 /home/phil/lilypond-git/lily/lexer.ll:318
msgid "\\maininput not allowed outside init files"
msgstr ""
-#: lexer.ll:351
+#: lexer.ll:351 /home/phil/lilypond-git/lily/lexer.ll:342
#, c-format
msgid "wrong or undefined identifier: `%s'"
msgstr ""
-#: lexer.ll:377
+#: lexer.ll:377 /home/phil/lilypond-git/lily/lexer.ll:368
msgid "string expected after \\include"
msgstr ""
#. backup rule
-#: lexer.ll:387
+#: lexer.ll:387 /home/phil/lilypond-git/lily/lexer.ll:378
msgid "end quote missing"
msgstr ""
msgid "Brace found at end of markup. Did you forget a space?"
msgstr ""
-#: lexer.ll:684
+#: lexer.ll:684 /home/phil/lilypond-git/lily/lexer.ll:690
msgid "EOF found inside a comment"
msgstr ""
-#: lexer.ll:782
+#: lexer.ll:782 /home/phil/lilypond-git/lily/lexer.ll:792
#, c-format
msgid "invalid character: `%s'"
msgstr ""
-#: lexer.ll:903 lexer.ll:904
+#: lexer.ll:903 /home/phil/lilypond-git/lily/lexer.ll:916
#, c-format
msgid "unknown escaped string: `\\%s'"
msgstr ""
-#: lexer.ll:1186 lexer.ll:1187
+#: lexer.ll:1186 /home/phil/lilypond-git/lily/lexer.ll:1199
msgid "non-UTF-8 input"
msgstr ""
-#: lexer.ll:1230 lexer.ll:1231
+#: lexer.ll:1230 /home/phil/lilypond-git/lily/lexer.ll:1243
#, c-format
msgid "file too old: %s (oldest supported: %s)"
msgstr ""
-#: lexer.ll:1231 lexer.ll:1232
+#: lexer.ll:1231 /home/phil/lilypond-git/lily/lexer.ll:1244
msgid "consider updating the input with the convert-ly script"
msgstr ""
-#: lexer.ll:1237 lexer.ll:1238
+#: lexer.ll:1237 /home/phil/lilypond-git/lily/lexer.ll:1250
#, c-format
msgid "program too old: %s (file requires: %s)"
msgstr ""
msgid "Error in beam quanting. Expected ~S 0, found ~S."
msgstr ""
-#: lily-library.scm:299
+#: lily-library.scm:305
msgid "Music unsuitable for context-mod"
msgstr ""
-#: lily-library.scm:349
+#: lily-library.scm:361
#, scheme-format
msgid "Cannot find context-def \\~a"
msgstr ""
-#: lily-library.scm:365
+#: lily-library.scm:377
msgid "Music unsuitable for output-def"
msgstr ""
-#: lily-library.scm:892
+#: lily-library.scm:904
msgid ""
"Find the index between @var{start} and @var{end} (an integer)\n"
"which produces the closest match to @var{target-val} if\n"
"applied to function @var{getter}."
msgstr ""
-#: lily-library.scm:966
+#: lily-library.scm:978
#, scheme-format
msgid "unknown unit: ~S"
msgstr ""
-#: lily-library.scm:991
+#: lily-library.scm:1003
#, scheme-format
msgid "no \\version statement found, please add~afor future compatibility"
msgstr ""
-#: lily-library.scm:997
+#: lily-library.scm:1009
msgid "old relative compatibility not used"
msgstr ""
"~a"
msgstr ""
-#: lily.scm:796 lily.scm:882
+#: lily.scm:796 lily.scm:883
#, scheme-format
msgid "failed files: ~S"
msgstr ""
-#: lily.scm:873
+#: lily.scm:874
#, scheme-format
msgid "Redirecting output to ~a..."
msgstr ""
-#: lily.scm:892 ps-to-png.scm:66
+#: lily.scm:893 ps-to-png.scm:66
#, scheme-format
msgid "Invoking `~a'...\n"
msgstr ""
msgid "Defaulting to 'any-octave."
msgstr ""
-#: music-functions.scm:1578
+#: music-functions.scm:1576
#, scheme-format
msgid "unknown accidental style: ~S"
msgstr ""
msgid "set-global-staff-size: not in toplevel scope"
msgstr ""
-#: paper.scm:315
+#: paper.scm:321
#, scheme-format
msgid "This is not a \\layout {} object, ~S"
msgstr ""
-#: paper.scm:327
+#: paper.scm:332
#, scheme-format
msgid "Unknown paper size: ~a"
msgstr ""
#. TODO: should raise (generic) exception with throw, and catch
#. that in parse-scm.cc
-#: paper.scm:342
+#: paper.scm:347
msgid "Must use #(set-paper-size .. ) within \\paper { ... }"
msgstr ""
(iv (cons 0.0 0.0)))
(if (pair? line-pos)
- (map (lambda (x)
- (set! iv (cons (min (car iv) x)
- (max (cdr iv) x))))
- line-pos)
+ (begin
+ (set! iv (cons (car line-pos) (car line-pos)))
+ (map (lambda (x)
+ (set! iv (cons (min (car iv) x)
+ (max (cdr iv) x))))
+ (cdr line-pos)))
+
(let ((line-count (ly:grob-property grob 'line-count 0)))
(set! iv (cons (- 1 line-count)
(define (make-colon-bar-line grob)
(let* ((staff-space (ly:staff-symbol-staff-space grob))
+ (line-thickness (ly:staff-symbol-line-thickness grob))
(dot (ly:font-get-glyph (ly:grob-default-font grob) "dots.dot"))
- (staff-symbol (get-staff-symbol grob))
- (lines (staff-symbol-line-count staff-symbol))
+ (dot-y-length (interval-length (ly:stencil-extent dot Y)))
(stencil empty-stencil)
- (dist (* (if (or (odd? lines)
- (zero? lines))
- 1
- (if (< staff-space 2)
- 2
- 0.5))
- staff-space)))
-
- (if (zero? staff-space)
- (set! staff-space 1.0))
-
- (let* ((stencil (ly:stencil-add stencil dot))
- (stencil (ly:stencil-translate-axis
- stencil dist Y))
- (stencil (ly:stencil-add stencil dot))
- (stencil (ly:stencil-translate-axis
- stencil (/ dist -2) Y)))
- stencil)))
+ ;; the two dots of the repeat sign should be centred at the
+ ;; middle of the staff and neither should collide with staff
+ ;; lines.
+ ;; the required space is measured in line positions,
+ ;; i.e. in half staff spaces.
+
+ ;; dots are to fall into distict spaces, except when there's
+ ;; only one space (and it's big enough to hold two dots and
+ ;; some space between them)
+
+ ;; choose defaults working without any staff
+ (center 0.0)
+ (dist (* 4 dot-y-length)))
+
+ (if (> staff-space 0)
+ (begin
+ (set! dist (/ dist staff-space))
+ (let ((staff-symbol (get-staff-symbol grob)))
+
+ (if (ly:grob? staff-symbol)
+ (let ((line-pos (staff-symbol-line-positions staff-symbol)))
+
+ (if (pair? line-pos)
+ (begin
+ (set! center
+ (interval-center (staff-symbol-line-span
+ staff-symbol)))
+ ;; fold the staff into two at center
+ (let* ((folded-staff
+ (sort (map (lambda (lp) (abs (- lp center)))
+ line-pos) <))
+ (gap-to-find (/ (+ dot-y-length line-thickness)
+ (/ staff-space 2)))
+ (first (car folded-staff))
+ (found #f))
+
+ ;; find the first space big enough
+ ;; to hold a dot and a staff line
+ ;; (a space in the folded staff may be
+ ;; narrower but can't be wider than the
+ ;; corresponding original spaces)
+ (reduce (lambda (x y) (if (and (> (- x y) gap-to-find)
+ (not found))
+ (begin
+ (set! found #t)
+ (set! dist (+ x y))))
+ x)
+ ""
+ folded-staff)
+
+ (if (not found)
+ (set! dist (if (< gap-to-find first)
+ ;; there's a central space big
+ ;; enough to hold both dots
+ first
+
+ ;; dots should go outside
+ (+ (* 2 (car
+ (reverse folded-staff)))
+ (/ (* 4 dot-y-length)
+ staff-space))))))))))))
+ (set! staff-space 1.0))
+
+ (let* ((stencil empty-stencil)
+ (stencil (ly:stencil-add stencil dot))
+ (stencil (ly:stencil-translate-axis
+ stencil (* dist (/ staff-space 2)) Y))
+ (stencil (ly:stencil-add stencil dot))
+ (stencil (ly:stencil-translate-axis
+ stencil (* (- center (/ dist 2))
+ (/ staff-space 2)) Y)))
+ stencil)))
(define (make-dotted-bar-line grob extent)
(let* ((position (round (* (interval-end extent) 2)))
(if (ly:grob? staff-symbol)
(let* ((bar-line-color (ly:grob-property grob 'color))
(staff-color (ly:grob-property staff-symbol 'color))
- (radius (ly:staff-symbol-staff-radius grob))
- (staff-line-thickness (ly:staff-symbol-line-thickness grob)))
-
- ;; Due to rounding problems, bar lines extending to the outermost edges
- ;; of the staff lines appear wrongly in on-screen display
- ;; (and, to a lesser extent, in print) - they stick out a pixel.
- ;; The solution is to extend bar lines only to the middle
- ;; of the staff line - unless they have different colors,
- ;;when it would be undesirable.
+ (staff-line-thickness (ly:staff-symbol-line-thickness grob))
+ (staff-space (ly:staff-symbol-staff-space grob)))
+
(set! staff-extent (ly:staff-symbol::height staff-symbol))
- (if (and (eq? bar-line-color staff-color)
- radius)
+
+ (if (zero? staff-space)
+ (set! staff-space 1.0))
+
+ (if (< (interval-length staff-extent) staff-space)
+ ;; staff is too small (perhaps consists of a single line);
+ ;; extend the bar line to make it visible
(set! staff-extent
- (interval-scale staff-extent
- (- 1 (* 1/2 (/ staff-line-thickness radius))))))))
+ (interval-widen staff-extent staff-space))
+ ;; Due to rounding problems, bar lines extending to the outermost edges
+ ;; of the staff lines appear wrongly in on-screen display
+ ;; (and, to a lesser extent, in print) - they stick out a pixel.
+ ;; The solution is to extend bar lines only to the middle
+ ;; of the staff line - unless they have different colors,
+ ;; when it would be undesirable.
+ ;;
+ ;; This reduction should not influence whether bar is to be
+ ;; expanded later, so length is not updated on purpose.
+ (if (eq? bar-line-color staff-color)
+ (set! staff-extent
+ (interval-widen staff-extent
+ (* -1/2 staff-line-thickness)))))))
staff-extent))
(define (bar-line::bar-y-extent grob refpoint)
(cons* 'push
symbol
(ly:music-property m 'grob-value)
- (ly:music-property m 'grob-property-path)))
- ((RevertProperty)
+ (cond
+ ((ly:music-property m 'grob-property #f) => list)
+ (else
+ (ly:music-property m 'grob-property-path)))))
+ ((RevertProperty)
(cons* 'pop
symbol
- (ly:music-property m 'grob-property-path))))))
+ (cond
+ ((ly:music-property m 'grob-property #f) => list)
+ (else
+ (ly:music-property m 'grob-property-path))))))))
(case (ly:music-property m 'name)
((ApplyContext)
(ly:add-context-mod mods
(cons* 'push
(ly:music-property m 'symbol)
(ly:music-property m 'grob-value)
- (ly:music-property m 'grob-property-path)))
+ (cond
+ ((ly:music-property m 'grob-property #f) => list)
+ (else
+ (ly:music-property m 'grob-property-path)))))
((RevertProperty)
(cons* 'pop
(ly:music-property m 'symbol)
- (ly:music-property m 'grob-property-path)))))
+ (cond
+ ((ly:music-property m 'grob-property #f) => list)
+ (else
+ (ly:music-property m 'grob-property-path)))))))
(case (ly:music-property m 'name)
((ApplyContext)
(ly:add-context-mod mods
(> (string-length s) 0))
(apply append
(map (lambda (f)
- (string-split (ly:gulp-file f) #\nl))
+ (string-split (string-delete (ly:gulp-file f) #\cr) #\nl))
files)))))
(if (and (number? (ly:get-option 'job-count))
(>= (length files) (ly:get-option 'job-count)))
(let* ((failed '())
(separate-logs (ly:get-option 'separate-log-files))
(ping-log
- (if separate-logs
- (open-file (if (string-or-symbol? (ly:get-option 'log-file))
- (format #f "~a.log" (ly:get-option 'log-file))
- "/dev/stderr") "a") #f))
+ (and separate-logs
+ (if (string-or-symbol? (ly:get-option 'log-file))
+ (open-file (format #f "~a.log" (ly:get-option 'log-file))
+ "a")
+ (fdes->outport 2))))
(do-measurements (ly:get-option 'dump-profile))
(handler (lambda (key failed-file)
(set! failed (append (list failed-file) failed)))))
(let* ((entry (car keysig))
(entryoct (key-entry-octave entry))
(entrynn (key-entry-notename entry))
- (oct (ly:pitch-octave pitch))
(nn (ly:pitch-notename pitch)))
(if (and (equal? nn entrynn)
- (or (and accept-global (not entryoct))
- (and accept-local (equal? oct entryoct))))
+ (or (not entryoct)
+ (= entryoct (ly:pitch-octave pitch)))
+ (if (key-entry-bar-number entry)
+ accept-local
+ accept-global))
entry
(find-pitch-entry (cdr keysig) pitch accept-global accept-local)))))
(entry (find-pitch-entry keysig pitch #t #t)))
(if (not entry)
(cons #f #f)
- (let* ((global-entry (find-pitch-entry keysig pitch #f #f))
- (key-acc (key-entry-alteration global-entry))
- (acc (ly:pitch-alteration pitch))
- (entrymp (key-entry-measure-position entry))
+ (let* ((entrymp (key-entry-measure-position entry))
(entrybn (key-entry-bar-number entry)))
- (cons #f (not (or (equal? acc key-acc)
- (and (equal? entrybn barnum) (equal? entrymp measurepos)))))))))
+ (cons #f (not (and (equal? entrybn barnum) (equal? entrymp measurepos))))))))
(define-public (set-accidentals-properties extra-natural
auto-accs auto-cauts
("pa10" . (cons (* 26 mm) (* 35 mm)))
;; F4 used in southeast Asia and Australia
("f4" . (cons (* 210 mm) (* 330 mm)))
- ;; Used for very small @lilypond examples in the Documentation
- ;; based on a8 and a7 sizes but landscape not portrait
- ("a8landscape" . (cons (* 74 mm) (* 52 mm)))
- ("a7landscape" . (cons (* 105 mm) (* 74 mm)))
))
;; todo: take dimension arguments.
scaled-values)))
(define (internal-set-paper-size module name landscape?)
- (define (swap x)
- (cons (cdr x) (car x)))
-
- (let* ((entry (assoc-get name paper-alist))
+ (let* ((entry-name name)
+ (swapped?
+ (cond ((string-suffix? "landscape" name)
+ (set! entry-name
+ (string-trim-right (string-drop-right name 9)))
+ #t)
+ ((string-suffix? "portrait" name)
+ (set! entry-name
+ (string-trim-right (string-drop-right name 8)))
+ #f)
+ (else landscape?)))
+ (entry (assoc-get entry-name paper-alist))
(is-paper? (module-defined? module 'is-paper))
(mm (eval 'mm module)))
+ (define (swap x)
+ (cons (cdr x) (car x)))
(cond
((not is-paper?)
(ly:warning (_ "This is not a \\layout {} object, ~S") module))
(entry
-
(set! entry (eval entry module))
- (if landscape?
+ (if swapped?
(set! entry (swap entry)))
(set-paper-dimensions module (car entry) (cdr entry))
-
+
(module-define! module 'papersizename name)
(module-define! module 'landscape
(if landscape? #t #f)))
def dump_lyrics (outf):
if (len(lyrics)):
- outf.write("\n\\score\n{\n \\lyrics\n <<\n")
+ outf.write("\n\\markup \\column {\n")
for i in range (len (lyrics)):
- outf.write ( lyrics [i])
+ outf.write (lyrics [i])
outf.write ("\n")
- outf.write(" >>\n \\layout{}\n}\n")
+ outf.write("}\n")
def dump_default_bar (outf):
"""
dur = duration_to_lilypond_duration ((numerator,denominator), 1, 0)
voices_append ("\\tempo " + descr + " " + dur + "=" + tempo + "\n")
else:
- sys.stderr.write("abc2ly: Warning, unable to parse Q specification: %s\n" % a)
+ # Parsing of numeric tempi, as these are fairly
+ # common. The spec says the number is a "beat" so using
+ # a quarter note as the standard time
+ numericQ = re.compile ('[0-9]+')
+ m = numericQ.match (a)
+ if m:
+ voices_append ("\\tempo 4=" + m.group(0))
+ else:
+ sys.stderr.write("abc2ly: Warning, unable to parse Q specification: %s\n" % a)
def dump_score (outf):
outf.write (r"""
}
def lily_key (k):
+ if k == 'none':
+ return
orig = "" + k
# UGR
k = k.lower ()
def lyrics_append(a):
a = re.sub ('#', '\\#', a) # latex does not like naked #'s
a = re.sub ('"', '\\"', a) # latex does not like naked "'s
- a = '\t{ "' + a + '" }\n'
+ a = ' \\line { "' + a + '" }\n'
stuff_append (lyrics, current_lyric_idx, a)
# break lyrics to words and put "'s around words containing numbers and '"'s
#!@PERL@ -w
# Generate a short man page from --help and --version output.
-# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Free Software
-# Foundation, Inc.
+# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2009,
+# 2010, 2011, 2012 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
+# the Free Software Foundation; either version 3, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
# Written by Brendan O'Dea <bod@debian.org>
# Available from ftp://ftp.gnu.org/gnu/help2man/
-use 5.005;
+use 5.008;
use strict;
use Getopt::Long;
use Text::Tabs qw(expand);
-use POSIX qw(strftime setlocale LC_TIME);
+use POSIX qw(strftime setlocale LC_ALL);
my $this_program = 'help2man';
-my $this_version = '1.28';
-my $version_info = <<EOT;
-GNU $this_program $this_version
+my $this_version = '1.40.12';
-Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+sub _ { $_[0] }
+sub configure_locale
+{
+ my $locale = shift;
+ die "$this_program: no locale support (Locale::gettext required)\n"
+ unless $locale eq 'C';
+}
+
+sub dec { $_[0] }
+sub enc { $_[0] }
+sub enc_user { $_[0] }
+sub kark { die +(sprintf shift, @_), "\n" }
+sub N_ { $_[0] }
+
+my $version_info = enc_user sprintf _(<<'EOT'), $this_program, $this_version;
+GNU %s %s
+
+Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2009, 2010,
+2011, 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-Written by Brendan O'Dea <bod\@debian.org>
+Written by Brendan O'Dea <bod@debian.org>
EOT
-my $help_info = <<EOT;
-`$this_program' generates a man page out of `--help' and `--version' output.
+my $help_info = enc_user sprintf _(<<'EOT'), $this_program, $this_program;
+`%s' generates a man page out of `--help' and `--version' output.
-Usage: $this_program [OPTIONS]... EXECUTABLE
+Usage: %s [OPTION]... EXECUTABLE
-n, --name=STRING description for the NAME paragraph
-s, --section=SECTION section number for manual page (1, 6, 8)
-m, --manual=TEXT name of manual (User Commands, ...)
-S, --source=TEXT source of program (FSF, Debian, ...)
+ -L, --locale=STRING select locale (default "C")
-i, --include=FILE include material from `FILE'
-I, --opt-include=FILE include material from `FILE' if it exists
-o, --output=FILE send output to `FILE'
-p, --info-page=TEXT name of Texinfo manual
-N, --no-info suppress pointer to Texinfo manual
+ -l, --libtool exclude the `lt-' from the program name
--help print this help, then exit
--version print version number, then exit
-EXECUTABLE should accept `--help' and `--version' options although
-alternatives may be specified using:
+EXECUTABLE should accept `--help' and `--version' options and produce output on
+stdout although alternatives may be specified using:
-h, --help-option=STRING help option string
-v, --version-option=STRING version option string
+ --version-string=STRING version string
+ --no-discard-stderr include stderr when parsing option output
-Report bugs to <bug-help2man\@gnu.org>.
+Report bugs to <bug-help2man@gnu.org>.
EOT
my $section = 1;
my $source = '';
my $help_option = '--help';
my $version_option = '--version';
-my ($opt_name, @opt_include, $opt_output, $opt_info, $opt_no_info);
+my $discard_stderr = 1;
+my ($opt_name, @opt_include, $opt_output, $opt_info, $opt_no_info, $opt_libtool,
+ $version_text);
my %opt_def = (
'n|name=s' => \$opt_name,
's|section=s' => \$section,
'm|manual=s' => \$manual,
'S|source=s' => \$source,
+ 'L|locale=s' => sub { configure_locale pop },
'i|include=s' => sub { push @opt_include, [ pop, 1 ] },
'I|opt-include=s' => sub { push @opt_include, [ pop, 0 ] },
'o|output=s' => \$opt_output,
'p|info-page=s' => \$opt_info,
'N|no-info' => \$opt_no_info,
+ 'l|libtool' => \$opt_libtool,
+ 'help' => sub { print $help_info; exit },
+ 'version' => sub { print $version_info; exit },
'h|help-option=s' => \$help_option,
'v|version-option=s' => \$version_option,
+ 'version-string=s' => \$version_text,
+ 'discard-stderr!' => \$discard_stderr,
);
# Parse options.
Getopt::Long::config('bundling');
-GetOptions (%opt_def,
- help => sub { print $help_info; exit },
- version => sub { print $version_info; exit },
-) or die $help_info;
-
-die $help_info unless @ARGV == 1;
+die $help_info unless GetOptions %opt_def and @ARGV == 1;
my %include = ();
my %append = ();
my ($inc, $required) = @{shift @opt_include};
next unless -f $inc or $required;
- die "$this_program: can't open `$inc' ($!)\n"
+ kark N_("%s: can't open `%s' (%s)"), $this_program, $inc, $!
unless open INC, $inc;
my $key;
while (<INC>)
{
+ # Convert input to internal Perl format, so that multibyte
+ # sequences are treated as single characters.
+ $_ = dec $_;
+
# [section]
- if (/^\[([^]]+)\]/)
+ if (/^\[([^]]+)\]\s*$/)
{
$key = uc $1;
$key =~ s/^\s+//;
}
# /pattern/
- if (m!^/(.*)/([ims]*)!)
+ if (m!^/(.*)/([ims]*)\s*$!)
{
my $pat = $2 ? "(?$2)$1" : $1;
close INC;
- die "$this_program: no valid information found in `$inc'\n"
+ kark N_("%s: no valid information found in `%s'"), $this_program, $inc
unless $key;
}
for (keys %$hash) { $hash->{$_} =~ s/\n+$/\n/ }
}
-# Turn off localisation of executable's output.
-@ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3;
-
-# Turn off localisation of date (for strftime).
-setlocale LC_TIME, 'C';
+sub get_option_value;
# Grab help and version info from executable.
-my ($help_text, $version_text) = map {
- join '', map { s/ +$//; expand $_ } `$ARGV[0] $_`
- or die "$this_program: can't get `$_' info from $ARGV[0]\n"
-} $help_option, $version_option;
-
-my $date = strftime "%B %Y", localtime;
+my $help_text = get_option_value $ARGV[0], $help_option;
+$version_text ||= get_option_value $ARGV[0], $version_option;
+
+# Translators: the following message is a strftime(3) format string, which in
+# the English version expands to the month as a word and the full year. It
+# is used on the footer of the generated manual pages. If in doubt, you may
+# just use %x as the value (which should be the full locale-specific date).
+my $date = enc strftime _("%B %Y"), localtime;
(my $program = $ARGV[0]) =~ s!.*/!!;
my $package = $program;
my $version;
if ($opt_output)
{
- unlink $opt_output
- or die "$this_program: can't unlink $opt_output ($!)\n"
- if -e $opt_output;
+ unlink $opt_output or kark N_("%s: can't unlink %s (%s)"),
+ $this_program, $opt_output, $! if -e $opt_output;
open STDOUT, ">$opt_output"
- or die "$this_program: can't create $opt_output ($!)\n";
+ or kark N_("%s: can't create %s (%s)"), $this_program, $opt_output, $!;
}
# The first line of the --version information is assumed to be in one
#
# and separated from any copyright/author details by a blank line.
-($_, $version_text) = split /\n+/, $version_text, 2;
+($_, $version_text) = ((split /\n+/, $version_text, 2), '');
if (/^(\S+) +\(((?:GNU|Free) +[^)]+)\) +(.*)/ or
/^(\S+) +- *((?:GNU|Free) +\S+) +(.*)/)
# No info for `info' itself.
$opt_no_info = 1 if $program eq 'info';
-# --name overrides --include contents.
-$include{NAME} = "$program \\- $opt_name\n" if $opt_name;
-
-# Default (useless) NAME paragraph.
-$include{NAME} ||= "$program \\- manual page for $program $version\n";
+# Translators: "NAME", "SYNOPSIS" and other one or two word strings in all
+# upper case are manual page section headings. The man(1) manual page in your
+# language, if available should provide the conventional translations.
+for ($include{_('NAME')})
+{
+ if ($opt_name) # --name overrides --include contents.
+ {
+ $_ = "$program \\- $opt_name\n";
+ }
+ elsif ($_) # Use first name given as $program
+ {
+ $program = $1 if /^([^\s,]+)(?:,?\s*[^\s,\\-]+)*\s+\\?-/;
+ }
+ else # Set a default (useless) NAME paragraph.
+ {
+ $_ = sprintf _("%s \\- manual page for %s %s") . "\n", $program,
+ $program, $version;
+ }
+}
# Man pages traditionally have the page title in caps.
my $PROGRAM = uc $program;
{
for ($section)
{
- if (/^(1[Mm]|8)/) { $manual = 'System Administration Utilities' }
- elsif (/^6/) { $manual = 'Games' }
- else { $manual = 'User Commands' }
+ if (/^(1[Mm]|8)/) { $manual = enc _('System Administration Utilities') }
+ elsif (/^6/) { $manual = enc _('Games') }
+ else { $manual = enc _('User Commands') }
}
}
# Extract usage clause(s) [if any] for SYNOPSIS.
-if ($help_text =~ s/^Usage:( +(\S+))(.*)((?:\n(?: {6}\1| *or: +\S).*)*)//m)
+# Translators: "Usage" and "or" here are patterns (regular expressions) which
+# are used to match the usage synopsis in program output. An example from cp
+# (GNU coreutils) which contains both strings:
+# Usage: cp [OPTION]... [-T] SOURCE DEST
+# or: cp [OPTION]... SOURCE... DIRECTORY
+# or: cp [OPTION]... -t DIRECTORY SOURCE...
+my $PAT_USAGE = _('Usage');
+my $PAT_USAGE_CONT = _('or');
+if ($help_text =~ s/^($PAT_USAGE):( +(\S+))(.*)((?:\n(?: {6}\1| *($PAT_USAGE_CONT): +\S).*)*)//om)
{
- my @syn = $2 . $3;
+ my @syn = $3 . $4;
- if ($_ = $4)
+ if ($_ = $5)
{
s/^\n//;
- for (split /\n/) { s/^ *(or: +)?//; push @syn, $_ }
+ for (split /\n/) { s/^ *(($PAT_USAGE_CONT): +)?//o; push @syn, $_ }
}
my $synopsis = '';
{
$synopsis .= ".br\n" if $synopsis;
s!^\S*/!!;
+ s/^lt-// if $opt_libtool;
s/^(\S+) *//;
$synopsis .= ".B $1\n";
s/\s+$//;
$synopsis .= "$_\n";
}
- $include{SYNOPSIS} ||= $synopsis;
+ $include{_('SYNOPSIS')} ||= $synopsis;
}
# Process text, initial section is DESCRIPTION.
-my $sect = 'DESCRIPTION';
+my $sect = _('DESCRIPTION');
$_ = "$help_text\n\n$version_text";
# Normalise paragraph breaks.
s/\n*$/\n/;
s/\n\n+/\n\n/g;
+# Join hyphenated lines.
+s/([A-Za-z])-\n *([A-Za-z])/$1$2/g;
+
# Temporarily exchange leading dots, apostrophes and backslashes for
# tokens.
s/^\./\x80/mg;
s/^'/\x81/mg;
s/\\/\x82/g;
+# Translators: patterns are used to match common program output. In the source
+# these strings are all of the form of "my $PAT_something = _('...');" and are
+# regular expressions. If there is more than one commonly used string, you
+# may separate alternatives with "|". Spaces in these expressions are written
+# as " +" to indicate that more than one space may be matched. The string
+# "(?:[\\w-]+ +)?" in the bug reporting pattern is used to indicate an
+# optional word, so that either "Report bugs" or "Report _program_ bugs" will
+# be matched.
+my $PAT_BUGS = _('Report +(?:[\w-]+ +)?bugs|Email +bug +reports +to');
+my $PAT_AUTHOR = _('Written +by');
+my $PAT_OPTIONS = _('Options');
+my $PAT_ENVIRONMENT = _('Environment');
+my $PAT_FILES = _('Files');
+my $PAT_EXAMPLES = _('Examples');
+my $PAT_FREE_SOFTWARE = _('This +is +free +software');
+
# Start a new paragraph (if required) for these.
-s/([^\n])\n(Report +bugs|Email +bug +reports +to|Written +by)/$1\n\n$2/g;
+s/([^\n])\n($PAT_BUGS|$PAT_AUTHOR) /$1\n\n$2 /og;
+
+# Convert iso-8859-1 copyright symbol or (c) to nroff
+# character.
+s/^Copyright +(?:\xa9|\([Cc]\))/Copyright \\(co/mg;
sub convert_option;
while (length)
{
# Convert some standard paragraph names.
- if (s/^(Options|Examples): *\n//)
+ if (s/^($PAT_OPTIONS): *\n//o)
+ {
+ $sect = _('OPTIONS');
+ next;
+ }
+ if (s/^($PAT_ENVIRONMENT): *\n//o)
{
- $sect = uc $1;
+ $sect = _('ENVIRONMENT');
+ next;
+ }
+ if (s/^($PAT_FILES): *\n//o)
+ {
+ $sect = _('FILES');
+ next;
+ }
+ elsif (s/^($PAT_EXAMPLES): *\n//o)
+ {
+ $sect = _('EXAMPLES');
next;
}
# Copyright section
- if (/^Copyright +[(\xa9]/)
+ if (/^Copyright /)
{
- $sect = 'COPYRIGHT';
- $include{$sect} ||= '';
- $include{$sect} .= ".PP\n" if $include{$sect};
-
- my $copy;
- ($copy, $_) = split /\n\n/, $_, 2;
-
- for ($copy)
- {
- # Add back newline
- s/\n*$/\n/;
-
- # Convert iso9959-1 copyright symbol or (c) to nroff
- # character.
- s/^Copyright +(?:\xa9|\([Cc]\))/Copyright \\(co/mg;
-
- # Insert line breaks before additional copyright messages
- # and the disclaimer.
- s/(.)\n(Copyright |This +is +free +software)/$1\n.br\n$2/g;
-
- # Join hyphenated lines.
- s/([A-Za-z])-\n */$1/g;
- }
-
- $include{$sect} .= $copy;
- $_ ||= '';
- next;
+ $sect = _('COPYRIGHT');
}
- # Catch bug report text.
- if (/^(Report +bugs|Email +bug +reports +to) /)
+ # Bug reporting section.
+ elsif (/^($PAT_BUGS) /o)
{
- $sect = 'REPORTING BUGS';
+ $sect = _('REPORTING BUGS');
}
# Author section.
- elsif (/^Written +by/)
+ elsif (/^($PAT_AUTHOR)/o)
{
- $sect = 'AUTHOR';
+ $sect = _('AUTHOR');
}
# Examples, indicated by an indented leading $, % or > are
{
$matched .= $& if %append;
$indent = length ($4 || "$1$3");
- $content = ".TP\n\x83$2\n\x83$5\n";
+ $content = ".TP\n\x84$2\n\x84$5\n";
unless ($4)
{
# Indent may be different on second line.
elsif (s/^ {1,10}([+-]\S.*)\n//)
{
$matched .= $& if %append;
- $content = ".HP\n\x83$1\n";
+ $content = ".HP\n\x84$1\n";
$indent = 80; # not continued
}
{
$matched .= $& if %append;
$indent = length $1;
- $content = ".TP\n\x83$2\n\x83$3\n";
+ $content = ".TP\n\x84$2\n\x84$3\n";
}
# Indented paragraph.
{
$matched .= $& if %append;
$indent = length $1;
- $content = ".IP\n\x83$2\n";
+ $content = ".IP\n\x84$2\n";
}
# Left justified paragraph.
}
# Append continuations.
- while (s/^ {$indent}(\S.*)\n//)
+ while ($indent ? s/^ {$indent}(\S.*)\n// : s/^(\S.*)\n//)
{
$matched .= $& if %append;
- $content .= "\x83$1\n"
+ $content .= "\x84$1\n";
}
# Move to next paragraph.
for ($content)
{
# Leading dot and apostrophe protection.
- s/\x83\./\x80/g;
- s/\x83'/\x81/g;
- s/\x83//g;
+ s/\x84\./\x80/g;
+ s/\x84'/\x81/g;
+ s/\x84//g;
# Convert options.
- s/(^| )(-[][\w=-]+)/$1 . convert_option $2/mge;
+ s/(^| |\()(-[][\w=-]+)/$1 . convert_option $2/mge;
+
+ # Escape remaining hyphens
+ s/-/\x83/g;
+
+ if ($sect eq 'COPYRIGHT')
+ {
+ # Insert line breaks before additional copyright messages
+ # and the disclaimer.
+ s/\n(Copyright |$PAT_FREE_SOFTWARE)/\n.br\n$1/og;
+ }
+ elsif ($sect eq 'REPORTING BUGS')
+ {
+ # Handle multi-line bug reporting sections of the form:
+ #
+ # Report <program> bugs to <addr>
+ # GNU <package> home page: <url>
+ # ...
+ s/\n([[:upper:]])/\n.br\n$1/g;
+ }
}
# Check if matched paragraph contains /pat/.
{
my $info_page = $opt_info || $program;
- $sect = 'SEE ALSO';
+ $sect = _('SEE ALSO');
$include{$sect} ||= '';
$include{$sect} .= ".PP\n" if $include{$sect};
- $include{$sect} .= <<EOT;
+ $include{$sect} .= sprintf _(<<'EOT'), $program, $program, $info_page;
The full documentation for
-.B $program
+.B %s
is maintained as a Texinfo manual. If the
.B info
and
-.B $program
+.B %s
programs are properly installed at your site, the command
.IP
-.B info $info_page
+.B info %s
.PP
should give you access to the complete manual.
EOT
EOT
# Section ordering.
-my @pre = qw(NAME SYNOPSIS DESCRIPTION OPTIONS EXAMPLES);
-my @post = ('AUTHOR', 'REPORTING BUGS', 'COPYRIGHT', 'SEE ALSO');
+my @pre = (_('NAME'), _('SYNOPSIS'), _('DESCRIPTION'), _('OPTIONS'),
+ _('ENVIRONMENT'), _('FILES'), _('EXAMPLES'));
+
+my @post = (_('AUTHOR'), _('REPORTING BUGS'), _('COPYRIGHT'), _('SEE ALSO'));
my $filter = join '|', @pre, @post;
# Output content.
-for (@pre, (grep ! /^($filter)$/o, @include), @post)
+for my $sect (@pre, (grep ! /^($filter)$/o, @include), @post)
{
- if ($include{$_})
+ if ($include{$sect})
{
- my $quote = /\W/ ? '"' : '';
- print ".SH $quote$_$quote\n";
-
- for ($include{$_})
+ my $quote = $sect =~ /\W/ ? '"' : '';
+ print enc ".SH $quote$sect$quote\n";
+
+ for ($include{$sect})
{
- # Replace leading dot, apostrophe and backslash tokens.
+ # Replace leading dot, apostrophe, backslash and hyphen
+ # tokens.
s/\x80/\\&./g;
s/\x81/\\&'/g;
s/\x82/\\e/g;
- print;
+ s/\x83/\\-/g;
+
+ # Convert some latin1 chars to troff equivalents
+ s/\xa0/\\ /g; # non-breaking space
+
+ print enc $_;
}
}
}
+close STDOUT or kark N_("%s: error writing to %s (%s)"), $this_program,
+ $opt_output || 'stdout', $!;
+
exit;
+# Call program with given option and return results.
+sub get_option_value
+{
+ my ($prog, $opt) = @_;
+ my $stderr = $discard_stderr ? '/dev/null' : '&1';
+ my $value = join '',
+ map { s/ +$//; expand $_ }
+ map { dec $_ }
+ `$prog $opt 2>$stderr`;
+
+ unless ($value)
+ {
+ my $err = N_("%s: can't get `%s' info from %s%s");
+ my $extra = $discard_stderr
+ ? "\n" . N_("Try `--no-discard-stderr' if option outputs to stderr")
+ : '';
+
+ kark $err, $this_program, $opt, $prog, $extra;
+ }
+
+ return $value;
+}
+
# Convert option dashes to \- to stop nroff from hyphenating 'em, and
# embolden. Option arguments get italicised.
sub convert_option
{
local $_ = '\fB' . shift;
- s/-/\\-/g;
+ s/-/\x83/g;
unless (s/\[=(.*)\]$/\\fR[=\\fI$1\\fR]/)
{
s/=(.)/\\fR=\\fI$1/;